database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Q&A 933 게시물 읽기
No. 933
non-identifing relation과 mandatory 와 optional
작성자
심효영(dungsili)
작성일
2004-03-04 16:15ⓒ
2004-03-04 16:15ⓜ
조회수
7,728
OS : Microsoft Windows 2000 Server / Advanced Server
SQL : Microsoft SQL Server 2000 Standard / Enterprise Edition

지금 데이터 모델링을 공부하고 있습니다. 
Tool은 Er-win을 사용하고 있구요. 
공부하던 중에 궁금한 것이 것이 있어서 질문 드립니다. 

1. data base 모델링에서 entity들 사이의 관계를 
relation을 indentifying(식별) / non-identifying(비식별) 관계로 구분할 수 
있다고 알고 있습니다. 
대략 indentifying relation의 경우 부모테이블의 기본키가 자식 테이블에 기본키 그룹에 속해있는 경우고, 
non-identifying relation은  부모 테이블의 기본키가 자식 테이블의 일반 속성에 들어가 있는 경우를 말한다고 
들었는데요. 아래 글을 읽으니 종속적. 비종속적이라는 차이도 있네요.^^ 
그런데 실제 이와같은 두가지 관계를 통해 테이블 relation을 실제로 설계했을때 성능상의 차이가 있을까요?

2, non-identifing relation은 또 크게 mandatory 와 optional 로 크게 종류가 구분되는 것으로 알고 있는데, 
이들의 특징적인 차이 내지는 이렇게 구분한 이유는 어떤 것이 있을까요?

저의 database 관련 지식과 search 능력이 부족한지라... ㅠㅠ
여러분의 답변 기다립니다. ^^

 

이 글에 대한 댓글이 총 2건 있습니다.

순수한 제 의견이라는 점을 미리 밝혀 드립니다. 워낙 책 들여다 본지가 오래된지라 대답에 확신이 없네요..Data 적재하는데 시간 너무 오래걸려서 그 틈을 타 이렇게 글을 올립니다.

-------------------------------------------

<회원정보>                             <신용카드정보>

회원번호(PK)                              신용카드번호(PK)

                                                 회원번호(FK)

<회원주소정보>

회원번호(PK, FK)

주소구분코드(PK)

----------------------------------------

위의 3테이블에서

 회원정보:회원주소정보는 1:N, Identifying-Relationship 이고,  회원정보:신용카드정보는 1:N, Non-Identifying 입니다.

회원정보:회원주소정보는 회사업무에 따라 Mandatory 일수도 있고 아닐수도 있습니다. 즉 회사가 배송전문업체라면 , 회원의 주소정보가 없으면 배송을 할 수 없으므로 무조건 주소정보 1개 이상은 있어야 한다라고 가정할 때 Mandatory 가 되겠지요... 그렇지 않고 일반 웹사이트에서 회원관리하는 것이어서 주소정보가 필수가 아닐수도 있을 것입니다..그렇게되면 Optional 이 되겠지요.

마찬가지로 회원정보:신용카드정보는 신용카드회사라면 카드정보가 없는 회원이란 것이 의미가 없습니다. 그럴 경우 신용카드 정보가 꼭 있어야 겠죠. 이런 경우 Mandatory 가 됩니다. 그렇지 않고, 일반 소매점의 경우 회원이 물건을 신용카드로도 살 수 있고 현금으로도 살 수 있다면 신용카드 정보는 필수가 아닙니다. 이런경우  Optional 이 되구요.

 

이런 Relationship 의 설정이 성능상으로 어떻게 차이가 나느냐라는 질문에 대해서는 흠.....

Performance 가 DB설계에 영향을 미치긴 하겠지만(실무적으로는) DB설계는 순수하게 업무를 반영해야 한다고 생각합니다. Business에 따라 DB가 설계가 되는 것이지 Performance 를 고려한 DB설계라... 그다지 권하고 싶지는 않네요.

허지숙님이 2004-03-05 14:06에 작성한 댓글입니다. Edit

감사합니다. ^^

실제 예를 들어주셔서.. 확실하게 이해가 되었네요.

데이터 베이스  설계시에 많으 도움이 될 것 같습니다.

심효영(dungsili)님이 2004-03-05 17:54에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
936데이터베이스를 사용하는데 수반되는 작업3가지..?? [1]
2004-03-09
7409
935초보라서 좀 갈쳐주세여... [1]
강백호
2004-03-08
6846
934이런 종류의 database에 대해서 아시는 분 답글 부탁드립니다. [8]
롱다리
2004-03-05
7151
933non-identifing relation과 mandatory 와 optional [2]
심효영
2004-03-04
7728
932[질문]DBA로서 요구되는 실력과 자격증은.. [2]
한지혜
2004-03-03
6997
931테이블 구조에 대해.! [1]
unygo
2004-03-02
7000
930ER-Win에서 관계.. [1]
헨리
2004-02-26
7833
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다