2012-11-05 5 views
2

저는 데이터베이스 설계 및 이론을 연구 중이며 마침내 SQL을 기반으로하는 스키마를 만드는 데 사려 깊은 시도를했습니다. 누군가가 시간이 있다면 내 레이아웃을 검토하고 그것이 논리적인지 확인하고 싶습니다. 내 지식을 향상시키기위한 팁과 비판은 물론 환영합니다! :)내 데이터베이스 스키마를 검토하십시오 - 입력이 필요합니다

내 목표는 다음과 같습니다. 여러 매장이있는 비즈니스에서 훈련 된 날짜와 확인 된 날짜 만 표시하여 직원 교육 진행 상황을 추적 할 수있는 데이터베이스를 만듭니다. 기본적으로이 계층 구조는 다음과 같습니다.

Business 1 
--Store Location (a) 
----Employee 
----Employee 
----Employee 
--Store Location (b) 
----employee 
----employee 
----employee 

Business 2 
--Store Location (a) 
----employee 
----employee 
--Store Location (b) 
----employee 
----etc... 

이 스키마는 무제한 비즈니스, 상점 및 직원을 허용해야합니다.

지금까지 훈련이가는대로, 계층 구조의이 유형이 있어야한다 :

Business 1 
--Employee Class   (Manager, Employee, Salesman, Associate, etc) 
----Training Category  (Sales, Stocking, Manufacturing, etc) 
------Training Activity (How to sell X product, How to stock Y aisle, etc) 
------Training Activity 
------Training Activity 
----Training Category 
------Training Activity 
------Training Activity 
--Employee Class 
----Training Category 
----Training Category 

Business 2 
--Employee Class   
----Training Category  
------Training Activity  
------Training Activity 
------Training Activity 
----Training Category 
------Training Activity 
------Training Activity 
--Employee Class 
----Training Category 
----Training Category 

다음 일을 비즈니스 요구에 따라 변수가 될 및 비즈니스의 계정 생성시 생성한다 :

*Number of Stores 
*Number of Employees 
*Employee Classes 

*Training Categories 
*Training Activities 

질문은 다음과 같습니다.
1) 얼마나 가까이 왔습니까?
2) 어떻게 더 잘 할 수 있습니까?

미리 감사드립니다. 이 http://i1227.photobucket.com/albums/ee422/CorySCline/diagram.jpg

답변

1

그냥 눈에서 꽤 좋아 보인다 : 여기

는 다이어그램의 그림에 대한 링크입니다. 대체로 많은 관계가 항상 파손되어야합니다. 예를 들어, 회사 및 직원 테이블에는 직원 ID로 연결되는 회사 ID가 있습니다. 직원이 모든 속성이 동일한 2 개의 다른 회사에 고용 될 수 있다는 사실을 고려하십시오. 고유 한 식별자가 없습니다. 이것을 막는 방법은 2 개의 속성 company_id와 employee_id (경우에 따라 자동 증가 식별자 일 수도 있음)가있는 일치하는 테이블을 만드는 것입니다.

마찬가지로 상점 간을 이동하는 직원을 생각해보십시오 ... 직원의 실적을 알 수 없습니다. 또한 직원 클래스 및 직원과 함께 수행합니다.

+0

입력 해 주셔서 감사합니다. :) 명확히하기 위해 company_id와 employee_id 및 고유 한 정수가 포함 된 중간 테이블을 회사와 직원 사이에 생성 하시겠습니까? –

관련 문제