관계형 데이터 모델의 기본 개념
- 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델입니다.
- 하나의 관계에 하나의 개체에 대한 데이터 저장
관계형 데이터 모델의 기본 용어
기인하다
- 열, 관계 속성
- 파일 관리 시스템 관점에서 필드에 해당
투플(tuple)
- 관계의 행
- 파일 관리 시스템의 관점에서 기록에 대응
도메인
- 속성이 가질 수 있는 모든 값의 집합
- 속성 값 입력 및 수정 시 적합성을 판단하는 기준이 됨
- 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의한다.
없는
- 속성 값이 아직 알려지지 않았거나 존재하지 않음을 나타냅니다.
도
- 관계의 총 속성 수
카디널리티
- 관계의 총 튜플 수
데이터베이스 구성
데이터베이스 스키마
- 데이터베이스의 전체 구조
- 데이터베이스를 구성하는 관계 스키마 모음
데이터베이스 인스턴스
- 데이터베이스를 구성하는 관계 인스턴스 모음
관계의 특성
- 튜플의 고유성 – 두 개의 동일한 튜플이 릴레이션에 존재할 수 없습니다.
- 정렬되지 않은 튜플 – 관계에서 튜플의 순서는 관련이 없습니다.
- 속성의 무작위 순서 – 관계에서 속성의 순서는 관련이 없습니다.
- 속성의 원자성 – 원자 값만 속성 값으로 사용할 수 있습니다.
열쇠
- 관계에서 튜플을 고유하게 구별하는 특성 또는 특성 집합입니다.
- 특정 튜플을 식별하는 데 사용되는 속성 또는 속성 집합입니다.
- 관계는 중복 튜플을 허용하지 않습니다.
- 키는 관계 간의 관계를 설정하는 데에도 사용됩니다.
또한 관계 간의 관계를 설정하는 데 사용됩니다.
특성
- 고유성 – 관계의 모든 튜플은 서로 다른 키 값을 가져야 합니다.
- 미니멀리즘 – 키는 최소한의 필수 속성으로만 구성됩니다.
키 유형
슈퍼 키
- 고유성을 만족하는 속성 또는 속성 집합
후보 키
- 고유성과 최소성을 만족하는 속성 또는 속성 집합
기본 키
- 후보 키 중 기본적으로 사용하도록 선택된 키
- 관계의 튜플은 고유하게 식별 가능한 값을 가져야 합니다.
- 키 값이 변동해서는 안 됩니다.
- 가능한 한 적은 수의 속성을 가져야 합니다.
대체 키
- 기본 키로 선택되지 않은 후보 키
외래 키
- 다른 관계의 기본 키를 참조하는 속성 또는 속성 집합
- 외래 키 속성과 참조하는 기본 키 속성의 이름은 다를 수 있지만 도메인은 동일해야 합니다.
- 단일 릴레이션은 여러 개의 외래 키를 가질 수 있으며 외래 키는 기본 키로 사용될 수 있습니다.
- 동일한 관계에서 기본 키를 참조하는 외래 키를 정의할 수도 있습니다.
- 외래 키 속성은 NULL 값을 가질 수 있습니다.
주요 특성 및 유형 요약
특성
- 고유성: 관계의 모든 튜플은 서로 다른 키 값을 가져야 합니다.
- 미니멀리즘: 필요한 최소한의 속성만으로 키 구성
유형
- 수퍼키: 고유성을 충족하는 속성 또는 속성 집합입니다.
- 후보 키: 고유성과 최소성을 만족하는 속성 또는 속성 집합입니다.
- 기본 키: 후보 키 중 기본적으로 사용하도록 선택된 키.
- 대체 키: 기본 키로 선택되지 않은 후보 키
- 외래 키: 다른 관계의 기본 키를 참조하는 속성 또는 속성 집합입니다.
무결성 제약
- 데이터 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
- 무결성: 데이터에 결함이 없도록 유지(예: 정확하고 유효함)
ex) 기본 키를 구성하는 모든 속성은 null 값을 가질 수 없습니다.
외래 키는 비참조 값을 포함할 수 없습니다.
도메인 무결성 제약
도메인 제약 조건이라고도 합니다.
관계의 튜플이 각 속성의 도메인에 지정된 값만 가져야 한다는 조건.
SQL 문에서 데이터 타입, null/not null, default value, check 등을 이용하여 지정 가능
객체 무결성 제약
기본 키 제약 조건이라고도 합니다.
릴레이션은 기본 키를 지정하며 다음 무결성 원칙, 즉 기본 키는 NULL 값을 가져서는 안 됩니다.
릴레이션에는 하나의 값만 존재해야 한다는 조건입니다.
- 삽입 : 기본키 값이 같으면 삽입 금지
- 수정 : 기본키 값이 같거나 NULL이라도 수정 금지
- 파기 : 특별한 확인이 필요하지 않은 경우 즉시 파기
참조 무결성 제약 조건
외래 키 제약 조건이라고도 합니다.
관계 간의 참조 관계를 선언하는 제약 조건입니다.
자식 관계의 외래 키는 부모 관계의 기본 키와 동일합니다.
도메인은 동일해야 하며 자식 릴레이션의 값이 변경되면 부모 릴레이션의 제약 조건이 적용됩니다.
- 외래 키는 비참조 값을 포함할 수 없습니다.
참조 무결성 제약 조건에 대한 옵션(상위 관계에서 튜플을 삭제할 때)
- 제한됨 – 하위 관계에서 참조하는 경우 상위 관계에 대한 삭제 작업 거부
- CASCADE – 하위 관계에서 관련 튜플을 함께 삭제합니다.
- DEFAULT – 하위 관계의 관련 튜플을 미리 설정된 값으로 변경합니다.
- NULL – 하위 관계의 관련 튜플을 NULL 값으로 설정합니다(NULL 값이 허용되는 경우).