본문 바로가기
Power BI 글모음/SQL-Power BI

Key used for modeling in Database & Power BI

by ISTJ의 궁서체 Data 2025. 1. 5.

안녕하세요.
이번 시간에는 Database와 Power BI에서 주로 Modeling을 위해 사용하는
"Key" 종류에 대해 한 번 소개 해보려고 합니다.

This image is made by ChatPGT

 

Key 종류

KEY 의 종류는 대표적으로 7개가 있습니다.

종류 고유성 Null 허용 역할
Primary Key(기본 키) O X 행을 고유하게 식별
Foreign Key(외래 키) X O 다른 테이블과의 관계 정의
Composite Key(복합 키) O X 여러 열을 결합해 고유성 보장
Unique Key(유니크 키) O O 고유값을 가지는 열 (기본 키 외 다른 키)
Candidate Key(후보 키) O X 기본 키로 선택이 가능한 키
Alternate Key(대체 키) O X 후보 키 중 기본 키로 선택되지 않은 키
Super Key(슈퍼 키) O X 고유성을 보장하는 모든 키 조합

 

1. Primary Key (기본 키)

● 테이블 내에서 각 행을 고유하게 식별하기 위한 열 입니다.
● 반드시 고유 값(Unique)이어야 하며, Null 값을 가질 수 없습니다.

EX) 학생 테이블에서 학생 ID는 각 행을 고유하게 식별하는 기본 키가 될 수 있다.
- 학생 테이블

StudentID Name Age
101 홍길동 20
102 이순신 21

 

2. Foreign Key (외래 키)

● 다른 테이블의 기본 키를 참조해 두 테이블 간의 관계를 정의하는데 사용합니다.
● 데이터 무결성을 보장하고 관계형 모델을 형성합니다.

EX) 학생 테이블과 등록 테이블 간의 관계에서 등록 테이블의 학생ID는 외래 키가 될 수 있다.
- 등록 테이블

StudentID Course Grade
101 수학 A
102 과학 B

 

3. Compisite Key (복합 키)

● 두 개 이상의 열을 결합하여 고유한 키를 만드는 경우를 의미합니다.
● 개별 열로는 고유하지 않지만, 결합하면 고유성을 보장합니다.
● 특히 Power BI에서 고유한 키가 없을 경우 DAX을 활용하여 복합 키를 생성하고 Modeling 하는 경우도 매우 많습니다.

EX) 수업 테이블에서 학생ID와 강의ID를 결합하여 복합 키로 설정할 수 있다.
- 수업 테이블

StudentID ClassID Teacher
101 A01 Mr. Lee
101 A02 Mr. Park
102 A01 Mr. Lee

 

4. Unique Key (유니크 키)

● 기본 키와 유사하게 고유성을 보장하지만, 테이블 당 여러 개가 존재할 수 있습니다.
● Null 값을 허용할 수 있습니다.

EX) 유저 테이블에서 E-mail 열이 유일한 값을 가져야 하는 경우 E-mail은 유니크 키로 설정될 수 있습니다.
- 유저 테이블

ID Username E-mail
1 User1 abc@naver.com
2 User2 qwe@naver.com

 

5. Candidate Key (후보 키)

● 기본 키로 사용할 수 있는 열이나 열들의 집합을 의미합니다.
● 한 테이블에 여러 후보 키가 있을 수 있고, 그중 하나가 기본 키로 선택이 됩니다.

EX) 학생2 테이블에서 학생ID와 E-mail 모두 후보키가 될 수 있음.
- 학생2 테이블

StudentID Name E-mail
101 홍길동 aaa@naver.com
102 이순신 bbb@naver.com

 

6. Alternate Key (대체 키)

● 후보 키 중 기본 키로 선택되지 않은 나머지 키를 의미합니다.

EX) 학생2 테이블에서 학생ID가 기본 키 라면 E-mail은 대체 키가 될 수 있습니다.

 

7. Super Key (슈퍼 키)

● 테이블의 행을 고유하게 식별할 수 있는 열이나 열들의 집합으로, 기본 키를 포함합니다.
● 슈퍼 키는 고유성이 보장은 되나, 최소성은 보장하지 않습니다.

EX) 학생2 테이블에서 학생ID, 이름, E-mail을 포함하는 모든 키 조합은 슈퍼 키가 될 수 있습니다.

 

다소 생소하고 어렵지만
기본적으로 데이터를 다루고, Modeling을 하기 위해서는 꼭 필요한 개념입니다 :)

'Power BI 글모음 > SQL-Power BI' 카테고리의 다른 글

SQL/PowerBI(동작관계)  (2) 2024.12.29
SQL(Structured Query Language)?  (5) 2024.12.24
SQL-Power BI의 관계  (0) 2024.12.23