[SQLD]준비과정

2021. 11. 4. 16:44SQL공부

[Null의 정의]

널(null)은 알 수 없는 값

0(zero)도 공백("")문자도 아님

널을 포함한 사칙연산의 결과는 널

숫자를 0으로 나누면 에러가 발생되지만, 널로 나누면 널

is null, is not null 만으로 비교 가능

 

[제약조건]

Not Null - 칼럼이 NULL 값을 포함하지 못하도록 지정

Unique - 칼럼값이 해당 테이블 전체에서 유일한 값 (Null값 입력가능)

Primary Key - Not Null & Unique

Foreign Key - 입력되어야 할 값이 다른 테이블의 컬럼 값을 참조

Check - 해당 조건을 만족하는 값으로만 입력을 제한

 


[물리적 테이블명]

대소문자 구분하지 않는다.

테이블과 COLUMN은 대소문자를 구분하지 않지만 데이터는 대소문자를 구분한다.

테이블 및 칼럼명은 문자로 시작하며 30자리 이내로 길이 제한이 있다.

기본적으로 DB에서 자동으로 대문자 식별자(테이블명, 컬럼명, 제약명 등) 처리해준다.

테이블 및 컬럼명은 A~Z, a~z, 0~9, , $, #, _ 로 작성한다.

Oracle에 존재하는 예약되어있는 키워드, 식별자는 사용 할 수 없다.

 


[테이블 명 변경]

Rename '테이블명' TO '변경할테이블명'


[ Foreign Key에 의한 Actions ]

부모 테이블의 행이 삭제될 때 자식 테이블의 행에 어떤일이 발생하는지 정의

On Delete Cascade - 부모 삭제시 자식도 삭제

On Delete Set Null - 부모 삭제시 자식은 Null로 설정

On Delete Set Default - 부모 삭제시 자식은 기본값 설정

On Delete Restrict - 자식이 없는 경우만 부모 삭제

자식 테이블의 행이 입력될 때 부모 테이블의 행과 관련해서 어떻게 할것인지 정의

On Delete AutoMatic - 부모가 없을때 부모 입력 후 자식 입력

On Delete Set Null - 부모가 없는 경우, 자식의 FK를 Null

On Delete Set Default - 부모가 없는 경우, FK를 기본값으로

On Delete Dependent - 부모의 PK가 있는 경우만 자식 입력

'SQL공부' 카테고리의 다른 글

[SQLD]11월 6일 공부  (0) 2021.11.06
SQL 기본 명령어 분류  (0) 2021.10.30
[스파르타코딩클럽]SQL명령문 정리...  (0) 2021.10.26
[스파르타코딩]4주차 SQL  (0) 2021.10.24
[스파르타코딩클럽]3주차 SQL  (0) 2021.10.24