DBMS의 7가지 키 유형 설명
게시 됨: 2021-03-12목차
DBMS의 키는 무엇입니까?
DBMS의 키는 관계(또는 테이블)에서 튜플(또는 행)을 고유하게 식별하는 데 도움이 되는 속성 또는 속성 집합입니다. 키는 또한 관계형 데이터베이스의 다른 테이블과 열 사이의 관계를 설정하는 데 사용됩니다. 키의 개별 값을 키 값이라고 합니다.
이 블로그는 DBMS의 키 와 속성 클로저 에 대해 알아야 할 모든 것을 다룰 것입니다 . 관계(테이블) 의 키를 찾습니다 . DBMS의 키에 대한 몇 가지 중요한 GATE 질문 에 대해서는 기사를 끝까지 읽으십시오.
키가 필요한 이유는 무엇입니까?
키는 다양한 종류의 무결성 제약 조건의 정의에 사용됩니다. 데이터베이스의 테이블은 특정 관계에 대한 레코드 또는 이벤트의 모음을 나타냅니다. 이제 그러한 기록이 수천 개가 될 수 있으며 그 중 일부는 중복될 수 있습니다.
각 레코드를 개별적으로 고유하게 식별할 수 있는 방법이 있어야 합니다. 즉, 중복이 없습니다. 열쇠를 사용하면 이러한 번거로움에서 벗어날 수 있습니다.
공과대학에서 공부하는 각 학생의 데이터베이스의 실제 예를 들어 보겠습니다.
학생의 어떤 특성이 각 학생을 고유하게 식별할 수 있다고 생각합니까? 이름, 부서, 학년 및 섹션을 사용하여 학생을 참조할 수 있습니다. 또는 학생의 대학 명부만 언급하고 다른 모든 세부 정보는 그 번호에서 얻을 수 있습니다.
키는 둘 이상의 속성(또는 열)의 조합이거나 단일 속성일 수 있습니다. 이것의 주요 동기는 각 레코드에 고유한 ID 를 부여하는 것 입니다.
또한 읽기: DBMS 대 RDBMS
DBMS의 키 유형
DBMS에는 크게 7가지 유형의 키가 있습니다.
- 기본 키
- 후보 키
- 슈퍼 키
- 외래 키
- 복합 키
- 대체 키
- 고유 키
각각 별도로 살펴보겠습니다.
1. 기본 키
기본 키는 테이블의 열 또는 해당 테이블에 있는 모든 레코드를 고유하게 식별하는 데 도움이 되는 열 집합입니다. 테이블에는 하나의 기본 키만 있을 수 있습니다. 또한 기본 키는 모든 행에 대해 동일한 값을 반복할 수 없습니다. 기본 키의 모든 값은 반복 없이 달라야 합니다.
열 또는 열 집합에 적용되는 PRIMARY KEY(PK) 제약 조건은 null 값이나 중복을 허용하지 않습니다. 하나의 테이블에는 하나의 기본 키 제약 조건만 있을 수 있습니다. 기본 키의 값은 이를 참조하는 외래 키(아래 설명)로 변경할 수 없습니다.
2. 슈퍼 키
슈퍼 키는 테이블의 행을 고유하게 식별하는 데 도움이 되는 모든 키의 집합입니다. 즉, 해당 테이블의 다른 열을 고유하게 식별할 수 있는 것보다 테이블의 모든 열이 모두 슈퍼 키로 간주됩니다.
슈퍼 키는 후보 키의 상위 집합입니다(아래 설명). 테이블의 기본 키는 테이블의 ID 속성이 되도록 설정된 슈퍼 키에서 선택됩니다.
3. 후보자 키
후보 키는 테이블의 행을 고유하게 식별하는 속성입니다. 테이블의 기본 키는 후보 키 중 하나에서 선택됩니다. 따라서 후보 키는 위에서 설명한 기본 키와 동일한 속성을 갖습니다. 테이블에는 둘 이상의 후보 키가 있을 수 있습니다.
4. 대체 키
위에서 언급했듯이 테이블은 기본 키에 대해 여러 선택을 할 수 있습니다. 그러나 하나만 선택할 수 있습니다. 따라서 기본 키가 되지 않은 모든 키를 대체 키라고 합니다.
5. 외래 키
외래 키는 두 테이블 간의 관계를 설정하는 데 사용됩니다. 외래 키는 참조 테이블의 기본 키와 일치하도록 열 또는 열 집합의 각 값이 필요합니다. 외래 키는 데이터 및 참조 무결성을 유지하는 데 도움이 됩니다.
6. 복합 키
복합 키는 테이블의 각 튜플을 고유하게 식별하는 데 도움이 되는 둘 이상의 속성 집합입니다. 세트의 속성은 개별적으로 고려할 때 고유하지 않을 수 있습니다. 그러나 모두 함께 취하면 고유성이 보장됩니다.
7. 고유 키
고유 키는 테이블의 각 레코드를 고유하게 식별하는 열 또는 열 집합입니다. 모든 값은 이 키에서 고유해야 합니다. 고유 키는 하나의 null 값만 가질 수 있는 반면 기본 키는 null 값을 가질 수 없기 때문에 기본 키와 다릅니다.
기능적 종속성
이제 DBMS에서 다른 종류의 키를 알았으므로 데이터베이스에서 테이블이 제공될 때 키를 식별하는 방법을 살펴보겠습니다. 이를 위해 기능적 종속성 개념을 사용합니다.
기능 종속성(FD)은 두 속성 집합 간의 제약 조건입니다. 이 제약 조건은 t1[X] = t2[X]인 경우 r에 있는 임의의 두 튜플 t1 및 t2에 대한 것이며 t1[Y] = t2[Y]입니다. 이는 튜플의 X 구성 요소 값이 구성 요소 Y의 값을 고유하게 결정함을 의미합니다.
FD는 X ? Y("Y는 기능적으로 X에 종속됨"으로 읽음). 왼쪽을 행렬식이라고 하고 오른쪽을 종속물이라고 합니다.
속성 집합의 폐쇄
클로저 는 주어진 FD 세트에서 파생된 모든 가능한 FD 세트입니다 . 완전한 FD 세트 라고도 합니다 . F가 관계 R에 대한 FD 세트를 기부하는 데 사용되는 경우 F가 암시하는 FD 세트의 폐쇄는 F+ 로 표시됩니다 .
우리는 이제 주어진 FD 세트와 관련된 속성 세트의 폐쇄를 정의할 것입니다. 관계 의 슈퍼 키 를 식별하고 FD가 주어진 FD 세트에서 유추될 수 있는지 또는 FD가 중복되는지 여부를 찾는 데 도움이 됩니다. 관계에 대한 기능적 종속성 세트를 찾은 후 다음 단계는 해당 관계(테이블)에 대한 수퍼 키를 찾는 것입니다.
그런 다음 속성의 클로저 세트를 찾아 테이블의 속성(또는 속성 세트)이 해당 테이블의 키인지 여부를 결정합니다. 속성 X에 기능적으로 종속된 속성 집합을 X의 속성 클로저라고 하며 X + 로 표시할 수 있습니다.
다음은 F+를 결정하는 데 필요한 몇 가지 규칙입니다.
- 반사성: X가 Y의 상위 집합이거나 Y가 X의 하위 집합이면 X는 ? 와이.
- 증강: 만약 X? Y, 다음 XZ ? YZ. 또는 Z ⊆W이고 X이면 ? Y, 다음 XW? YZ.
- 전이도: 만약 X? Y와 Y? Z, 다음 X? 지.
- 조합: 만약 X? Y와 X? Z, 다음 X? YZ.
- 분해: 만약 X? YZ 다음 X ? Y와 X? 지.
- 유사 전이성: 만약 X? Y와 YW? Z, 다음 XW ? 지.
속성 폐쇄를 사용하여 후보 키와 슈퍼 키를 찾는 방법은 무엇입니까?
- 속성 집합의 속성 클로저가 관계의 모든 속성을 포함하는 경우 속성 집합은 관계의 수퍼 키가 됩니다.
- 이 속성 집합의 하위 집합이 모든 관계 속성을 기능적으로 결정할 수 없는 경우 해당 집합이 후보 키가 됩니다.
속성 폐쇄의 적용을 보기 위해 이전에 몇 가지 GATE 질문에 대해 논의해 보겠습니다.
게이트 2014
관계 체계 R = {E, F, G, H, I, J, K, L, M, N} 및 기능적 종속성 집합 {{E, F} ? {G}, {F} ? {I, J}, {E, H} ? {케이, 패}, 케이 ? {엠}, 엘 ? R의 {N}. R의 키는 무엇입니까?
(A) {E, F}
(나) {E, F, H}
(다) {E, F, H, K, L}
(D) {E}
접근 방식: 제공된 모든 옵션의 속성 폐쇄를 확인합니다. 클로저가 전체 관계 R을 제공하는 집합이 정답입니다.
A: {E, F} + = {EFGIJ} ≠ R
B: {E, F, H} + = {EFGHIJKLMN} = R
C: {E, F, H, K, L} + = {EFGHIJKLMN} = R
D: {E} + = {E} ≠ R
옵션 B와 C는 모두 전체 관계 체계를 제공합니다. 그러나 Candidate Key는 최소 Super Key여야 하기 때문에 정답으로 최소 옵션을 선택합니다 .
답변: 비
게이트 2013
관계 R에는 8개의 속성 ABCDEFGH가 있습니다. R의 필드에는 원자 값만 포함됩니다. F = {CH ? 지, 아? BC, B? CFH, E ? 에이, 에프? EG}는 기능적 종속성(FD)의 집합이므로 F+는 정확히 R에 대해 유지되는 FD의 집합입니다.
관계 R에는 몇 개의 후보 키가 있습니까?
(가) 3
(나) 4
(다) 5
(라) 6
접근 방식: 질문에 제공된 각 기능 종속성의 LHS를 가져와서 해당 속성 클로저를 찾습니다.
CH+ = G
A+ = ABCEFGH
B+ = ABCEFGH
E+ = ABCEFGH
F+ = ABCEFGH
따라서 A, B, E, F의 클로저는 속성 D를 제외하고 전체 관계가 있음을 알 수 있습니다. 따라서 총 4개의 후보 키 AD, BD, ED 및 FD가 있습니다.
답: 나
세계 최고의 대학에서 온라인으로 소프트웨어 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
결론
키와 기능적 종속성은 데이터베이스 설계에서 매우 중요한 역할을 합니다. 이러한 개념은 또한 좋은 데이터베이스 디자인과 나쁜 데이터베이스 디자인의 차이점을 찾는 데 도움이 됩니다. 중복을 제거하고 데이터베이스를 효율적으로 만드는 마지막 프로세스는 이 기사에서 언급한 모든 개념을 사용하는 정규화 입니다.
전체 스택 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 이그 제 큐 티브 PG 프로그램을 확인하십시오. 이 프로그램은 일하는 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트, 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
DBMS의 다양한 키 유형은 무엇입니까?
데이터베이스에는 여러 유형의 키가 사용됩니다. 기본 키는 테이블의 특정 행을 식별하는 데 사용됩니다. 고유 키는 특정 테이블에 항목이 하나만 있는지 확인하는 데 사용됩니다. 외래 키는 한 테이블의 항목을 다른 테이블에 연결하는 데 사용됩니다. 복합 키는 행을 식별하는 데 함께 사용되는 테이블의 여러 열 모음입니다. 이러한 키는 테이블 행의 특정 열을 정확하고 고유하게 식별하는 데 도움이 됩니다. 따라서 사용 사례에 따라 정확한 열을 키로 사용하는 것이 매우 중요합니다.
DBMS에서 외래키란?
외래 키는 한 테이블의 행을 다른 테이블의 행에 연결하는 데 사용되는 열 또는 열 집합입니다. 데이터 불일치를 방지하는 데 사용됩니다. DBMS에서 외래 키는 단일 열 또는 열 집합(논리 열)을 사용하여 구현되며 DBMS는 이러한 열의 값이 참조된 열(기본 키)의 값과 일치하는지 확인합니다. 예를 들어 테이블 A와 테이블 B에 모두 열 A라는 열이 있다고 가정해 보겠습니다. 테이블 A의 열 A가 테이블 B의 열 A를 참조한다고 말할 수 있습니다. 이것은 외래 키 값이 가리키는 화살표로 상상할 수 있습니다. 대상 테이블.
DBMS에서 복합 키란 무엇입니까?
복합 키는 슈퍼 키입니다. 하나 이상의 열의 조합입니다. 다른 열의 조합에서 단일 키를 구성할 수 있습니다. 복합 식별자, 복합 키 또는 복합 키라고도 합니다. 간단히 말해서, 행을 고유하게 식별할 수 있는 단일 열이 없는 경우에 대비하여 일련의 열을 사용하여 테이블에서 고유한 행을 식별할 수 있습니다. 이러한 경우 사용할 모든 열 집합은 복합 키로 간주됩니다. 따라서 기본 키에 두 개 이상의 열이 있다고 말할 수 있으며 복합 키로 이름이 변경됩니다.