본문 바로가기
programming/MakinGProJect

게시판 만들기 11 자바 스프링프레임워크 게시판 테이블 만들기

by 개코 - 개발과 코딩 2021. 10. 25.

게시판에 필요한 것은 데이터베이스이다. 데이터베이스에 테이블을 만들고 테이블에 자료를 등록하고 수정하고 삭제한다. 여기서는 테이블을 만들어 보는 것까지 진행한다. 테이블이 만들어 진 후 자바 스프링프레임워크의 dao 에서 연결할 것이다.

게시판 만들기 11 자바 스프링프레임워크
게시판 테이블 만들기

데이터베이스 중 가장 많이 사용하는 것이 mysql 이다.

mysql 이 설치되었다는 가정하에 이야기를 계속 진행한다.

mysql 에는 테이블이란 것이 존재한다.

개별 데이터들이 하나씩 저장되는 공간으로 엑셀의 시트를 생각하면 편하다.

mysql에 테이블을 만들고 이것을 스프링프레임워크와 연동하면 된다.

테이블 구조

게시판 테이블은 간단하게 진행하도록 하자.

게시판에 필수적인 것은 제목과 글내용이다.

입력날짜와 수정날짜도 포함되도록 하자.

중복방지를 위해 인덱스를 거는 것보다는 날짜를 이용하자.

날짜는 년월일시분초밀리세컨 으로 진행한다.

날짜형식으로 하면 여러모로 이점이 많다.

자릿수에 연연할 이유도 없고 말이다.

어차피 시간은 증가하니까

아래는 테이블에 필요한 컬럼을 정리한 것이다.

  • idx : 인덱스 , 날짜형식으로 진행
  • title : 제목
  • content :글내용
  • ins_dt : 입력일
  • ins_usr : 입력한 사람
  • upd_dt : 수정일
  • upd_usr : 수정한 사람

테이블 만들기 쿼리

대충 만들고 수정하는 방향으로 한다.

테이블을 만드는 쿼리를 이용해 위의 내용을 쿼리로 만든다.

CREATE TABLE tbl_template(
	idx VARCHAR(50),
	title VARCHAR(50),
	content VARCHAR(50),
	ins_dt VARCHAR(50),
	ins_usr VARCHAR(50),
	upd_dt VARCHAR(50),
	upd_usr VARCHAR(50)
);

정말 대충만들었다.

천천히 수정을 해 보도록 하자.

중복방지를 위해 idx 부분에 인덱스를 설정한다.

CREATE INDEX idx_idx 
    ON tbl_template ( idx );

글내용은 글자수 제한없이 길게 들어가야 한다.

컬럼의 데이터타입을 변경해 주도록 한다.

ALTER TABLE tbl_template
      MODIFY content TEXT
;

같은 방법으로 입력날짜와 수정날짜 컬럼을 변경해 준다.

ALTER TABLE tbl_template
      MODIFY ins_dt TIMESTAMP
;

ALTER TABLE tbl_template
      MODIFY upd_dt TIMESTAMP
;

주석은 옵션이지만 가급적 넣어주도록 한다.

주석변경시 데이터타입은 필수로 넣어주어야 동작한다.

ALTER TABLE tbl_template
      MODIFY idx VARCHAR(50) COMMENT '인덱스'
;

ALTER TABLE tbl_template
      MODIFY title VARCHAR(50) COMMENT '제목'
;

ALTER TABLE tbl_template
      MODIFY content TEXT COMMENT '글내용'
;

ALTER TABLE tbl_template
      MODIFY ins_dt TIMESTAMP COMMENT '작성일'
;

ALTER TABLE tbl_template
      MODIFY ins_usr VARCHAR(50) COMMENT '작성자'
;

ALTER TABLE tbl_template
      MODIFY upd_dt TIMESTAMP COMMENT '수정일'
;

ALTER TABLE tbl_template
      MODIFY upd_usr VARCHAR(50) COMMENT '수정자'
;

위의 과정을 거쳤다면 아래와 같은 모양일 것이다.

게시판 테이블이라고 했지만 뭔가 어색하고 부족하다.

게시판 시리즈가 진행되면서 이 구조는 점차 변경될 것이다.

굳이 작업을 번거롭게 했다.

GUI 기반의 데이터베이스 툴을 이용하면 편하게 작업할 수 있다.

유연한 작업을 위해 쿼리를 만들어 사용하는 것 또한 나쁘지 않다는 생각이다.

쿼리는 가급적 익숙해 지도록 하자.

편하게 써먹을 수 있다.

반응형

댓글