무결성 : 데이터베이스에 저장된 데이터가 정확하고 일관성 있게 유지
1. 개체 무결성
---> 기본키 구성하는 어떤 속성도 null이나 중복값 가질 수 없음
2. 참조 무결성
---> 외래키 구성 속성은 null이거나 참조하는 릴레이션의 pk 값과 동일해야함. (==참조할 수 없는 외래키 값 가질 수 없, 속성과 개수 같아야)
3. 도메인 무결성
---> 속성 값은 정의된 도메인에 must 속한 값
1. 유일성 : 하나의 키 값으로 튜플 유일하게 식별
---> 주민번호 : 이름, 생년월일, 주소
2. 최소성 : 키를 구성하는 속성들 中 must 필요한 최소한의 속성들로만 키 구성
---> 주민번호, 이름, 생년월일이 모두 같은 사람 존재? ㄴㄴ ==> only 주민번호 만으로도 구별 ㄱㄴ
Super Key : 유일 O, 최소 X
---> 어떤 속성끼릴 묶음 유무와 관계 없이 각 레코드를 구별(유일성 확보) / 중복값 미발생 = 슈퍼키 가능
---> 각 행 고유 식별 가능토록
--->
ex) 학번 + 성명, 학번 + 주소, 과목코드 + 과목이름
Candidate Key : 유일 O, 최소 O
---> 개체 무결성 제약조건 (null, 중복 X)
----> 多 슈퍼키 中 키 구성하는 속성 수가 가장 적은 것이 후보키
Primary Key : 후보키 中 선택
후보키) 학번, 주민등록번호 --> 기본 키) 학번
~~~> 자연키 : 릴레이션에서 자연스럽게 발생되는 키 (아이디, 주민번호)
~~~> 인조키 : 관리자가 인위적으로 생성한 키 속성 (상품번호, 상품코드)
- "식별자로 인조키 지정하는 것이 적절"
- --> 유일성 만족해도 변경에 따라 유일성 잃게 될 수도 So 식별자 변경 필요;;
Alternate Key : 후보키 - 기본키
기본키를 제외한 나머지
Composite Key : 2개 이상 속성 결합, 하나의 키로 사용
---> 개별적으로는 고유하지 않지만 결합 통해 고유성 제공
---> 학번 + 성명, 학번 + 주소, 과목코드 + 과목이름
- ~~~> 슈퍼키와 복합키 차이
- 각 행 고유하게 식별에 사용 vs 두 개 이상 열 결합해 유일성 보장
Foreign Key : 다른 릴레이션의 기본 키를 참조. 관계 표현
---> 데이터 무결성 보존 (존재하지 않거나 잘못된 값 참조)
Unique Key : 중복 X, null 허용
----------------------------------------------------------------------------------------------------------------------
'목차' ,
'한영혼용 지양',
'아이콘 활용',
'본인만 알아보는 글 지양, like "-"'
'CS' 카테고리의 다른 글
S)DB_03_트랜잭션3 (0) | 2024.03.14 |
---|---|
S)DB_03_트랜잭션2 (1) | 2024.03.14 |
S)DB_03_트랜잭션 (0) | 2024.03.12 |
S) 01_Feedback (2) | 2024.03.11 |
S) DB_2_ERD (0) | 2024.03.11 |