이 포스팅 원본은 http://microdesigner.tistory.com/?page=3 이곳에 있으며 스크랩 허락을 받았습니다 |
[ERD/DB설계/DB도구] 마이크로디자이너(MicroDesigner) - 관계(Relation)
마이크로디자이너(MicroDesigner) - 관계(Relation)
정의
관계는 엔터티 간의 연관성으로서 두 엔터티 간 존재의 형태나 행위 또는 이벤트 입니다.
설명
관계의 종류
식별 관계/비식별 관계 : 부모 엔터티의 주식별자가 자식 엔터티의 주식별자로 상속되는 경우 식별관계라하고 자식 엔터티의 일반속성으로 상속되는 경우를 비식별관계라고 합니다.
자기참조 관계 : 하나의 엔터티 내에 있는 인스턴스간에 관계를 맺고 있는 경우로서 계층 구조 형태를 나타냅니다.
슈퍼타입 서브타입 관계 : 엔터티 내의 전체 인스턴스에 대해 공통적인 속성이 있으면서 또 한편으로는 인스턴스 그룹별로 각각 고유한 속성이 있는 경우 공통속성을 가지는 슈퍼타입 엔터티와 별도의 서브타입 엔터티로 존재할 수 있습니다.
관계의 카디낼리티(Cardinality) : 두 엔터티 간 관계에서 참여자의 수를 표현하는 것을 카디낼리티(Cardinality)라고 합니다. 일반적인 카디낼리티 표현 방법으로 1:M, 1:1, M:N 이 있습니다.
1:M(One To Many) 관계 : 관계에 참여하는 두 엔터티 중 한 엔터티(부모 엔터티)의 인스턴스가 다른 엔터티(자식 엔터티)의 하나 이상의 인스턴스와 관계를 가지고, 반대의 경우 즉, 자식 엔터티의 하나의 인스턴스는 부모 엔터티의 하나의 인스턴스와 만의 관계를 가지는 경우입니다. 모델링 시 가장 많이 발생하는 관계입니다.
1:1(One To One) 관계 : 관계에 참여하는 두 엔터티 중 한 엔터티의 인스턴스가 다른 엔터티의 하나의 인스턴스와 만의 관계를 가지고 있는 경우입니다.
M:N(Many To Many) 관계 : 관계에 참여하는 두 엔터티 간에 서로 양방향으로 한 엔터티의 하나의 인스턴스가 다른 엔터티의 여러 인스턴스와 관계를 가지고 있는 경우입니다. 두 엔터티 간 M:N 관계는 상세 설계 단계에서 제 3의 추가 엔터티를 이용한 2개의 1:M 관계로 전개됩니다.
예제
식별 관계 : "공급자" 와 "공급자상품"
"공급자상품" 의 주 식별자는 "공급자코드+상품코드" 로서 식별자에 부모 엔터티인 "공급자"의 주 식별자인 공급자코드를 포함함으로 식별 관계입니다.
비식별 관계 : "공급자" 와 "발주"
"발주"의 주 식별자는 "발주번호" 로서 "발주" 는 부모 엔터티인 "공급자" 의 주 식별자인 "공급자코드" 를 일반속성으로 가지고 있으므로 비식별 관계 입니다.
자기참조 관계 : "상품분류"
하나의 인스턴스의 "상위상품분류코드" 는 같은 엔터티 내에 다른 인스턴스의 "상품분류코드" 를 참조함으로 자기참조 관계입니다.
슈퍼타입 서브타입 관계 : 슈퍼타입 - "센터" , 서브타입 - "물류창고", "판매점"
"센터"는 "물류창고" 와 "판매점" 으로 구분되며, "센터"는 센터명, 주소와 같은 공통 속성을 가지고 있고, "재고" 엔터티와 관계를 맺고 있습니다. "센터" 의 서브타입인 "물류창고" 와 "판매점" 은 각각 개별적인 속성을 가지고 있고, "물류창고" 는 "입출고" 엔터티와 관계를 가지고 있습니다.
식별 관계 생성
§ 툴바 메뉴의 [식별관계 생성하기] 메뉴를 클릭합니다.
§ 식별관계를 생성할 부모엔터티를 클릭 한 후 자식 엔터티를 클릭합니다.
§ 자식 엔터티에 속성이 없었던 경우엔 바로 관계가 생성되면서 속성이 추가됩니다.
§ 자식 엔터티에 속성이 존재 하는 경우엔 식별 관계 생성 옵션 창이 뜨고 이동 속성 옵션을 선택할 수 있습니다.
항 목 | 설 명 |
자식 엔터티의 충돌 속성을 외래키로덮어쓰기. | 중복되는 자식 엔터티의 속성이 입력된 논리 및 물리명으로 업데이트됩니다. 자식 엔터티에 새롭게 추가되는 속성은 없습니다. |
자식 엔터티에 생성될 외래키의 이름을변경하기. | 중복되는 자식 엔터티의 기존 속성은 그대로 있고, 입력된 논리 및 물리명으로 새로운 속성이 추가됩니다. |
자식 엔터티의 충돌 속성의 이름을 변경하고 외래키를 생성하기. | 중복되는 자식 엔터티의 기존 속성은 입력된 논리 및 물리명으로 변경되고, 중복된 이름으로 새로운 속성이 추가 됩니다. |
비식별 관계 생성
§ 다대다 관계는 논리모델에서만 나타날 수 있는 관계입니다.
§ 툴바 메뉴에서 [다대다관계 생성하기]를 클릭합니다.
§ 다대다 관계를 생성할 엔터티를 서로 연결합니다. 논리 모델에서의 다대다 관계가 설정됩니다.
§ 물리모델에서는 다대다 관계를 각각의 1대다 관계를 가지는 별도의 테이블을 생성하여 다대다 관계를 제거 하는 것이 일반적입니다. 이는 다대다 관계를 오른쪽 마우스 클릭하여 컨텍스트 메뉴에서 [다대다 관계를 식별관계로 변환하기] 메뉴를 통하여 별도의 테이블 생성이 가능합니다.
커스텀(Custom) 관계 생성
§ 커스텀 관계는 물리모델에서만 나타납니다. 커스텀 관계 생성을 통해서 다양한 형태의 관계를 만들 수 있습니다.
§ 툴바 메뉴의 커스텀 관계 생성을 클릭한 후 두 엔터티를 차례로 클릭하면 관계가 생성이 됩니다. 자기 참조 관계를 생성할 때는 동일한 엔터티를 두번 클릭하면 됩니다.
§ 첫번째 엔터티는 부모 엔터티가 되고 두번째 엔터티는 자식 엔터티가 됩니다.
§ 관계속성 편집창을 통해 커디널리티, 케스케이드, Null허용여부 등을 편집 할 수 있습니다.
자기참조 관계
§ 자기참조 관계는 비식별관계로 형성됩니다.
§ 툴바메뉴에서 [비식별관계 생성]을 클릭하고 자기 참조 관계를 설정할 엔터티를 클릭한 후 다시 한번 엔터티를 클릭합니다.
§ “자기 참조 관계 역할명 설정” 창이 나타나고 FK로 설정될 속성이 존재하면 외래키 목록에 속성정보가 나타납니다.
§ 속성이 아직 없는 경우라면 (직접 입력)을 선택하고 역할 논리명, 역할 물리명을 직접 기입할 수 있습니다.
§ 식별관계로 자기참조 관계를 설정하려고 하면 비식별관계로 생성할 것을 유도하는 메시지 창이 나타납니다.
서브타입 관계 생성
§ 서브타입 관계는 툴바 메뉴의 [배타적 서브타입]을 이용하여 관계를 생성할 수 있습니다.
§ 툴바 메뉴에서 [배타적 서브타입]을 클릭후 슈퍼타입 엔터티와 서브타입 엔터티 중 하나를 차례로 선택하면 첫번째 서브타입 관계가 설정이 됩니다.
§ 다시 툴바메뉴에서 [배타적 서브타입]을 클릭한 후 모양을 선택 후 두번째 서브타입 엔터티를 선택하면 두개의 서브타입을 가진 슈퍼/서브타입을 작성 할 수 있습니다.
§ 이 때 슈퍼타입의 기본키는 서브타입의 기본키로 상속됩니다.
서브타입 속성 편집
§ 서브타입 관계를 선택한 후 오른쪽 마우스 클릭하여 컨텍스트 메뉴에서 서브타입 속성 편집을 선택합니다.
§ Exclusive와 Inclusive를 선택할 수 있고 Discriminator(구분자)를 선택할 수 있습니다.
서브타입을 식별 관계로 변환
§ 서브타입 관계 선택 후 컨텍스트 메뉴의 [서브타입을 식별 관계로 변환]을 누르면 슈퍼/서브타입 관계가 식별 관계로 변환됩니다.
서브타입을 롤업하기
§ 서브타입 관계 선택 후 컨텍스트 메뉴의 [서브타입을 롤업하기]를 누르면 서브타입 엔터티들의 모든 속성이 슈퍼타입 엔터티의 속성에 모두 포함되어지고 서브타입 엔터티들은 사라집니다.
서브타입을 롤다운하기
§ 서브타입 관계 선택 후 컨텍스트 메뉴의 [서브타입을 롤다운하기]를 누르면 슈퍼타입의 모든 속성이 서브타입 엔터티들의 속성에 포함되어지고 슈퍼타입 엔터티는 사라집니다.
관계 삭제
§ 삭제를 원하는 관계를 선택한 후 Delete 키를 누르면 관계 삭제 창이 나타납니다.
§ 삭제 옵션을 선택하고 확인버튼을 클릭하면 관계는 삭제됩니다.
§ 관계를 선택하고 오른쪽 마우스 클릭하여 컨텍스트 메뉴의 [관계 삭제하기]로도 수행 할 수 있습니다.
관계 속성 편집
§ 삭제를 원하는 관계를 선택한 후 Delete 키를 누르면 관계 삭제 창이 나타납니다.
§ 삭제 옵션을 선택하고 확인버튼을 클릭하면 관계는 삭제됩니다.
§ 관계를 선택하고 오른쪽 마우스 클릭하여 컨텍스트 메뉴의 [관계 삭제하기]로도 수행 할 수 있습니다.
부모/자식 엔터티로 가기
§ 관계를 선택하고 컨텍스트 메뉴에서 [부모 엔터티로 가기]를 클릭하면 부모 엔터티에 포커스가 활성화 됩니다.
§ 반대로 [자식 엔터티로 가기]를 클릭하면 자식 엔터티에 포커스가 활성화됩니다.
※ MicroDesigner 는 www.microdesigner.co.kr 에서 다운받을 수 있습니다.
ERD ER-Diagram ER다이어그램 데이터모델링 DataModeling Data-Modeling Entity 엔터티
DBMS MS-SQL Oracle Database Table 관계 식별관계 비식별관계 Indentifying-Relationship
SubType SuperType ERWin ER-Win ER 다이어그램 IDEF1X IE 데이타모델링 모델링 Modeling
데이터베이스 데이타베이스 DB DB설계 DB구축 DB개발 DB디자인 DB툴 DB도구
데이터베이스설계 데이타베이스설계 데이터베이스구축 데이터베이스개발
'보물창고 > IT 정보' 카테고리의 다른 글
재미로 보는 워드 클라우드 탑 키워드 워드 카운트 10대들의 관심사 2014년 8월 (word cloud word count) (0) | 2014.09.27 |
---|---|
재미로 보는 워드 클라우드 제작 과정 (키워드 cloud word count) (0) | 2014.09.26 |
아이폰 아이팟 음성녹음 m4a mp3 변환 (Switch Sound File Converter) (8) | 2013.07.25 |
마이크로디자이너(MicroDesigner) (0) | 2012.08.11 |
[ERD/DB설계/DB도구] 마이크로디자이너(MicroDesigner) - 인브레인 (0) | 2012.07.20 |
마이크로 디자이너 모델링 툴 ER 다이어 그램 (Micro Designer) - 인브레인 (0) | 2012.05.01 |
음성녹음 m4a -> mp3 변환 (Switch Sound File Converter) (6) | 2012.04.09 |
아이폰 iOS5 아이클라우드 백업 기능 설명, 사용 용량, 백업 대상, 저장 대상 [팁, iCloud, iPhone] (0) | 2011.11.15 |