实体中的属性分组(核心数据)

Posted

技术标签:

【中文标题】实体中的属性分组(核心数据)【英文标题】:Grouping of attributes in entities (Core Data) 【发布时间】:2017-08-15 16:41:43 【问题描述】:

我已经创建了我的数据库,但需要将某些属性组合在一起,例如,

实体: Human

属性: Nose ears mouth fingers toes

分组属性:

Face(noseearsmouth)

Hand(fingers)

Foot(toes)

有没有办法对属性进行分组,以便我可以显示所有 Face 属性?而不是列出noseearsmouth

显然,使用小型数据库列出属性是可以的,但是当数据库变得更大时,这可能会很快变得复杂。

提前感谢您的帮助!

【问题讨论】:

当您说“展示”或“列出”时,您是指在设计工具中还是在正在运行的程序中? (IOW,你是怎么给他们看的?) 一般来说,查询数据的子集而不是干净的数据。我基于此提出了一个新问题:***.com/questions/45703852/… 一般性评论:无论是处理结构还是查询,将 Core Data 视为数据库都是有问题的方法。它是一个对象持久化工具,因此保持面向对象的焦点是对它的最有效使用。 (底层数据库是一个实现细节,应该像组成字母“A”的位模式一样对待。也就是说,通常被忽略。) 【参考方案1】:

不,您不能对属性进行分组。 您可能会做的是创建实体 Human 与描述您的组的其他实体的关系。因此,您将拥有具有以下属性的实体 Face:鼻子、耳朵、嘴巴等,然后您将在这两个实体之间创建关系。但我的观点是,这完全没有必要和毫无意义,因为你的实体之间会有一对一的关系——一个人只能有一张脸,每张脸只属于一个人。 我认为您唯一应该做的就是创建某种适合您的日志记录方式。

【讨论】:

谢谢,我根据这个问题提出了一个新问题。也许您可以了解如何最好地设置我的数据库:***.com/questions/45703852/…

以上是关于实体中的属性分组(核心数据)的主要内容,如果未能解决你的问题,请参考以下文章

分组核心数据对象

NSPredicate 不适用于核心数据中的抽象实体属性

为啥向核心数据实体添加双重属性会导致远距离相关实体中的属性冲突出现 NSInternalInconsistencyException?

根据核心数据中的属性对实体中的行进行排序

返回实体中的随机属性(核心数据)

存储阵列属性中的核心数据或使用文件或关系实体