Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

ERWin으로 DB모델링 하기

여기에 수준이 뻔하듯이 DB모델링의 방법이 아니라 ERWind사용하기에 관한 부분이다.

AllFusion  ERwin Data Modeler라는 프로그램이 있다. 이걸로 DB모델링을 하면 편하게 할 수 있고 관계나 그런것을 모두 생각하고 고려하면서 할수 있으며 다하고 나면 SQL 쿼리도 다 만들어주기 때문에 참 편하다.(이번에 처음 써봤다.)

머 그래두 Query를 다 알고 있는게 당연히 좋겠지만.....

사용자 삽입 이미지

처음 들어가서 새로 만들기를 하면 위와같은 창이 나오는데 기본적으로는 논리/물리를 다 만들것이므로 Logical/Physical을 선택한다. 물론 다른 용도라면 원하는 것만 선택하면 된다. 나중에 SQL쿼리를 만들어야 하므로 아래에 타겟 DB를 선택한다. 여기서는 MS SQL Server를 선택했다.

사용자 삽입 이미지

일단 논리DB부터 만든다. 말그대로 논리DB다 그냥 생각나고 필요한대로 한글로 테이블을 만든다. 상단에 ①은 논리/물리 보기모드이고 ②가 테이블을 만드는 아이콘이다. ③번은 관계(Relation)을 설정해 주는 부분으로 1:1 1:N 등이 있다. 아이콘 누르고 관계되는 2개의 테이블을 선택해 주면 된다. 기본적으로 1:N의 경우는 관계를 이어주면 PK가 N족의 FK로 등록되며 PK로 올라간다. PK가 되길 원하지 않는다면 바꿔주면 된다.

사용자 삽입 이미지

테이블에서 오른쪽마우스를 눌러서 Entity Properties로 들어가면 테이블의 이름을 바꾸어 줄수 있고 Attributes에 들어가면 컬럼을 주가해주거나 컬럼의 타입을 결정해 줄수 있다.

사용자 삽입 이미지
논리 DB가 다 만들어지면 이젠 물리DB를 만들면 된다. 상단에서 화면보기를 Physical로 바꾸어주면 물리DB가 된다. 처음에는 논리때처럼 한글로 나오는데 마우스오른클릭으로 Culumn으로 들어가서 Rename으로 실제 DB에서 사용할 이을으로 바꾸어준다.

물론 여기서 바뀌어도 논리쪽은 바뀌지 않는다. 바꿔가면서 비교해 주면서 바꾸면 된다. 논리에서도 타입을 정해주었지만 여기서 정확한 타입을 결정해 주고 NULL여부도 선택해 준다. 컬럼길이의 경우 타입정한 후에 위쪽 ()안에 써주면 된다. 오른쪽 Average쪽에 써넣는 것이 아니다.(처음에 한 실수.. ㅡ..ㅡ)

자동증가값을 사용하는 경우에는 아래쪽 Indetity를 선택하고 1,1이라고 써주면 자동증가 인덱스로 생성된다.

사용자 삽입 이미지

다 만들어주었으면 이제 진짜 DB를 생성해야한다. 물론 DB가 설치되어있어야 한다. 상단메뉴에서 Schema Generation으로 스키마를 만들어 줄 수 있다.

사용자 삽입 이미지

생성할 스키마의 세부항복에 대한 부분을 결정할 수 있다. 자세한 내용들은 나도 아직은 잘 모르겠고 Trigger부분만 모두 체크를 풀어준다. 그 후에 Generate 버튼을 누른다.

사용자 삽입 이미지

여기선 SQL Server를 사용하였으므로 SQL서버에 연결한다. SQL계정로그인하고 DB이름 써주고 서버이름은 여기서는 로컬이라서 그냥 쩜만 찍어주었다.

사용자 삽입 이미지

각 쿼리가 나타나면서 성공여부가 나타난다. 설정이나 관계등에서 잘못되었을때는 Failure 메시지가 나타난다. 문제를 해결한뒤에 다시 스키마를 만들면 된다. 이렇게하면 모델링한 디비를 쉽게 만들어 낼 수 있다.
2007/07/17 23:20 2007/07/17 23:20