2010-07-08 3 views
1

상속을 이해하고 PostgreSQL과 함께 사용하는 방법을 이해하려고합니다. 이런 이유로 나는 엑셀 파일에있는 데이타베이스를 디자인한다. 첫 번째 열에서는 승/상속 테이블을 볼 수 있으며 두 번째 부분에서는 INHERITANCE 인 테이블을 볼 수 있습니다.상속 유무와 관계없이 데이터베이스 설계

의견을 보내고 다음을 도와 줄 수 있습니까? 1. 최고의 디자인은 무엇입니까 (승격인가?)? 2. 상속성이 좋은 디자인입니까, 아니면 sth가 누락 되었습니까?

나는 당신의 답변을 기다리고 있습니다. 미리

엘리아스

PS에

감사합니다. 파일을 업로드 할 수 없기 때문에 하위 폴더로 이동하십시오. link

답변

3

PostgreSQL의 상속은 데이터 분할에 유용하지만 다른 용도로는 유용하지 않다고 생각됩니다. 일반화/전문화 된 데이터베이스 설계가 필요하다면 기존의 데이터베이스 모델링 기술을 사용하여 수행 할 수 있습니다.
전통적인 일반화/전문화는 읽기 및 유지 관리가 쉽지만 기존 ORM 계층에서 훨씬 더 이식성이 뛰어나고 지원하기도 쉽습니다.
데이터베이스 상속을 사용하기로 결정한 경우 caveats section in the PostgreSQL manual을 읽어야합니다. 그렇지 않으면 데이터 제약으로 인해 문제가 발생할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 적어도 LASTUPDATE에 대해 상속을 사용하기로 결정했는데 다음과 같은 사실을 발견했으며 올바른지 여부를 알지 못합니다. 대신 테이블 당 ID 필드를 사용하여 모든 테이블에 대한 부모 테이블 중 하나를 사용하고 있습니다. 이 옵션은 괜찮은 것 같습니다. 귀하의 의견은 무엇입니까? ** LASTUPDATE ** 이름 \t 유형 ID \t 직렬 LastUpdateUser \t 대 Varchar (10) LASTUPDATEDATE \t 날짜 ** 연락처 ** \t 이름 \t 유형 설명 \t 대 Varchar (30) 값 \t 대 Varchar (30) ** LastUpdate \t Inherint ** – ekekakos