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
운영게시판
최근게시물
PostgreSQL Q&A 4747 게시물 읽기
No. 4747
[질문] PRIMARY KEY를 oid로...
작성자
임유빈(purewell)
작성일
2003-06-04 18:21
조회수
1,461
CREATE TABLE mytable (
  idno int NOT NULL DEFAULT oid,
  ...,
  PRIMARY KEY (idno)
);

 

위와 같이 하면 ㅡ_-);; 오류가 발생합니다.

그도 그럴 것이 생성되지도 않은 Object에게 oid를 Default로

사용하려고 했으니까요.

 

ㅡ_-); idno를 PRIMARY KEY로 쓰면서,

기본값이 oid로 하려면 어떻게 해야하나요...

 

 

Always wish be pure well...

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

oid 는 primary key로 지정하지 않아도 당연히 primary key 보다 우선순위가 높은 접근방법을 자랑할 것입니다.

 

pg_ 관련 카타로그 테이블들을 살펴보시면 oid가 어떻게 사용되는지를 살펴보실 수 있을겝니다.

 

하지만, 사용자 자료에서 oid 사용은 그것도 primary key로 사용하면서 다른 테이블에 그 oid를 사용한다는 것은 꽤 많은 것을 고려해야할 것입니다.

 

지금까지 제 경험에 의하면 사용자 자료에서 oid가 특정 테이블에 저장되고 그것이 참조 되는 경우, 얻는 것 보다 잃는 것이 더 많았습니다.

 

oid는 말 그대로 어디까지나 RDBMS의 Object ID로 인식되고 사용됨이 더 타당하더군요.

---

이상은 지극히 개인적인 생각일 뿐입니다.

김상기(ioseph)님이 2003-06-04 21:45에 작성한 댓글입니다.

답변 감사합니다.

다른 테이블에서 참조하며, DBMS를 바꿀 수도 있는데 DBMS에 매우 종속적인 것을 쓰기에는 살포시 에라가 많을 것 같군요. ㅡ_-);

임유빈(purewell)님이 2003-06-05 12:42에 작성한 댓글입니다.

개인적인 생각은 상기님과 동일합니다.

 

시스템이 사용하는 것은 시스템이 사용하도록 내버려 둬야 합니다. 시스템이 사용하는 것은 일단 프로그래밍의 코딩 자체가 system-dependent 해질 가능성이 높아지고, 나중에 system upgrade/data backup 시에도 문제가 될 소지가 높습니다.

 

그러므로 시스템 레벨은 시스템에서 사용하도록 하고, 사용자는 사용자레벨에서 system-independent 하게 구성을 하는 것이 가장 좋은 방법이라고 생각됩니다.

정재익(advance)님이 2003-06-05 16:19에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4750[질문] alter 궁금합니다. [1]
대훈
2003-06-09
2238
4749에러 메세지... [1]
김현주
2003-06-07
1439
4748문자셋 문제.. [1]
장나영
2003-06-05
2508
4747[질문] PRIMARY KEY를 oid로... [3]
임유빈
2003-06-04
1461
4745QBE에서의 데이타 갱신 [1]
popipo2
2003-06-03
2225
4744카테고리에 속한 상품 수를 알아 내는 쿼리문...help me [1]
박기원
2003-06-03
2093
4743current_timestamp [1]
왕초보
2003-06-02
1653
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다