-
데이터베이스 설계의 주요단계
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 관계
한 개의 구매신청서에 대해 한 개의 구매주문을 신청한다.
한 개의 구매주문에 대해 한 개의 구매신청서 내용을 작성한다.■ 1 : M 관계
한 부서에는 여러 사원을 포함한다.
한 명의 사원은 한 부서에 소속된다.■ N : M 관계
하나의 주문에는 여러 개의 제품을 포함한다.
한 제품은 여러 개의 주문을 통해 주문된다.관계에 대해 좀 더 자세하게 알아보자면... 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
'2017년 > Database' 카테고리의 다른 글
DB Browser for SQLite (0) 2017.07.05 sas university edition을 사용해보자 (0) 2017.06.29 sqlite란 2부 (0) 2017.06.29 데이터 베이스 개요 (0) 2017.06.26 sqlite란 1부 (0) 2017.06.25