Database design 构造函数依赖关系

Database design 构造函数依赖关系,database-design,functional-dependencies,Database Design,Functional Dependencies,如果我们要与美国人建立关系,包括他们的姓名、社会保险号码、街道地址、城市、州、邮政编码、区号和电话号码,那么我们希望这种关系具有哪些功能相关性 我的尝试是: Social security number -> name Phone number -> Social security number Street adress, city -> State, ZIP, area code Area code -> city 这是正确的吗?像这样的问题没有客观的对错答案。我们

如果我们要与美国人建立关系,包括他们的姓名、社会保险号码、街道地址、城市、州、邮政编码、区号和电话号码,那么我们希望这种关系具有哪些功能相关性

我的尝试是:

Social security number -> name
Phone number -> Social security number
Street adress, city -> State, ZIP, area code
Area code -> city

这是正确的吗?

像这样的问题没有客观的对错答案。我们真正需要做的就是使用一些属性名

数据库设计的要点是,它准确地表示了对某一领域的论述的预期解释。正确设计的数据库模式是一组谓词,这些谓词适合在将使用它的上下文中使用。在实际的数据库设计中,功能依赖关系是您选择在数据模型中实施的业务规则,因为它们符合业务领域的要求

例如,在许多上下文中,FD
{Phone number}→{十} 
不是一个非常现实或有用的规则,可能不会构成大多数数据模型的一部分。然而,对于一家电话公司来说,电话号码非常重要,而且很可能是
{phone number}→{十} 
可能是电话公司某些数据模型的一部分,例如,X是用户帐号。在数据库设计中,答案通常是:这取决于


假设这是家庭作业,如果你只有属性名,那么重要的是你可以解释你的答案。您是否将电话号码作为SSN的决定因素,因为您相信每个拥有SSN的人都会有一个唯一的电话号码?为什么?你期望城市属性的值由什么组成?为什么它们是州的决定因素?

你的理由是什么?你对FD的定义是什么?实际上,区号跨城市线,邮政编码跨城市,州和区号线,等等。