식별자(Identifier)
한 개체(Entity)내에서 각각의 인스턴스를 유일하게 구분할 수 있는 단일 속성 또는 그룹 속성.
식별자에 동일한 값이 중복 불허 (실체 무결성)
모든 Entity는 반드시 하나 이상의 식별자를 보유하며 여러 개의 식별자를 보유할 수도 있음.
주로 식별자를 통해 해당 인스턴스의 구분이 가능.
->검색이나 조인 시 중요 작용.
키(Key)
DB에서 조건에 만족하는 튜플/인스턴스를 찾거나 순서대로 정렬 시
다른 튜플들과 구별할 수 있는 유일한 기준이 되는 속성(Attribute) 혹은 속성의 집합.
-> 릴레이션간의 관계 맺을 시에도 사용
슈퍼키(Super Key)
튜플을 유일하게 식별할 수 있는 하나의 속성 또는 속성의 집합
튜플을 식별 할 수 있으면 슈퍼키에 해당
후보키(Candidate Key)
튜플을 유일하게 식별할 수 있는 속성의 최소집합.
하나 또는 여러 개의 속성으로 구성.
즉, 기본키(PK)가 될 수 있는 후보 속성.
기본키(Primary Key)
여러 후보키 중에 선택한 하나의 속성이나 속성그룹.
위의 예에서는 '사원번호'를 기본키로 설정.
기본키를 선정 시 고려사항
- 해당 실체를 대표할 수 있을 것
- 업무적으로 활용도가 높을 것
- 길이가 짧을 것
- Not Null
- No Duplicate(중복안됨)
- 유일(Unique)함
유니크키(Unique Key)
유일성을 가지기 위해 설정해 놓은 것으로 중복방지.
기본키는 유니크 키의 성질을 포함하는 것 중에서
기본적으로 선택한 키.
유니크 키는 하나의 테이블에 각각의 컬럼마다 설정가능
기본키는 오직 하나만 설정이 가능
대체키(Alternate Key)
기본키로 선정되지 않은 후보키
복합키(Composite Key)
하나의 속성으로는 기본키가 될 수 없는 경우는 둘 이상의 컬럼을 묶어 식별자로 정의하는 것.
주로 조회의 조건으로 사용되는 컬럼을 먼저 정의하는 것이 성능 향상을 위해 도움이 됨.
대리키(Surrogate Key)=인공키
식별자가 너무 길거나 여러 개의 속성으로 구성되어 있는 경우 인위적으로 추가하는 식별자
->조인의 속도를 향상위해 많이 사용.
외래키(Foreign Key)
다른 릴레이션의 기본키를 참조하는 속성(관계를 맺는데 활용)
외래 키 테이블이 참조하는 테이블의 열은 P.K 이거나 unique 제약조건이 필수로 있어야함.
외래키를 사용할 때 참조하는 릴레이션과 참조되는 릴레이션이 다를 필요 없음.
자기자신의 기본키를 외래키로 가질 수 있음.
'ddit > Oracle' 카테고리의 다른 글
220512 Selct ,연산, Alias, 데이터의 정렬 (0) | 2022.05.12 |
---|---|
7일차 oracle, sql developer에서 테이블 생성 및 데이터 넣기, 수정, 삭제 (0) | 2022.05.11 |
6일차 SQL,DDL, DML,DCL,TCL, 테이블 모델링 (0) | 2022.05.10 |
5일차 테이블 명세서, 스키마구조, Forward Engineering (0) | 2022.05.09 |
4일차 사전만들기 (0) | 2022.05.07 |