zoukankan      html  css  js  c++  java
  • 建表原则

    一、表关系的分析

    数据库中多表之间存在着三种关系,也就是系统设计中的三种实体关系。如图所示:

    从图中可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系。在数据库中。实体表之间的关系映射是采用外键来描述的,具体如下。

    二、表与表的三种关系

    【一对多】

    建表原则:再多的一方创建外键指向一的一方的主键:

    【多对多】

    建表原则:创建一个中间表,中间表中至少两个字段作为外键分别指向多对多双方的主键

    【一对一】

    建表原则有两种:

    一种:唯一外键对应:假设一对一中的任意的一方为多,在多的一方创建外键指向一的一方的主键,然后将外键设置为唯一。

    二种:主键对应:一方的主键作为另一方的主键。

     

    数据库表能够描述的实体数据之间的关系,通过对象也可以进行描述, 所谓的关联映射就是将关联关系映射到数据库里, 在对象模型中就是一个或多个引用。 如何采用ava对象关系来描述数据表之间的关系, 具体如图所示。

    从图可以看出, 通过一对一的关系就是在本类中定义对方类型的对象, 如A中定义B类类型的属性b,B类中定义A类类型的属性a;一对多的关系,图中描述的是一个A对应多个B类类型的情况,需要在A类中以Set集合的方式引入B类型的对象,在B类中定义A类类型的属性a;多对多的关系,在A类中定义B类类型的Set集合,在B类中定义A类类型的Set集合,这里用Set集合的目的是避免了数据的重复。

    以上就是系统模型中实体设计的三种关联关系,一对一的关联关系在开发中不常使用,了解即可。

  • 相关阅读:
    《C Primer Plus(第6版)中文版》一1.12 复习题
    《C Primer Plus(第6版)中文版》一1.12 复习题
    线程池多线程视频转码(完整版)
    mencoder的x264encopts选项参数略解
    ffmpeg多线程转码
    案例分析:程序媛记一次特殊的“故障”处理
    WINDOWS下CMake+MinGW64搭建C/C++编译环境
    lvs keepalived nginx-rtmp 视频流服务负载均衡系统搭建
    python 利用字典统计次数
    python 16进制 gbk转中文
  • 原文地址:https://www.cnblogs.com/peng19920430/p/10447092.html
Copyright © 2011-2022 走看看