标签: database-normalization

无损连接属性

有人可以向我解释一下关系模式中的无损连接属性是什么意思吗?

是否能够在规范化的同时在关系分解期间保持信息/数据的语义?

join natural-join relational-database database-normalization

3
推荐指数
1
解决办法
3万
查看次数

不保留功能依赖性的分解

什么时候BCNF分解不能保留功能依赖...我试图想出这个说R =(V,W,X,Y,Z)

relational-database database-normalization functional-dependencies

3
推荐指数
2
解决办法
5362
查看次数

BCNF:寻找实际使用超级键而不是候选键的示例

Boyce-Codd 范式的定义指出所有非平凡函数依赖的决定因素必须是超键。

我发现 BCNF 中的所有关系示例都使用了候选键。我正在寻找一个实际上有一个超级键作为行列式的例子,它不是候选键。

我没有想出一个只使用无法转换为使用候选键的超级键的关系。

假设我们有一个候选键和一个额外的函数依赖关系,其中一个超级键作为行列式。

R1(A,B,C)
{A}
A,B -> C
Run Code Online (Sandbox Code Playgroud)

这个额外的 FD 是多余的,因为它包含一个明显确定其他属性 (A -> C) 的候选键。

尝试使用两个候选键构建另一个示例也是无用的。

R2(A,B,C,D)
{A,B},{B,C}
A,B,C -> D
Run Code Online (Sandbox Code Playgroud)

这与上面的问题完全相同。

我实际上想知道是否有没有候选键的例子。但为什么定义会比必要的更广泛?或者定义是否等效,因为依赖项总是可以转换?

database key relational-database database-normalization bcnf

3
推荐指数
1
解决办法
912
查看次数

第一范式和时间数据

第一个正常形式表明行排序无关紧要.这是否意味着日期作为密钥的一部分的表不是1NF?例如,考虑一个股票价格表,其中日期/时间是PK的一部分.在这种情况下,您可以通过按日期排序数据并选择前1行来获得最后价格.这是否意味着要实现1NF,您需要将表拆分为:1)TickerCurrentPrice(每个股票代码1行)2)TickerHistoricalPrice谢谢

database database-normalization

2
推荐指数
1
解决办法
617
查看次数

wordpress数据库不应该被规范化吗?

我刚刚开始学习自定义wordpress查询并遇到了wordpress数据库.我很惊讶地发现数据库没有正常化.我的意思是,如果您没有大量数据,但是如果您拥有大量数据,那么使用这样的结构(即具有冗余数据)是可以的.它性能会降低,不是吗?我的问题是:

为什么这样一个知名产品会使用非规范化数据库?背后有什么具体原因吗?

在此输入图像描述

mysql database wordpress database-design database-normalization

2
推荐指数
1
解决办法
1027
查看次数

了解标题和详细信息表

我已经在各种数据库中看到了这个,但我将使用最新的例子.在AdventurWorks2012数据库中,有

  • PurchaseOrderHeader
  • PurchaseOrderDetail

  • SalesOrderHeader的
  • 的SalesOrderDetail

我试图理解为什么你可以将这些设置放在一个表而不是两个表中的概念.很抱歉我对此类设置缺乏了解.我想确保当我创建新表时,我想知道这种类型的设计,它将如何工作类似于我可能合并使用Header和Detail捕获数据输入到表中的原因.

例如

  1. 当前的日期
  2. 这个月
  3. 本财政年度
  4. 公司ID
  5. 修订号
  6. 服务产品1金额
  7. 服务产品2金额
  8. 服务产品3金额
  9. 服务产品4金额
  10. 服务产品5金额
  11. 总金额(上述项目6-10)
  12. 认证日期
  13. 认证官
  14. 提交日期

希望我的问题很明确.

======================

编辑了通过我对@Szymon的响应使用Header/Detail设置的详细示例

在上面的示例中,将其布局为Header/Detail设置.提交记录时,它会生成一个ID,因此我的Header Table将如下所示:

标题表

1,'11/13/13',11,2013,'000001',0,10.00,'11/12/13','President','Chuck','11/12/13'

然后在我的详细信息表中它也会生成一个ID但是使用前一个记录作为FK,它看起来像这样...... 1(新ID),1(先前的标题表的FK),2(作为服务产品1) ,2(作为服务产品2),2(作为服务产品3),2(作为服务产品4),2(作为服务产品5)

细节表

1,1,2.00,2.00,2.00,2.00,2.00

==================================================

再次修订:提供更好的跟进示例.

WKS_Header表:( PK是WKS_Header_ID)

WKS_Header_ID [int] IDENTITY(1,1) NOT NULL,
Company_ID [varchar](6) NOT NULL,
Current_Date [DateTime] NOT NULL, 
Current_Month [int] NOT NULL, 
Current_Fiscal_Year [int] NOT NULL,
Revision_Number [int] NOT NULL,
Worksheet_ID [varchar] (13) NOT NULL,
Total_Amt [money] NOT NULL,
Certification_Date [DateTime] NOT NULL,
Certification_Officer [varchar] (50) NOT …
Run Code Online (Sandbox Code Playgroud)

sql database-design database-normalization

2
推荐指数
1
解决办法
1万
查看次数

像我五岁一样解释 - >主键如何满足第一范式

提前感谢您的知识.我正在攻读微软技术考试,其中一个练习题是:

创建主键满足第一个普通表单.对或错?

我个人认为它是假的,因为第一个正常形式是摆脱重复的组.但是文中有一句话(数据库基础,微软出版社考试98-364),其中说明如下:

"第一个规范化形式(1NF)表示数据采用实体格式,这基本上意味着必须满足以下三个条件:•表格必须没有重复记录.一旦为表格定义了主键,就可以了已达到第一个标准化形式标准."

请帮助我理解这一点,请解释,就像我五岁.谢谢.

database database-design database-normalization

2
推荐指数
2
解决办法
899
查看次数

什么是数据库规范化和功能依赖性?

我正在阅读数据库规范化教程,我很难理解以下内容:

函数依赖性表示如果两个元组具有相同的属性A1,A2,...,An的值,那么这两个元组必须具有相同的属性B1,B2,...,Bn的值.

功能依赖性由箭头符号(→)表示,即X→Y,其中X在功能上确定Y.

以上两个是指什么?"功能决定"是什么意思?

我可以有一个元组,其中A1,A2,A3相同,但B1,B2,B3是不同的.

sql database normalization database-normalization

2
推荐指数
1
解决办法
265
查看次数

OLAP和OLTP中的规范化

尽管阅读了书籍和文章,但我无法找到下面的具体答案.

OLAP和OLTP的最小和最大标准化程度应该是多少?

我认为,OLTP的最小值是第3范式,OLAP的最大值是第2范式.

我们可以请详细说明以补充答案吗?

olap database-design oltp normalization database-normalization

2
推荐指数
1
解决办法
1660
查看次数

如果我们使用自动递增的标识列和PK,则违反3NF

正如Thomas Connolly和Carolyn Begg在180页写的"数据库解决方案第二版"一书所述:

第三范式(3NF)
已经在1NF和2NF中的表,其中所有非主键列中的值只能从主键列而不是其他列中计算出来.

我已经看到很多人们使用标识列的情况,尽管他们的表中已经有了主键列.记录也可以从标识列中得出,如果我们在表中使用自动递增的标识列和主键,是不是违反了3NF?

更新:如果不是这样,哪个列应作为另一个表中的外键引用.主键列或标识列?

database-design entity-relationship third-normal-form database-normalization

2
推荐指数
2
解决办法
249
查看次数