Search
🏫

[데이터베이스] 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. 집계 함수 연산

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