우봉수
2023. 3. 11. 01:16
2023. 3. 11. 01:16
Key
- 필요이유: 레코드간의 순서가 의미가 없으므로 레코드를 구분하기 위해서는 각 레코드의 값을 이용해야 하기 때문
- 레코드를 구별 하는데 사용할 수 있는 고유한 값을 가진 레코드의 하나의 필드 혹은 복수의 필드(composite key)
- 시간의 독립적으로 항상 존재해야 함 Time dependent
- 유일하게 식별을 해야 하기 때문에 NULL값을 가질 수 없음
Key의 3가지 종류
- 슈퍼키(super key): 아무런 제약 조건 없이 레코드들을 식별할 수 있는 필드의 집합
- 후보키(candidate key): 최소한의 필드만으로 구성된 키 어떠한 데이터가 들어오고 지워져도 식별이 가능해야 함
- 기본키(primary key): 후보키 중에서 식별자로 정의한 하나의 키 되도록 하나의 필드로 구성된 후보키를 선정하는 것이 유리함
foreign key
- 어떤 테이블의 속성이 다른 테이블의 기본Key 값을 가지고 있는 경우
- 이 점을 이용해서 해당 테이블의 속성에 값이 추가될 때 해당 값이 잘못된 값 인지 아닌지 판별 가능
- 테이블과 테이블 사이의 관계를 표현하고 설정하는 것이 가능
- 다른 테이블의 기본Key를 참조하는 필드 집합
- 두 테이블 스키마 X, Y에 대해 X의 어떤 필드집합 XK가 다음 두 조건을 만족하면 XK는 Y의 기본키인 YK를 참조하는 X의 외래키임
- XK의 필드들은 테이블 스키마 Y의 기본키 YK와 동일한 도메인(값의 범위)을 가짐
- X의 각 레코드의 XK값은 Y의 레코드 중 하나의 YK값과 일치하거나 널이 됨
- 이때 X 레코드의 XK값이 널이 된다는 것은 알지 못하거나 아직 결정되지 않았다는 것을 의미함
- X: 참조하는 테이블
- Y: 참조되는 테이블
- 자신의 테이블을 참조하는 형태의 외래키도 존재 가능
Key
- 필요이유: 레코드간의 순서가 의미가 없으므로 레코드를 구분하기 위해서는 각 레코드의 값을 이용해야 하기 때문
- 레코드를 구별 하는데 사용할 수 있는 고유한 값을 가진 레코드의 하나의 필드 혹은 복수의 필드(composite key)
- 시간의 독립적으로 항상 존재해야 함 Time dependent
- 유일하게 식별을 해야 하기 때문에 NULL값을 가질 수 없음
Key의 3가지 종류
- 슈퍼키(super key): 아무런 제약 조건 없이 레코드들을 식별할 수 있는 필드의 집합
- 후보키(candidate key): 최소한의 필드만으로 구성된 키 어떠한 데이터가 들어오고 지워져도 식별이 가능해야 함
- 기본키(primary key): 후보키 중에서 식별자로 정의한 하나의 키 되도록 하나의 필드로 구성된 후보키를 선정하는 것이 유리함
foreign key
- 어떤 테이블의 속성이 다른 테이블의 기본Key 값을 가지고 있는 경우
- 이 점을 이용해서 해당 테이블의 속성에 값이 추가될 때 해당 값이 잘못된 값 인지 아닌지 판별 가능
- 테이블과 테이블 사이의 관계를 표현하고 설정하는 것이 가능
- 다른 테이블의 기본Key를 참조하는 필드 집합
- 두 테이블 스키마 X, Y에 대해 X의 어떤 필드집합 XK가 다음 두 조건을 만족하면 XK는 Y의 기본키인 YK를 참조하는 X의 외래키임
- XK의 필드들은 테이블 스키마 Y의 기본키 YK와 동일한 도메인(값의 범위)을 가짐
- X의 각 레코드의 XK값은 Y의 레코드 중 하나의 YK값과 일치하거나 널이 됨
- 이때 X 레코드의 XK값이 널이 된다는 것은 알지 못하거나 아직 결정되지 않았다는 것을 의미함
- X: 참조하는 테이블
- Y: 참조되는 테이블
- 자신의 테이블을 참조하는 형태의 외래키도 존재 가능