2010-03-08 2 views
0

PostgreSQL에서 inheritance feature에 대해 읽었습니다.이 스크립트는 매우 깔끔하게 보입니다. 불행히도 MySQL을 사용해야합니다. 비슷한 것을 어떻게하면 깨끗하게 처리 할 수 ​​있습니까? 그들은 상당히 깨끗한에서 예를 들어, PHP를위한로부터 꺼낼 수 있도록MySQL : 상속

User 
˪ Id 
˪ Name 
˪ Password 

Employee : User 
˪ Pay 

어떻게 MySQL 데이터베이스 사람들을 저장하는 것입니다 :

는 작업 할 다음 두 클래스를 가지고 예를 들어 당신을 말해 방법? 예를 들어 직원을 포함하여 모든 사용자를 가져올 수 있어야하고, 직원 만 볼 수 있어야하며, 사용자가 직원 인 경우 등을 찾아야합니다.

이 경우에 대한 일반적인 조언은 아니지만 구체적인 해결책을 찾고 있습니다. 예를 들어, 단순히 nullable Pay 열을 Users 테이블에 추가 할 수 있음을 알았지 만, 더 많은 하위 클래스가 필요할 경우 신속하게 매우 지저분해질 것이므로이 아이디어는 마음에 들지 않습니다.

답변

2

User의 외래 키인 Employee에 필드를 추가하십시오. 여전히 테이블에서 조인을 수행해야하지만, 아무 것도하지 않는 것보다 낫습니다.

+0

그래서 그것은 일종의 관계가 될 것이고'Employees' 테이블은'user_id' 컬럼 또는 이와 비슷한 것을 가질 것입니다. – Svish

+0

정확함. 또한 뷰에서 조인을 마무리하여 적어도 데이터를 읽거나 표시 할 때 두 개 이상의 테이블이 코드에 하나의 단일 테이블처럼 보이게 할 수 있습니다. –