득이공간

[데이터베이스] 2장. 관계 데이터 모델과 제약조건 본문

CS/DB

[데이터베이스] 2장. 관계 데이터 모델과 제약조건

쟁득 2024. 2. 27. 09:00
해당 게시물은 김태연 교수님의 '데이터베이스' 강의를 수강하며
학습한 내용을 개인적으로 정리한 글입니다.

📌 목차 - 2장. 관계 데이터 모델과 제약조건

2-1. 관계 데이터 모델의 개념
2-2. 릴레이션의 특성
2-3. 릴레이션의 키
2-4. 무결성 제약조건


📌 2-1. 관계 데이터 모델의 개념

* 관계 데이터 모델
- 기본이 되는 데이터 구조로서 간단한 테이블을 사용한다.
- 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 구성한다.


* 용어
- 릴레이션 (relation) : 2차원의 테이블 (스프레드 시트와 유사)
- 레코드 (record) : 릴레이션의 각 행
- 튜블 (tuple) : 레코드를 좀더 공식적으로 부르는 용어
- 애트리뷰트 (attribute) : 릴레이션에서 이름을 가진 하나의 열
- 차수 (degree) : 열들의 수
- 카디날리티 (cardinality) : 행들의 수


* 도메인
- 한 애트리뷰트에 나타날 수 있는 값들의 집합
- 프로그래밍 언어의 데이터 타입과 유사함


* 용어 대응 관계
- 릴레이션 - 테이블 - 파일
- 튜블 - 행/레코드 - 레코드
- 애트리뷰트 - 열 - 필드


📌 2-2. 릴레이션의 특성

* 릴레이션
- 튜플들의 집합.
- 동일한 튜플이 두 개 이상 존재하지 않는다.
- 키가 존재한다.


* 릴레이션 스키마 (relation schema)
- 릴레이션의 이름과 릴레이션의 애트리뷰트들의 집합.
- 릴레이션을 나타내기 위한 틀 (Framework)
- 표기법 : 릴레이션이름(애트리뷰트1, 애트리뷰트2, ... 애트리뷰트N)
- 기본 키 애트리뷰트에는 밑줄 표시
- 내포(intension)라고 한다.


* 릴레이션 인스턴스 (relation instance)
- 릴레이션에 어느 시점에 들어있는 튜플들의 집합.
- 시간의 흐름에 따라 계속 변한다.
- 외연(extension)이라고 한다.


📌 2-3. 릴레이션의 키

* 슈퍼 키(super key)

- 한 릴레이션 내의 튜플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합


* 후보 키(candidate key)

- 각 튜플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임


* 복합 키(composite key)

- 두 개 이상의 애트리뷰트로 이뤄진 후보 키


* 기본 키(primary key)

- 후보 키가 두 개 이상 있으면 그 중 하나를 기본 키로 선정한다.


* 대체 키(alternate key)

- 기본 키가 아닌 후보 키


* 왜래 키(foreign key)

- 다른 릴레이션의 기본 키를 참조하는 애트리뷰트


📌 2-4. 무결성 제약조건

* 데이터 무결성(data integrity)

- 데이터의 정확성 또는 유효성을 의미


* 무결성 제약조건
- 도메인 제약조건(domain constraint) : 각 애트리뷰트 값이 반드시 원자값이어야 한다.
- 키 제약조건(key constraint) : 키 애트리뷰트에 중복된 값이 존재해서는 안된다.
- 기본 키와 엔티티 무결성 제약조건(entity integrity constraint) : 릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없다.
- 외래 키와 참조 무결성 제약조건(referential integrity constraint) : 두 릴레이션의 연관된 튜플 사이의 일관성을 유지하는데 사용된다.


* 엔티티

- 사람, 장소, 사물, 사건 등과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 물리적 또는 논리적 객체


* 삽입

- 제약조건을 위배하는 삽입 연산은 DBMS가 거절함으로써 무결성 유지


* 수정

- 수정하는 애트리뷰트가 기본 키인지 외래 키인지 검사한다.(둘 다 아니어야한다.)