반응형
안녕하세요.
오늘부터는 아주 간단한 게시판을 만들어 보도록 하겠습니다.
전에 만들었던 메모장에서 조금 발전된 단계 입니다.
그중에서 여러단계로 답글(REPLY)이 가능한 관계형 게시판을 만들어 보도록 하겠습니다.
오늘은 게시판에서 사용될 DB를 설계하는 부분입니다.
오늘은 우선 회원 DB 설계입니다.
DB를 설계할때는 사용할 항목, 각 항목의 성격등을 고려해서 설계하여야 합니다.
이번에는 가장 기본적인 항목들만 갖추어서 사용해보도록 하겠습니다. (다른 필요한 항목들은 필요에 따라 추가할 수 있습니다.)
우선 회원DB에서 필요한 항목들을 정리해 보겠습니다.
테이블이름 (tb_member)
1. 고유번호(m_idx) : 자동증가로 만들어지는 회원의 고유번호
2. 회원아이디(m_id) : 4~12자까지 가능하도록 하고 중복이 되면 안됩니다. (영문숫자만 가능)
3. 회원이름(m_name) : 4자이상 10자 이하(한글2자 이상 5자이하 )
4. 비밀번호(m_pass) : 4자이상 20자이하 암호화 되는 비밀번호 입니다.(암호화되면 자리수가 길어집니다.)
[phpmyadmin 에서 설정 화면]
다음은 작성글을 저장하는 테이블입니다.
테이블이름 (tb_board)
1. 고유번호(b_idx) : 자동증가로 만들어 지는 회원의 고유번호
2. 글순서번호(b_num) : 글 순서를 표시하기 위한 번호
3. 답글순서및 단계(b_reply) : 답글들의 순서 및 단계를 위한 문자, 3단계까지 가능하게 함, (A-Z)까지 26개까지 답글 가능
4. 글쓴이 아이디(m_id) : 글쓴이의 아이디를 기록합니다.
5. 글쓴이 이름(m_name) : 글쓴이의 이름을 기록합니다.
6. 글제제목(b_title) : 글제목입니다.(255자까지 가능)
7. 글내용(b_contents)
8. 작성일시(b_regdate)
[phpmyadmin 에서 설정화면]
그리고 INDEX 라는것을 설정합니다.
INDEX 라는 것은 order 문으로 정렬을 할때 속도를 빠르게 하기 위해 전체 데이터가 아닌 INDEX로 설정한 데이터만 저장된 것을 만드는 것입니다.
만들때 m_idx 나 b_idx 는 PRIMARY 로 설정했는데 이것은 인덱스 종류 중 고유한 번호(중복이 되면 안됨, 그리고 모든 데이터의 기본이 됨)를 뜻합니다.
이것도 별도로 따로 저장이 되는데요.
우리가 만드는 게시판에서는 정렬 순서 기본이 b_num과 b_reply를 동시에 사용하므로 다음 순서로 새로운 INDEX를 만들어 줍니다.
위 그림에서 파란 네모 안의 내용이 설정된 인덱스들을 보여주는 곳입니다.
1. INDEX 설정화면 으로가기
- 먼저 1번을 눌러 아래쪽이 보이게 한다.
- 2번에 2개로 설정하고 실행 버튼을 누른다.
2. INDEX 설정
- 인덱스 이름에 알아볼수 있는 이름을 넣습니다.
- 윗칸에 b_num, 두번째칸에 b_reply 를 선택합니다. 이 순서는 order 시의 순서와 동일합니다.
- 크기는 다 사용할것이므로 적지 않아도 됩니다.
- 저장을 누르면 INDEX가 생성됩니다.
이제 관계형 게시판을 만들 DB설계가 된것입니다.
물론 이번에 배우는 관계형 게시판은 아주 최소한의 기능만을 가지고 있습니다.
지난번에 배운 메모장이 게시판의 기본이었구요.
이번에는 관계형 게시판(답글)을 배우는 것입니다.
추후 많은 기능이 있는것은 기능설계부터 제대로 해서 배워보도록 할테니 우선 관계형 게시판이 어떠한 원리로 돌아가는지를 숙지 하셔야 할것 입니다.
오늘부터는 아주 간단한 게시판을 만들어 보도록 하겠습니다.
전에 만들었던 메모장에서 조금 발전된 단계 입니다.
그중에서 여러단계로 답글(REPLY)이 가능한 관계형 게시판을 만들어 보도록 하겠습니다.
오늘은 게시판에서 사용될 DB를 설계하는 부분입니다.
오늘은 우선 회원 DB 설계입니다.
DB를 설계할때는 사용할 항목, 각 항목의 성격등을 고려해서 설계하여야 합니다.
이번에는 가장 기본적인 항목들만 갖추어서 사용해보도록 하겠습니다. (다른 필요한 항목들은 필요에 따라 추가할 수 있습니다.)
우선 회원DB에서 필요한 항목들을 정리해 보겠습니다.
테이블이름 (tb_member)
1. 고유번호(m_idx) : 자동증가로 만들어지는 회원의 고유번호
2. 회원아이디(m_id) : 4~12자까지 가능하도록 하고 중복이 되면 안됩니다. (영문숫자만 가능)
3. 회원이름(m_name) : 4자이상 10자 이하(한글2자 이상 5자이하 )
4. 비밀번호(m_pass) : 4자이상 20자이하 암호화 되는 비밀번호 입니다.(암호화되면 자리수가 길어집니다.)
[phpmyadmin 에서 설정 화면]
다음은 작성글을 저장하는 테이블입니다.
테이블이름 (tb_board)
1. 고유번호(b_idx) : 자동증가로 만들어 지는 회원의 고유번호
2. 글순서번호(b_num) : 글 순서를 표시하기 위한 번호
3. 답글순서및 단계(b_reply) : 답글들의 순서 및 단계를 위한 문자, 3단계까지 가능하게 함, (A-Z)까지 26개까지 답글 가능
4. 글쓴이 아이디(m_id) : 글쓴이의 아이디를 기록합니다.
5. 글쓴이 이름(m_name) : 글쓴이의 이름을 기록합니다.
6. 글제제목(b_title) : 글제목입니다.(255자까지 가능)
7. 글내용(b_contents)
8. 작성일시(b_regdate)
[phpmyadmin 에서 설정화면]
그리고 INDEX 라는것을 설정합니다.
INDEX 라는 것은 order 문으로 정렬을 할때 속도를 빠르게 하기 위해 전체 데이터가 아닌 INDEX로 설정한 데이터만 저장된 것을 만드는 것입니다.
만들때 m_idx 나 b_idx 는 PRIMARY 로 설정했는데 이것은 인덱스 종류 중 고유한 번호(중복이 되면 안됨, 그리고 모든 데이터의 기본이 됨)를 뜻합니다.
이것도 별도로 따로 저장이 되는데요.
우리가 만드는 게시판에서는 정렬 순서 기본이 b_num과 b_reply를 동시에 사용하므로 다음 순서로 새로운 INDEX를 만들어 줍니다.
위 그림에서 파란 네모 안의 내용이 설정된 인덱스들을 보여주는 곳입니다.
1. INDEX 설정화면 으로가기
- 먼저 1번을 눌러 아래쪽이 보이게 한다.
- 2번에 2개로 설정하고 실행 버튼을 누른다.
2. INDEX 설정
- 인덱스 이름에 알아볼수 있는 이름을 넣습니다.
- 윗칸에 b_num, 두번째칸에 b_reply 를 선택합니다. 이 순서는 order 시의 순서와 동일합니다.
- 크기는 다 사용할것이므로 적지 않아도 됩니다.
- 저장을 누르면 INDEX가 생성됩니다.
이제 관계형 게시판을 만들 DB설계가 된것입니다.
물론 이번에 배우는 관계형 게시판은 아주 최소한의 기능만을 가지고 있습니다.
지난번에 배운 메모장이 게시판의 기본이었구요.
이번에는 관계형 게시판(답글)을 배우는 것입니다.
추후 많은 기능이 있는것은 기능설계부터 제대로 해서 배워보도록 할테니 우선 관계형 게시판이 어떠한 원리로 돌아가는지를 숙지 하셔야 할것 입니다.
반응형
'Programming' 카테고리의 다른 글
[PHP 강좌] 35. 관계형 게시판 만들기 3 - (회원가입, 로그인, 로그아웃, 정보수정) (1) | 2010.02.11 |
---|---|
[PHP 강좌] 34. 관계형 게시판 만들기 2 - (사용자 정의 함수 파일 과 공통 include 만들기) (1) | 2010.02.11 |
소스 사이트 (0) | 2010.01.08 |
Struts – Validator (0) | 2010.01.07 |