본문 바로가기
[ Developer ]/Database

[Database] ERwin 이용한 테이블 구성

by 김현섭. 2016. 5. 5.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
ERWIN
  • ERwin은 테이블의 구성도를 조금 더 구조적으로 그릴 수 있는 프로그램

# ERwin을 이용해서 테이블 구성도 그리기

EMPLOYEES의 테이블 구성도 그리기



우선 ERwin에서 new -> logical/physical 선택


관계도 선을 기본으로 그리기 위해서 Model에 옵션을 바꿔줘야 한다


notation에서 옵션값을 바꾼다 (IDEF1X -> IE)



# 테이블 생성


메뉴 밑의 아이콘 버튼에서 Entity를 생성하여 테이블을 만든다

바탕에 클릭하면 두가지 로우를 가진 테이블이 형성 되는데
첫 번째 로우는 PK이고 두 번째 로우는 FK, 일반 컬럼이 들어가게 된다

입력 방법 : 더블 클릭해서 하거나 F2로 입력한다 Tab이 다음 로우로 넘어가는 방식

테이블을 보는 방식에는 로지컬과 피지컬이 있다


피지컬은 실제의 테이블의 데이터를 적으면 되고
로지컬은 사람이 알아볼 수 있게 쉽게 표현하면 된다

# 테이블 입력

테이블에 컬럼을 적어준다
윗 칸에는 PK이기 때문에 EMPLOYEE_ID만 적는다


# 관계 생성


점선은 일 대 다를 나타내고 일반적인 경우 점선을 활용한다
점선 클릭 후 테이블을 두번 클릭해주면 상자가 만들어 진다


하지만 관계선을 보면 일대일로 표현된 것을 볼 수 있다
수정하기 위해 선을 더블 클릭한다


Cardinality값을 Zero or One을 Zero. One or More로 변경한다
또한 Nulls에서 No Nulls로 변경을 해준다 (원형을 삭제하기 위함 다를 표현)


EMPLOYEES 테이블을 더블 클릭하면 타입을 설정할 수 있다
Logical과 Physical에서 모두 변경이 가능하다

Logical


Physical


Number로 변경 후 Physical에서 데이터 타입이 보이게 할 수 있다



데이터 타입이 보여진다 (Table Display가 안보인다면 Logical인 형식을 Physical로 변경해야 함)


# 테이블 관계 생성

DEPARTMENTS 테이블을 생성한다

DEPARTMENTS 1 :  EMPLOYEES N의 관계가 된다

다시 한번 점선 관계 생성 후 첫 클릭이 1의 관계이고 두 번째 클릭이 다의 관계이다
DEPARTMENTS -> EMPLOYEES 순서로 클릭한다
    1        :      N   일대다 관계


위의 창은 이름이 같은것을 FK로 바꾸겠냐는 의미 OK 하면 된다


일 대 다의 관계가 설정되었다 DEPARTMENTS 즉 1의 관계에
동그라미가 있으면 안된다 그렇기 때문에 선을 더블 클릭해서 수정해줘야 한다
동그라미의 의미는 데이터가 있을 수도 있고 없을 수도 있다는 의미다 Null을 허용하는지의 의미
또한 더블 클릭 메뉴에서 DEPARTMENTS와 EMPLOYEES에는 1:1 관계도 있기 때문에 관계를 생성해준다

Cardinality -> 관계
Nulls -> Null의 인정 여부 (동그라미 표시)

일대다 관계 이후에 DEPARTMENTS와 EMPLOYEES에 1:1 관계를 생성해야 한다
똑같이 점선을 통해 관계를 형성 후 Cardinality에서 관계를 Zero or One을 이용해
1:1 관계를 만들어준다


다음이 1:1관계가 형성된 모습이다


DEPARTMENTS 테이블을 보면 EMPLOYEE_ID가 FK로 참조되고 기존 MANAGER_ID가 남아 있는 걸 볼 수 있다MANAGER_ID를 삭제 후 FK인 EMPLOYEE_ID를 이름을 변경해준다



그래도 속성은 변하지 않고 FK가 유지되는 것을 볼 수 있다

# 선의 관계 


선의 관계가 궁금하다면 선을 더블 클릭 후 Rolename에서 확인할 수 있다


그리고 LOCATIONS의 테이블을 생성해 DEPARTMENTS와의 관계를 형성한다


이와 같은 형태로 계속 관계를 갖는 테이블을 형성한다


JOB_HISTORY를 보게되면 그 선은 실선으로 표현이 되었다
실선의 의미는 FK가 PK인 경우이다
테이블의 모양 조차도 둥근 네모 테이블 모양으로 변경이 되었다

모든 관계를 설정하면 우리가 필요한 테이블의 관계도가 형성되었다


테이블을 알아보기 쉽게 Logical에서 이름을 변경해줘도 된다


하지만 Physical도 같이 바뀌기 때문에 Physical에 가서 또 다시 변경을 해준다
그렇기 때문에 Logical에서 먼저 작성 후 Physical로 가서 바꿔 준다

위와 같은 방식의 표현을 ERD라고 한다