Database 数据库综合设计

Database 数据库综合设计,database,database-design,database-administration,Database,Database Design,Database Administration,什么是数据库综合设计。它仅仅是从一组功能依赖性生成最小覆盖集的过程,还是有更多的过程?这是一个让我很困惑的话题,我将不胜感激。如果你能举个例子,请举个例子。我想你很难得到一个好的答案,除非你读过关于这个问题的旧论文或过时的教科书 在20世纪80年代,当关系理论还很年轻并且在学术上很有意思时,人们希望通过使用更高级的语言来描述函数依赖关系,从而实现数据库设计的自动化。综合设计是这一领域的一个理念 问题是这是一种蛇咬尾巴的问题:数据库设计(“规范化”)的困难在于发现函数依赖关系,而不是在E/R图或S

什么是数据库综合设计。它仅仅是从一组功能依赖性生成最小覆盖集的过程,还是有更多的过程?这是一个让我很困惑的话题,我将不胜感激。如果你能举个例子,请举个例子。

我想你很难得到一个好的答案,除非你读过关于这个问题的旧论文或过时的教科书

在20世纪80年代,当关系理论还很年轻并且在学术上很有意思时,人们希望通过使用更高级的语言来描述函数依赖关系,从而实现数据库设计的自动化。综合设计是这一领域的一个理念

问题是这是一种蛇咬尾巴的问题:数据库设计(“规范化”)的困难在于发现函数依赖关系,而不是在E/R图或SQL中表示它们。在这种语言中,物理设计考虑因素(性能,但也包括权限)可能无法表达,这使得问题更加复杂

任何“规范化算法”都假定输入了一些不存在的东西:对已知函数依赖关系的描述。如果确实存在这样的描述,它可以验证它们是否一致,并将其最小化。但事实并非如此,任何有资格创建一个的人都会在用SQL表达它们时自然地(几乎无意识地)验证并最小化它们

是的,如果完全正确地描述了FDs,那么数据库设计的跌宕起伏的迭代过程可以自动化。还有,如果猪有翅膀


矛盾和冗余依赖往往会在设计过程中出现,因为没有任何东西可以先验地发现它们。因此,它们的任何验证工具都要遵循最古老的计算真理:垃圾输入,垃圾输出

你用谷歌搜索并研究过吗?你发现了什么?我找到了,但我不确定所涉及的过程。通过合成进行设计是否与通过合成进行规范化相同?在这种情况下,过程只是找到最小覆盖集,然后将规范化应用于第三个NF,如果保持了所有功能相关性,则应用BCNF?这不是真正的代码或编程问题。您可能会在Database Administrators(数据库管理员)组中得到更好的答案。综合的潜在价值肯定是,它允许从形式语法中的业务领域描述中派生出正确的数据库设计。例如,Halpin的R-map过程根据主题专家(不仅仅是数据库设计师)能够理解和验证的符号合成数据库设计。我不认为这是一个过时的概念,即使它没有被广泛应用到它的全部潜力。不过解释得很好。