03. 관계형 모델

PearLineZero
|2025. 4. 29. 18:37

✅ 릴레이션

 

 

 릴레이션의 특징

- 레코드의 유일성 : 중복된 레코드의 존재가 불가능

- 레코드의 무순시성 : 레코드의 순서는 의미가 없음

- 컬럼의 무순서성 : 컬럼은 순서가 없고, 이름과 값의 쌍

- 컬럼값의 원자성 : 모든 값들은 나눌 수 없는, 단 하나의 의미

 

 

 키의 개념

릴레이션 레코드를 유일하게 식별하는 값

 

📌 속성 및 종류

속성 : 유일성 , 최소성

 

📌 종류

- 슈퍼키 : 유일성 만족

- 후보키 : 유일성 , 최소성 만족

- 기본키 : 레코드의 구분을 위해 선택된 후보키

- 외래키 : 참도된 한 릴레이션의 기본키

 

키의 참조는 두 릴레이션의 포함된 레코드간 연관성을 표현

 

 

 관계형 모델의 제약조건

- 영역 제약 조건 : 컬럼에 정의된 영역에 속한 값으로만 컬럼값이 결정

- 키 제약 조건 : 키는 레코드를 고유하게 구별하는 값으로 구성

- 개체 무결성 제약조건 : 어떠한 기본키 값도 널이 될 수 없음

- 참조 무결성 제약조건 : 반드시 존재하는 레코드의 기본키만 참조 가능

 

 

 널(NULL)

없음 또는 0이 아닌 미지의 값에 대한 표현으로 입력된 적이 없는 값 또는 적용 불가능한 값

 

 

 논리적 데이터 모델링의 개념

- DBMS 구현 모델에 맞춰 데이터를 표현하는 과정

- 데이터 정의 언어로 기술된 개념 스키마 생성

- 논리적 데이터 모델링 역할

 

 

 관계형 모델로 변환 방법

1. 개체 집합: 개체 집합은 릴레이션으로 변환

2. 약한 개체 집합: 강한 개체 집합의 키 속성을 약한 개체 집합의 릴레이션에 포함

3. 일대일 관계: 두 릴레이션 중에서 한 릴레이션의 기본키를 다른 릴레이션에서 외래키로 참조

4. 일대다 혹은 다대일 관계: '일'쪽의 기본키를 '다'쪽 릴레이션에서 외래키로 참조

5. 다대다 관계: 관계 릴레이션을 생성하고, 두 릴레이션의 기본키를 각각 참조하는 외래키를 복합 형태의 컬럼으로 구성

6. 다중값 속성: 릴레이션의 기본키를 참조하는 외래키와 다중값 속성으로 별도의 릴레이션으로 구성

7. 관계 집합의 속성: 외래키가 위치한 릴레이션의 컬럼으로 삽입

 

 

  ER 다이어그램의 변환

 

 

 

 

 

 

✅ 관계 연산의 개념

관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 연산자로 사용자의 관점에서 필요한 데이터를 다수의 릴레이션의 추출하는 방법이 필요

 

 

✅ 셀렉트 연산

주어진 리렐이션에 조건을 만족하는 레코드를 갖는 리엘이션을 생성

 

 

✅ 프로젝트 연산 

기술된 컬럼만 갖는 릴레이션으로 재구성

 

 

✅ 집합 연산자

릴레이션은 집합, 레코드는 집합에 포함된 원소

- 합집합 : U

- 교집합 : n

- 차집합 : -

 

집합 연산자 사용조건으로는 릴레이션이 차수가 동일해야하며 모든 i에 대한  도메인이 반드시 동일

 

 

✅ 카디시언 프로덕트 연산

두 릴레이션이 포험된 레코드 간의 모든 조합을 생성하는 이항 연산자 (RXS) 곱하기로 보기

 

 

✅ 조인 연산

두 릴레이션에서 조건을 만족하는 레코드만 결합한 레코드로 구성된 릴레이션을 생성

✅ 집계 함수

집계 함수를 값들의 집합  또는 레코드의 집합에 적용하는 연산

 

 

✅ 그룹화를 이용한 집계 함수 연산

레코드로 그룹화를 위해 집계 함수 연산자 앞에 그룹화 속성을 기술

없는 경우 전체 릴레이션을 한 개의 그룹으로 가정

 

 

🔎  정리 

  • 관계형 모델은 릴레이션(표)에 기반하며, 레코드(행)와 컬럼(열)로 구성된다.
  • 기본키로 레코드를 식별하고, 제약조건(영역, 키, 개체 무결성, 참조 무결성)으로 무결성을 유지한다.
  • 논리적 데이터 모델링은 ER 모델을 릴레이션 구조로 변환하는 과정이다.
  • 관계형 모델 변환 시 약한 개체는 강한 개체 키와 부분키를 합쳐 기본키로 만든다.
  • 관계 대수는 셀렉트, 프로젝트, 조인 등 연산을 통해 릴레이션을 조작한다.

 

 

 

 

 

'CS > Database' 카테고리의 다른 글

05. SQL - 2  (0) 2025.04.30
04. SQL - 1  (0) 2025.04.30
02. 데이터베이스 모델링  (0) 2025.04.29
01. 데이터베이스 이해  (0) 2025.04.29