zoukankan      html  css  js  c++  java
  • 关系型数据库一对多,多对多

    关系的分类(假设是A表和B表)


    第一种分类: 一对一 (详述一对一关系及其实现)
    (一对一,几乎不使用。所以,我们就一句话带过。)

    一对一的实现:既可以把表A的主键充当表B的外键,也可以把表B的主键充当表A的外键。

    一对多 和 多对多 才是我们学习的重点。

    第二种分类:一对多 (详述一对多关系及其实现)
    一对多事怎么实现的?

    表A(一)与表B(多)(我们现在希望,表A中的一条记录对应表B中的多条记录)之间要是有关系,就必须要有外键。把表A的主键添加到表B里面,充当表B的外键。

    一对多的实现:在多的一方的表里面,添加外键。

    • 学生表(学号,姓名,性别,班级) 
    • 其中每个学生的学号是唯一的,学号就是一个主键 
    • 成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键 

    第三种分类:多对多 (详述多对多关系及其实现)
    现实中,什么事物和什么事物之间是多对多的关系?

    班级和老师的关系。(一个班级有很多老师上课,一个老师可以去很多班级上课。)

    多对多其实就是:一对多 和 多对一 的一个组合。

    多对多的实现:多对多 必须要通过单独的一张表来表示。

    班级是一张表
    教师是一张表
    班级和教师的关系也是一张表

    banji

    Alt text

    jiaoshi

    Alt text

    banji_jiaoshi_mapping

    Alt text

  • 相关阅读:
    商贸通帐套隐藏方法
    固定资产打开提示:上年度数据未结转!
    ZOJ 2432 Greatest Common Increasing Subsequence
    POJ 1080 Human Gene Functions
    POJ 1088 滑雪
    POJ 1141 Brackets Sequence
    POJ 1050 To the Max
    HDOJ 1029 Ignatius and the Princess IV
    POJ 2247 Humble Numbers
    HDOJ 1181 变形课
  • 原文地址:https://www.cnblogs.com/double-orange/p/10216286.html
Copyright © 2011-2022 走看看