【发布时间】:2015-05-01 17:45:18
【问题描述】:
我正在制作一个简单的公共现金簿数据库表来计算我和朋友一起吃饭的费用。 我的第一个表只有一个表,它有一个包含非原子值的“人”列,所以我把我的表分成两个表,就像上面一样。
但我不确定这是否足够标准化。是否有任何功能依赖应该被规范化但我不知道它的存在?
(我将使用 MySql,但您可以使用任何类型的 DBMS 来回答我。)
【问题讨论】:
-
付款人应该是我认为 Person 的外键。是否有可能一个人必须在同一天使用相同的膳食和内容进行交易?
-
我觉得我的解释还不够。我想表达的关系是“John Doe 和 Jane Doe 在 2015-03-02 一起吃午饭,John Doe 付钱了”。因此,带有#trade 和 person 的表可能具有重复性。我正在考虑用'personal_id'和'name'制作一个新表,并使用'personal_id'作为外键。但是……这是个好主意吗??
-
为名称提供 id 的新表不会影响规范化。规范化从不涉及新列,只涉及新表中的旧列。
-
请将each 表的整个 应用程序关系语句(谓词)编辑到您的问题中。还有对限制和不熟悉概念的任何解释。
标签: mysql database relational-database normalization database-normalization