IT지식/첫 번째 사이드 프로젝트

3. MySQL 테이블 생성 및 ERD 생성하기

맨땅에헤딩개발자 2025. 2. 22. 16:45

우선 ERD를 생성하기 전 테이블에 대해 먼저 정의해 줄 것이다.

아무 편집툴을 키셔서 필요한 테이블과 필요한 Entity에 대해 생각나는대로 적도록 합니다.

(추후 추가 및 삭제가 가능하니 일단 생각나는대로 적자)

다음은 위 내용을 기반으로 TABLE을 생성하도록 해줍니다.

이 테이블은 singingcontest 데이터베이스에 생성해줘야 하니까

use singingcontest; 로 해당 데이터베이스로 접속해서 쿼리를 실행하도록 합니다.

EX)
CREATE TABLE 테이블명 (
	컬럼명     타입    PK여부    NULL허용여부
)

CREATE TABLE BOARD 
(
	board_num	INT			PRIMARY KEY		AUTO_INCREMENT COMMENT '게시물 번호',
	title		VARCHAR(300) NOT NULL COMMENT '제목',
	content		VARCHAR(300) NOT NULL COMMENT '내용',
	inp_id		VARCHAR(100) NOT NULL COMMENT '작성자',
	inp_dt		VARCHAR(100) NOT NULL COMMENT '작성일',
	favorite_cnt INT COMMENT '좋아요 수',
	view_cnt	INT COMMENT '조회수'
) COMMENT '게시물 테이블';

테이블 제약조건

NOT NULL : 해당 컬럼은 NULL 값을 저장할 수 없음

UNIQUE : 해당 컬럼은 서로 다른 값을 가져야 함

PRIMARY KEY : 해당 컬럼은 PK로 지정함(NOT NULL과 UNIQUE)

FOREIGN KEY : 해당 컬럼은 다른 테이블의 컬럼과 의존성을 가짐

DEFAULT : 해당 컬럼의 기본값을 설정함

AUTO_INCREMENT : 해당 컬럼을 1부터 순차적으로 레코드가 추가될 때마다 증가함

쿼리 실행 후 우측 클릭 후 F5눌려주시면 다음과 같이 테이블이 생성되어있는 것을 확인할 수 있습니다.

 

다음은 ERD에 대해 생성해 줄 것이다.

 

ERD(Entity Relationship Diagram)란?

 

데이터베이스 구조를 한눈에 알아보기 위해 작성하는 표입니다.

테이블간의 관계, PK값, NULL허용여부, TYPE 등 을 표시하고

1대1, 1대N, N대N을 관계를 선으로 나타낼 수 있습니다.

 

우선 저희는 DBeaver라는 툴을 사용하고 있기에 왼쪽 하단에 보시면 Project - General창에

Diagrams 우클릭 후 새 ER다이어그램을 클릭해줍니다.

 

완료를 누르시면 다음과 같이 ERD가 생성되어 있는 것을 볼 수 있습니다.

우선은 ERD뼈대만 생성해주고 다음에 각 테이블간의 관계를 활용하여 내용을 채워주도록 하겠습니다.