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

     
    数据库一对一、一对多、多对多关系
     
    bylin
    1.一对一放同一张表,一个主键id
    2.一对多,多的一方(儿子)放1(父亲)的主键
    3.多对多,新➕一张中间表(需要转换成1对多关系,那么就需要一张中间表来转换), 中间表放另俩表的主键
    ==============================================================
     
    本来数据库一对一、一对多、多对多关系并不复杂,但是最近在理解的时候感觉又感觉多了写新意,所以现在在来总结一下吧
    一、首先给出三种关系的实例
    1、一对一关系实例
       * 一个人对应一张身份证,一张身份证对应一个人
    2、一对多关系实例
       * 一个班级拥有多个学生,一个学生只能够属于某个班级
    3、多对多实例
       * 一个学生可以选修多门课程,一个课程可以被多个学生选修
     
    二、一对一关系
    一对一关系是最好理解的一种关系,在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面
     
    三、一对多关系
     
    • 班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键

    四、多对多关系

    对于多对多关系,需要转换成1对多关系,那么就需要一张中间表来转换,这张中间表里面需要存放学生表里面的主键和课程表里面的主键,此时学生与中间表示1对多关系,课程与中间表是1对多关系,学生与课程是多对多关系

    四、总结

    总而言之,最重要的关系就是1对多关系,根据面向对象思想在建表的时候将1端主键置于多端即可。

  • 相关阅读:
    HDOJ 1846 Brave Game
    并查集模板
    HDU 2102 A计划
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    POJ 1321 棋盘问题
    CF 999 C.Alphabetic Removals
    CF 999 B. Reversing Encryption
    string的基础用法
    51nod 1267 4个数和为0
  • 原文地址:https://www.cnblogs.com/alex-13/p/13784956.html
Copyright © 2011-2022 走看看