基本的SQL表结构

时间:2015-11-03 18:37:28

标签: sql database

说我有几张表,如:

  1. 产品
  2. 员工
  3. 设施
  4. * Schedule_Events
  5. 在Schedule_Events表中,我有start_time,end_time,notes等列...

    我的问题是,如果我需要安排员工,产品或设施,应遵循什么样的结构。

    产品/员工/设施表是否应直接链接到Schedule_Events ...

    如下: Schedule_Events(表)

    • Schedule_Event_ID
    • 的Employee_ID
    • PRODUCT_ID
    • Facility_ID

    ...并且在适用时基本上链接外键,或者我需要一堆子表...

    • Schedule_Events_Employees
    • Schedule_Events_Facilities
    • Schedule_Events_Products

    一个名为Schedule_Event_Items的表,其中包含以上所有内容......

    或其他一些我不考虑的桌面设计?

    我对此非常陌生,感谢任何帮助。

    提前致谢!

1 个答案:

答案 0 :(得分:0)

如果某些记录是一对多,则第一个建议将不起作用。如果更多的员工可以与某个事件相关联,那么该设计存在缺陷且无法使用。

解决该问题的标准方法是使用链接表(Schedule_Events_Employees,Schedule_Events_Facilities,Schedule_Events_Products),以便您可以拥有多对多的关系,这些关系可能是数据所要求的。您可以将它们全部放在一个表中并为teh类型添加一列但是您失去了FK的功能,并且您仍然最终加入该表3次以获取所有数据。所以第三种可能性没有优势。