【问题标题】:OrientDB: What are Class Properties used for ?OrientDB:类属性有什么用?
【发布时间】:2017-07-05 12:12:49
【问题描述】:

我是 OrientDB 的新手,我知道类可以具有属性,在这种情况下,它们实际上充当关系数据库中的表。但是,我发现即使我为一个类定义了属性,它仍然不能保证从这个类创建的文档对于它的所有属性都有一个值。

例如: 在这里,我定义了一个带有属性“name”的类“Person”,尽管它没有该属性的值,但我仍然向该类插入一个新文档。 如果是这样,属性的用途是什么?如何确保不包含某个属性值的文档不会插入到类中?

orientdb {db=GratefulDeadConcerts}> 创建班级人

类创建成功。现在数据库中的总类数:17。

orientdb {db=GratefulDeadConcerts}> 创建属性 person.name 字符串

属性创建成功,id=1。

orientdb {db=GratefulDeadConcerts}> 插入个人内容 {“电话”:“1234”}

在 0.000000 秒内插入记录 'person#66:0{phone:1234} v1'。

orientdb {db=GratefulDeadConcerts}> 从人中选择

+----+-----+------+-----+ |# |@RID |@CLASS|电话| +----+-----+------+------+ |0 |#66:0|人|1234 | +----+-----+------+-----+

【问题讨论】:

    标签: orientdb


    【解决方案1】:

    在 OrientDB 中,您可以在无模式、混合模式或完全模式下工作。 您可以定义属性,也可以对每个属性定义约束:

    http://orientdb.com/docs/last/SQL-Create-Property.html

    同时你可以在属性上定义索引:

    http://orientdb.com/docs/last/Indexes.html

    例如,如果您希望某个属性在整个类中具有唯一值(主键),只需定义一个唯一索引:

    CREATE INDEX Person.name ON Person (name) UNIQUE

    希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 2021-12-26
      • 1970-01-01
      • 2017-06-14
      • 1970-01-01
      • 2010-11-12
      • 2013-08-08
      相关资源
      最近更新 更多