萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

查看: 948|回复: 6

询问关于SQL的Normalformen

[复制链接]
发表于 2006-7-9 11:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
这里有SQL的高手吗?
我请教个几个Normalform的定义。我们上课,讲到了3种Normalformen.

问题一:什么样的表才算Zweite Normalform?后边提到的prim是个什么概念?
用个例子,表Prof其中有四个属性,Professor,Dienststelle,Zimmer,Telefon 简单称P,D,Z,T
值P和D确定了值Z, 值Z确定了值T
所以可以写成:Prof = {PD bestimmt Z, Z bestimmt T}
情况一:Z和T不是prim
情况二:PD和Z都不是Schlüsselkandidat(书上这里写的互相矛盾了,其实是Schlüsselkandidat,所以这里我也不太明白)
在这个例子里Z和T都nichtprim,而且{PD}和{Z}都不是Schlüsselkandidat,所以表Prof符合Zweite Normalform

问题二,什么样的表算Dritte Normalform?有高手能大概讲讲么?
也是两种情况,
情况一:Z和T不是prim
情况二:PD和Z都必须是Superkandidat
比如上边PLZ的例子就不是Dritte Normalform,但是跟Superkandidat没什么关系吧?
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2006-7-9 17:09 | 显示全部楼层
讲起来比较麻烦。不过你去网上搜一下关键字:2NF和3NF就好了
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2006-7-9 17:38 | 显示全部楼层
这是数据库的内容,不是sql的内容,normalform是来评价数据库的设计的
问题一:什么样的表才算Zweite Normalform?后边提到的prim是个什么概念?
prim是candidate key中的一个,2NF没有prim-》none key

用个例子,表Prof其中有四个属性,Professor,Dienststelle,Zimmer,Telefon 简单称P,D,Z,T
值P和D确定了值Z, 值Z确定了值T
所以可以写成:Prof = {PD bestimmt Z, Z bestimmt T}
情况一:Z和T不是prim
情况二:PD和Z都不是Schlüsselkandidat(书上这里写的互相矛盾了,其实是Schlüsselkandidat,所以这里我也不太明白)
在这个例子里Z和T都nichtprim,而且{PD}和{Z}都不是Schlüsselkandidat,所以表Prof符合Zweite Normalform

PD是candidate key
P,D是prim
没有none key vollfunktional abhaengig von P或D
Prof is in 2NF

问题二,什么样的表算Dritte Normalform?有高手能大概讲讲么?
也是两种情况,
情况一:Z和T不是prim
情况二:PD和Z都必须是Superkandidat
比如上边PLZ的例子就不是Dritte Normalform,但是跟Superkandidat没什么关系吧?

针对所有functional dependency  X->Y满足以下条件中的一种
规则1:Y是X的子集(废话)
规则2:Y是prim
规则3:X是Superschluessel
例子
Z->T, Z不是Superschluessel,T也不是prim,所以violate了3NF的规则
符合的例子
M:{A,B,C,D}
F:{ABC->D,ABD->C}

$支持$$支持$$支持$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2006-7-9 21:58 | 显示全部楼层
原帖由 no1rock 于 2006-7-9 17:38 发表
没有none key vollfunktional abhaengig von P或D

先谢谢你的解答,不过还有一点不太懂:
1,这句话是什么意思,能用单一一种语言解释一下么?三国语言有点看不懂的说.
2,prim在2NF里是什么意思?呆板的?静止的?硬的?还是什么?
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2006-7-10 00:21 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2006-7-10 11:47 | 显示全部楼层
同意楼上的,看中文最直接了

这几个范式我理解是用来去除Redundanz(也就是冗余)的。。具体每个范式的规则要LZ仔细看看中文教材的解释,因为上面有些例子楼主一看就明了了。。我们在这里说也很难说太清楚
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2006-7-10 14:17 | 显示全部楼层
上课肯定没有好好听讲的说,prim就是primaerschluessel

很简单,zwei Norm 有两点,1 是erste Norm 2 jede Attribute von ganzen Prim abhaengig ist

同理, dritte Norm也是两点, 1 是 zweite Norm 2 jede Attribute von nichts anderem als dem Prim abhaengig ist

所以很简单,先确定Primaer,然后再看其他Attribute和Primaer之间的关系

你举的例子,俺感觉更像是脑筋急转弯,没有什么实际意义

[ 本帖最后由 大厨 于 2006-7-10 14:20 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-24 03:19 , Processed in 8.176039 second(s), 21 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表