"기본키"의 두 판 사이의 차이
1번째 줄: | 1번째 줄: | ||
− | '''기본키'''(Primary Key,PK)는 주 키 또는 프라이머리 키라고 하며, 후보키 중에서 특별히 선정된 키로 중복된 값을 가질 수 없으며, 후보키의 성질을 갖는다. 즉, 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키이다. 또한, Null 값을 가질 수 없기 때문에 튜플에서 기본 키로 설정된 속성에 Null 값이 있어서는 안 된다. | + | '''기본키'''(Primary Key,PK)는 주 키 또는 프라이머리 키라고 하며, 후보키 중에서 특별히 선정된 키로 중복된 값을 가질 수 없으며, 후보키의 성질을 갖는다. 즉, 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키이다. 또한, Null 값을 가질 수 없기 때문에 튜플에서 기본 키로 설정된 속성에 Null 값이 있어서는 안 된다. |
<ref> , 〈[https://moonibot.tistory.com/61 기본키]〉, 《[database] 키의 개념 및 종류 - 슈퍼키, 후보키, 기본키, 대체키, 외래키》, 2020-01-09</ref> | <ref> , 〈[https://moonibot.tistory.com/61 기본키]〉, 《[database] 키의 개념 및 종류 - 슈퍼키, 후보키, 기본키, 대체키, 외래키》, 2020-01-09</ref> | ||
+ | 릴레이션 스키마를 표현할 때 기본키는 속성아래 밑줄을 그어 표시한다. | ||
[[파일:기본키.png|500픽셀|섬네일|가운데|기본키 테이블 표시]] | [[파일:기본키.png|500픽셀|섬네일|가운데|기본키 테이블 표시]] | ||
12번째 줄: | 13번째 줄: | ||
기본키의 속성은 항상 고유한 값을 가져야 하며, 테이블당 하나만 만들 수 있다. 기본키의 속성으로 널(Null)값은 올 수 없으며, 속성 값이 변경될 가능성이 높은 속성은 기본키로 선정하지 않는게 좋다. 가능하면 작은 정수 값이나 짧은 문자열을 가지는 속성을 기본키로 선정하는게 좋은데 많은 데이터 중 빠르게 검색하기 위함이다. 또한, 복합 기본키는 피하는 것이 좋으며 기본키가 없는 테이블이 규칙에 어긋나는 것은 아니지만 모든 테이블에 기본키를 두는 것이 좋다. 테이블에 기본키가 없으면 반복적이고 일관성이 없는 데이터들이 쌓여 자신이 원하는 데이터를 추출하기 위해 명령을 내렸을 때 이를 수행하는 속도가 느릴 수 있고 다양한 문제를 일을킬 가능성이 있기 때문이다. | 기본키의 속성은 항상 고유한 값을 가져야 하며, 테이블당 하나만 만들 수 있다. 기본키의 속성으로 널(Null)값은 올 수 없으며, 속성 값이 변경될 가능성이 높은 속성은 기본키로 선정하지 않는게 좋다. 가능하면 작은 정수 값이나 짧은 문자열을 가지는 속성을 기본키로 선정하는게 좋은데 많은 데이터 중 빠르게 검색하기 위함이다. 또한, 복합 기본키는 피하는 것이 좋으며 기본키가 없는 테이블이 규칙에 어긋나는 것은 아니지만 모든 테이블에 기본키를 두는 것이 좋다. 테이블에 기본키가 없으면 반복적이고 일관성이 없는 데이터들이 쌓여 자신이 원하는 데이터를 추출하기 위해 명령을 내렸을 때 이를 수행하는 속도가 느릴 수 있고 다양한 문제를 일을킬 가능성이 있기 때문이다. | ||
<ref> , 〈[https://jhnyang.tistory.com/71 기본키 특징]〉, 《[데이터베이스]릴레이션 키 개념&종류&특징》, 2019-02-10</ref> | <ref> , 〈[https://jhnyang.tistory.com/71 기본키 특징]〉, 《[데이터베이스]릴레이션 키 개념&종류&특징》, 2019-02-10</ref> | ||
− | |||
− | |||
− | |||
{{각주}} | {{각주}} |
2020년 8월 13일 (목) 09:14 판
기본키(Primary Key,PK)는 주 키 또는 프라이머리 키라고 하며, 후보키 중에서 특별히 선정된 키로 중복된 값을 가질 수 없으며, 후보키의 성질을 갖는다. 즉, 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키이다. 또한, Null 값을 가질 수 없기 때문에 튜플에서 기본 키로 설정된 속성에 Null 값이 있어서는 안 된다. [1] 릴레이션 스키마를 표현할 때 기본키는 속성아래 밑줄을 그어 표시한다.
개요
키(key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말한다. 키의 종류로는 기본키(Priamry),후보키(Candidate Key),대체키(Alternate Key),수퍼키(Super Key),외래키(Foreign Key)가 있다. 그 중 기본키는 후보키 중에서 선택한 주키(Main Key)로 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다. 속성값으로는 널(Null)값을 가질 수 없으며 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다. [2]
특징
기본키의 속성은 항상 고유한 값을 가져야 하며, 테이블당 하나만 만들 수 있다. 기본키의 속성으로 널(Null)값은 올 수 없으며, 속성 값이 변경될 가능성이 높은 속성은 기본키로 선정하지 않는게 좋다. 가능하면 작은 정수 값이나 짧은 문자열을 가지는 속성을 기본키로 선정하는게 좋은데 많은 데이터 중 빠르게 검색하기 위함이다. 또한, 복합 기본키는 피하는 것이 좋으며 기본키가 없는 테이블이 규칙에 어긋나는 것은 아니지만 모든 테이블에 기본키를 두는 것이 좋다. 테이블에 기본키가 없으면 반복적이고 일관성이 없는 데이터들이 쌓여 자신이 원하는 데이터를 추출하기 위해 명령을 내렸을 때 이를 수행하는 속도가 느릴 수 있고 다양한 문제를 일을킬 가능성이 있기 때문이다. [3]
각주
참고자료
- [database] 키의 개념 및 종류 - 슈퍼키, 후보키, 기본키, 대체키, 외래키〈기본키〉, 2020-01-09《Tistory - moonibot》
- [데이터베이스]릴레이션 키 개념&종류&특징〈기본키 특징〉, 2019-02-10《Tistory - 양햄찌가 만드는 세상》
- [DB기초] 여러가지 키(기본키,후보키,외래키등)의 종류와 개념〈기본키 개요〉, 2018-08-14《Tistory - 코딩팩토리》
같이 보기