데이터베이스에서 Key라는 개념에 대해 설명하려 한다
Key는 기본키, 후보 키, 대체키, 복합 키, 외래 키가 있으며 각각 어떤 특징을 가지고 있는지 보도록 하자
- 기본키(Primary Key)
- Null 값이 허용되지 않음
- 중복을 허용하지 않음
- 해당 테이블을 대표하는 키
- 후보 키(Candidate Key)
- Primary Key + Alternate Key
- 대체키(Alternate Key)
- 후보 키 중 기본키로 선택되지 않은 나머지 키
- Primary Key를 대신할 수 있는 키
- 복합 키(Composite Key)
- 하나의 칼럼이 후보 키의 역할을 하지 못하고 기본키가 두 개 이상의 칼럼이 합쳐져야 후보 키의 역할을 하는 경우
- 외래 키(Foreign Key)
- 상위 테이블의 PK가 하위 테이블에 PK혹은 일반 데이터가 되면 FK라고 한다
- 식별과 비식별 관계로 나눌 수 있다
- 식별 : life cycle이 부모와 자식이 같음 / 부모가 없어지면 자식이 같이 없어짐
- 비식별 : life cycle이 부모와 자식이 다름 / 부모가 없어져도 자식은 남아 있음
- 부모 테이블의 기본키는 자식 테이블에 외래 키로 전이된다
- 두 테이블 간에 외래 키에 의한 참조 관계에 있을 때 두 테이블 간 데이터 불일치가 발생하는 상황이 되면 DBMS는 3가지 조치를 취할 수 있다
- 제한(Restrict) : 삭제 연산을 거절하는 조치 / 제일 많이 사용된다
- 연쇄(Cascade) : 관련 데이터를 모두 삭제 / 권장하지 않는다
- Null 값으로 대체(Nullify) : 관련 데이터를 Null 값으로 대체 / 권장하지 않는다
'DataBase > Oracle' 카테고리의 다른 글
6. Selec (0) | 2021.06.14 |
---|---|
5. DDL(Data Definition Language) - Drop (0) | 2021.06.14 |
4. DML(Data Manipulation Language) - insert (0) | 2021.06.14 |
3. DDL(Data Definition Language) - Create (0) | 2021.06.10 |
2. SQL (0) | 2021.06.08 |