DBMS 키: 후보, 슈퍼, 기본, 외래 키 유형(예 포함)

DBMS의 키란 무엇입니까?

DBMS의 키 관계(테이블)에서 행(튜플)을 식별하는 데 도움이 되는 속성 또는 속성 집합입니다. 이를 통해 두 테이블 간의 관계를 찾을 수 있습니다. 키를 사용하면 해당 테이블에 있는 하나 이상의 열을 조합하여 테이블의 행을 고유하게 식별할 수 있습니다. 키는 테이블에서 고유한 레코드나 행을 찾는 데에도 유용합니다. 데이터베이스 키는 테이블에서 고유한 레코드나 행을 찾는 데에도 유용합니다.

예:

직원 ID 이름
11 앤드류 존슨
22 남자 이름 목재
33 알렉스 건장한

위에 제시된 예에서 직원 ID는 직원 기록을 고유하게 식별하므로 기본 키입니다. 이 테이블에서는 다른 직원이 동일한 직원 ID를 가질 수 없습니다.

왜 열쇠가 필요한가요?

DBMS 시스템에서 SQL 키를 사용하는 몇 가지 이유는 다음과 같습니다.

  • 키는 테이블의 데이터 행을 식별하는 데 도움이 됩니다. 실제 애플리케이션에서는 테이블에 수천 개의 레코드가 포함될 수 있습니다. 게다가 기록이 중복될 수도 있다. RDBMS의 키를 사용하면 이러한 문제에도 불구하고 테이블 레코드를 고유하게 식별할 수 있습니다.
  • 테이블 간의 관계를 설정하고 식별할 수 있습니다.
  • 관계에서 정체성과 진실성을 강화하도록 도와주세요.

DBMS(데이터베이스 관리 시스템)의 키 유형

DBMS에는 주로 XNUMX가지 유형의 키가 있으며 각 키에는 서로 다른 기능이 있습니다.

  1. 수퍼 키
  2. 기본 키
  3. 후보자 키
  4. 대체 키
  5. 외래 키
  6. 복합 키
  7. 복합 키
  8. 대리 키

예를 들어 DBMS의 각 키를 살펴보겠습니다.

  • 슈퍼 키 – 슈퍼 키는 테이블의 행을 식별하는 단일 또는 다중 키 그룹입니다.
  • 기본 키 – 해당 테이블의 모든 행을 고유하게 식별하는 테이블의 열 또는 열 그룹입니다.
  • 후보 키 – 테이블의 튜플을 고유하게 식별하는 속성 집합입니다. 후보 키는 반복되는 속성이 없는 슈퍼 키입니다.
  • 대체 키 – 해당 테이블의 모든 행을 고유하게 식별하는 테이블의 열 또는 열 그룹입니다.
  • 외래 키 – 두 테이블 간의 관계를 생성하는 열입니다. 외래 키의 목적은 데이터 무결성을 유지하고 엔터티의 서로 다른 두 인스턴스 간 탐색을 허용하는 것입니다.
  • 복합 키 – 특정 레코드를 고유하게 인식할 수 있는 두 개 이상의 속성이 있습니다. 각 열은 데이터베이스 내에서 그 자체로 고유하지 않을 수도 있습니다.
  • 복합 키 – 테이블의 행을 고유하게 식별하는 두 개 이상의 열 조합입니다. 열의 조합은 고유성을 보장하지만 개별 고유성은 보장되지 않습니다.
  • 대리 키 – 각 레코드를 고유하게 식별하는 것을 목표로 하는 인공 키를 대리 키라고 합니다. 이러한 종류의 키는 자연 기본 키가 없을 때 생성되므로 고유합니다.

슈퍼 키란 무엇입니까?

슈퍼키는 테이블의 행을 식별하는 단일 또는 다중 키 그룹입니다. 슈퍼 키에는 고유 식별에 필요하지 않은 추가 속성이 있을 수 있습니다.

예:

EmpSSN EmpNum 엠프네임
9812345098 AB05 표시된
9876512345 AB06 로슬린
199937890 AB07 James

위의 예에서 EmpSSN 및 EmpNum 이름은 슈퍼키입니다.

기본 키란 무엇입니까?

기본 키 in DBMS 해당 테이블의 모든 행을 고유하게 식별하는 테이블의 열 또는 열 그룹입니다. 기본 키는 중복될 수 없습니다. 즉, 동일한 값이 테이블에 두 번 이상 나타날 수 없습니다. 테이블에는 기본 키가 두 개 이상 있을 수 없습니다.

