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 3732 게시물 읽기
No. 3732
상속때문에 문제 여쭙니다
작성자
김대성
작성일
2001-12-13 14:27
조회수
1,483

그림

 

table column

----------------------

A a

↑ B는 A를 상속받음

B a, b

↑ C는 B를 상속받음

C a, b, c

↑ D는 C를 상속받음

D a, b, c, d

 

이라고 했을때

 

C 테이블에 x,y,z 를 입력하면

A 는 x,

B 는 x, y

C 는 x, y, z

식으로 컬럼이 보이잖아요. 데이터는 C테이블에 저장되어 있고..

 

A테이블이나 B테이블이나 C테이블에서

DELETE FROM C where a='x';하면

C 테이블에 저장된 놈이 지워지고요

 

근데 궁금한건요

 

D 테이블에 C 테이블의 x,y,z값을 가진 ROW를 D테이블로 UPDATE하는 방법은 없나요?

 

D에서 C의 값을 이용하여 입력후 C의 Row를 삭제해야 하는걸까요?

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

insert ... select ......;

delete .........

두 명령은 있어야 할 것 같네요.

상기님이 2001-12-14 08:26에 작성한 댓글입니다.

꾸벅 감사.

제가보기에도 그 방법 밖에는 없을것 같네요. DB를 만들다가 부모(1):자식(1)관계로 상속을 표현하다가PostgreSQL의 inherits에 눈독을 들이고 있습니다. 별도의 Join 없이 자식테이블에서 부모의 속성을 Select하기 편한것이 매력이네요.

테이블의 Insert, Update만 잘 해결하면 될것 같아요. 자식테이블간의 무결성을 어떻게 유지할까가 고민입니다.

김대성님이 2001-12-14 13:53에 작성한 댓글입니다.

나름대로의 결론...

 

1. 상속관계에 있는 각각의 테이블에서는 PK또는 UK로 중복된 컬럼을 막을 수 있으나 상속된 컬럼은 중복이 발생할수 있다. (UNION ALL이나 마찬가지..)

 

2. 외래키 제약조건이 상속된 컬럼은 다른 자식 테이블에서 제약조건 검사 없이 변경이 가능하다.

 

고로 상속 쓰지 말자...입니다.

누군가 저에게 PostgreSQL의 상속을 쓰는 잇점을 설명좀 해 주세요.

 

넘 RDB에 익숙해 있기 때문일까요?

김대성님이 2001-12-14 16:43에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3741트리쿼리 [1]
써니
2001-12-17
1626
3738[왕왕초보]테이블에서
김영진
2001-12-15
1291
3739┕>Re: [왕왕초보]테이블에서
정재익
2001-12-15 20:15:58
1380
3733상속에 대한 재미있는 사실...
김대성
2001-12-13
1541
3734┕>Re: 상속에 대한 재미있는 사실...
김상기
2001-12-14 08:32:45
1545
3732상속때문에 문제 여쭙니다 [3]
김대성
2001-12-13
1483
3731pgsql에는 zerofill이 없나요? [1]
이은호
2001-12-13
1506
3729CREATE CONSTRAINT TRIGGER에 대한 질문입니다. [1]
소타
2001-12-12
1709
3730┕>넘 무성의한 코멘트같아 추가로 적습니당.. [1]
김대성
2001-12-13 00:15:40
1804
3724[질문] 왕처버 질문입니다.
정성훈
2001-12-10
1403
3725┕>Re: [질문] 왕처버 질문입니다.
fith
2001-12-10 19:29:19
1483
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다