2013-01-17 3 views
0

내가 두 개의 테이블을 갖고 싶어 상속 :데이터베이스 테이블 모델링 - 열

[Table1]   [Table2] 
id1    id2 
createdon  createdon 
createdby  createdby 
column1a   column2 
column1b     

하나는 두 테이블이 'createdon'와 'createdby'열이 할 볼 수 있습니다. 비슷한 점은 다른 테이블과 비슷합니다. 모델 상속을 사용하여 데이터베이스 테이블 구조를 모델링하고 구현하는 방법이 있습니까 (예 : OOP의 클래스 속성으로 수행). 개념적으로 무슨 뜻인지 :

[Supertable] 
createdon 
createdby 

및 표 10 및 표 20은 상위 테이블을 확장 있는지 확인 : 나는 하나 개의 슈퍼 테이블을 생성하고 싶습니다. 그렇게하면 각 테이블에 대해 'createdon'및 'createdby'열을 만들 필요가 없습니다. 왜냐하면 super 테이블에서 상속 될 것이기 때문입니다.

[Table10] extends [Supertable] results in wanted [Table1] 
id1     createdon       id1 
column1a   createdby       createdon 
column1b            createdby 
                 column1a 
                 column1b 

[Table20] extends [Supertable] results in wanted [Table2] 
id2     createdon       id2 
column2    createdby       createdon 
                 createdby 
                 column2 

그래서 표 10, 표 20 및 Supertabe는 RDBMS와 표 1 및 표 2 내부 단지 구조이다 그들이 데이터베이스에 액세스 할 때 어떤 데이터베이스 사용자가 최종 테이블로 볼 수 있다는 것입니다. MySQL (또는 다른 RDBMS)에서 이와 같은 것이 가능합니까?

+1

Postgres는 테이블 상속을 지원합니다. MySQL은 그렇지 않습니다. –

답변

0

순수 모델링 관점에서 ... 왜 그렇게 할 수 없습니까? ...

[Table0] 
table <- either Table1 or Table2 
id  <- either the value id1 or id2 
createdon 
createdby 

[Table1]  [Table2] 
id1   id2 
column1a  column2 
column1b 

... 그리고을하지만 큰 문제는 ... :

귀하의 테이블 구조는 (내가 당신의 구문을 채택했습니다)과 같을 것이다 귀하의 신청서를 통해 그 혜택을 보시겠습니까? 나는 당신이하고자하는 일에 깊이 관여하지 않고 그 질문에 대답 할 수 없다.

+0

어쩌면 나는 내 질문에 미쳐 있었거나 대답을 이해하지 못해서 내 질문을 다시 정리했다. – sbrbot

+0

ORDBMS를 위해 RDBMS를 착각하지 마십시오. 달성하고자하는 것은 가능하지만 ORDBMS에서 익숙해 진 테이블의 실제 "확장"수단을 통하는 것이 아닙니다. – Bjoern

0

또한 협회 키와 함께 테이블을 연결할 수 있습니다

[supertable] 
id 
createdon 
createdby 

[Table1] 
id1 
supertable_id  
column1a  
column1b  

이것은 당신이 찾고 있지만 유용 할 수 있습니다 정확히 무엇을하지 않습니다.

+0

그건 내가 의미하는 것이 아니지만 어쨌든 감사드립니다. – sbrbot

관련 문제