gpt4 book ai didi

sql-server - SQLXML 是否破坏了 1NF?

转载 作者:行者123 更新时间:2023-12-03 02:08:15 25 4
gpt4 key购买 nike

我看到 Oracle、DB2 和 SQL Server 包含一个新列 XML。我正在使用 DB2 进行开发,并且根据数据库设计,如果 xml 包含列表,您可以打破 1NF。

我认为 SQLXML 可以破坏 1NF 的假设是错误的吗?

谢谢,

最佳答案

关系模型与类型正交,并且对类型复杂性没有特别限制。类型可以任意复杂,可能包含文档、图像、视频等,只要包含该类型的关系支持所有关系操作。第一范式实际上只是关系模式的定义,因此原则上 1NF 允许 XML 类型。

然而,Oracle、DB2 和 Microsoft SQL Server 并不是真正的关系型,并且并不总是忠实地表示关系和关系操作。例如,SQL Server 不支持 XML 值之间的比较,这意味着如果 x 是 XML 列,则无法进行 σ(x=x)R 甚至 π(x)R 等操作。我还没有对 DB2 和 Oracle 进行过同样的尝试。是否可以正确地说此类表满足 1NF 是没有意义的,因为 XML 被实现为“特殊”数据,其行为与我们期望的数据在关系中的行为不同。鉴于这些限制,我认为重要的问题是您选择的 DBMS 中的专有 XML 类型实际上是否适合您的目的。

关于sql-server - SQLXML 是否破坏了 1NF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com