首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标准盖是哪一种范式?

问标准盖是哪一种范式?
EN

Stack Overflow用户
提问于 2015-08-20 15:30:45
回答 1查看 440关注 0票数 0

我想知道标准封面是哪种形式的。我知道,在进行规范化之前,我们找到了正则覆盖,所以我认为它是第一范式。但它可能没有正常的形式,因为维基百科对1NF的定义是没有重复的:

第一范式强制执行以下标准:

  • 消除单个表中的重复组。
  • 为每一组相关数据创建一个单独的表。
  • 用主键标识每组相关数据
EN

回答 1

Stack Overflow用户

发布于 2015-08-23 12:35:59

范式适用于关系(值和变量),而不是规范覆盖。掩护是一组FDs (函数依赖项),关系中的所有FDs都是由此而来的。标准盖是某种形式的盖子。如果您有一个规范覆盖和一个关系的属性,那么您可以找到该关系的正常形式。

根据“关系”的定义,任何行都不能有重复。关系有一组行。(不过,SQL表可以有重复的行。)列/属性不能是“多值”或“重复组”。属性有一个值。

维基百科在包括你引用的那个在内的相关文章中有很多无稽之谈。但来自这是我的回答

根据定义,关系的元组属性具有来自域的值。Re:“重复组”:它不可能有,这是来自关系前数据库的东西。关于“非原子”:Codd将关系定义为能够具有关系值域。他指出,(在日常意义上)在关系上下文中,一个值可以被视为非原子值的唯一方法是被关系值。他把关系上下文中的“原子”定义为“非关系”。他将“规范化”定义为没有关系值(即非原子)属性。(所有这些都是在1970年中。)后来,他将"1NF“定义为规范化。并发展了"2NF“和"3NF”。然后(跟在肯特和博伊斯后面) "BCNF“。因此,他对这些术语的使用假定没有关系值域。 但归一化理论是独立于领域的。它被认为只是分解每一个有问题的JDs连接依赖项。因此,"1NF“也被用来作为一种关系。而另一个"NFs“则被使用而不考虑域。(尽管如果存在关系值域,则可能存在与FDs和JD不同但类似的约束,这些约束会导致不同但相似的异常,甚至在每个有问题的JD分解后也会导致组件中的约束和异常。)不管关系是否有关系值域,也不管"1NF“、”规范化“或”规范化“意味着什么,您从有问题的FDs中删除问题JD到称为NF的分解过程都是独立于域的。

来自另一个

  1. 在关系中没有所谓的“多值属性”。元组对于每个属性名都有一个属性值。..。如果您有一个属性,您认为它包含多个部件,即不使用带有参数的运算符来一般性地查询这些部件,那么通常最好的设计是为这些部件设置一个具有属性的单独表。但这不是通过正常化来解决的。任何值都可以被认为以多种方式具有多个部分,并且是您的应用程序/查询决定了何时停止创建其属性值是其他值的部分的表,并且只有一个值的属性。类似地,如果您有一组属性扮演着类似的角色(通常具有相似的名称),那么通常最好是为角色设置一个单独的表,其中只有一个属性。但这不是通过正常化来解决的。
  2. 候选密钥对FDs、MVD、JD和规范化很重要。PKs主键不能。您可以选择一个CK作为“PK”,但是它的基本属性与关系模型无关。它可能与某些信息建模方法或产品相关。

如果您特别关注您的关系、属性、属性类型、规范覆盖或规范化过程,那么您应该在您的问题中解释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32122391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档