Study/데이터베이스
5장 - 관계 데이터 모델
석사한 화이트핸드
2024. 11. 20. 03:50
728x90
반응형
출처 : http://www.kocw.net/home/cview.do?lid=26bf847a9eeeafa5
이번 시간에는 관계 데이터 모델에 대해서 학습한다.
- 관계 데이터 모델의 개념
- 관계 데이터 모델의 제약
학습목표
- 관계 데이터 모델의 기본 용어를 익힌다.
- 릴레이션을 구성하는 요소와 특성을 이해한다.
- 릴레이션에서 키의 역할과 종류를 알아본다.
- 무결성 제약의 의미와 필요성을 이해한다.
이전 장에서는 2단계 개념적 설계를 학습했다. 이번 시간에는 3단계 논리적 설계 단계를 학습한다.
논리적 설계 단계는 개념적 설계에서 만든 E-R 다이어그램을 바탕으로 논리적 스키마를 만드는 단계이다.
관계 데이터 모델의 개념
관계 데이터 모델의 기본 개념
- 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델
- 하나의 개체에 대한 데이터를 2차원 릴레이션에 저장한 것
- 파일 관리 시스템 관점에서 파일에 대응
- 위 그림은 고객이라는 개체를 릴레이션(테이블)으로 변환한 예시이다.
- 튜플 : 테이블의 한 행. 인스턴스(실제 객체의 값)들이 저장되어있다.
- 속성 : 테이블의 한 열
- 도메인
- 각 속성이 가질 수 있는 값의 집합(int, char 등).
- 속성 값을 입력 및 수정할 때 적합성의 판단 기준이 된다.
- 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의
- 널(Null) : 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
- 차수(degree) : 하나의 릴레이션에서 속성의 전체 개수
- 카디널리티(cardinality) : 하나의 릴레이션에서 투플의 전체 개수
릴레이션의 구성
릴레이션은 크게 릴레이션 스키마와 릴레이션 인스턴스 2가지로 나눌 수 있다.
- 릴레이션 스키마(Relation Schema)
- 릴레이션의 구조를 정의하는 것으로, 테이블의 설계도라고 볼 수 있다.
- 릴레이션의 논리적 구조
- 릴레이션의 이름과 릴레이션에 포함된 모든 속성 이름으로 정의(ex. 고객[아이디, 이름, 나이, 등급, 직업, 적립금])
- 릴레이션 내포라고도 한다
- 릴레이션에 어떤 종류의 데이터를 저장할 것인지 미리 정의하여 데이터의 구조를 확립한다.
- 정적인 특징이 있음
- 릴레이션 인스턴스(Relation Instance)
- 어느 한 시점에 릴레이션에 존재하는 투플들의 집합
- 릴레이션 외연이라고도 한다.
- 릴레이션 스키마에 따라 실제로 저장된 데이터의 집합이다.
- 릴레이션 스키마에서 정의된 구조에 맞춰 실제 데이터를 저장한다.
- 동적인 특징이 있음
데이터베이스의 구성
- 데이터베이스 스키마
- 데이터베이스의 구조를 정의하는 설계도
- 데이터베이스의 전체적인 구조를 설계하고 정의한다.
- 데이터를 효율적으로 저장하고 관리하기 위한 기반을 제공한다.
- 데이터베이스를 사용하는 사용자에게 데이터의 의미와 구조를 알려준다.
- 데이터베이스 인스턴스
- 스키마에 따라 실제로 저장된 데이터의 집합. 즉, 데이터베이스의 현재 상태를 나타낸다.
- 스키마에서 정의된 구조에 맞춰 실제 데이터를 저장한다.
- 데이터베이스의 내용을 보여주고, 사용자가 데이터를 조회하거나 수정할 수 있도록 한다.
릴레이션의 특성
- 튜플의 유일성 : 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다.
- 튜플의 무순서 : 하나의 릴레이션에서 튜플 사이의 순서는 무의미하다.
- 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
- 속성의 원자성 : 속성 값으로 원자 값만 사용할 수 있다. 즉, 더 이상 분해될 수 없는 하나의 원자 값이어야 한다.
키(Key)
- 릴레이션에서 각 튜플들을 유일하게 식별하는 데 사용되는 속성 또는 속성들의 집합
- 릴레이션에서 중복되는 값이 없도록하여 각 행을 고유하게 구분하는 역할을 한다.
- 키의 종류
- 슈퍼키(super key) : 유일성을 만족하는 속성 또는 속성들의 집합
- 후보키(candidate key) : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
- 기본키(primary key) : 후보키 중에서 기본적으로 사용하기 위해 선택한 키
- Null 값을 가질 수 있는 속성이 포함된 후보키는 부적합
- 값이 자주 변경될 수 있는 속성이 포함된 후보키는 부적합
- 단순한 후보키를 선택
- 대체키(alternate key) : 후보키 중에서 기본키로 선택되지 않은 나머지 후보키들을 의미
- 외래키(foreign key) : 다른 릴레이션의 기본키를 참조하는 속성. 두 릴레이션 간의 관계를 나타내는 데 사용된다.
- 외래키 속성과 참조하는 기본키 속성의 이름은 달라도 되지만 도메인은 같아야 한다.
- 하나의 릴레이션에는 외래키가 여러 개 존재할 수도 있고, 외래키를 기본키로 사용할 수도 있다.
- 같은 릴레이션의 기본키를 참조하는 외래키도 정의할 수 있다.
- 외래키 속성은 Null 값을 가질 수 있다.
- 키의 특성
- 유일성(uniqueness) : 하나의 릴레이션에서 모든 튜플은 서로 다른 키 값을 가져야 한다.
- 최소성(minimality) : 꼭 필요한 최소한의 속성들로만 키를 구성
관계 데이터 모델의 제약
무결성 제약조건(Integrity Constraint)
- 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
- 무결성 : 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것
무결성 제약조건은 2가지로 나뉜다.
- 개체 무결성 제약조건
- 기본키를 구성하는 모든 속성은 Null 값을 가질 수 없는 규칙
- 참조 무결성 제약조건
- 외래키는 참조할 수 없는 값을 가질 수 없는 규칙
728x90
반응형