首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“核心数据不是关系数据库。”为什么这一点很重要?

“核心数据不是关系数据库。”为什么这一点很重要?
EN

Stack Overflow用户
提问于 2014-10-28 01:38:04
回答 3查看 5K关注 0票数 11

我意识到这可能是很多人的常识,所以如果这似乎是一个愚蠢的问题,那么请原谅我。

我正在尝试学习用于iOS编程的核心数据,我已经反复阅读和听到它说过,核心数据(CD)不是一个关系数据库。但是,关于这一点,很少有人说过其他的话,或者说,为什么要知道学术意义之外的事情是非常重要的。我的意思是,至少从功能上来说,你似乎可以把CD当作一个数据库来使用--存储和获取数据,运行查询等等。从我对它的基本理解来看,我看不出它与数据库有什么不同。

我并不怀疑这一区别是重要的。我相信很多聪明的人不会在这一点上浪费他们的时间,如果它不是有用的理解。但我希望有人能解释一下--最好是举例说明-- CD不是一个关系数据库是如何影响我们如何使用它的?或者,如果我没有被告知CD不是一个关系数据库,这将如何对我作为一个目标-C/Swift程序员的性能产生不利影响?

如果将CD作为关系数据库处理,是否会尝试不正确地做一些事情?或者,关系数据库是否做不到或做得不如CD设计要做的那么好?

感谢大家的集体智慧。

EN

Stack Overflow用户

回答已采纳

发布于 2014-10-28 17:34:47

人们强调“非关系型数据库”的角度,因为拥有一定数据库经验的人在使用核心数据时容易出现特定的错误,这些错误是由于试图太直接地应用他们的经验而导致的。下面是一些例子:

  • 创建实质上是SQL连接表的实体。这几乎是不必要的,通常会使事情变得更加复杂和容易出错。核心数据直接支持多到多的关系。
  • 在实体中创建唯一的ID字段,因为他们认为需要一个字段来确保唯一性和创建关系。有时,创建自定义唯一is是有用的,通常不是。
  • 根据这些唯一ID设置对象之间的关系,而不是使用核心数据关系--即保存相关对象的唯一ID,而不是使用ObjC/Swift语义来关联对象。

核心数据可以而且经常用作数据库,但是从其他关系数据库的角度来考虑它是一个很好的方法。

票数 13
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26599599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档