zoukankan      html  css  js  c++  java
  • 简述数据库设计中一对多和多对多的应用场景?

    做一个项目,必然是少不了数据库设计的!在学习阶段,基本都是单表。然而在实际开发过程中,一对多,多对多的表处处都是!简单整理一下,一对多,多对多表如何设计整理一下思路:

           数据库实体间有三种对应关系:一对一,一对多,多对多。

           一对一关系示例:

      • 一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。

           一对多关系示例:

      • 一个学生只属于一个班,但是一个班级有多名学生。

           多对多关系示例:

      • 一个学生可以选择多门课,一门课也有多名学生。

    一、关系的实现

        在实体关系模型中,我们知道有三种关系:一对一、一对多、多对多。这只是概念上的关系,但是在真实的关系数据库中,我们只有外键

    并没有这三种关系,那么我们就来说一说在关系数据库管理系统中,怎么实现这三种关系。

     

    一对多

        这里先讲解一对多,因为这个关系最简单。一对多和多对一是一回事,所以就不再提多对一这个词。一对多的概念是一个对象A会对应多个对象B,

    而从B的角度看,一个对象B只会对应一个对象A。比如说班级和学生就是一对多关系。一个班级对应多个学生,一个学生只会对于一个班级。

        一对多的关系之所以说简单,是因为RDBMS的【外键】其实就是表示一对多关系。对于一对多关系,我们只需要在“多”的这个表中建立“一”的外键关联即可

    而“一”这边的表不需要做任何修改。比如前面说到的班级学生关系。班级表不变,学生表增加班级Id作为外键。

     

  • 相关阅读:
    使用JavaScript实现新闻滚动效果
    ArcGIS Server建立缓存(切图)原理解析[图解] (转载)
    tp5 中使用自定义扩展类和函数
    phpstorm 配置点右上角浏览器图标时用浏览器打开当前页面
    PHP命名空间(Namespace)的使用简介
    linux 查看和修改文件时间
    头像上传uploadPreview插件
    富文本编辑器 kindEditor
    linux 计划任务 crontab 简单用法
    阿里 短信 使用方法
  • 原文地址:https://www.cnblogs.com/Rivend/p/12089592.html
Copyright © 2011-2022 走看看