Search
moon
sun
🏫

[데이터베이스] 2. 관계형 모델

Tags
CS
Database
Last edited time
2023/05/15 06:30
2 more properties
Search
🏫
[데이터베이스] 10. 회복 시스템
CS
Database
2023/06/07 15:51
🏫
[데이터베이스] 10. 회복 시스템
CS
Database
2023/06/07 15:51

1. 관계형 모델의 개념

1.1. 개념적 데이터 모델링의 결과

•
어떠한 데이터를 담을 것인가 비즈니스적인 관점을 표현
•
예시

1.2. 논리적 데이터 모델링 단계

•
DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
•
데이터 정의 언어로 기술된 개념 스키마 생성
•
관계형 모델
◦
Oracle, MySQL, PostgreSQL

1.3. 릴레이션의 구성

종류
테이블 관점
릴레이션
table
스키마
schema
레코드, 튜플
row
컬럼, 속성, 필드
column
컬럼 값
data, value

1.4. 릴레이션의 특징

•
레코드의 유일성
•
레코드의 무순서성
•
컬럼의 무순서성
•
컬럼값의 원자성
◦
모든 값들은 나눌 수 없는 단 하나의 의미

1.5. 키(key)

•
키
◦
하나의 레코드를 지목할 수 있는 컬럼이 필요 (PK)
◦
릴레이션의 레코드를 유일하게 식별하는 값
•
속성
◦
유일성
◦
최소성
•
종류
◦
수퍼키 - 유일성 만족
▪
학과 이름, 주소, 전화번호, {학과이름, 단과이름}, {전화번호, 졸업학점}
◦
후보키 - 유일성, 최소성 만족
▪
학과 이름, 주소, 전화번호
◦
기본키 - 레코드 구분을 위해 선택된 후보키
▪
학과 이름
◦
외래키 - 참조된 다른 릴레이션의 기본키
•
키의 참조
◦
두 릴레이션에 포함된 레코드 간의 연관성을 표현

1.6. 관계형 모델의 제약조건

•
영역 제약 조건
◦
컬럼에 정의된 영역에 속한 값으로만 컬럼 값이 결정
◦
컬럼의 데이터타입
•
키 제약 조건
◦
키는 레코드를 고유하게 구별하는 값으로 구성
◦
PK
•
개체 무결성 제약 조건
◦
어떠한 기본 값도 null이 될 수 없음
•
참조 무결성 제약 조건
◦
반드시 존재하는 레코드의 기본키만 참조 가능
◦
존재하지않는 키를 외래키로 쓸 수없음

2. ERD의 변환

2.1. 논리적 데이터 모델링

•
DBMS의 귀현 모델에 맞춰 데이터를 표현하는 과정
•
데이터 정의 언어로 기술된 개념 스키마 생성
•
논리적 데이터 모델링 필요
◦
관계형 DBMS의 구현 모델에 맞춰 데이터의 구조와 관계를 표현
◦
작성된 ERD를 RDBMS가 수용 가능한 구조로 변환

3. 데이터 연산

3.1. 관계 연산의 개념

•
관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현
•
사용자의 관점에서 필요한 데이터를 릴레이션에서 추출하는 방법을 제공하는 도구
•
관계 대수 (relational algebra)
◦
관계 연산을 정의하는 방법
◦
주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자로 구성
◦
관계 대수 연산자는 새로운 임시 릴레이션을 생성
◦
연산자를 중첩하여 연산 처리 절차를 표현

3.2. 셀렉트 연산

•
주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성
•
예시

3.3. 프로젝트 연산

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

3.4. 관계 대수 연산식의 활용

•
연산을 중첩시켜 표현 가능
◦
예시 직위가 부교수인 교수의 교수이름을 출력하라

3.5. 집합 연산자

•
릴레이션은 집합
•
레코드는 집합에 포함된 원소
•
집합 연산자 사용 조건
◦
릴레이션 R과 S의 차수가 동일
◦
모든 i에 대해 R의 i번째 컬럼의 도메인과 S의 i번째 컬럼의 도메인이 반드시 동일

3.6. 카티시언(카테시안) 프로덕트 연산

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

3.7. 조인 연산

•
카테시안 연산과 유사
•
조건에 만족하는 레코드만 결합
•
예시

3.8. 집계 함수 연산

•
집계 함수를 값들의 집합 또는 레코드의 집합에 적용하는 연산
•
예시
•
레코드그룹화를 위해 집계 함수 연산자 앞에 그룹화 속성을 기술
•
예시