SemiProject

DB모델링 기반으로 DB테이블 만들기

hongkd 2019. 12. 6. 20:29

시간과 역할분담의 문제로 내가 9개의 테이블을 생성하게 되었다.

 

F.K 즉, foreign key 로 인하여~ 순서대로 테이블을생성해 보았다.

 

테이블에 최대한 주석을 달아보았다.

조원분들이 보기 쉽게 하기 위함이다.

 

1번. 회원테이블에서 권한테이블의 권한번호를 참조하기 때문에 권한테이블을 먼저 생성해 왔다.

 

2번. 회원테이블을 생성해 보았다.

 

회원 테이블 시퀀스는 회원번호(P.K) 에 사용하기 위함이다.

 

 

이후 제품에 대한 테이블을 만들어 보았다.

 

 

1. 먼저 위에 모델링을 보듯이 제품상세이미지 테이블을 생성하였다.

 

2. 이후 제품상세이미지에서 제품상세이미지번호를 참조하는 제품 테이블을 만들었다.

 

3. 이후 제품 테이블에 제품일련 번호를 참조하는 제품이미지 테이블을 만들었다.

   여기서 중요한것은 제품이일련번호와 제품이미지번호는 둘다 고유해야하며 null 값이 선언되어지지 않     게 하기위해 복합Primary key 를 사용해 왔다.

   제품일련번호는 고유하며 null 값이 들어오지 않고 그 하나의 제품일련번호에 여러가지의 제품이지미를     넣기 위함이다.

 

4. 이후 제품 테이블에서 제품일련번호를 참조하는 제품상세정보 테이블을 만들었다.

5. 이후 제품 테이블에서 제품일련번호와 회원테이블에서 회원번호를 참조하는

   장바구니 테이블을 만들었다.

 

 

여기서 장바구니 테이블 시퀀스는 장바구니 테이블 - 주문번호에 사용하기 위함이다.

 

 

 

그후 주문내역 테이블을 만들기 전에~

제품상세정보 테이블에서 제품상세번호 와 제품 테이블에서 제품일련번호를 참조하는 영수증 테이블을 만들었다.

 

여기서!!! 한창.. 오류하나 때문에 고생을 많이 하였다.

 

오류는 제품상세정보 테이블에서 제품상세번호 를 F.K로 불러오는데 계속 참조하는 테이블의 제약조건의 키가 없다고 나왔다.

 

이유는!! 제품상세번호 와 제품일련번호가 하나의 즉, 복합 Primary key 로  되어 있는데 그중에 

제품상세번호만 가지고 오니.... 안되고 있었던 것이다...

 

복합 Primary key 중 하나인 제품상세번호만을 따로 가지고 오고 싶다라면

제품상세번호에 또다시 Unique 제약 조건을 주면 된다.

 

 

그러므로 위와같이 Unique 제약조건을 추가하여 참조해 왔다.

 

 

영수증 테이블 시퀀스는 영수증 테이블의 영수증번호에 쓰기 위함이다.

 

그후 

 

제품  테이블 - 제품일련번호 

제품 상제정보 테이블 - 제품상세번호

영수증 테이블 - 영수증 번호                  를 참조하는 주문내역 테이블을 만들었다.

 

 

주문내역 테이블 시퀀스는 주문내역 테이블의 주문내역 일련번호에 쓰기위함이다.

 

 

이상~~ 9개의 테이블을 생성하였고 남은 5가지는 다른조원분이 하기로 하였다~~~