【问题标题】:Which DBMSs allow for nested relations and references?哪些 DBMS 允许嵌套关系和引用?
【发布时间】:2013-11-16 17:13:49
【问题描述】:

Database Systems: The Complete Book 的第二版中,作者在第 10.3 节中提到,许多关系 DBMS 现在是真正的“对象-关系” DBMS。

他们提到了嵌套关系,其中 Stars 关系的经典示例可以表示为:

Stars(name, [...], movies(title, year, length))

和引用,可以表示为:

Stars(name, [...], movies({*Movies}))

第一种形式看起来会引入异常,但第二种形式看起来很有趣。我想测试它,但我似乎找不到任何那些“对象关系”DBMS。这个想法实际上有实现吗?

【问题讨论】:

    标签: database-design database object-relational-model


    【解决方案1】:

    Oracle 提供对嵌套表和可变数组(可变数组)的支持 http://docs.oracle.com/cd/B28359_01/appdev.111/b28371/adobjcol.htm

    PostgreSQL 还支持嵌套表(例如:http://architects.dzone.com/articles/nested-data-structures-and-non)和许多与数组相关的功能

    MySQL 不支持嵌套表,但需要考虑一种 SET 数据类型: http://dev.mysql.com/doc/refman/5.7/en/set.html

    一般来说,使用这些功能而不是标准化方法是否是一个好主意,可能取决于您的应用程序/数据

    【讨论】:

    • 谢谢!我知道 MySQL SET,但是无法声明对集合成员的约束并不能使它成为一个有吸引力的解决方案。 PostgreSQL 处理这个的方式看起来很方便,我会研究一下!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 2011-04-02
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    相关资源
    最近更新 更多