데이터베이스(DB) key,id 종류
- 데이터 사이언스/DB
- 2024. 8. 12.
반응형
반응형
데이터베이스(DB) key,id 종류
데이터베이스에서 key
, id
, primary key
등의 개념은 매우 중요하며, 각각은 데이터베이스의 무결성, 성능, 효율적인 데이터 관리에 중요한 역할을 합니다. 이 개념들을 하나씩 설명해드리겠습니다.
1. Key
- 키(Key)는 데이터베이스에서 특정 레코드를 고유하게 식별하는 데 사용되는 하나 이상의 속성을 말합니다. 키는 데이터 무결성을 보장하고, 데이터를 검색하거나 조작하는 데 사용됩니다.
종류
- Primary Key (기본 키): 테이블에서 각 행을 고유하게 식별하는 열(또는 열들의 조합)입니다. 하나의 테이블에 하나의 Primary Key만 존재할 수 있으며, 이 키는
NULL
값을 가질 수 없습니다. - Foreign Key (외래 키): 다른 테이블의 Primary Key를 참조하는 열로, 테이블 간의 관계를 정의하는 데 사용됩니다. Foreign Key를 통해 두 테이블 간의 참조 무결성을 유지할 수 있습니다.
- Unique Key: 열(또는 열들의 조합)이 유일한 값을 가지도록 보장하는 키입니다. 각 테이블에 여러 개의 Unique Key가 있을 수 있습니다. Primary Key도 고유한 값이므로 Unique Key의 일종으로 볼 수 있습니다.
- Composite Key (복합 키): 두 개 이상의 열을 결합하여 고유하게 식별하는 키입니다. Primary Key나 Unique Key가 여러 열로 구성될 때 Composite Key라고 부릅니다.
2. ID
- ID는 일반적으로 테이블의 각 레코드를 고유하게 식별하기 위해 사용하는 열입니다. 대부분의 경우, ID는 숫자로 자동 증가하도록 설정하여 레코드가 삽입될 때마다 고유한 값이 생성됩니다.
- 자동 증가 (Auto-Increment): 데이터베이스에서 새로운 레코드가 삽입될 때마다 ID 값이 자동으로 증가하도록 설정할 수 있습니다. 이는 Primary Key로 사용되는 경우가 많습니다.
3. Primary Key
- Primary Key (기본 키)는 테이블에서 각 레코드를 고유하게 식별하는 데 사용되는 필드 또는 필드들의 조합입니다.
- 고유성 (Uniqueness): Primary Key는 각 레코드마다 고유해야 하며, 중복된 값을 가질 수 없습니다.
- Not Null: Primary Key는
NULL
값을 가질 수 없습니다. 즉, 반드시 값이 있어야 합니다. - 인덱싱 (Indexing): 대부분의 데이터베이스는 Primary Key에 자동으로 인덱스를 생성하여 검색 속도를 높입니다.
예시
CREATE TABLE Users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
email TEXT NOT NULL UNIQUE
);
- 여기서
id
는 Primary Key로, 자동 증가(AUTOINCREMENT) 설정을 통해 각 레코드를 고유하게 식별합니다. username
과email
은 각각 고유한 값을 가지는 Unique Key입니다.
4. Foreign Key
- Foreign Key (외래 키)는 한 테이블의 열이 다른 테이블의 Primary Key를 참조하도록 설정한 키입니다. 이를 통해 두 테이블 간의 관계를 정의하고, 참조 무결성을 유지합니다.
예시
CREATE TABLE Orders (
order_id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
order_date TEXT,
FOREIGN KEY (user_id) REFERENCES Users(id)
);
- 여기서
user_id
는Users
테이블의id
를 참조하는 Foreign Key입니다. 이를 통해Orders
테이블의 각 주문이 어떤 사용자의 주문인지를 알 수 있습니다.
5. Composite Key
- Composite Key (복합 키)는 두 개 이상의 열을 결합하여 테이블의 각 행을 고유하게 식별하는 키입니다.
예시
CREATE TABLE Enrollments (
student_id INTEGER,
course_id INTEGER,
PRIMARY KEY (student_id, course_id)
);
- 여기서
student_id
와course_id
의 조합이 Primary Key로 설정되어, 특정 학생이 특정 강좌에 등록된 유일한 기록을 식별할 수 있습니다.
결론
이러한 키와 ID의 개념은 데이터베이스의 구조와 설계에서 핵심적인 역할을 합니다. 각 키는 데이터의 고유성, 참조 무결성, 검색 효율성을 보장하여, 데이터베이스가 효율적으로 작동하고 데이터를 정확하게 관리할 수 있도록 돕습니다.
'데이터 사이언스 > DB' 카테고리의 다른 글
Mysql 환경변수 설정하기 (0) | 2024.08.16 |
---|---|
SQL 기초 정리 DDL, DML, DCL 알아보기 (0) | 2024.08.13 |
[DB] 디비버 ORA-28002 비밀번호 만기 경고 없애기 (0) | 2022.11.17 |
[DB] 데이터 모델링이란? (0) | 2022.11.02 |
MySQL 로그인 오류 유형 (0) | 2022.08.19 |