1. 기존 테이블 설계(2208 ver.)
2. 보완하여 재설계(221228 ver.)
2-1. 코드
CREATE TABLE member (
member_idx INT AUTO_INCREMENT PRIMARY KEY,
member_id VARCHAR(50) NOT NULL UNIQUE,
member_passwd VARCHAR(20) NOT NULL,
member_name VARCHAR(15) NOT NULL,
member_gender VARCHAR(15) NOT NULL,
member_email VARCHAR(50) NOT NULL UNIQUE,
member_phone VARCHAR(20) NOT NULL,
member_join_date VARCHAR(20) NOT NULL,
member_auth_gb VARCHAR(1) NOT NULL
);
CREATE TABLE board (
board_idx INT AUTO_INCREMENT PRIMARY KEY,
board_gb VARCHAR(10) NOT NULL,
board_title VARCHAR(200) NOT NULL,
board_content VARCHAR(5000) NOT NULL,
board_writer VARCHAR(50) NOT NULL,
board_readcount INT NOT NULL,
board_date VARCHAR(20) NOT NULL
);
CREATE TABLE file (
file_idx INT AUTO_INCREMENT PRIMARY KEY,
board_idx INT,
file_real VARCHAR(200),
file_original VARCHAR(200),
foreign key (board_idx) references board(board_idx)
ON DELETE CASCADE
);
CREATE TABLE reply (
reply_idx INT AUTO_INCREMENT PRIMARY KEY,
board_idx INT,
member_idx INT,
reply_content VARCHAR(2000) NOT NULL,
reply_re_ref INT NOT NULL,
reply_re_lev INT NOT NULL,
reply_re_seq INT NOT NULL,
reply_date VARCHAR(20) NOT NULL,
foreign key (board_idx) references board(board_idx)
ON DELETE CASCADE,
foreign key (member_idx) references member(member_idx)
ON DELETE SET NULL
);
CREATE TABLE auth_info (
member_idx INT,
auth_code VARCHAR(100),
foreign key (member_idx) references member(member_idx)
ON DELETE CASCADE
);
CREATE TABLE address (
address_idx INT AUTO_INCREMENT PRIMARY KEY,
member_idx INT,
address_zipcode VARCHAR(10) NOT NULL,
address1 VARCHAR(50) NOT NULL,
address2 VARCHAR(50) NOT NULL,
foreign key (member_idx) references member(member_idx)
ON DELETE CASCADE
);
CREATE TABLE like_list (
like_idx INT AUTO_INCREMENT PRIMARY KEY,
member_idx INT,
board_idx INT,
foreign key (member_idx) references member(member_idx)
ON DELETE CASCADE,
foreign key (board_idx) references board(board_idx)
ON DELETE CASCADE
);
3. 주안점
- 관계형 데이터베이스로 재설계 (+제약조건 설정)
- 추가 기능을 고려 (좋아요, 메일인증 등)
- 기존에는 게시판 유형마다 테이블을 뒀다면 게시판 테이블 하나와 gb 컬럼을 둬, 보다 효율적인 테이블 사용
4. 수정 사항