2017년/Database

데이터 베이스 설계 1부

위지원 2017. 6. 26. 20:37

데이터베이스 설계의 주요단계




1.엔티티 : 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 객체

1)[employee] - 테이블 이름 : 엔티티 타입

ㄱ.강한 엔티티(정규 엔티티)타입 : key를 가지고 있음

ㄴ.약한 엔티티타입 : key 가없음 -> 소유 엔티티 타입이 있어야 함!!

-다른 엔티티 타입으로부터 키 애트리뷰트를 가져옴 ( key를 제공하는 엔티티타입을 소유 엔티티(식별 엔티티)라고 함 )

-약학 엔티티타입과 연결된 정규 엔티티타입은 약한 관계가 이루어짐 
-다른 엔티티 존재에 의존하는 이러한 현상을 의존 종속성이라 함
-약한 엔티티타입의 부분키는 점선으로 나타내며 약한 엔티티 타입이나 관계는 이중선으로 그려 나타냄


 name

add 

2)나는야 

엔티티 


3)엔티티집합 : 엔티티들이 모여있는 것 


2.애트리뷰트 : 애트리뷰트가 모여 엔티티가 되는 것!

(Ex. 사원엔티티=사원번호애트리뷰트+이름애트리뷰트+나이애트리뷰트..)

1)단순 애트리뷰트 : 더이상 나눌 수 없음



2)복합 애트리뷰트 : 2개이상의 애트리뷰트로 이루어짐





3)단일 값 애트리뷰트 : 각 엔티티마다 정확하게 하나의 값을 가짐


4)다치 애트리뷰트 : 여러개의 값을 가짐 ( 이중선으로 표현 )



5)저장 된 애트리뷰트 : 다른 애트리뷰트와 독립적으로 존재


6)유도 된 애트리뷰트 : 다른 애트리뷰트의 값으로 얻어진 애트리뷰트 ( 데이터의 불일치를 유발 할 수 있으므로 릴레이션의 애트리뷰트로 포함시키지 않는 것이 좋음_ 점선으로 표시)



3.관계

 1)관계를 설명하는 애트리뷰트를 가질 수 있음

 2)관계로 연결된 엔티티 타입들의 개수에 따라 1,2,3진으로 나눌 수 있음


 3)카디날리티 비율 : 1:1,1:N,N:M의 관계가 있으며 한 엔티티 타입의 몇개의 엔티티가 다른 엔티티 타입의 몇개의 엔티티와 연관되는가를 나타냄

■ 1 : 1 관계

관계2.png 

한 개의 구매신청서에 대해 한 개의 구매주문을 신청한다.
한 개의 구매주문에 대해 한 개의 구매신청서 내용을 작성한다. 

■ 1 : M 관계

관계3.png 

한 부서에는 여러 사원을 포함한다.
한 명의 사원은  부서에 소속된다. 

■ N : M 관계

관계4.png 
 
하나의 주문에는 여러 개의 제품을 포함한다.
한 제품은 여러 개의 주문을 통해 주문된다.


관계에 대해 좀 더 자세하게 알아보자면... http://tech.devgear.co.kr/db_kb/331
 

4)실선 위에 (min,max)값을 명시해서 좀 더 명확하게 나타낼 수 있음 

ㄱ.1은 적어도 한번은 

ㄴ.0은 참여해야할 필요는 없음

ㄷ.*은 마음대로


5)하나의 관계에 하나의 엔티티타입이 여러번 나타나면 역할을 표시해야 함


6)전체 참여와 부분참여

ㄱ.전체참여 : 엔티티 타입의 모든 엔티티들이 관계에 의해 어떤 다른 엔티티타입의 엔티티들과 모두 연관

ㄴ.부분참여: 일부 엔티티만 연관


7)다중 관계 : 두 엔티티 사이에 두개 이상의 관계가 존재함

8)순환적 관계 : 하나의 엔티티 타입이 동일한 관계 타입에 두번이상 참여

++정리++


출처url

http://somnode.com/database-deiteobeiseu-seolgyewa-ermodel/

http://halfmoon.world/49

http://tech.devgear.co.kr/db_kb/331