Mysql 对于本例,哪个关系模型更好?

Mysql 对于本例,哪个关系模型更好?,mysql,sql,database-design,foreign-keys,Mysql,Sql,Database Design,Foreign Keys,这是面向对象数据库的关系模型,以下哪种更好 注意:->此操作数用于定义外键,如(字段->表(参考)) 首先 ** 属性 (id:自动,属性名称) ** 第二 属性(id:自动,属性名称) 类型(id:自动,类型\名称) 类型属性(id:自动,类型代码->类型(id), 属性\代码->属性(id),默认值) 对象(id:自动,名称,对象类型->类型(id)) object\u属性(id:auto,(object\u id, 对象类型)->对象(id,对象类型),(对象类型, 属性\ id)->类

这是面向对象数据库的关系模型,以下哪种更好

注意:->此操作数用于定义外键,如(字段->表(参考))

  • 首先

    **

    属性 (id:自动,属性名称)

  • **

  • 第二

    属性(id:自动,属性名称)

    类型(id:自动,类型\名称)

    类型属性(id:自动,类型代码->类型(id), 属性\代码->属性(id),默认值)

    对象(id:自动,名称,对象类型->类型(id))

    object\u属性(id:auto,(object\u id, 对象类型)->对象(id,对象类型),(对象类型, 属性\ id)->类型\属性(id,属性\ id),我的\值)

  • 实际上,在object_属性表中可以清楚地看到差异

    在第一个模型中,您可以使用代码和属性代码定义属性,这里的问题是您可以定义类型没有为对象类型定义属性的元素。但是,此模型最易于使用,因为对于定义对象属性,您只需要两个代码,如:

    INSERT INTO object_property(object_code, attribute_code, my_value)
     VALUES (3,4,'myvalue')
    
    在第二个模型中,可以使用对象代码、对象类型和属性代码,使用更一致的数据定义属性。但是,您需要使用三个代码和以下附加查询:

    INSERT INTO object_property(object_code, object_type, attribute_code) 
    VALUES (3, (select object_type from object where code = 3), 4, 'my_value')
    
    哪个更好?

    你是说“关系模型”吗?只有一个关系模型:

    我们从未改变过关系模型的公理。我们已经取得了进展 多年来,模型本身发生了许多变化,例如, 我们添加了关系比较,但公理(基本上是 从那以后,那些经典的谓词逻辑(谓词逻辑)一直保持不变 科德的第一篇论文。此外,发生了哪些变化 在我看来,这是进化的,而不是革命性的。因此,我 真的声称只有一个关系模型,即使它有 随着时间的推移而演变,并将继续演变


    这两个答案都不是可以接受的答案吗?说真的,关系数据库的设计不是面向对象的。这将表现得非常糟糕,并且是一个需要编码的PITA。
    INSERT INTO object_property(object_code, object_type, attribute_code) 
    VALUES (3, (select object_type from object where code = 3), 4, 'my_value')