Please enable JavaScript.
Coggle requires JavaScript to display documents.
데이터베이스 설계 - Coggle Diagram
데이터베이스 설계
2.0 경향 분석
출제 특징
함수종속성, 후보키, 정규화, 데이터 무결성, 스키마 변환, 확장 ER모델(서브타입) 등 다양한 토픽으로 고르게 출제
정규형 판별, ER 다이어그램에서 스키마 변환 등은 매년 출제
5문제 정도 꾸준히 출제, 단순 개념에서 복합적, 실무 데이터 모델링
학습 방법: 함수종속성 실무 모델링 측면 응용력, 정규화 개념
2.1 데이터 모델
관계 모델
구성요소: 릴레이션, 속성(차수), 튜플(카디날리티), 도메인, 키, 무결성 제약조건
릴레이션: 집합, 튜플 유일성/무순서성, 속성 무순서성/원자성
데이터베이스 키: 유일성, 최소성, 후보키(유일성/최소성), 수퍼키(유일성), 기본키, 대체키, 외래키
도메인: 같은 타입의 모든 원자 값들의 집합
무결성 제약: 개체 무결성(기본키 Not Null), 키 무결성(Unique Key), 도메인 무결성(Check, Default), 참조 무결성(Null, FK, CASCADE), 속성 무결성(Format, type, null/not null), 사용자 정의 무결성(비즈니스 무결성, 응용프로그램 유효성 체크, TRIGGER)
데이터 무결성 구현방안: 선언적(NOT NULL, UNIQUE, PK, FK, CHECK, DEFAULT, CHAR, INTEGER 등), 절차적(TRIGGER, STORED PEOCEDURE 등), Application(비즈니스 로직)에서 무결성 확보
데이터 무결성 확보를 위한 고려사항: 정규화 수행, 성능 향상 위해 제약조건/관계 제거X, DBMS 차원에서 유지, Trigger 일관성 유지 좋으나 오버헤드 발생
E-R 모델: 모든 DBMS 수용, 다:다, 다원/다중 관계, 관계 속성, 복잡한 응용분야 한계, 객체 지향 모델링 어려움(재사용/상속/확장성) -> EE-R, 연결함정(부채꼴 함정(1:n 중 하나를 n:1), 균열 함정(부분 관계성 집합 연결))
EE-R 모델
실세계 표현위해 재사용, 상속, 확장성 수용, Super/Sub Type
특수화(상위타입(super), 하위타입(sub)), 상속(is-a관계), 일반화, 집단화(IS-PART-OF 관계), 범주(합집합 타입)
분리제약(서브 타입간 중복 허용 여부, 배타(disjoint)/중복(overlap)), 완전제약(전체(total)/부분(partial))
2.2 데이터 종속성과 정규화
데이터 이상현상
개념: 데이터 중복으로 데이터 조작 시 오류 데이터 발생
원인: 데이터 모델링 오류(정규화 미실행), 다중 표현 오류
유형: 삽입이상(불필요 정보까지도 삽입), 갱신이상(중복저장, 불일치), 삭제(원하지 않는 정보까지 삭제)
해결방안: 정규화(함수적 종속성 제거 -> 릴레이션의 무손실 분해
데이터 종속성
함수적 종속성(FD): 속성 X 값 각각에 속성 Y 값이 하나만 연관(X->Y), 완전 함수 종속성((학번, 과목번호)->성적), 부분 함수 종속성(학번->학과), 이행 함수 종속성(학번->지도교수->학과, 종속관계가 키가 아닌 다른 속성에 결정자 있을 경우), 결정자 함수 종속성(학과->과목번호, 결정자가 후보키가 아닌 경우), 다중값 종속성, 조인 종속성
추론규칙(암스트롱 공리)
재귀/반사규칙: A포함B이면, A->B이고 A->A
부가/첨가규칙: A->B이면, AC->BC이고 AC->B | AC=AUC
이행규칙: A->B이고 B->C이면, A->C
분해규칙: A->BC이면, A->B이고 A->C
결합규칙: A->B이고 A->C이면, A->BC
의사이행규칙: A->B이고 BC->D이면, AC->D | 이행규칙+부가규칙
폐포(Closure)
함수적 종속 관계의 집합 F에서 X가 함수적 결정하는 속성들 집합(X+)
후보키 찾는 데 적용 가능
폐포 알고리즘
커버(Cover)
정의: 함수종속 집합 G의 모든 함수종속성이 집합 F로부터 추론
함수종속 집합 F가 G를 커버, G가 F를 커버하면 F와 G는 동등
최소 커버
: 어떤 함수종속 집합 F와 동등한 최소의 함수종속 집합, 1)F의 모든 함수종속성들의 오른편 속성이 하나 2) 왼쪽에 무의미하게 중복된 속성 제거 3)중복 함수종속성 제거
정규화
정의: 이상현상 야기 속성간의 종속관계 제거 위해 무손실 분해 과정
필요성: 이상현상 제거, 중복 데이터 제거, 데이터 무결성 확보
원리: 분리의 원칙, 정보 표현의 무손실, 최소 데이터 중복
제1정규형(1NF): 속성의 원자화, 반복 속성과 다중값 제거
제2정규형(2NF): 기본키에 대한 부분 함수 종속성 제거
제3정규형(3NF): 기본키 외의 속성 간 이행 함수 종속성 제거,
학번
/지도교수/과목
제4정규형(4NF): 함수적 종속 아닌 다중값 종속성 제거,
과목/교수/교재
제5정규형(5NF): 3개 이상의 릴레이션으로 분해, 조인 종속 제거, 현실적 불필요
BCNF: 결정자가 후보키가 아닌 종속 제거, Strong 3NF,
학번
/
과목
/지도교수