노랭이
UNIQUE
- 테이블 내에서 중복되는 값이 없으며 NULL 입력이 가능하다.
COLUMN 삭제
ALTER
TABLE EMP DROP COLUMN
COMM;
테이블 이름 변경
RENAME
STADIUM TO
STADIUM_JSC
TRUNCATE TABLE
- 테이블 자체 삭제 X
- 해당 테이블에 있던 행들이 제고, 저장 공간을 재사용 가능
- UNDO를 위한 데이터를 생성하지 않아, DELETE보다 빠르다.
CASE WHEN
CASE WHEN
LOC = 'NEW YORK' THEN
'EAST'
CASE
LOC WHEN
'NEW YORK' THEN
'EAST'
NULL 연산
- NULL 포함 연산 결과는 모두 NULL이다.
- AVG 연산에서 NULL은 제외된다.
- NULL 비교는
IS NULL
과 IS NOT NULL
만 가능하다.
제약조건
- CONSTRAINT PRODUCT_PK PRIMARY KEY(PROD_ID)
Dependent
- Master 테이블에 PK가 존재할 때만 Child 입력 허용
- 즉, Parent에 PK가 없으면 Child 입력을 허용하지 않음
Automatic
- Master 테이블에 PK가 없는 경우 Master PK 생성 후 Child 입력
21회
NOT IN()
- 괄호 안
null
이 있다면 항상 참이기에 이에 대한 부정은 거짓, 아무것도 리턴하지 않는다.
논리 모델링의 외래키
- 논리 모델링의 외래키는 물리 모델에서 반드시 구현되는 것은 아니다. 선택사항이다.
ROLLUP()
ROLLUP(A, B)
의 경우 (A, B), (B), ()로 집계된다.
- 그러므로 인자의 순서가 중요
IDENTITY() - Sql Server
- IDENTITY로 지정된 칼럼에 값을 넣으면 오류 발생
CHECK() - Oracle
Hash Join
- 각 테이블에 INDEX가 반드시 필요한 것은 아님
- 작은 테이블을 메모리에 올리는 선행 테이블로 사용
Non Equal Join
불가능. Equal Join
만 가능
Sort Merge Join
INDEX
결합 함수
- Oracle:
CONCAT
, ||
- SQL Server:
+
WITH TIES
- TOP(~~) [WITH TIES];
- TOP N의 마지막 행과 같은 값이 있는 경우 추가 행이 출력되도록 지정
- 동일 데이터가 있을 때 추가 건수가 출력
RANGE BETWEEN A AND B
UNBOUNDED PRECEDING
: A에만 들어갈 수 있음
UNBOUNDED FOLLOWING
: B에만 들어갈 수 있음
CURRENT ROW
: 둘 다 들어갈 수 있음
ALIAS
- FROM절에 ALIAS(별칭)를 쓰기 위해서는 AS 키워드를 사용할 수 없다.
<>
유저와 권한
- DBA 권한: 해당 권한을 가진 유저와 SYSTEM, SYS 등의 상위 유저가 해당 권한을 부여할 수 있음
- 테이블의 소유자는 해당 테이블의 DML 권한을 다른 유저에게 부여할 수 있다.
30회
도메인
- 엔터니 내에서 속성에 대한 데이터 타입, 크기 그리고 제약사항을 지정하는 것
식별자
- 스스로 생성여부에 따라 분류되는 식별자는
내부 식별자
와 외부 식별자
이다.
Row migration
- 데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식
Row chaining
- 로우 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되는 현상
IN('A', 'X', NULL)
SQL 계층구조 수행 순서
Trigger
- 테이블, 뷰에 트리거를 작성할 수 있으며 데이터베이스 작업에도 정의할 수 있다.
COALESCE(ID, SAL)
- NULL이 아닌 최초의 표현식을 나타냄
- 1차 선택값으로 ID, 2차 선택값으로 SAL
- 둘 다 NULL이라면 NULL 리턴
NULLIF(ID, 1234)
- ID와 1234를 비교해서 같으면 NULL 리턴, 같지 않으면 ID 리턴
NVL(SAL, 10)
CHARACTER
- 고정 길이 문자열 정보로 S만큼 최대 길이를 갖고, 고정 길이를 가지고 있으므로 할당된 변수 값의 길이가 S보다 작을 경우에는 그 차이 길이 만큼 공간으로 채워진다.
Sort Merge Join
Unique Index Scan
- 스캔 시 PK로 지정된 column을 모두 조건으로 삼아야 한다.
Cross Join과 Natural Join
- Cross Join과 Natural Join은 Where 절에서 조건을 걸 수 없다.
- Cross Join은 Join에 참여하는 테이블의 Join Key가 없을 경우 발생한다.
List partition
- 데이터의 양이 매우 많은 대용량 테이블
- 데이터의 생성일자를 구분짓는 특정 컬럼이 없는 형태
컬럼의 데이터 타입 변경
ALTER TABLE
DEPT ALTER COLUMN
VARCHAR(30) NOT NULL;