mysql 数据表的关系总共有三种。

第一:1对1 的关系(1:1)。

第二:1对多的关系(1:n)。

第三:多对多的关系(m:n)。

不过在设计的过程中遇到第一个和第二个中有两个选择。Identifying relationship 和non-Identifying relationship。为了以后学习记录,特此写了这份博客。

通过简单的例子 介绍Identifying relationship (识别关系)  和 non-Identifying relationship(非识别关系)区别:

一本书属于所有者,所有者可以拥有多本书。 但是,这本书也可以存在,没有所有者,所有权可以从一个所有者改变为另一个。 书与所有者之间的关系是一种非识别的关系。

然而,一本书是由作者撰写的,作者可以编写多本书。 但是,这本书需要由作者撰写 - 如果没有作者,它就不可能存在。 因此,书与作者之间的关系是一种识别关系。

识别关系:

识别关系是当子表中的行的存在取决于父表中的行时。 这可能令人困惑,因为这些日子常见的做法是为子表创建伪指令,但不能将外键作为子键的父键部分。 正式地,“正确”的做法是让外键成为小孩的主键。 但逻辑关系就是没有父母的孩子就不可能存在。

非识别关系:

父级的主键属性不能成为子级的主键属性。

---------------------

作者:王者之子

来源:CSDN

原文:https://blog.csdn.net/nurjan101/article/details/72854239

版权声明:本文为博主原创文章,转载请附上博文链接!

操作区别:

(3) Identifying relationship

删除父表数据时,如果子表有关联数据,则父表数据删除不掉,并且删除时报错。

(4) Non-indentifying relationship

删除父表数据时,如果子表有关联数据,则把子表对应的外键字段值设置为空。 (5) View relationship

mysql indentify_MYSQL Identifying relationship 和non-Identifying relationship 区别相关推荐

  1. Oracle与Mysql主键、索引及分页的区别小结

    Oracle与Mysql主键.索引及分页的区别,学习oracle的朋友可以参考下 区别: 1.主键,Oracle不可以实现自增,mysql可以实现自增. oracle新建序列,SEQ_USER_Id. ...

  2. Mysql之drop、truncate和delete的区别

    一.delete 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表 ...

  3. 了解mysql的三种不同安装方式的区别

    学习目的:了解mysql的三种不同安装方式的区别 学习内容: mysql 的安装有三种:分别是源码安装.二进制安装.rpm安装. 源码安装的优势:linux操作系统开放源代码,因此在其上面安装的软件大 ...

  4. php普通索引和唯一索引,MySQL中普通索引和唯一索引的区别详解

    本篇文章介绍了MySQL中普通索引和唯一索引的区别,讲解很详细,希望对学习MySQL的朋友有帮助! 需要注意的是: redo log中的数据,可能还没有 flush 到磁盘,磁盘中的 Page 1 和 ...

  5. mysql存储引擎中INNODB和MyISAM的区别

    切记:存储引擎是基于表的,而不是数据库. 存储引擎概念: MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不 ...

  6. MySQL中索引与视图的用法与区别详解

    索引与视图是我们在日常使用mysql必不可少的一部分,最近在学习中看到一本书中关于这方法写的不错,所以这篇文章主要给大家介绍了关于MySQL中索引与视图的使用与区别的相关资料,需要的朋友可以参考借鉴, ...

  7. Mysql 重做日志及与二进制日志的区别

    Mysql 重做日志及与二进制日志的区别(转http://blog.uouo123.com/post/623.html) Mysql默认情况下会有两个文件:ib_logfile0和ib_logfile ...

  8. PHP中MySQL、MySQLi和PDO的用法和区别

    MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension.MySQLi 的 i 代表 Improvement ,提供了相对进阶的功能,就 Extension 而言,本身也增加了安全 ...

  9. MySQL+create+base,MySQL中CREATE DATABASE和CREATE SCHEMA的区别

    MySQL中CREATE DATABASE和CREATE SCHEMA的区别 create schema 是创建模式 create database 是创建数据库 但进入MySQL不用选择任何数据库即 ...

  10. mysql中 REPLACE INTO 和 INSERT INTO 的区别

    mysql中 REPLACE INTO 和 INSERT INTO 的区别 REPLACE INTO 和 INSERT INTO 功能类似,都是像表中插入数据,不同点在于:REPLACE INTO 首 ...

最新文章

  1. 用74l138实现一个一位全减器_用pygame实现一个简单的五子棋游戏
  2. cli能记日志web不能php,异步日志输出方案
  3. 音乐播放器的实现-音乐文件的获取(1)
  4. ios 设计模式 MVC ,MVVM
  5. c#v2.0 扩展特性 翻译(1)
  6. Java中Date及Timestamp时间相关内容【转】
  7. 【wikioi】1022 覆盖(匈牙利)
  8. Ubuntu创始人谈Windows 7、Chrome OS
  9. JavaScript之Object
  10. 删除PHP配置文件中的注释行
  11. JAVA学习day06
  12. LINUX Centos7利用七牛空间做定时备份 qshell定时备份,定时上传到七牛空间
  13. Dynamics AX2012 X++语言基础
  14. ctf入门——实验吧
  15. BackTrack5 学习笔记三
  16. 数风流人物,还看今朝(记通用产品射箭团队活动)
  17. jvm性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(二)
  18. Eclipse更新了Eclipse公共许可(EPL)
  19. BZOJ_3362_[Usaco2004 Feb]Navigation Nightmare 导航噩梦_并查集
  20. java is命名_JAVA命名规范性总结

热门文章

  1. 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路(强烈顶,学习榜样!)
  2. 计算机一级复习知识点小自考,《数字图像处理》自考复习知识点.doc
  3. 关于std::abs 和 abs在ACM中的避坑
  4. jpa 去重_SpringDataJPA系统(3)
  5. mysql中insert into含义_MySQL中insert into语句的用法
  6. 重新部署源端OGG问题汇总2
  7. ac 计算机考试,计算机接口试2010考试题Achenlin.doc
  8. html 表单折叠实现,纯CSS HTML表格单元格展开/折叠点击
  9. 解决 另一个程序正在使用此文件,进程无法访问
  10. 干货!拥抱大模型,探寻新时代的科研范式