mysql中nullify_Core Data 数据库 No Action ,Nullify , Cascade , Deny 用法
假设现在有两个实体,Product 和Manufacturer , 产品和制造商,一个产品只有一个制造商,一个制造商则可能会生产多个商品。这时候制造商和产品则是一对多的关系。
制造商.jpeg
制造商有 address 和 name 两个属性
产品.jpeg
产品有name, price ,time 三个属性。
关系.jpeg
产品与制造商是多对一的关系。
有过java开发经验的人看到Core Data ,可能会感觉到跟java 的 hibernate框架特别相似,事实上也确实有很多相通之处。但是hibernate使用起来要比Core Data 复杂的多。废话不多说。进入正题
使用Core Data 建立实体间关系的时候,点击实体关系,右侧属性检查器面板会出现关系的 Delete Rule 属性。
具体有 No Action ,Nullify , Cascade , Deny 四个属性。
一, No Action
No Action表示框架不对关系的目标对象做任何操作。我不鼓励使用No Action, 因为该选项把模型一致行动工作留给了我们开发人员。Core Data一部分能力就是他的管理数据模型一致性的能力。拿我们开篇Product实例和Manufacturer实例来讲,如果把Product 的 manufacturer关系的Delete Role 设置为No Action。现在我们删除了一个Product实例,和他相关的Manufacturer 对象仍然显示这个已经不存在的产品相关。这个时候维护模型一致性的工作就留到了我们手中,我们得再手动的删除Manufacturer中这个无效的产品。
二,Nullify
Nullify选项是默认选项, 他自动消除反向关系。该选项只对反向关系是可选类型的关系起作用。假设我们将Product 的 manufacturer关系的Delete Role 由 No Action 改为了Nullify。在次情况下,如果删除了一个产品,该产品将不会再出现在Manufacturer的产品关系中。
三, Cascade
Cascade 选项级联删除关系的源和目标,在当前情况下,对于Manufacturer对象的products关系,如果此关系的Delete Rule 被设置为Cascade, 则删除一个制造商时将删除该制造商的所有商品。对于一对多的关系中,我们可以使用级联关系,一的一方被删除。则多的一方也级联删除。相反,在多对一的关系中,则一般不能使用级联关系,删除多的一方的时候一定不能直接级联删除一的一方。
四,Deny
Deny 选项避免删除所有目标对象。对于Manufacture对象的products关系,如果删除仍然有产品的制造商。Core Data讲引发一系列的错误。这种情况下,删除制造商之前应该手动删除和该制造商相关的所有产品。
mysql中nullify_Core Data 数据库 No Action ,Nullify , Cascade , Deny 用法相关推荐
- asp.net mysql 创建变_[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型...
[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型 0 2018-06-30 07:00:08 官方教程: ...
- MySQL中操作关系型数据库 SQL
数据库(database) 常见的数据库: 关系型数据库: SQL server 微软 Oracle oracle (甲骨文) MySQL oracle DB2 IBM SQLIte 安卓 NoSQL ...
- mysql系统数据库服务器,mysql中的系统数据库服务器
mysql中的系统数据库服务器 内容精选 换一换 用户正常的数据(不包括备份数据),以及云数据库RDS实例正常运行所需的数据(比如系统数据库.数据库回滚日志.重做日志.索引等).同时,包含如下云数据库 ...
- hive中的数据库与mysql中的hive数据库的关系
mysql中的hive数据库是自己手动创建的,然后执行下面语句: schematool -dbType mysql -initSchema 该语句的作用是在mysql的hive数据库下建立一大堆的表格 ...
- 在mysql中更新数据sql语句怎么写_在MySQL中,更新数据库表记录的SQL语句,包括______语句...
在MySQL中,更新数据库表记录的SQL语句,包括______语句 答:insert replace update delete 在域F中,设其特征为2,对于任意a,b∈F,则(a+b)2 等于多少 ...
- MYSQL——MYSQL中常见的数据库引擎
文章目录 MYSQL中常见的数据库引擎 1.什么是数据库引擎? 2.MYSQL中有哪些数据库引擎 3.常见引擎介绍 (1)InnoDB (2)MyISAM (3)Memory(Heap) MYSQL中 ...
- mysql gbk编码 字节数,mysql中utf-8编码数据库转换成GBK编码的问题
摘要 腾兴网为您分享:mysql中utf-8编码数据库转换成GBK编码的问题,之了课堂,易信,一折包邮,星球联盟等软件知识,以及七日杀,草莓软件,装修施工站,桔子会,桌面切换,看小说神器,酷派应用商店 ...
- mysql查看当前数据库中表明,MySQL中查看当前数据库的所有表
关键词 MySQL数据库 表 摘要 本文介绍在MySQL数据库中,如何列出并查看当前数据库的所有表. 本文介绍在MySQL数据库中,如何列出并查看当前数据库的所有表. 我们创建一个数据库之后,数据库里 ...
- mysql 正则替换 换行,MySQL中使用replace、regexp进行正则表达式替换的用法分析
本文实例讲述了MySQL中使用replace.regexp进行正则表达式替换的用法.,具体如下: 今天一个朋友问我,如果将数据库中查到的类似于"./uploads/110100_cityHo ...
最新文章
- Linux下C语言编程入门-14关于网络编程(1)TCP
- 6、Hive的特殊分隔符处理
- AOE网上的关键路径
- idea 用iterm 终端_帅气逼人的终端环境
- 【嵌入式】C语言高级编程-语句表达式(03)
- Binary String Reconstruction CodeForces - 1352F(思维+构造)
- 服务器是计算机的一种 是指,pc服务器是指什么意思
- ppt如何旋转流程图_张伟随笔37:我书写方程式和画流程图的方法
- python zope 工作流_使用C语言来扩展Python程序和Zope服务器的教程
- SQL数据去重复 Distinct 和 row_number() over()
- NLTK学习笔记(六):利用机器学习进行文本分类
- 中国互联网今日正式满 20 岁
- iOS开发日记40-详解React Native
- Careercup - Microsoft面试题 - 5680049562845184
- anylogic和java_Anylogic各个版本的功能对比
- Phase2 Day16 数据库SQL
- 经典大数据架构案例:酷狗音乐的大数据平台重构
- 编程猫海龟编辑器 附使用教程
- 锐捷交换机忘记密码解决方案:恢复出厂设置、重置配置文件
- golang的ping检测主机存活
热门文章
- php点赞效果代码,php点赞效果的制作代码+解析(jQuery+Ajax+PHP实现“赞”)
- ftp主动式和被动式_主动与被动公司和分布式工作:十个基本要点
- c语言递归为什么会自动返回,聊聊递归与尾递归——仍然以C语言为例
- JDK介绍(笔记学习)
- 以太网:网络唤醒(WOL)全解指南:原理篇
- Windows Service服务程序的原理及实现(0)服务主函数 控制处理函数
- 2021/01/29思维导图(3)
- 搜索引擎的三个时代及第三代搜索引擎的商业前景
- VirtualBox点击启动时报错
- 天梯赛最短路专题 -- 旅游规划、城市间紧急救援