기본 키 정의 규칙:

  • 두 행은 동일한 기본 키 값을 가질 수 없습니다.
  • 모든 행에는 기본 키 값이 있어야 합니다.
  • 기본 키 필드는 null일 수 없습니다.
  • 외래 키가 해당 기본 키를 참조하는 경우 기본 키 열의 값을 수정하거나 업데이트할 수 없습니다.

예:

다음 예에서 StudID 기본 키입니다.

StudID 롤 아니오 이름 이메일
1 11 남자 이름 가격 abc@gmail.com
2 12 Nick 라이트 xyz@gmail.com
3 13 다나 나단 mno@yahoo.com

대체 키란 무엇입니까?

대체 키 해당 테이블의 모든 행을 고유하게 식별하는 테이블의 열 또는 열 그룹입니다. 테이블에는 기본 키에 대한 여러 선택 사항이 있을 수 있지만 기본 키로는 하나만 설정할 수 있습니다. 기본 키가 아닌 모든 키를 대체 키라고 합니다.

예:

이 표에서 StudID, Roll No, Email은 기본 키가 될 자격이 있습니다. 하지만 StudID가 기본 키이므로 Roll No, Email이 대체 키가 됩니다.

StudID 롤 아니오 이름 이메일
1 11 남자 이름 가격 abc@gmail.com
2 12 Nick 라이트 xyz@gmail.com
3 13 다나 나단 mno@yahoo.com

후보 키란 무엇입니까?

후보 키 SQL에서 테이블의 튜플을 고유하게 식별하는 속성 집합입니다. 후보 키는 반복되는 속성이 없는 슈퍼 키입니다. 기본 키는 후보 키 중에서 선택되어야 합니다. 모든 테이블에는 최소한 하나의 후보 키가 있어야 합니다. 테이블에는 여러 개의 후보 키가 있을 수 있지만 기본 키는 하나만 있을 수 있습니다.

후보 키의 속성:

  • 고유한 값을 포함해야 합니다.
  • SQL의 후보 키에는 여러 속성이 있을 수 있습니다.
  • Null 값을 포함하면 안 됩니다.
  • 고유성을 보장하기 위해 최소 필드를 포함해야 합니다.
  • 테이블의 각 레코드를 고유하게 식별합니다.

후보 키 예: 주어진 표에서 학생 ID, 학생 번호, 이메일은 표에서 학생 기록을 고유하게 식별하는 데 도움이 되는 후보 키입니다.

StudID 롤 아니오 이름 이메일
1 11 남자 이름 가격 abc@gmail.com
2 12 Nick 라이트 xyz@gmail.com
3 13 다나 나단 mno@yahoo.com

후보자 키
DBMS의 후보 키

외래 키란 무엇입니까?

외래 키 두 테이블 간의 관계를 생성하는 열입니다. 외래 키의 목적은 데이터 무결성을 유지하고 엔터티의 서로 다른 두 인스턴스 간 탐색을 허용하는 것입니다. 이는 다른 테이블의 기본 키를 참조하므로 두 테이블 간의 상호 참조 역할을 합니다.

예:

부서 코드 부서명
001 과학
002 English
005 컴퓨터
교사 ID F이름 이름
B002 데이비드 Warner
B017 사라 조셉
B009 마이크 브런턴

dbms 예제의 이 키에는 학교에 가르치는 테이블과 부서라는 두 개의 테이블이 있습니다. 하지만 어느 부서에서 어떤 검색 작업이 이루어졌는지는 알 수 있는 방법이 없습니다.

이 테이블에서는 Deptcode의 외래 키를 Teacher 이름에 추가하면 두 테이블 간의 관계를 만들 수 있습니다.

교사 ID 부서 코드 F이름 이름
B002 002 데이비드 Warner
B017 002 사라 조셉
B009 001 마이크 브런턴

이 개념은 참조라고도 알려져 있습니다. Integrity.

복합 키란 무엇입니까?

복합 키 특정 레코드를 고유하게 인식할 수 있는 두 개 이상의 속성이 있습니다. 각 열은 데이터베이스 내에서 그 자체로 고유하지 않을 수도 있습니다. 그러나 다른 열과 결합하면 복합 키의 조합이 고유해집니다. 데이터베이스에서 복합 키의 목적은 테이블의 각 레코드를 고유하게 식별하는 것입니다.

예:

