본문 바로가기
Database/Erwin modeler

[SQL] Erwin을 이용한 모델링 -2

by 과외선생J 2020. 11. 3.
반응형

안녕하세요~ 과외선생J 입니다. 

 

지난 포스팅에 이어서 모델링 2번째 시간을 가져보도록 하겠습니다. 

 

이번 시간에는 관계속성 변경, 도메인정의에 대해 알아보도록 하겠습니다. 

 

1. 관계속성 변경

지난 포스팅에서 만들어 둔 모델을 보시면 도서-주문, 주문-고객 사이가 실선으로 되어 있는 것을 알 수 있습니다. 

실선은 식별관계로 Identifying, 점선은 비식별관계로 Non-Identifying 이라고 합니다. 

식별관계는 약한개체, 비식별관계는 강한개체를 표현할 때 쓰이며 대부분의 개체는 강한개체에 해당하기에 비식별관계를 더 많이 사용합니다. 

 

책의 예제에 따라 도서-주문, 주문-고객 사이는 강한개체로 실선으로 변경을 하도록 하겠습니다. 

그리고 관계선 끝에 0이라고 적힌 부분은 Null을 의미하는 것으로 없다 라는 의미를 가지고 있습니다. 빈칸이나 숫자0과는 다르다는 점 꼭 기억해주시면 되겠습니다. 

 

도서와 출판사 사이에 출판사쪽에 0의 의미는 도서 개체에 출판사가 있거나 없어도 된다라는 의미입니다. 말이 안되기 때문에 출판사는 있어야 된다는 의미로 0을 제거해주어야 합니다. 

 

관계선을 선택 한 다음 오른쪽 버튼을 클릭하면 메뉴가 나옵니다. 그 중 Relationship Properties를 클릭합니다. 

 

Relationships 창이 나오며 Relationship Type을 수정하여 관계 속성을 변경해줍니다. 

 

 

도서와 출판사의 관계는 비식별이며 Null을 허용하지 않는다는 의미로 No Nulls를 선택해줍니다. 

그리고 도서-주문, 주문-고객 관계도 비식별관계 및 No Nulls 를 선택해줍니다. 

그럼 다음 화면과 같이 나오면 성공입니다 ^^ 

(주문 개체에 주문일자, 주문금액 속성은 추가로 입력을 해주면 됩니다. )

 

2. 도메인 정의하기

도메인 : 속성이 가질 수 있는 값, 즉 속성이 숫자인지 문자인지 등을 정해주는 것이 도메인입니다. 

 

현재 작성되어 있는 개체의 도서이름,도서단가 등과 같은 속성의 도메인을 정해보도록 하겠습니다. 

 

왼쪽 모델 탐색기 창에서 도메인 옆에 + 기호를 누르고 다음 나오는 default 옆 +를 눌러보면 4가지 도메인이 나옵니다.

 

이처럼 나오지않는다면 도메인에서 오른쪽 버튼을 누르고 sort hierarchically 를 눌러주면 됩니다. 

 

이제 도메인 설정을 위해 Number 에 우클릭을 하고 New를 눌러줍니다. 그리고 숫자에 해당하는 속성을 입력합니다.

 

Number 에는 단가, 번호, 금액, 전화번호 , String(문자)에는 이름, 주소, Datetime 에는 일자를 입력해줍니다. 

 

그리고 단가에서 우클릭을 한 다음 properties로 들어갑니다. 

 

Domain Dictionary 창이 뜨면 Datatype 에 Number 라고 검색을 하면 아래에 넘버가 나옵니다. 넘버로 선택한 다음 ok를 눌러주면 됩니다. 

 

그러면 단가라는 속성은 숫자속성으로 변경이 되었습니다. 

이런식으로 금액, 단가, 번호는 Number로 Datatype을 변경해주시면 되며 이름, 전화번호, 주소는 varchar()로 입력 후 ()안에는 글자 수를 넣어주면 됩니다. 예를 들어 이름은 VARCHAR(20) 으로 입력을 해주면 됩니다. 

 

이번 포스팅은 관계속성 변경과 도메인 설정에 대해 알아보았습니다. 

 

다음 포스팅은 물리적 모델링에 대해 알아보도록 하겠습니다. 

 

다들 공부하신다고 고생하셨습니다 ^^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글