2020년 6월 5일 금요일

Day_12. Database Design

Part 3 – Database Design – 데이터베이스 설계

필요성 – 데이터의 형태가 설명으로 주어지면 논리적 구조로 어떻게 짜야 하는가?



Logical Design
=DBMS 와는 무관한 설계
=Physical design은 논리적 설계 이후에 진행되야 한다
=데이터의 구조뿐 아니라 데이터통합까지 고려해야 한다
=conceptual schema 에 해당된다



Functional dependence –F*D
= many to one 대응의 table(relationship)에서 사용됨
=여러 개의 column 이 다른 column에 영향을 줄 때 언제나 만족해야 한다



F*D 의 특징
=Table R에 해당하는 FD가 걸려있을 때 이를 관리하기 좋은 크기로 줄이는 것



필요성
=FD는 Table의 integrity제약으로 작용한다
=updatesk 데이터 변경사항에서 매번 확인하게 되는 조건이다
=원 table s에 FD가 있다면 이보다 작은 TABLE T에서 FD를 이용해 S를 유추하게 된다



FD의 축소 방법

1=Trivial(사소한) dependence를 제거한다 

– trivial 의 정의
==SCP 테이블이 있을 때 컬럽 [S#,P#] 이 있고 이중 하나인 S#을 표현하면 PS#,P#] ->S# 이다
==이때 화살표를 중심으로 오른쪽 S#은 왼쪽 [S#,P#]에 포함된다, 이를 Trivial 이라 하고
==[S#,P#] )S#



2.Complex dependencies
==3단 논법처럼 table R에 ABC column이 있다, R[ABC] 에서 A->B B->C 의 조건이 있을 때 A->C가 성립하는 것



CLOSURE DEPENDENCIES
=Dependencies 집합 s에서 유추할수 있는 모든 D*D를 S의 Closure 라 하고 s+로 표현한다

C*D 의 특성-Table R에 ABC가 있을 때
1.Reflexivity- 반사성 – b가 a의 subset(부분집합) A->B
2.Argumentation – a->b 일때 ac->bc 

3.transitivity – a->b 일때 b->c이면 a->c 이다
4 self determination – a->a 

5 decomposition – a->bc 이면 a->b 와 a->c이다
6 union – a->b 이고 a->c 이면 a-bc이다

7 composition – a->b이고 c->d 이면 ac->bd 이다

댓글 없음:

댓글 쓰기