1

이 설명을 사용하여 E-R 다이어그램을 만든 다음 관계형 테이블로 축소해야합니다. 나중에 SQL에서 테이블을 작성해야하지만 처음에는이 테이블을 가져오고 싶습니다.E-R 다이어그램 및 관계형 테이블

FAST FOOD CHAIN ​​응용 프로그램에 대한 다음 요구 사항을 고려하십시오. 이 패스트 푸드 체인에는 여러 레스토랑이 있습니다. 각 레스토랑에는 관리자와 보조 관리자 (관리자와 다름) 및 명의 다른 직원 (청소원)이 있습니다. 우리는 모든 종업원의 이름, 주소, 전화 및 월급을 알고 있습니다. 각 레스토랑은 인벤토리를 추적하므로 상점에있는 각 품목의 품목 수를 알고 있습니다. 각 항목에는 이름과 주소가있는 제공 업체가 있습니다. 고객은 식당을 방문하여 음식 (품목)을 얻습니다. 일반 고객과 VIP 고객 고객의 두 가지 유형의 고객이 있습니다. 패스트 푸드 체인은 각 고객의 이름, 주소, 전화 번호를 추적합니다. 그러나 VIP 고객의 경우 상점에서 고객의 생년월일도 추적합니다. 상점은 구매 날짜를 기록하고, 방문에 대해 지불 한 총 금액을 지불하고 고객이 구매 한 모든 품목을 나열하여 고객이 수행 한 각 구매를 트랙으로 유지합니다. 각 구매는 고객이 수행하고 계산원과 연결됩니다. 전자 R 다이어그램에서

내 첫 번째 시도는 이것이다 :

Restaurant(manager, assistant_manager) 

Employees(id, name, address, phone, salary) 

Items(item_id, provider, address) 

Customer(customer_id, type, name, address, phone, VIP) 

Purchases(customer_id, cashier_id, total_paid, date_bought, items_bought) 

이 어떤 도움에 감사드립니다 : 테이블에서

enter image description here

내 시도는 다음과 같다! 고마워요

답변

0

당신은 ER에 많은 실수를 저질 렀습니다.

우선 : 데이터 모델링 도서를 자세히 읽는 것이 좋습니다.
은 다음을 참조하십시오

How to become a good database designer? 내가 몇 가지 중요한 실수를 나열 :

  1. 관리자 및 보조 관리자는 속성 수 없습니다. 그들은 종업원 유형입니다. Restaurant과 Employees 사이에 일대일 관계 (Manager 또는 Assistant_Manager의 이름)를 가질 수 있습니다 (각각에 대해 : 관리자 및 보조 관리자).
  2. 설명에 따르면 Employee Type 엔티티를 갖는 것이 좋습니다.
  3. 항목 제공자는 엔터티가 될 수 있습니다.
  4. purchases_id를 Items에 넣어야합니다.
  5. 구매와 직원 간의 관계는 다 대일이어야합니다 (각 직원은 많은 구매 및 한 명의 직원이 처리하는 각 구매를 처리 할 수 ​​있음).

당연히 각 직원은 한 번에 하나의 구매만을 처리 할 수 ​​있습니다. 그러나 응급실을 설계 할 때는 시간 대신 시간을 고려해야합니다. (예 : 각 직원이 하루 동안 많은 구매 항목을 처리 함)