2013. 8. 30. 11:36ㆍDB&NoSQL/Oracle
ERWIN을 쓸일이 있어서 이것저것 찾아보다.. 아주 기초적으로 정리를 잘 해놓은 파일이 있어서 공유 합니다.
문제 있다면 내리구요~~~
1. Er-win 설치 : 는 생략... 그냥 설치하는 것은 어렵지 않아요
2. Er-win 표기 방식 : IE 와 Ideflx 에 대한 설명
3. 엔티티 생성 방법
4. 식별/비식별, 다대다 관계 예제
*** 관계(Relationship) : 두 Entity간의 업무적인 연관성
1) 식별관계( Identifying Relationship)
- 부모 테이블의 기본키 or 복합키가 자식 테이블의 기본키 or 복합키의 구성원으로 전이되는 식별 관계
(부모가 자식의 모든 정보를 저장하게 됨)
2) 비식별관계(Non Identifying Relationship)
- 자식 테이블의 일반 속성(Attribute) 그룹의 구성원으로 전이 되는 비식별관계(부모는 자식의 부분적인 정보를 표현함)
* A Table이 부모이고, B Table이 자식Table 일때, B에서 FK
(A와 B를 연결해주는 컬럼, 즉 A의 PK이냐 아니냐에 따라 식별관계와 비식별 관계로 나뉘게 됨.)
* 식별관계는 B테이블은 A테이블에 종속적이 되어서 A의 값이 없으면 B의 값은 무의미해 지는 것인
반면에 비식별관계는 A 의 값이 없더라도 B의 값은 독자적으로 의미를 가짐.
ERD를 작성할 때 필요한 관계 카디낼리티와 선택성의 표시 기호와 의미는 다음과 같습니다.
1. 실선 : 식별관계 - 부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우
2. 점선 : 비식별관계 - 부모테이블의 PK가 자식테이블의 일반속성이 되는 경우
3. O : Optional(선택) - 0개가 될 수 있다.
4. | : Mandatory - 1개가 될 수 있다.
5. ^ : Many - 여러개가 될 수 있다.
6. - : Exactly - 정해진 개수만 될 수 있다.
5. 슈퍼 타입과 서브 타입
6. 재귀적 관계 정의
7. Erwin Domain 설정 : 이것 말고 사실 Naming 설정하는 것도 있는데 이거 정말 편함.(http://www.dator.co.kr/eyelevel/textyle/218797)
8. Erwin 물리적 DB 모델링 설계 방법
9. 인덱스 정의
10. 스키마 생성...
간략 목차 정리 드렸습니다.
감사합니다.
마지막으로 다시 정리 하면
식별관계(Identifying Relationship)
- 부모 엔티티의 주식별자(PK)는 관계(Relationship)을 통해 자식 엔티티의 외부식별자(FK)로 이주하고, 이주한 부모의 주 식별자(PK)는 자식의 주 식별자(PK)의 일부가 된다. -> (PK,FK)
자식은 각 인스턴스를 식별하기 위해 부모에 종속적이고, 부모 없이는 존재할 수 없다.
비식별관계(Non-Ientifying Relationship)
- 부모 엔티티에 종속적인지 비종속적인지의 여부에 따라 다시 두 가지 관계로 나뉜다.
비식별종속관계 (Non-Identifying Mandatory Relationship)
- 부모의 주 식별자는 자신의 non-key 영역으로 이주하고, 자신을 식별하는 데 관계하지 않는다.
- 자식은 자신의 각 인스턴스의 식별을 위해 부모 엔티티에 독립적이고, 부모 없이 존재할 수 없다.
비식별비종속관계(Non-Identifying Non-Mandatory Relationship)
- 부모의 주 식별자는 자신의 non-key 영역으로 이주하고, 자신을 식별하는 데 관계하지 않는다.
- 자식은 자신의 각 인스턴스의 식별 위해 부모 엔티티에 독립적이고, 부모없이 존재할 수도 있다.
프로젝트 하다가....ERD 제작 순서 공유을 합니다.
1. logical 설계 1차 완료 (관계키,PK로 설정하면 자동 index 생성)
2. naming 맞춤 (TXX_테이블명 : T 는 테이블의 약자 , XX 는 프로젝트 명.. 으로 네이밍 한다.)
3. data-type 맞춤 & Not null 체크 > 아래 기준으로 작업 (궁금증?? default 값도 넣을수 있지 않을까?)
4. 정렬 맞춤(physical 과 logical 동일 위치) ==> Column 속성창 > Reset > Reset Order > Reset column order from attribute order for table [TABLE_NAME] 체크 확인
5. comment 추가 ==> Column 속성창 > Comment Tap > Comment에 Logical 에서 작성한 네이밍 기재 > 확인
6. 네이밍 에디터(Tools > Naming > Naming Standards Editor) 를 활용해 네이밍을 정의 한다.
7. INDEX 에도 네이밍중에 한글이 들어가는 경우가 흔하니... 좌측 Table 속성에 index 네이밍을 영문으로 재정의 한다.
8. 스크립트 생성!!!!!
9. 추가적으로 기본값을 넣어줘야 하는 데이터들도 스크립트로 미리 만들어 놓고, 위 스크립트 최 하단에 추가 한다.
'DB&NoSQL > Oracle' 카테고리의 다른 글
DB 설계하다가 궁금한점 (0) | 2013.11.05 |
---|---|
Oracle Data Type (0) | 2013.07.30 |
오라클 DB 생성 후 설정 Listener.ora & Tnsnames.ora (0) | 2013.07.30 |