관계형 데이터베이스 관리 시스템(RDBMS)

✒️ 2025-06-09 10:10 내용 수정


관계형 데이터베이스

행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스


테이블(Table)

행과 열로 이루어진 데이터의 집합

관계형 DBMS.png

1. 행(row) / 튜플(tuple) / 레코드(record)

2. 열(column) / 필드(field) / 속성(attribute)


제약 조건(Constraint)

테이블에 문제가 되거나 결함이 있는 데이터가 입력되지 않도록 미리 지정해둔 조건

제약 조건 Null 허용 여부 데이터 중복 허용 여부 특징
PRIMARY KEY(고유키) X X 지정한 열은 반드시 유일값을 가짐.
테이블 당 1개만 지정 가능
FOREIGN KEY(외래키) - - 데이터 중복 없이 이미 존재하는 데이터를 참조해서 가져올 때 사용.
참조 시 해당 테이블에 존재하는 값만 입력 가능.
UNIQUE(유일키) O X (NULL끼리는 중복 간주 X) 지정한 열은 반드시 유일값을 가짐.
테이블 당 1개만 지정 가능
NOT NULL X O 해당 컬럼에 아무 값이 없거나 NULL이 들어오면 동작함
CHECK - - 설정한 조건식을 만족하는 데이터만 입력 가능.
조건식을 만족하지 않으면 데이터의 입력을 거부함
DEFAULT 아무 값도 없으면 설정한 기본값이 입력됨 O 값이 입력되면 기본값이 무시됨.
NULL이 들어와도 값이 들어온 것으로 취급함.

데이터베이스의 key

데이터베이스에서 데이터를 식별하거나 테이블 간의 관계를 정의할 때 사용하는 속성

db_key.png

키 종류 설명 주요 특징
슈퍼 키
(Super Key)
테이블을 구성하는 모든 속성에 대해 유일성 O, 최소성 X 하나 이상의 속성으로 구성
행을 고유하게 식별함
중복된 속성을 포함할 수 있음
후보 키
(Candidate Key)
슈퍼 키 중에서 최소한의 속성만으로 구성된 키 각 테이블에는 하나 이상의 후보 키가 있을 수 있음
각 후보 키는 행을 고유하게 식별함
중복된 속성이 없음
기본 키
(Primary Key)
테이블의 각 행을 고유하게 식별하는 키
후보 키 중에서 선택된 키
각 테이블에는 하나의 기본 키만 존재함
NULL 값을 허용하지 않음
중복된 값을 가질 수 없음
대체 키
(Alternate Key)
기본 키로 선택되지 않은 후보 키 기본 키 외에 행을 고유하게 식별할 수 있는 다른 키
NULL 값을 허용하지 않음
중복된 값을 가질 수 없음
외래 키
(Foreign Key)
다른 테이블의 기본 키를 참조하는 키
테이블 간의 관계를 정의
참조된 테이블의 기본 키 값을 가짐
데이터의 무결성을 유지하는 데 사용됨
NULL 값을 허용
고유 키
(Unique Key)
각 행의 특정 열이 고유한 값을 가지도록 보장하는 키 기본 키와 비슷하나 NULL 허용 유무가 다름
중복된 값을 허용하지 않음
NULL 값을 하나까지 허용
복합 키
(Composite Key)
두 개 이상의 열을 조합하여 행을 고유하게 식별하는 키 단일 열로는 행을 고유하게 식별할 수 없을 때 사용
여러 열의 조합으로 고유성을 보장함
동작 설명 영향받는 컬럼 사용 시 조건
CASCADE 부모 삭제/수정 시 자식도 연쇄 삭제/수정 자식 전체 행 트리거나 제약 조건과 충돌 주의
SET NULL 부모 삭제/수정 시 외래키 컬럼을 NULL로 설정 외래키 컬럼 해당 컬럼은 NULL 허용해야 함
RESTRICT 참조 중이면 부모 삭제/수정 거부 해당 없음 기본 설정, 명시적 설정해도 동일
NO ACTION RESTRICT와 유사하나 체크 시점만 다름 해당 없음 트랜잭션 제약이 끝날 때 체크됨
SET DEFAULT 부모 삭제/수정 시 외래키 컬럼을 기본값으로 설정 외래키 컬럼 DEFAULT 값 지정 + NOT NULL 불가