프로그래밍 언어/PHP

테이블 설계하기

· 코딩마이데이

웹 사이트에서 화면을 관리하기 위한 DB 테이블(테이블먕:member)을 생성하려면 먼저 DB 테이블의 필드를 정의하여야 합니다.

 

회원의 레코드 번호, 아이디, 비밀번호, 이름, 이메일 항목을 관리하는 DB 테이블을 다음과 같이 정의하여 봅시다.

 

회원 관리 DB 테이블(테이블명 : member)

필드명 데이터 형 Null 추가 사항 설명
num int not null auto_increment, primary key 레코드 번호
id char(20) not null   아이디
pass char(20) not null   비밀번호
name char(10) not null   이름
email char(20)     이메일

 

데이터 형

num 필드의 데이터 형으로 사용된 int는 해당 필드에 저장되는 데이터가 정수임을 나타냅니다. 그리고 나머지 필드들에 사용된 char은 문자형 데이터를 저장하는 데 사용됩니다.

 

char(20)은 영문(또는 숫자)를 20자까지 저장할 수 있는 공간을 말합니다. 한글인 경우에는 한글 한 글자를 저장하는 공간이 영문 글자 두 글자에 해당되기 때문에 10자까지 저장 가능합니다.

 

not null

num 필드에 해당하는 num int not null은 필드의 자료형으로 정수형인 int를 사용하고, not null은 null이면 안 된다는 의미입니다.

※ Null은 빈 문자열을 의미합니다.

 

not null로 설정된 필드는 데이터를 입력할 때 해당 필드를 비워두지 않고 반드시 값을 채워야 합니다. 위 표의 DB 테이블 member에서는 필수 항목인 num, id, pass, name 필드는 not null로 설정합니다.

 

추가 사항

auto_increment

auto _increment는 레코드를 입력 시 필드 값이 자동 증가되는 것을 의미합니다. 표에서 num 필드가 auto_increment로 설정되어 있습니다. DB 테이블 레코드를 삽입할 때 num 필드에는 값을 직접 입력하지 않습니다. num 필드에는 1부터 시작되는 레코드 번호가 자동으로 부여됩니다.

primary key

primary key는 레코드들을 서로 식별하는 데 사용되는 필드를 의미합니다. 표에서 num 필드는 중복되지 않는 레코드 번호 값을 가지기 때문에 primary key로 사용됩니다. 일반적으로 웹 사이트에서 회원 정보를 관리하는 DB 테이블에서는 레코드 번호나 아이디와 같은 필드를 primary key로 사용합니다.