Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Normalization 在理解1NF时我错过了什么_Normalization - Fatal编程技术网

Normalization 在理解1NF时我错过了什么

Normalization 在理解1NF时我错过了什么,normalization,Normalization,我有一个关于1NF的非正式问题。 当我从不同来源阅读时,如果表中不包含重复组,则该表位于1NF中。 我通过网上给出的例子(通常是客户和联系人姓名等)理解这一点,但当涉及到我的具体数据时,我面临着困难 我有以下字段: ID TOW RECEIVER Phi01_L1 Phi01_L2 Phi01_L3 1 4353 gpo1 0.007 0.006 0.4 2 4353 gpo1 0.9 0.34 0.3 这张桌子不是1NF?它

我有一个关于1NF的非正式问题。 当我从不同来源阅读时,如果表中不包含重复组,则该表位于1NF中。 我通过网上给出的例子(通常是客户和联系人姓名等)理解这一点,但当涉及到我的具体数据时,我面临着困难

我有以下字段:

 ID  TOW  RECEIVER Phi01_L1 Phi01_L2 Phi01_L3
  1  4353  gpo1     0.007   0.006     0.4
  2  4353  gpo1     0.9     0.34      0.3
这张桌子不是1NF?它应该是怎样的才能成为

什么是第一范式(1NF)? 1NF-不允许组合属性、多值属性和嵌套关系;其单个元组的值为非原子的属性

如何将关系转换为1NF? 扩展关系:

  • 增加关系中的冒号数(如您所做的那样)
  • 增加行数并更改主键值。(主键将包括非原子属性)
因此您的
关系在当前关系状态下看起来是1-NF
您所做的解决方案是扩展

中断关系:

  • 将关系分成两个关系-例如,从基本关系中删除非原子列,创建新关系,并使用PK添加到新关系

正常形式在书中得到了最好的解释

Phi01_L1 Phi01_L2 Phi01_L3有点像“重复组”,不是吗?你能把它分成四个独立的表吗(ID,2,RECEIVER,ID,(L1),(ID,L2)和(ID,L3)?好的。但是如果我有类似的字段,比如SNR,L1/SNR,L2/SNR,L3和Lc,L1/Lc,L2/Lc,L3…等等,那么我将不得不做很多表…这不是很像,如果我试图连接所有这些表,我会失去性能吗?事实上,“是的”。在“规范化”和“性能”之间经常存在紧张关系—“非规范化”模式通常可以简化它。通常,它还可以提高性能:)