我看到Oracle、DB2和Server包含一个新列XML。我正在使用DB2进行开发,通过数据库设计,如果xml包含一个列表,您可以破坏1NF。
假设SQLXML可以破坏1NF,这是错误的吗?
谢谢,
发布于 2016-06-15 15:59:28
关系模型与类型是正交的,并且对类型复杂性没有特别的限制。类型可以是任意复杂的,可能包含文档、图像、视频等,只要支持包含该类型的关系的所有关系操作。第一种范式实际上只是关系模式的定义,因此在原则上,XML类型可以由1NF允许。
然而,Oracle、DB2和Microsoft并不是真正的关系型的,它们并不总是忠实地表示关系和关系操作。例如,Server不支持在XML值之间进行比较,这意味着如果x是XML列,就不可能进行像σ(σ)R甚至π(x)R这样的操作。我还没有对DB2和甲骨文做过同样的尝试。这样的表是否可以正确地说是满足1NF是没有意义的,因为XML是作为“特殊”数据实现的,而这些数据并不像我们期望的数据在关系中表现的那样。考虑到这些限制,我认为重要的问题是您所选择的DBMS中的私有XML类型是否真正适合您的目的。
https://stackoverflow.com/questions/37839078
复制相似问题