*实体之间的关系*

1)1对1关系:

两个实体表内,存在相同的主键字段。

  1.1)设计:

      如果记录的主键值等于另一个关系表内记录的主键值,则两条 记录对应,1:1对应。


例子:

#表一:学生信息表          #表二:学生详细信息表

学生主键   学号   姓名    *     学生主键   生日   住址
               *
  1    1101      张三     *        1    10.15   北京
  2    1102      李四     *        2       12.15   上海

【注意】:
垂直分隔:在优化的角度上来讲,如果说一个表内的字段过多,就应该将其拆分出来,
分为哪些常用和哪些不常用,同时分割成两个或者多个表,只要每一个表内有相同的主键就行。

2)一对多关系:
      一个实体对应多个其它实体。
例如:一个班级对应多个学生。

    2.1)设计:
      在多的那端,增加一个字段,用于指向该实体所属的另外的实体的标识。

例子:

#表一:学生主信息表         #表二:班级表

学生主键   学号   姓名   班级号    *   班级主键   开班时间   课程
  1     1101   张三        8        *      8    2018-08-10   JAVA
  3        1102   李四        9        *      9    2018-10-10   LINUX
  5        1103   王五        8     *
  6        1104   赵四     8        *

3)多对多关系:

    3.1)设计:
        利用一个中间关系表来表示实体之间的对应关系。

例子:

#表一:老师信息表        #表二:班级信息表

讲师主键   名字    *      班级主键   班级名
1          赵四    *          10      1101
3          张三    *          15           1105

想要表达表一和表二之间的多对多关系(赵四教了1105班;张三教了1101和1105班),需要借助一个中间关系表。

#表三:中间关系表
讲师主键   班级主键
1       1105
3       1101
3       1105

【注意】

    中间表的每个记录,表示一个关系。

实体间的关系:1:1,1:N,M:N的更多相关文章

  1. ASP.NET Web API基于OData的增删改查,以及处理实体间关系

    本篇体验实现ASP.NET Web API基于OData的增删改查,以及处理实体间的关系. 首先是比较典型的一对多关系,Supplier和Product. public class Product { ...

  2. [转]ASP.NET Web API基于OData的增删改查,以及处理实体间关系

    本文转自:http://www.cnblogs.com/darrenji/p/4926334.html 本篇体验实现ASP.NET Web API基于OData的增删改查,以及处理实体间的关系. 首先 ...

  3. Entity Framework 实体间的外键关系

    EF 默认是开户级联删除的,这此规则将会删除非空外键和多对多的关系,如果 在数据库上下文中的实体模型类 存在着 级联引用和多重删除路径,那么EF就抛出 级联引用和多重删除路径的异常. Introduc ...

  4. 《Entity Framework 6 Recipes》中文翻译系列 (10) -----第二章 实体数据建模基础之两实体间Is-a和Has-a关系建模、嵌入值映射

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-11 两实体间Is-a和Has-a关系建模 问题 你有两张有Is-a和Has-a ...

  5. 实体之间的关系【Entity Relationships】(EF基础系列篇9)

    Here, you will learn how entity framework manages the relationships between entities. Entity framewo ...

  6. 小例子(二)、winform窗体间的关系

    写一个关于winform窗体间的关系 1.登陆,思路:登陆后隐藏登陆窗体,关闭Form2时结束整个应用程序. //登陆窗体 private void button2_Click(object send ...

  7. Linux权限与命令间的关系

    极重要!权限与命令间的关系: 我们知道权限对於使用者帐号来说是非常重要的,因为他可以限制使用者能不能读取/创建/删除/修改文件或目录! 在这一章我们介绍了很多文件系统的管理命令,第六章则介绍了很多文件 ...

  8. 转载:2.1 运行中的Nginx进程间的关系《深入理解Nginx》(陶辉)

    原文:https://book.2cto.com/201304/19624.html 在正式提供服务的产品环境下,部署Nginx时都是使用一个master进程来管理多个worker进程,一般情况下,w ...

  9. UML类图与类间六种关系表示

    UML类图与类间六种关系表示 1.类与类图 类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性,操作,关系的对象集合的总称. 类图是使用频率最高的UML图之一. 类图用于描述系统中所包含的 ...

随机推荐

  1. 【Python】表白程序

     程序链接:https://www.lanzous.com/i8xj5mh # 打包操作 # 安装pyinstaller # cmd输入 pip install pyinstaller # shift ...

  2. centos7重启Mysql命令

    执行命令/etc/init.d/mysql restart重启Mysql服务器

  3. Linux - pip 安装使用说明

    简介 pip类似RedHat里面的yum,安装Python包非常方便.本节详细介绍pip的安装.以及使用方法 方案一 wget https://bootstrap.pypa.io/get-pip.py ...

  4. 2020牛客寒假算法基础集训营3 G.牛牛的Link Power II (树状数组维护前缀和)

    https://ac.nowcoder.com/acm/contest/3004/G 发现每个“1”对于它本身位置产生的影响贡献为0,对前面的“1”有产生贡献,对后面的"1"也产生 ...

  5. 3-在Django中使用使用数据库

    数据库设置 在上一章节中学习了如何创建Django项目,在Django项目中创建web应用,以及如何在Django主程序的URL中引用web应用中的URL.下面来了解如何在Django中使用数据库.D ...

  6. 巨杉Tech|SequoiaDB 巨杉数据库高可用容灾测试

    数据库的高可用是指最大程度地为用户提供服务,避免服务器宕机等故障带来的服务中断.数据库的高可用性不仅仅体现在数据库能否持续提供服务,而且也体现在能否保证数据的一致性. SequoiaDB 巨杉数据库作 ...

  7. JavaDay1(下)

    Java learning_Day1(上) 正式开始JavaSE的基础学习 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0G ...

  8. c# 嵌入资源并读取

    原文:c# 嵌入资源并读取 1. 右键点击项目,选择资源,然后选择资源的类型,插入资源. 2. 这时候在项目的目录树上会出现一个Resource的文件夹,找到嵌入的资源文件,右击属性,在 Build ...

  9. 题解【洛谷P1618】 三连击(升级版)

    设三个数分别为n1.n2.n3,因为三个数的比为A:B:C,取一份量i,使得A·i=x,B·i=y,C·i=z(·是*的意思). 所以我们的代码只需要枚举i,并以此判断n1.n2.n3是否为三位数且包 ...

  10. mysql 1130 Navicat for MySQL 连接MySQL 8.0 出现1130错误

    可能是帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑登入MySQL后,更改"MySQL"数据库"user"表里的&q ...