본문 바로가기
방송통신대학교/3학년 1학기

[데이터베이스 시스템] 3강. 관계형 모델

by 바른 호랑이 2025. 3. 12.
728x90
반응형

방송통신대학교 데이터베이스 시스템 강의 정리 자료입니다.

 

1. 관계형 모델의 개념

논리적 데이터 모델링 단계

: DBMS의 구현 모델(데이터의 저장, 인출 방법을 명시)에 맞춰 데이터의 구조를 표현하는 과정을 지칭하며, 데이터 정의 언어로 기술된 개념스키마를 생성하는 단계임. 일반적으로 관계형 모델(relational model)많이 사용되며, 아래와 같은 특징들을 가짐.

- 1969년 에드가F.코드에 의해 제안되었으며 릴레이션(relation)으로 데이터를 표현하는 모델임.

- 데이터의 표현이 단순하고 직관적인 구조화 모델이며, 대다수의 DBMS의 기초로 Oracle, DB2, PostgreSQL, MySQL, MSSQL등이 대표적인 관계형 모델을 사용하는 RDBMS임.

 

릴레이션(relation)의 구성

: 하나의 컬럼과 레코드가 관계를 형성해 데이터를 결정지을 수 있는 구조가 릴레이션이기에 해당 명칭으로 부르며, 물리적 데이터 모델링에서는 Table이라 불림. 방대한 메타데이타와 값을 집약적으로 표현, 저장할 수 있는 구조가 릴레이션임.

릴레이션의 특징

- 레코드의 유일성

: 중복된 레코드의 존재가 불가능

 

- 레코드의 무순서성

: 레코드의 순서는 의미가 없음.

 

- 컬럼의 무순서성

: 컬럼은 순서가 없고, 이름과 값의 쌍인 데이터를 중심으로 봄.

 

- 컬럼값의 원자성

: 모든 값들은 나눌 수 없는, 단 하나의 의미를 나타냄.

키(Key)의 개념

: 고유하게 하나의 레코드를 구분하는 값을 지칭함. 키는 유일성(Uniqueness: 하나의 값만 가짐), 최소성(Irreducibility: 여러 개의 컬럼으로 구성된 키가 있을 경우, 없어도 되는 컬럼이 있으면 제외해야함)

 

키의 종류

- 수퍼키(super key): 유일성 만족

- 후보키(candidate key): 유일성, 최소성 만족

- 기본키(PK: primary key): 레코드의 구분을 위해 선택된 후보키

- 외래키(FK: foreign key): 참조된 한 릴레이션의 기본키(값이 중복될 수 있으므로 유일성을 만족하지 못함.)

관계형 모델의 제약조건

- 영역 제약 조건

: 컬럼에 정의된 영역(domain)에 속한 값으로만 컬럼값이 결정됨. 예를 들어 특정 컬럼에 숫자형태로 1~10사이의 값만 들어가야한다는 조건이 있을 경우 이에 해당하는 값들만 해당 컬럼에 들어가야함.

 

- 키 제약조건

: 키는 레코드를 고유하게 구별되는 값으로 구성되야함.

 

- 개체 무결성 제약조건

: Null 값(값 자체가 입력되어 있지 않은 상태를 지칭)은 들어가면 안됨.

 

- 참조 무결성 제약조건

: 반드시 존재하는 레코드의 기본키만 참조 가능함.

 

널(Null)의 개념

: '없음' 또는 '0'이 아닌 미지의 값에 대한 표현으로 입력된 적이 없거나 적용이 불가능한 값들을 지칭함.

 

2. 논리적 데이터 모델링의 수행

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

: DBMS의 구현모델에 맞춰 데이터(데이터의 구조)를 표현하는 과정으로 데이터 정의 언어로 기술된 개념 스키마를 생성함.

 

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

: RDBMS의 구현 모델에 맞춰 데이터의 구조와 관계를 표현하며, 도출된 ERD를 RDBMS가 수용 가능한 구조로 변환하는 과정으로 구성됨.

 

관계형 모델로 변환 방법

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

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

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

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

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

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

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

 

ER 다이어그램의 변환

 

3. 관계형 데이터 연산

관계 연산의 개념

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

 

관계 대수(relational algebra)

: 관계 연산을 정의하는 방법, 주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자들로 구성됨. 관계 대수 연산자는 새로운 임시 릴레이션을 생성하고 연산자를 중첩하여 연산 처리 절차를 표현함.

- SELECT 연산

: 주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성함.

- PROJECT 연산

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

- 집합 연산자

: 릴레이션은 집합, 레코드는 집합에 포함된 원소라 할 수 있기에 집합 이론에서의 이진 연산을 적용하는 것이 가능함.

- 카티시언 프로덕트(Cartesian Product) 연산

: 두 릴레이션에 포함된 레코드 간의 모든 조합을 생성하는 이항 연산자

- 조인 연산

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

- 집계 함수 연산

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

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

: 레코드 그룹화를 위해 집계 함수 연산자 앞에 그룹화 속성을 기술하는 연산자(그룹화 속성이 없는 경우 전체 릴레이션을 한 개의 그룹으로 가정함.)

728x90
반응형

댓글