테이블의 생성 및 사용은 지금까지 계속 반복해 왔다. 별다른 설명을 하지 않았어도 사용에 별로 어려움을 느끼지 못했을 것이다. 다시 한번 확인 차원에서 간단히 테이블을 생성해 보고, 제약 조건 및 테이블의 수정에 대해서 자세히 알아보자.
MySQL Workbench에서 테이블 생성
Workbench에서 테이블을 만드는 방법은 별로 어렵지가 않았다.
테이블은 만드는 방법이 중요한 것이 아니라 테이블을 어떻게 모델링(설계)했느냐가 훨씬 중요하다. 테이블을 만드는 것은 설계에 따라서 SQL문법이나 Workbench의 사용법에만 맞춰서 생성하면 된다. 데이터베이스 모델링은 앞에서(chapter 04) 알아보았으니 이번 chapter는 단지 테이블을 생성하고 관리하는 것에만 초점을 맞추도록 하자.
chapter 06에서 실습했던 sqldb와 동일한 형식의 tabledb를 만들자.

<실습>
DROP DATABASE IF EXISTS shopDB; -- 이전에 했던 프로젝트 초기화
DROP DATABASE IF EXISTS ModelDB;
DROP DATABASE IF EXISTS sqldb;
DROP DATABASE IF EXISTS tabledb;
CREATE DATABASE tabledb;

tabledb에 usertbl table 만들기

tabledb에 buytbl table 만들기


순번이 자동증가기 때문에 AUTO_INCREMENT 추가

FOREIGN KEY(userid) REFERENCES usertbl(userID)도 추가

잘 만들어진 것을 확인할 수 있음
워크벤치에서 직접 데이터 값을 입력할 수 있음

usertbl -> Select Rows 선택

기본값이 1000행

insert new row클릭

직접 입력하고 Apply 누르기

Finish
buytbl에도 똑같이 직접 데이터 값을 입력하기


근데 오류가 발생함.
아까 PK, FK관계로 설정했음. 즉, 회원이 아니면 구매를 못하기 때문에 제약조건을 위반한 것임. 만약 제약조건을 안걸어놓고 회원가입 하지 않은 JYP가 입력이 된다면 나중에 어디로 배송할지 알 수가 없기때문에 문제가 생긴다.

JYP삭제하면 잘 입력이 됨
워크벤치 사용방법은 부가적으로 알아두면 되고, 실제로는 쿼리문을 알아야하는 것이 좋음.
혹시라도 다른 데이터베이스를 사용할때 쿼리문만 알면 대부분 호환이 됨.