精华内容
下载资源
问答
  • 一对多,多对多 数据库关系设计

    千次阅读 2018-05-03 10:49:16
    简单整理一下,一对多,多对多表如何设计整理一下思路: 数据库实体间有三种对应关系:一对一,一对多,多对多。 一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系...

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

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

           一对一关系示例:

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

           一对多关系示例:

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

           多对多关系示例:

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

    1.一对多关系处理:

           通过学生和班级问题了解一对多:

           设计数据库表:只需在 学生表 中多添加一个班级号的ID;

    注:在数据库中表中初学时,还是通过添加主外键约束,避免删除数据时造成数据混乱!

     

    2.多对多关系处理:

        通过学生选课了解多对多问题的处理:

     

           在多对多中在一个表中添加一个字段就行不通了,所以处理多对多表问题时,就要考虑建立关系表了

    例:

     学生表:     课程表:   关系表:

     

    注:所以对于多对多表,通过关系表就建立起了两张表的联系!多对多表时建立主外键后,要先删除约束表内容再删除主表内容

    展开全文
  • 数据库一对一、一对多、多对多关系

    万次阅读 多人点赞 2018-01-10 15:54:10
    数据库一对一、一对多、多对多关系  本来数据库一对一、一对多、多对多关系并不复杂,但是最近在理解的时候感觉又感觉多了写新意,所以现在在来总结一下吧 一、首先给出三种关系的实例 1、一对一关系实例 ...
    数据库一对一、一对多、多对多关系

         本来数据库一对一、一对多、多对多关系并不复杂,但是最近在理解的时候感觉又感觉多了写新意,所以现在在来总结一下吧
    一、首先给出三种关系的实例
    1、一对一关系实例
       * 一个人对应一张身份证,一张身份证对应一个人
    2、一对多关系实例
       * 一个班级拥有多个学生,一个学生只能够属于某个班级
    3、多对多实例
       * 一个学生可以选修多门课程,一个课程可以被多个学生选修

    二、一对一关系

    一对一关系是最好理解的一种关系,在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面

    三、一对多关系


    • 班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键

    四、多对多关系

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

    四、总结

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


    展开全文
  • 数据库一对多、 多对多案例

    千次阅读 2018-08-22 21:21:34
    数据库对多案例(一个旅游类别对应多个旅游路线) 一个旅游的类别对应多个旅游线路。类别与旅游线路表是属于1对多的关系: #创建一个旅游类别表 CREATE TABLE tab_category( #旅游线路分类主键 cid INT ...
    • 数据库一对多案例(一个旅游类别对应多个旅游路线)

      一个旅游的类别对应多个旅游线路。类别与旅游线路表是属于1对多的关系

    #创建一个旅游类别表
    CREATE TABLE tab_category(
      #旅游线路分类主键
      cid INT PRIMARY KEY AUTO_INCREMENT, 
      #旅游线路分类名称 
      cname VARCHAR(100) NOT NULL UNIQUE
    );
    INSERT INTO tab_category(cname)VALUES('国内自助'),('出境自助'),('国内跟团'),('周边自驾');
    #创建一个旅游线路表
    CREATE TABLE tab_route(
      #旅游线路主键
      rid INT PRIMARY KEY AUTO_INCREMENT,
      #旅游线路名称
      rname VARCHAR(100) NOT NULL UNIQUE,
      #价格
      price DOUBLE NOT NULL,
      #线路介绍
      routeIntroduce VARCHAR(200),
      #是否上架
      rflag CHAR(1) NOT NULL,
      #上架时间
      rdate VARCHAR(19) NOT NULL,
      #是否主题旅游
      isThemeTour CHAR(1) NOT NULL,
      #收藏数量
      acount INT DEFAULT 0,
      #所属分类
      cid INT NOT NULL,
      #缩略图地址
      rimage VARCHAR(200) NOT NULL,
      CONSTRAINT category_route_FK FOREIGN KEY(cid) REFERENCES tab_category(cid)
    );
    • 多对多的关系(一个用户可以收藏多个旅游路线,一个旅游路线可以被用户用户收藏)
    • 关系:多对多的关系
    1. 一个用户可以收藏多个旅游路线。
    2. 一个旅游路线可以被多个用户收藏。
    #创建用户表
    CREATE TABLE tab_user (
    uid INT PRIMARY KEY AUTO_INCREMENT, -- 用户id
    username VARCHAR(100) NOT NULL UNIQUE, -- 用户名
    PASSWORD VARCHAR(30) NOT NULL, -- 密码
    NAME VARCHAR(100), -- 真实姓名
    birthday DATE, -- 生日
    sex CHAR(1), -- 性别
    telephone VARCHAR(11), -- 手机号
    email VARCHAR(100), -- 邮箱
    STATUS CHAR(1) NOT NULL, -- 是否激活状态
    CODE VARCHAR(32) NOT NULL UNIQUE -- 激活码
    );
    #添加用户数据
    INSERT INTO tab_user VALUES
    (NULL, 'cz110', 123456, '老王', '1977-07-07', '男', '13888888888', '66666@qq.com', '是', '1386'),
    (NULL, 'cz119', 654321, '小王', '1999-09-09', '男', '13999999999', '99999@qq.com', '是', '9898');
    #创建收藏表
    CREATE TABLE tab_favorite (
    fid INT PRIMARY KEY AUTO_INCREMENT, -- 收藏主键
    rid INT NOT NULL, -- 旅游线路id
    DATE DATE NOT NULL, -- 收藏时间
    uid INT NOT NULL -- 用户id
    );

     

    #增加收藏表数据
    INSERT INTO tab_favorite VALUES
    (NULL, 1, '2018-01-01', 1), -- 老王选择厦门
    (NULL, 1, '2018-01-01', 2), -- 老王选择桂林
    (NULL, 1, '2018-01-01', 3), -- 老王选择泰国
    (NULL, 2, '2018-01-01', 2), -- 小王选择桂林
    (NULL, 2, '2018-01-01', 3), -- 小王选择泰国
    (NULL, 2, '2018-01-01', 5); -- 小王选择迪士尼
    #描述用户与旅游路线的关系(多对多的关系)
    CREATE TABLE route_user(
         r_id   INT , #旅游路线的id
         u_id  INT , #用户的id
         #建立外键的关系
         CONSTRAINT route_user_fk1 FOREIGN KEY(r_id)  REFERENCES tab_route(rid),
         CONSTRAINT route_user_fk2 FOREIGN KEY(u_id)  REFERENCES tab_user(uid),
         #设置为联合主键
         PRIMARY KEY(r_id,u_id)
              
    );
    

    更多资料,搜索或扫码关注公众号:数说Cloud

    展开全文
  • 原文:http://blog.csdn.net/lm709409753/article/details/48440401数据库实体间有三种对应关系:一对一,一对多,多对多。一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。一对多...

    原文:http://blog.csdn.net/lm709409753/article/details/48440401

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

    一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。
    一对多关系示例:一个学生只属于一个班,但是一个班有多名学生。
    多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。

    这三种关系在数据库中逻辑结构处理分析:

    1.一对多关系处理:
    我们以学生和班级之间的关系来说明一对多的关系处理方法。
    假设现有基本表学生表(学号,姓名,……),班级表(班级号,备注信息,……)。

                           
    方法一:
    新增一个关系表,用来表示学生与班级的属于关系,该关系表包含字段(学生号,班级号)。通过学生号与班级号的对应关系表示学生属于的班级。
    方法二:
    在学生表中新增字段(班级号),该字段作为学生表的外键与班级表中的班级号关联。每一个学生实体在班级号字段的值,表示该学生属于的班级。
    小结:一般情况下,一对多关系采用方法二来处理。一对多的两个实体间,在“多”的实体表中新增一个字段,该字段是“一”实体表的主键。

    2.多对多关系处理:

     

    在多对多关系中,我们要新增加一个关系表。如在上面示例中,在学生表和课程表的基础上增加选课表来表示学生与课程之间的多对多关系。在选课表中,必须含有的属性有学生号和课程号。(学生号,课程号)这个属性集刚好也就是选课表的关键字。

    展开全文
  • 一对一关系实例 ***********一个学生对应唯一的身份证号码。...多对多关系实例 ***********一位学生可以选多门课程,一门课程也对应多位学生。 一对多关系处理: 设计数据库表时,只需在 学...
  • 在关系型数据库中,通过...一对多关系一个班级有很多学生,外键维护在学生的一方,也就是多的一方。(在做页面设计的时候,需要把两个表连接到一块查询信息)建立一个student和clazz表clazz id name1 一班2 二班3 ...
  • 数据库建模多表一对多和多对一、一对一、多对多

    万次阅读 多人点赞 2018-06-13 18:29:30
    ----------------------------------------数据库建模多表一对多和多对一、一对一、多对多-------------------------------------------------------一对多和多对一我们再创建一张订单表,用户表和订单表之间的关系...
  • Django数据库多对多数据关系

    千次阅读 2017-10-10 19:39:35
    本文主要描述Django数据中一对一的数据关系,创建app等配置不再赘述。 Django操作数据库,使用ORM ORM:关系映射对象,把...多对多关系 举例:一个出版社发表多个文章,一篇文章也可以对多个出版社发表 ManyToManyF
  • 数据库表设计(一对多,多对多

    万次阅读 多人点赞 2018-09-26 09:21:05
    三、数据库怎么设计多对多的数据表   回到顶部 一、总结 1、项目中小组和主题之间是多对多的 2、可以将常用信息和不常用信息分成两个表来优化数据库  2、一对多的话:在多的里面建立一的字段,比如母亲(一...
  • 数据库一对一、一对多、多对多设计

    万次阅读 多人点赞 2016-11-18 10:21:03
    做一个项目,必然是少不了数据库... 数据库实体间有三种对应关系:一对一,一对多,多对多。  一对一关系示例: 一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。  一对多关系示例:
  • 数据库实体间有三种对应关系:一对一,一对多,多对多。一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。 多对...
  • 我们平时开发一个互联网项目的流程是:需求设计、数据库设计、功能设计、项目架构、技术选型、项目开发。数据库设计是我们项目的基石,一个中大型项目,要有一个良好的数据库设计,才能走得更远。一个项目如果数据库...
  • 数据库表中多对多关系怎么设计?

    千次阅读 2018-11-26 09:29:55
    (多对多关系) 马克-to-win:Teacher表:两列id,name。 Studnet表:三列:id,name,age TeacherStudent表(关系表):三列:id,tid,sid create table TeacherStudent(id int not null,tid int not null,sid int not ...
  •  本来数据库一对一、一对多、多对多关系并不复杂,但是最近在理解的时候感觉又感觉多了写新意,所以现在在来总结一下吧 一、首先给出三种关系的实例 1、一对一关系实例  * 一个人对应一张身份证,一张身份证对应一...
  • 数据库关联映射建表图示(一对多、多对多) ~总结一下数据库的 一对多、多对一、一对一、多对多 关系 以及对应的建表方式~ 关联映射:一对多/多对一 存在最普遍的映射关系,简单来讲就如球员与球队的...
  • 现在我有一个业务是要用jdbc连接3个数据库,没个数据库都有次查询的逻辑,现在我想把连接数据库抽出来,让他每个数据库只连接一次,但可以对数据库进行次操作,不要说连接池,我这没法加jar,求大神指点,最好有...
  • 请教数据库如何建立多对多关系

    千次阅读 2016-05-31 13:48:31
    请教数据库如何建立多对多关系(最好以mysql为例) 请问数据库怎么建立多对多关系(最好以mysql为例) 我建立了两张表: create table custom( #顾客表 id int(10) primary key auto_...
  • 关联映射:一对一 一对一关系就如球队与球队所在地址之间的关系,一支球队仅有一个地址,而一个地址区也仅有一支球队。 数据表间一对一关系的...我们以学生和班级之间的关系来说明一对多的关系处理方法。 假设现...
  • 数据库实体间多对多关系处理

    千次阅读 2013-04-14 10:30:38
    数据库实体间多对多关系处理   数据库实体间有三种对应关系:一对一,一对多,多对多。 一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系示例:一个学生只属于一个...
  • 现在还是不太明白这关系,只是知道如果是一对多的话,外键是应该加在多方的这张 表中,但是多对一的时候,外键是加在什么地方呢?还有多对多的时候,外键怎么加? 我们在公司中平常用到的关系表是怎么关系的?
  • 数据库

    千次阅读 多人点赞 2020-03-05 16:39:37
    1.什么是数据库 数据库:英文为Databsae,简称DB 数据库是按照数据结构来组织,存储和管理数据的仓库 ... 目前占市场主流的是*关系型数据库*,当然还有*非关系型数据库*(键值对数据库,例如:MongDB,Redi...
  • 一对多 采用外键即可 ,外键关联另一张表的主键即可 如:一个教室对应多个学生 在信息多的那个表中,建立一个字段,此字段一般是另一张表的...多对多 新建关系表,新表是两张表的主键关联。 如:有多个学...
  • 关系型数据库 多对多关系 三表还是两表 ?多对多一般都是三张表,两张各自的单个信息表,一张表明关系的连接表。student//学生基本信息表 id name ... course//课程基本信息表 id name teacher... sc//选课表,每一...
  • 设计规范 1、每一个列保持一个原子性,字段不可再划分 ...多对多 如下 通过中间表(映射表)进行关联 无限级菜单 name:菜单名称 parentId:上级菜单的ID 也就是这个表里面的ID levelNum:菜单等级
  • MySQL数据库入门学习(图预警+新手向~)

    万次阅读 多人点赞 2017-12-02 15:55:50
    现在市场上有很图形化的数据库,没有什么可讲的,读者如果愿意,自行下载研究即可,本文章讲的全是在DOS环境下的一系列操作。
  • springboot对数据库密码加密

    万次阅读 多人点赞 2018-08-31 16:39:17
    我是黑帽子K,话不说,springboot数据库密码加密开始。开发的同学们都知道,例如项目依赖的信息,数据库信息一般是保存在配置文件中,而且都是明文,因此需要进行加密处理,今天在这里介绍下jasypt集成springboot...
  • 数据库而言,实体往往指某类事物的集合。 把每一类数据对象的个体称为实体。 数据库中:E-R图也称实体-联系图(Entity Relationship Diagram)...多对多数据库中一对一的实现方式: (1)唯一外键方式:在A和B任...
  • 何种情况应该算多对多关系,何种又算一对多关系?多对多关系与一对多关系在数据库中如何设计?
  • 一对多关系 一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间具有一对多关系...在多对多关系中,A

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,358,399
精华内容 943,359
关键字:

多对多数据库