[데이터베이스] 8. 관계 데이터 모델 (2)
1. 릴레이션 특성과 구성
1) 릴레이션이란?
• 데이터베이스에서 가장 기본적인 구조로, 테이블 또는 관계로 표현됨
• 행과 열로 구성된 2차원 테이블 형태로 데이터를 저장하고 조작할 수 있음
• 여러 릴레이션을 이용해 데이터베이스를 구성하고, 관계를 설정하여 효율적으로 데이터 조작 가능
2) 릴레이션의 구성
• 속성(Attribute): 테이블의 열, 저장되는 데이터의 종류와 형식을 정의
• 튜플(Tuple): 테이블의 행, 각 속성에 대한 실제 데이터 값을 포함
3) 릴레이션 구성 요소
• 속성: 여러 개의 속성으로 구성되며 정보의 특성을 나타냄 (예: 학생 릴레이션의 학번, 이름, 전공 등)
• 도메인: 속성이 가질 수 있는 값의 집합 (예: 학번 속성의 도메인은 정수 값)
• 튜플: 각 행은 튜플로 표현되며, 속성에 대한 실제 데이터 값 포함
• 관계: 릴레이션 간의 연관성을 나타냄 (예: 학생 릴레이션과 강의 릴레이션의 "수강" 관계)
• 기본키(Primary Key): 각 튜플을 고유하게 식별하는 속성(예: 학번)
• 외래키(Foreign Key): 다른 릴레이션의 기본키를 참조하는 속성(예: 학생 릴레이션의 수강 강의 참조)
4) 릴레이션 특성
• 유일성: 릴레이션 내 튜플들은 중복되지 않음
• 순서 없음: 튜플의 저장 순서는 중요하지 않음
• 원자성: 속성 값은 원자적으로 구성됨
• 도메인 제한: 각 속성은 미리 정의된 도메인 내 값만 가질 수 있음
• 속성 이름의 유일성: 속성의 이름은 동일 릴레이션 내에서 고유해야 함
5) 릴레이션의 구성 요소
• 릴레이션 스키마: 릴레이션의 논리적 구조로, 속성과 이름을 정의 (정적 특징)
• 릴레이션 인스턴스: 특정 시점의 튜플 집합 (동적 특징)
2. 무결성 제약
1) 무결성 제약이란?
• 데이터베이스의 정확성과 일관성을 보장하기 위해 저장, 삭제, 수정 등에 적용되는 규칙
• 여러 사용자가 동시에 데이터를 접근·조작할 때, 데이터의 무결성을 유지하는 역할
2) 무결성 제약 조건 종류
• 개체 무결성(Entity Integrity): 기본키는 중복되지 않고, NULL 값을 가질 수 없음
• 참조 무결성(Referential Integrity): 외래키는 참조하는 기본키와 일치해야 함
• 도메인 무결성(Domain Integrity): 속성 값의 범위나 형식을 제한
• 동시성 무결성(Concurrency Integrity): 다중 사용자 환경에서 데이터 충돌 방지
• 동작 무결성(Operation Integrity): 데이터 조작 시 일관성 유지 (예: 특정 조건을 만족하는 경우만 삭제 가능)
3) 무결성 제약 조건의 장단점
• 장점: 스키마 정의 시 한 번만 명시하면 DBMS가 자동으로 일관성 검사 수행
• 단점: 구현이 복잡하며, 제약 조건 간 충돌 가능
4) 릴레이션 무결성 제약
• 상태 변환 제약: 데이터베이스의 일관성 유지 조건
- 상태 제약: 데이터베이스가 일관성 있는 상태를 유지하는 조건
- 과도 제약: 한 상태에서 다른 상태로 변환 시 적용되는 규정
• 집합 여부 제약:
- 집합 제약: 튜플 집합 전체에 적용되는 규정
- 튜플 제약: 개별 튜플에 적용되는 규정
• 시간 측면 제약:
- 즉시 제약: 삽입, 삭제, 갱신 연산이 즉시 적용
- 지연 제약: 트랜잭션 완료 후 적용
5) 무결성 제약 조건 구현 방법
• DCL 활용: 데이터 정의 시 명시적으로 제약 조건 설정
• 트리거: 특정 조건 충족 시 자동 실행되는 규칙
• 저장 프로시저: 데이터 접근 및 보안, 성능 최적화를 위해 사용
• 응용 프로그램 코드: 애플리케이션 단에서 무결성 보장
• DBMS 자체 기능: ACID 원칙을 통한 동시성 제어 및 데이터 복구 지원
이 내용은 휴넷사회복지평생교육원의 데이터베이스 강의를 듣고 정리한 것입니다.