2016-11-16 2 views
-1

저는 MySQL에 약간 익숙하며 SQL에서 일반화 연관을 구현하는 방법을 궁금해하고 있습니다.MySQL에서 일반화를 구현하는 방법은 무엇입니까?

내 UML 다이어그램에는 사용자의 모든 특성을 상속하는 두 개의 하위 클래스 (직원 및 관리자)가있는 사용자가 있습니다.

SQL로 작성하는 방법은 무엇입니까?

감사합니다.

UML Generalisation

+0

현재 디자인에 어떤 문제가 있습니까? –

+0

사용자가 여러 개의 Manager (또는 Employee) "세부 정보"를 가질 수 없으면 Employee and Manager "detail"테이블에 자체 PK 값이 필요하지 않아야합니다. 또한 나는 모든 관리자가 직원이라고 생각 하겠지만, 그것은 단지 이름을 바꾸는 것일 수 있습니다. – Uueerdo

답변

0

은 일반화를 구현하는 여러 가지 방법이 있습니다. 하나는 일반화 된 모든 속성과 클래스를 상속받은 열거 형의 테이블을 생성하여 특수한 속성 중 어느 것이 유효한지 알려주는 것입니다. 특수 클래스의 속성을 식별하는 명명 규칙을 사용해야합니다. 예 : Employee의 속성이 degree 인 경우 emp_degree 또는 이와 비슷한 이름을 사용합니다.

두 번째 방법 등 Employee 모든 요구 사항에 따라 달라집니다

User 테이블과 외래 키를 사용을하는 것입니다. 은색 탄환은 없습니다.

관련 문제