【问题标题】:E-R Diagram and Relational TablesE-R 图和关系表
【发布时间】:2017-12-07 07:11:52
【问题描述】:

我需要使用此描述来制作 E-R 图,然后将其简化为关系表。稍后需要在 SQL 中创建表,但首先我要正确处理这些表。

考虑以下对快餐链应用程序的要求。 这个快餐连锁店可以有几家餐厅。每家餐厅都有一名经理和一名 助理经理(不同于经理),还有其他几位员工喜​​欢 收银员和清洁人员。我们知道所有人的姓名、地址、电话和薪水 雇员。每家餐厅都会跟踪其库存,因此它知道每个餐厅有多少物品 商店里有物品。每个项目都有一个名称和地址的提供者。 顾客到餐馆取食(物品)。有两种类型的客户:常客和贵宾 顾客。快餐连锁店会记录每位顾客的姓名、地址和电话。为了 然而,VIP 客户,商店也会记录客户的生日。商店保留 通过记录购买日期,跟踪客户的每次购买,总 为访问支付的金额,并列出客户购买的所有物品。每次购买都由客户进行,并与收银员相关联。

我对 E-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)

感谢任何帮助!谢谢

【问题讨论】:

    标签: sql database relational-database schema entity-relationship


    【解决方案1】:

    你的急诊室有很多错误。

    首先:最好深入阅读数据建模书籍。
    见:How to become a good database designer?

    我列出了一些重要的错误:

    1. 经理和助理经理不能是属性。他们是员工的类型。您可以在餐厅和员工之间建立一对一的关系(名称为 Manager 或 Assistant_Manager)(对于他们每个人:经理和助理经理)。
    2. 根据您的解释,最好有一个员工类型实体。
    3. 物品的提供者可以变成一个实体。
    4. 您应该将 purchase_id 放入 Items。
    5. 采购和员工之间的关系应该是多对一的(每个员工可以处理多个采购,每个采购由一个员工处理)。

    当然,每位员工一次只能处理一次采购。但是当我们设计ER时,我们应该考虑的是时间段而不是当时。 (例如:每个员工在一天内处理许多采购)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-15
      • 1970-01-01
      • 2016-03-10
      • 2022-12-04
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      相关资源
      最近更新 更多