Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何完成每个规范化阶段?_Database_Database Design_Normalization - Fatal编程技术网

Database 如何完成每个规范化阶段?

Database 如何完成每个规范化阶段?,database,database-design,normalization,Database,Database Design,Normalization,我要创建一个数据库,其中包含需要包含的字段列表。我需要做一个表格,显示从1NF到2NF到3NF的标准化过程。然而,我根本不理解规范化,我迫切需要尝试将其规范化。我使用的字段如下所示: 客户ID 姓 名字 电子邮件 菲诺 预订ID 达特雷斯 已收集(是/否) 音素ID 烙印 模型 操作系统 屏幕尺寸 存储容量 价格 描述 Img1 Img2 缩略图 股票 已标记(是/否) 联系人ID 主题 信息 日期联系人 答复(是/否) 我不太擅长数据库设计,所以任何帮助都是有用的。假设这不是家庭作业,我想知道

我要创建一个数据库,其中包含需要包含的字段列表。我需要做一个表格,显示从1NF到2NF到3NF的标准化过程。然而,我根本不理解规范化,我迫切需要尝试将其规范化。我使用的字段如下所示:

客户ID

名字

电子邮件

菲诺

预订ID

达特雷斯

已收集(是/否)

音素ID

烙印

模型

操作系统

屏幕尺寸

存储容量

价格

描述

Img1

Img2

缩略图

股票

已标记(是/否)

联系人ID

主题

信息

日期联系人

答复(是/否)


我不太擅长数据库设计,所以任何帮助都是有用的。

假设这不是家庭作业,我想知道你为什么要展示达到3NF的过程。如果你的数据库是3NF,谁会在乎你是怎么做到的?同样,假设这不是家庭作业,有一种简单的方法可以设计一个3NF格式的数据库

学习ER建模。使用ER建模来描述数据库必须满足的信息需求。仔细选择实体。对于每个实体,请非常小心地为该实体选择一个id。如果它不在给定的数据中,您可能需要合成一个id。这是数据分析,而不是数据库设计。确保您在此阶段发现的属性已附加到正确的实体或关系

这取决于上下文。例如,在人事系统中,“出生日期”是员工的属性。但在生育中心,“出生日期”是出生的一个属性,出生的人与该出生有关系。一次出生可以生几个人

了解如何将ER模型转换为关系模型。出于这些目的,可以将SQL模型和关系模型视为等价的。在选择主键时要非常非常小心,并注意使用“automunber”等功能的后果。您可能需要使用此功能,但当冗余数据输入导致两行具有不同主键时,您可以想出一些应对方法,这两行都引用主题实体的同一实例

如果您的属性已连接到正确的实体或关系,如果您正确地转换到关系模型,并且如果您正确地选择了主键,那么您的数据库将自动处于3NF状态


如果这是家庭作业,那么你的问题并不清楚老师的要求。了解老师想要教你什么可能和告诉我们真正的要求一样容易。

首先,你必须了解规范化。3NF并不难,即使4NF也不难。没有办法arround@AlexWien我发现的问题是,有些解释似乎非常技术性,我发现很难理解,而且我看到的任何例子都与我将要建立的数据库类型无关。根据第四范式,有很好的例子可用。对于我从未真正理解的5NF和6NF,我从未见过示例。只需搜索更多。这是一个数据库,用于一个移动电话网站的大学项目。要求在目录中显示手机、显示每种产品的详细信息、根据类别查看手机、根据名称/价格搜索产品、按价格对产品进行排序、使用反馈表向网站发送查询、保留手机以供收集最多24小时(仅保留,不购买)。我被要求显示一个规范化表,在单独的列中显示UNF、1NF、2NF和3NF中的属性和实体,并绘制实体关系图。同样,他们为什么想知道这一点?这是一个非常奇怪的用户或客户谁会提出这个要求。您需要向普通客户机证明的是,每一列要么是表键的一部分,要么依赖于键、整个键,除了键之外什么都不依赖(所以请帮助您编写代码)。