본문 바로가기
AI/데이터베이스\SQL

데이터베이스(2)

by 까다로운오리 2022. 3. 21.

KEY

 

학번 전공 이름 전화번호 학년 주소
1 전자 신짱구 010 3 부산
2 전기 김철수 011 2 경기
3 컴퓨터 이훈이 016 4 서울

 

 

기본키 (Primary Key) : 후보키 중에서 기본적으로 사용하기 위해 선택하는 키

ex) 학번(or 전화번호)

 

- Null 값은 허용하지 않는다

- 구분할 수 있는 고유값을 가져야 한다.

- 최대한 적은 수의 속성을 가진 것 이어야 한다.

- 릴레이션 스키마를 표현할 때 밑줄을 그어 표현한다 ex)학생(학번,전공,이름,전화번호,학년,주소)

 

후보키 (Candidate Key) : 유일성과 최소성을 만족하는 속성의 최소 집합

ex) 학번, 전화번호

 

슈퍼키 (Super Key) : 유일성을 만족하는 속성(속성들의 집합)

ex) 학번, 전화번호, 학번+이름, 학번+전공, 전화번호+이름, 전화번호+학년, 전화번호+학년+주소, 학번+전화번호+전공+학년 등..

 

대체키 (Alternate Key) : 기본키로 선택되지 못한 후보키

ex) 전화번호(or 학번)

 

외래키 (Foreign Key) : 다른 릴레이션의 기본키를 참조하는 속성(속성들의 집합)

- 릴레이션 간의 관계를 표현한다.

- 다른 릴레이션의 기본키를 참조한다.

- 참조하고 참조되는 양쪽의 도메인은 서로 같아야 한다.

- Null 값, 중복 등이 허용 된다.

- 외래키가 기본키의 일부가 될 수 있다.

- 참조되는 값이 변경되면 참조하는 값도 변경된다.

- 자기가 자신을 참조할 수 있다.

 


 

무결성 제약 조건

 

 

도메인 무결성 제약 조건

:릴레이션 내의 tuple들이 각 속성의 도메인에 지정된 값만을 가져야 한다.

 

 

개체 무결성 제약 조건

- 기본키는  Null 값을 가져선 안되며, 릴레이션 내에 오직 하나의 값만 존재해야 한다.

- 기본키 값이 같으면 삽입이 금지된다.

- 특별한 확인이 필요하지 않으며 즉시 삭제를 수행한다.

- 기본키 값이 같거나 NULL이면 수정이 금지된다.

 

 

참조 무결성 제약 조건

- 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 하며(데이터 일관성 유지), 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다.

- 삭제 시 즉시 작업을 중단하고 자식 릴레이션의 관련 투플을 삭제한 후 초기에 설정된 어떤 값으로 변경하거나 Null 로 변경해야 한다.

- 부모 릴레이션에서는 바로 삽입이 가능하지만, 자식 릴레이션은 참조되는 외래키 값이 없으면 진행되지 않는다.

- 자식 릴레이션은 바로 삭제가 가능하지만, 부모 릴레이션은 자식 릴레이션이 참조하고 있기 때문에 삭제를 금하거나, 다른 추가 작업이 필요하다.

- 수정은 삭제와 삽입 명령이 연속해서 수행한다.