주문번호 제품ID 제품명 수량
B005 JAP102459 마우스 5
B005 DKT321573 USB 10
B005 세상에 446789 LCD 모니터 20
B004 DKT321573 USB 15
B002 세상에 446789 레이저 프린터 3

이 예에서 OrderNo 및 ProductID는 레코드를 고유하게 식별하지 않으므로 기본 키가 될 수 없습니다. 그러나 주문 ID와 제품 ID의 복합 키는 각 레코드를 고유하게 식별하므로 사용할 수 있습니다.

복합 키란 무엇입니까?

복합 키 테이블의 행을 고유하게 식별하는 두 개 이상의 열 조합입니다. 열의 조합은 고유성을 보장하지만 개별적인 고유성은 보장되지 않습니다. 따라서 테이블의 레코드를 고유하게 식별하기 위해 결합됩니다.

복합 키와 복합 키의 차이점은 복합 키의 모든 부분이 외래 키가 될 수 있지만 복합 키는 외래 키의 일부일 수도 있고 아닐 수도 있다는 것입니다.

대리 키란 무엇입니까?

대리 키 각 레코드를 고유하게 식별하는 것을 목표로 하는 인공 키를 대리 키라고 합니다. dbms의 이러한 종류의 부분 키는 자연 기본 키가 없을 때 생성되므로 고유합니다. 이는 테이블의 데이터에 어떤 의미도 부여하지 않습니다. DBMS의 대리 키는 일반적으로 정수입니다. 대리 키는 레코드가 테이블에 삽입되기 직전에 생성되는 값입니다.

F이름 시작 시간 종료 시간
스미스 09:00 18:00
프란시스 08:00 17:00
안나 매 클린 11:00 20:00
표시된 윌리엄 14:00 23:00

위에 주어진 예시는 다른 직원의 교대 근무 시간을 보여줍니다. 이 예시에서 각 직원을 고유하게 식별하기 위해 대리 키가 필요합니다.

대리 키 SQL 다음과 같은 경우에 허용됩니다.

  • 기본 키의 매개변수를 갖는 속성이 없습니다.
  • 테이블에서 기본 키가 너무 크거나 복잡할 때.

기본 키와 외래 키의 차이점

기본 키와 외래 키의 주요 차이점은 다음과 같습니다.

기본 키 외래 키
테이블의 레코드를 고유하게 식별하는 데 도움이 됩니다. 다른 테이블의 기본 키인 테이블의 필드입니다.
기본 키는 null 값을 허용하지 않습니다. 외래 키는 여러 개의 null 값을 허용할 수 있습니다.
기본 키는 클러스터형 인덱스이고 DBMS 테이블의 데이터는 물리적으로 클러스터형 인덱스의 시퀀스에 따라 구성됩니다. 외래 키는 클러스터형이든 비클러스터형이든 인덱스를 자동으로 생성할 수 없습니다. 그러나 외래 키에 대한 인덱스를 수동으로 생성할 수 있습니다.
테이블에는 단일 기본 키가 있을 수 있습니다. 한 테이블에 여러 개의 외래 키를 가질 수 있습니다.

요약

  • DBMS의 키란 무엇입니까? DBMS의 키는 관계(테이블)에서 행(튜플)을 식별하는 데 도움이 되는 속성 또는 속성 집합입니다.
  • 키 입력 RDBMS 테이블 간의 관계를 설정하고 식별할 수 있습니다.
  • DBMS의 키 유형에는 슈퍼, 기본, 후보, 대체, 외부, 복합, 복합 및 대리 키의 XNUMX가지 유형이 있습니다.
  • 슈퍼 키는 테이블의 행을 식별하는 단일 또는 다중 키 그룹입니다.
  • 해당 테이블의 모든 행을 고유하게 식별하는 데 도움이 되는 테이블의 열 또는 열 그룹을 기본 키라고 합니다.
  • 기본 키가 아닌 DBMS의 모든 다른 키를 대체 키라고 합니다.
  • 반복되는 속성이 없는 슈퍼 키를 후보 키라고 합니다.
  • 복합 키는 특정 레코드를 고유하게 인식할 수 있는 많은 필드가 있는 키입니다.
  • 테이블의 행을 고유하게 식별하는 여러 속성이 있는 키를 복합 키라고 합니다.
  • 각 레코드를 고유하게 식별하는 것을 목표로 하는 인공 키를 대리 키라고 합니다.
  • 기본 키는 null 값을 허용하지 않지만 외래 키는 여러 null 값을 허용할 수 있습니다.