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
운영게시판
최근게시물
MS-SQL Q&A 5398 게시물 읽기
No. 5398
초보적인 질문 하나 올리겠습니다. MS-SQL 기본키 관련..
작성자
이것저것
작성일
2009-09-30 19:08
조회수
5,753

저희가 사이트를 구축단계에서 테이블 디자인을 하는 과정인데..

한가지 의문사항이 있습니다.

기본적으로 테이블을 생성할 때 기본키를 같이 구성을 하는데요..

A테이블에 기본키를 작성자 + 작성일자 + 프로젝트코드....

이런식으로 5개정도 기본키를 가지고 있습니다.

B테이블에 외래키로 A테이블의 기본키를 넣어주려고 하는데

기본키가 너무 많은거 같기도 해서 효율성이나 성능면에서 떨어지지 않는지...

아님 A테이블에 ID증가값 필드를 하나 넣어 그 값만 B테이블에 외래키로 넣는게 좋은지 제 판단으로는 알수가 없습니다.

ID증가 필드하고 작성자 필드 정도만 기본키로 잡고 하는 것이 좋은지

ID필드를 없애고 처음 계획했던 대로 여러개의 기본키로 잡아서 하는것이 좋은지 조언을 해주셨으면 합니다.

그리고 보통의 테이블에 ID증가값이 없는 것이 좋은것인가요??

답변주시면 감사하겠습니다.

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

id증가값이 없는게 좋다 있는게 좋다는 로직을 어떻게 구성하느냐에 따라 다를 거구요...

id증가값을 가지고 있으면 이 필드를 이용해서 여러 작업이 가능하기도 합니다...

기본키는 테이블에서 중복을 배제의 원칙을 충족시키기에는 이만한게 없지만 내용상 중복을 방지 하기는 어렵게 될거구요.. 이건 어플리케이션(업무로직)에서 처리해야 할 내용이지만요....

웹뿐만아니라 erp개발에서 id로 기본키를 잡고하면 편하것 같기도 하구요...

동시 접속자가 많을때에 발생하는 키 중복문제 해결은 이보다 좋은게 없는듯... 

 원래 5개의 키는 별도의 인덱스키로 잡으셔도 무방하구요... id 증가를 키로 잡고 하시는것도 좋을듯 합니다...

 

지나가다가님이 2009-09-30 23:08에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5401MS-SQL7.0 DB 위치 옮길수 있나요? [1]
김우성
2009-10-01
5395
5400컴이름 변경시 MS-SQL7.0 에러 납니다...
김우성
2009-10-01
5757
5399백업된 bak 파일을 이용해서 다른 서버에 복구가 가능한가요? [1]
지형준
2009-10-01
6551
5398초보적인 질문 하나 올리겠습니다. MS-SQL 기본키 관련.. [1]
이것저것
2009-09-30
5753
5397[질문] MS SQL 2008 사용시 클라이언트에서 접속이 안됩니다. [1]
궁금이
2009-09-30
6277
5395rollup 쿼리 문의 [1]
guest
2009-09-28
6070
53941111 [1]
궁금이
2009-09-28
5186
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다