Reference
🙇🏻♂️ 스스로 다시 보려고 기록하는 내용입니다
-한국방송통신대학교
데이터베이스 모델링 과정

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

논리적 데이터 모델링 단계
- DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
- 데이터 정의 언어로 기술된 개념 스키마 생성
- 관계형 모델(relational model)
- from 1969 에드가 F. 코드
- 릴레이션으로 데이터를 표현
- 현재 많은 DBMS의 기초 -> 오라클, DB2, PostgreSQL, MySQL, MSSQL..
릴레이션의 구성

릴레이션의 특징
- 레코드의 유일성: 중복된 레코드의 존재가 불가능
- 레코드의 무순서성: 레코드의 순서는 의미가 없음
- 컬럼의 무순수성: 컬럼은 순서가 없고, 이름과 값의 쌍
- 컬럼값의 원자성: 모든 값들은 나눌 수 없는, 단 하나의 의미임을 의미
키(key)의 역할
- 키의 속성
- 키의 종류
- 슈퍼키: 유일성 만족
- 후보키: 유리성, 최소성 만족
- 기본키(PK): 레코드의 구분을 위해 선택된 후보키
- 외래키(FK): 참조된 다른 릴레이션의 기본키
관계형 모델의 예

키의 참조 (외래키)
- 두 릴레이션에 포함된 레코드 간 연관성을 표현

관계형 모델의 제약조건
- 영역 제약조건: 도메인(컬럼에 정의된 영역)에 속한 값으로만 컬럼 값이 결정된다.
- 키 제약조건: 키는 레코드를 고유하게 구별하는 값으로 구성
- 개체 무결성 제약조건: 어떠한 기본키 값도 null이 될 수 없음
- 참조무결성 제약조건: 반드시 존재하는 레코드의 기본키만 참조 가능 -> 없는 것 참조 불가
Null : 입력한 적 없는 || 적용 불가능한 값
ERD의 변환
ER 다이어그램 변환 규칙
논리적 데이터 모델링
- DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정
- 데이터 정의 언어로 기술된 개념 스키마 생성
- 논리적 데이터 모델링의 필요
- 관계형 DBMS(RDBMS)의 구현 모델에 맞춰 데이터의 구조와 관계를 표현
- 작성된 ERD를 RDBMS가 수용하는 구조로 변환
관계형 모델로 변환방법
- 개체 집합: 개체 집합은 릴레이션으로 변환
- 약한 개체 집합: 강한 개체 집합의 키 속성을 약한 개체 집합의 릴레이션에 포함
- 일대일 관계: 두 릴레이션 중에서 한 릴레이션의 기본키를 다른 릴레이션에서 외래키로 참조
- 일대다 혹은 다대일 관계:
일 쪽의 기본키를 다 쪽 릴레이션에서 외래키로 참조
- 다대다 관계: 관계 릴레이션을 생성하고 두 릴레이션의 기본키를 각각 참조하는 외래키를 복합키 형태의 컬럼으로 구성
- 다중값 속성: 릴레이션의 기본키를 참조하는 외래키와 다중값 속성으로 별도의 릴레이션으로 구성
- 관계 집합의 속성: 외래키가 위치한 릴레이션의 컬럼으로 삽입
ER 다이어그램의 변환
-
1:N => 외래키는 N쪽에 붙고

-
N:N => 하나의 릴레이션이 추가된다.

-
1:1 => 외래키 양쪽 다 가능, 하지만 되도록 갯수가 적은 쪽으로 지향하는게 좋다.
- 복합키가 외래키를 이룬다.
-
참조하는 외래키가 기본키가 된다.
(학생이 없어졌을 경우 참조무결성에 의해 없어지도록 하기 위해)

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

셀렉트 연산

- ex) 연봉이 5000만원 이상인 컴퓨터과학과 교수

프로젝트 연산


관계대수 연산식의 활용


집합 연산자

카티시언 프로덕트 연산



조인연산
- 조건기반의 카티시언 프로덕트 연산 (카티시언 프로덕트 + 셀렉트)


(과목 릴레이션 교수번호 == 교수 릴레이션 교수번호) 인 경우만 남기고 나머지는 버려야 제대로 처리 가능

=> 조인 연산자 사용한 식으로 도출하는 경우

집계 함수 연산



-> B는 컬럼리스트
