본문 바로가기
back-end/SQL

workbench로 db설계

by 모두의 향연 2022. 4. 11.
728x90
반응형

 

File-New Model
데이터베이스모양 더블클릭- name,charset 설정
다했으면 x
데이터베이스 이름 바뀐거 확인
Add Diagram
테이블클릭-> 빈곳에 더블클릭->3번창이 나옴
테이블과 컬럼을 만든다

만약 이런 문구가 뜬다면!!!! -> 괄호 빼기

orderdate에서 timestamp 괄호 빼주기!

- varchar의 특징은 그 길이만큼 잡힌다
- order은 예약어'orderby' 때문에 orders로 씀
- orderdate에서 timestamp 괄호 빼주기!
- 'AI(auto increase)' 상품번호 이런 거 자동으로 증가되는 거

두 번째 테이블도 만든다
세 번째 테이블도 만든다
네 번째 테이블을 만든다

- ENUM(): 열거형

 

orders에 있는 userid는 member에 있는 userid를 참조하는 외래 키이다. 외래키 설정해보자.

외래키 설정

- Foreign Key Name: orders_userid_member_userid_fk
- FK는 비식별(점선): PK가 다른 테이블에서 FK로 사용하고 있을 경우

 

orders의 orderid는 orderdetail의 pk로 또 사용되고 있다. 그럴 수 없기 때문에 productcode도 pk로 설정하여 복합키로 만들어준다

- pk가 테이블마다 중복으로 있으면 1개의 역할밖에 못해서 주문 1로 인식하게 됨. 그래서 다른 칼럼을 pk로 잡아서 복합키로 만들어야 함+하나의 테이블은 pk이면서 fk가 됨

 

외래키설정

- Foreign Key Name: orderdetail_orderid_orders_orderid_fk
- 식별: 복합키로 되어있는 키 중에 하나를 FK로 쓰는 것(다른 테이블에서는 pk임)

외래키 설정

- 하나의 테이블에 여러 개의 FK존재 가능
- Foreign Key Name: orderdetail_productcode_product_productcode_fk
- 노란 키: pk/ 빨간 키: 복합 키/ 투명 키: fk

 

 

- ER 다이어그램을 테이블로

database-foward Engineer클릭
만약 테이블이 존재한다면 drop해줄건지

 

hide filter을 누르면 만들 테이블을 보여줌. 필요없다면 화살표 눌러서 옆으로 보내기
save to file->next
close
새로고침하면 er다이어그에서 설계했던 그대로 테이블이 만들어진다



- reverse는 테이블을 ER 다이어그램으로

reverse

 

 

다이어그램이 완성됐다

 

 

- DATA EXPORT(덤프 파일: 내가 만들었던 파일을 server-expert(덤프 폴더 기억하기))

server-data export
start export누르기

 

 

- DATA IMPORT

 

728x90
반응형