본문 바로가기
Database

[Database] 관계형 데이터 모델

by keemchanniee 2025. 7. 21.

데이터 모델

- 데이터를 어떻게 표현하고 다룰지에 대한 설계 방식이다. 

- 데이터 구조와 연산, 제약 조건의 3가지 요소로 구성된다. 

데이터 구조 데이터를 어떤 형태로 저장하는지를 표현하는 추상적 표현으로, 개념상의 저장 구조
연산 (operation) 개념적인 데이터 구조 안의 데이터를 어떤 방식으로 처리하는지를 표현함 (데이터를 조작하는 방법 표현) 
제약 조건 (constraint) 데이터 구조 안에 데이터를 저장할 때의 구조적 제약 사항과 연산을 적용할 때의 행위적 제약 사항을 표현 

 

 

관계형 데이터 모델 

- 데이터를 테이블(표)의 형태로 저장하고, 테이블 간의 관계를 설정할 수 있게 만든 모델 

- 쉽게 말해, 엑셀처럼 행과 열로 된 표로 데이터를 다루는데 이 표들이 서로 연결될 수 있도록 설계된 것이다. 

데이터 구조 (relation) 데이터를 저장하는 기본 단위는 릴레이션(=테이블)이다.  어떤 데이터를 어떻게 저장할지 형태 지정 
연산 (관계 대수) 테이블에 저장된 데이터를 검색, 조합, 수정하는 바법  
제약 조건  잘못된 데이터가 들어가지 않도록 하는 규칙 ID는 중복 불가, 나이는 음수 불가 등 

 

 

릴레이션의 구성 요소 

 

속성과 튜플

- 속성(attribute) : 테이블의 열, 데이터를 표현하는 가장 작은 논리적 단위 

- 튜플(tuple) : 테이블의 행, 현실 세계의 개체를 표현함. 각 속성 값의 조합 

- 도메인(domain) : 각 속성이 가질 수 있는 값들의 범위 (어떤 값들이 들어올 수 있는지 정해놓은 집합) 

나이 속성의 도메인 1 - 150 사이의 정수
성별 속성의 도메인 '남', '여'
학년 속성의 도메인 {1, 2, 3, 4}

 

속성마다 허용되는 값의 종류가 정해져있으며, 도메인이 맞지 않으면 데이터 오류가 발생한다. 

 

 

카디널리티와 차수

각 릴레이션은 카디널리티와 차수를 통해 그 구성이 정의된다. 

- 카디널리티(cardinality) : 릴레이션 안의 전체 튜플의 개수로, 입력/수정/삭제를 통해 계속 변화하는 동적 특성을 지님.

- 차수(degree) : 릴레이션을 구성하는 전체 속성의 개수를 말하며, 각 튜플이 가지는 속성 값의 개수는 릴레이션의 차수와 같다는 정적 특성을 지님.

 

 

릴레이션 인스턴스

- 어느 한 특정 시점에 릴레이션에 존재하는 튜플들의 집합 

- 보통 테이블의 첫 번째 행인 header를 제외한 나머지 모든 행들의 집합으로 표현한다.

- 시간에 따라 변하는 동적인 특성을 가진다. 

 

 

관계 연산

관계형 데잍어 모델에서 릴레이션을 조작하기 위한 연산으로, 관계 대수와 관계 해석이라는 두 가지 방식이 있다. 

 

관계 대수 

- 사용자가 필요로 하는 데이터를 획득하는 절차 

- 연산들의 적용 순서를 말한다. 

- 실행 순서를 순차적으로 명세하는 절차적 표현 방법으로, 관계 연산의 기본 토대를 제공한다.

 

관계 해석

- 사용자가 필요한 데이터가 무엇인지, 연산들의 최종 결과만을 명세한다.

- 선언적 표현 방법이며, 비절차적 표현 방법이다. 

 

둘 다 기능이나 표현력은 동등하며 SQL 언어의 작성 방법이나 내부 처리 방식의 이론적 기반을 제공한다. 

 

 

무결성 제약 조건

데이터의 정확성과 일관성을 유지하기 위한 규칙과 조건을 의미한다. 

 

기본키(PK)

각 행을 유일하게 구분해주는 컬럼(속성)이다.

- 예를 들어, 학생에 관한 데이터에서 '학번'은 모든 학생을 구별할 수 있는 고유한 번호이므로 기본키로 설정할 수 있다. 

 

외래키(FK)

다른 테이블의 기본키를 참조하는 컬럼으로, 두 테이블을 연결해주는 다리 역할을 한다.

- 반드시 참조하는 기본키 값이 존재해야 한다.

- 예를 들어, 고객 테이블과 주문 테이블이 있을 때, 주문 테이블의 고객 ID는 고객 테이블의 고객 ID를 참조한다. 이것을 외래키라고 한다. 

 

 

무결성 제약 조건 4가지

도메인 무결성  속성(칼럼)이 정해진 형식의 갑산 가질 수 있도록 제한하는 것 
개체 무결성 기본키(PK)는 절대 중복되거나 비워지면 안 된다는 것 
참조 무결성 외래키(FK)가 가리키는 값은 반드시 존재하는 값이어야 한다. 
사용자 정의 무결성 개발자가 직접 만든 비즈니스 규칙이다.