【发布时间】:2014-11-06 03:08:57
【问题描述】:
我有以下表格: 1) 事件 2) 议程 3) Registrant_Type 4) 费用
关系: 事件到议程:一对多(一个事件由零个、一个或多个议程组成;一个议程只属于一个事件)
Event to Registrant_Type:一对多(一个事件由零个、一个或多个注册者类型组成;一个注册者类型只属于一个事件)
Event to Fee:一对一(一场赛事只包含一笔费用(注册费))
Agenda to Fee:一对一(一个议程仅包含一项费用(议程费))
Registrant_Type to Fee:一对一(一种注册人类型只包含一种费用(注册费))
如何根据这些关系创建表?
【问题讨论】:
-
您真的需要费用表吗?它不只是一个数字,您可以在每个有费用的表格中放入一列吗?费用还有哪些其他属性表明它应该在表格中?
-
@BarmarInside 费用表,我有 Pricing_Schedule 属性(早鸟价、迟到价等)。此外,我还有一个与费用表相关的 Discount_Code 表。 Fee和Discount_Code的关系是:一对多(一个Fee由多个折扣码组成,一个折扣码只属于一种费用)。
-
@Barmar Inside Fee 表,我有 Pricing_Schedule 属性(早鸟价、迟到价等)。此外,我还有一个与费用表相关的 Discount_Code 表。 Fee和Discount_Code的关系是:一对多(一个Fee由多个折扣码组成,一个折扣码只属于一种费用)。
-
您可以将 1:1 的两个端点放在同一个表中,也可以使用单独的表,“标准”解决方案是单个表。更多信息here.
标签: mysql database-design relational-database mysql-workbench