database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Q&A 266 게시물 읽기
No. 266
[질문]주소록 스키마좀 봐주세요
작성자
서준원(linuxqna)
작성일
2002-01-07 10:48
조회수
8,828

안녕하세요. 밑에 질문드린 서준원이라고 합니다.

먼저 최공훈님꼐 감사드리며..

 

다름이 아니라 이번에 주소록 프로그램을 하나 만드는데

구현할 기능은 개인주소록 / 그룹주소록 입니다.

 

다음과 같이 기초적인 스키마는 만들어 놨습니다.

필드명은 대충 보시면 짐작하실 수 있습니다.

id 라는 필드는 주소록을 소유자의 ID를 뜻합니다.

 

1. 개인주소록 테이블

 

CREATE TABLE individualdirectory (

id varchar(32) NOT NULL,

email varchar(32) NOT NULL,

name varchar(32) NOT NULL,

cellular varchar(20) default NULL,

phone varchar(20) default NULL,

company varchar(32) default NULL,

memo text,

PRIMARY KEY (id,email)

);

 

2. 그룹주소록 정보 테이블

 

CREATE TABLE groupdirectoryinfo (

id varchar(32) NOT NULL,

name varchar(32) NOT NULL,

explanation varchar(255),

PRIMARY KEY (id,name)

);

 

이렇게 두개의 테이블은 만들었는데

이 두 테이블을 토대로

그룹주소록을 만들어야 합니다.

 

제가 나름대로 생각해본결과

 

3. 그룹주소록

 

CREATE TABLE groupdirectory (

id varchar(32) NOT NULL,

email varchar(60) NOT NULL,

name varchar(30) NOT NULL,

);

 

이러게 만들었습니다.

즉 어떤 사용자(id)의 개인주소록에 있는 개인주소(email)는

어떤 그룹주소록( name)에 속한다.

입니다.

 

저같은 경우는 개인주소록이 unique number 를 쓰지 않고

PK로 (id,email) 로 묶었거든요...

unique number 같은걸로 쓰면 DB양을 더 줄일수 있을것 같기도

한데...

 

아뭏든

고수님들은 어덯게 만드실지 조언좀 부탁드립니다.

이 글에 대한 댓글이 총 1건 있습니다.

저 생각에는 ID 가 테이블을 통해서 한번만 등장한다면 ID 만을 PK 로 잡아도 되지 않을까요. 굳이 email까지 PK 로 잡는 이유가 없을 것 같군요.

 

그리고 만약 ID 가 두번이상 등장한다면 물론 PK 로 잡을수가 없다는 것은 아시겠지요. 어차피 email 도 변경되지는 안을테니 말이죠.

 

디비 설계를 할때 저장 공간을 줄이는 것도 중요하지만 알고리듬을 간편하게 만들어 주고, access time 을 빠르게 해 주는 방향으로 모델링을 하는 것도 중요합니다.

 

잘 고려해 보시기 바랍니다.

정재익(advance)님이 2002-01-07 14:55에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
276[질문]추가적인 애트리뷰트가 필요할떄, 그것을 어떻게? [1]
서준원
2002-01-08
7909
277┕>답변 감사하고 수정된 질문 내용입니다.(죄송)-_- [1]
서준원
2002-01-09 08:26:08
8429
273[질문]FK 의 설정에 대해서. [2]
서준원
2002-01-08
8352
275┕>Re: [질문]FK 의 설정에 대해서. [1]
서준원
2002-01-08 13:25:36
9280
278 ┕>[질문]죄송.. 약간의 풀리지 않는 궁금점이 남아서
서준원
2002-01-09 09:02:06
8489
284  ┕>Re: [질문]죄송.. 약간의 풀리지 않는 궁금점이 남아서 [1]
김대성
2002-01-09 23:48:18
9479
267[질문]PK가 너무 많아서.. 설계가 잘못된 것인가요? [1]
서준원
2002-01-07
8060
268┕>Re: [질문]PK가 너무 많아서.. 설계가 잘못된 것인가요?
서준원
2002-01-07 16:23:14
8600
266[질문]주소록 스키마좀 봐주세요 [1]
서준원
2002-01-07
8828
271┕>Re: [질문]주소록 스키마좀 봐주세요
김대성
2002-01-08 00:56:59
8970
253C-ISAM A.dat, A.idx를 Access로 Loader [1]
김대철
2002-01-05
8270
237[질문]보통 PK 를 최대 몇개씩 묶습니까?
서준원
2002-01-04
8286
238┕>Re: [질문]보통 PK 를 최대 몇개씩 묶습니까?
최공훈
2002-01-04 13:32:22
8640
236[질문]주소록을 만드려고 하는데 스키마 조언좀 부탁드립니다.
서준원
2002-01-04
8249
239┕>Re: [질문]주소록을 만드려고 하는데 스키마 조언좀 부탁드립니다.
최공훈
2002-01-04 13:47:18
8781
240 ┕>Re: Re: [질문]주소록을 만드려고 하는데 스키마 조언좀 부탁드립니다.
서준원
2002-01-04 14:53:02
8613
242  ┕>Re: Re: Re: [질문]주소록을 만드려고 하는데 스키마 조언좀 부탁드립니다.
최공훈
2002-01-04 15:44:55
9379
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다