2. PHP 게시판 만들기, DB 테이블 생성
주의: 본 게시판은 보안을 생각하지 않고 만들어졌으므로 실제로 사용되어서는 안되는 코드입니다.
공부할 때 게시판이 이처럼 동작한다는 정도로만 이해해주세요.
이번에는 게시판에 사용될 DB 테이블을 만들어보겠습니다.
먼저 DB 테이블을 만들기 전에 어떤 방식의 게시판으로 만들지 정해야합니다.
크게 말하자면 설계라고 할 수도 있죠.
저는 일단 이 게시판을 단순히 텍스트 인풋, 아웃풋을 위주로 만들 예정이므로 게시판에 들어가는 기본적인 부분만을 사용하겠습니다.
일반적인 게시판에 있는 항목은 글 번호, 글 제목, 글 내용, 작성일, 조회수, 작성자 아이디, 비밀번호 정도입니다.
물론 여기서 추가되는 부분(파일 업로드 등)도 있지만, 아직 초입 부분이므로 여기서 다루지는 않겠습니다.
나중에 이 게시판이 다 만들어지면 업그레이드라도 하는 형식으로 배우도록 하고, 일단은 게시판이 어떤식으로 동작하는지를 알아보죠.
위에서 알아본 게시판의 7가지 항목을 sql 문으로 만들었습니다.
create table board_free (
b_no int unsigned not null primary key auto_increment,
b_title varchar(100) not null,
b_content text not null,
b_date datetime not null,
b_hit int unsigned not null default 0,
b_id varchar(20) not null,
b_password varchar(100) not null
);
각 컬럼은 순서대로 번호, 제목, 내용, 작성일, 조회수, 아이디, 패스워드입니다.
차근차근 설명해드리겠습니다.
int는 정수형 자료라는 뜻으로 4바이트의 저장공간(-2147483648 ~ 2147483647)를 가지고 있습니다.
b_no과 b_hit에는 unsigned라는 옵션이 존재하는데, unsigned가 존재하면 해당 자료형을 양수로만 사용한다는 뜻입니다.
부호(-)가 없다는 뜻이죠.
그러므로 같은 4바이트의 저장 공간이지만 부호가 없기 때문에 4294967295까지의 숫자를 저장할 수 있습니다.
그리고 모든 컬럼이 가지고 있는 not null은 null 값(비어있는 값으로 공백과는 다름)을 지닐 수 없다는 이야기입니다.
제가 만든 항목 중에서 null 값이 들어갈만한 항목은 없기 때문이죠.
b_no에 있는 primary key는 기본키를 나타냅니다.
기본키는 데이터베이스 테이블에서 각각의 자료들을 식별할 수 있는 값이어야 합니다.
한국인으로 따지면 주민등록번호, 학생은 학번인 것처럼 말이죠.
그리고 primary key 옆의 auto_increment는 자동으로 카운트를 올려주는 옵션입니다.
만약 데이터가 들어온다면 1, 2, 3, 4, 5... 처럼 순서대로 숫자가 올라갑니다.
고유 번호를 만들어주는거죠.
마지막 옵션은 b_hit의 default 0입니다.
이 옵션은 데이터를 입력 받을 때 입력된 값이 없다면 기본 값으로 null이 아니라 0을 입력해줍니다.
조회수는 언제나 0에서 시작하니까요.
이렇게 게시판에 들어갈 데이터베이스 테이블을 알아봤습니다.
다음 포스팅에서는 목록을 만들어보도록 하겠습니다.
제작 중인 사이트는 http://kurien.dothome.co.kr이구요,
지적 사항이나 어려운 부분은 댓글에 남겨주세요!
'Project > PHP 게시판' 카테고리의 다른 글
6. PHP 게시판 만들기, view 제작 1 (30) | 2015.04.05 |
---|---|
5. PHP 게시판 만들기, write 제작 2 (36) | 2015.04.02 |
4. PHP 게시판 만들기, write 제작 1 (13) | 2015.03.31 |
3. PHP 게시판 만들기, list 제작 1 (80) | 2015.03.31 |
1. PHP 게시판 만들기 (10) | 2015.03.28 |