精华内容
下载资源
问答
  • 多对对映射,可以用学生和课程进行演示。一个学生可以选择多个课程,一个课程又对应了多个学生定义学生类class Stu{private String name;private String num;private Course[] course;public Stu() {}public Stu...

    多对对的映射,可以用学生和课程进行演示。一个学生可以选择多个课程,一个课程又对应了多个学生

    定义学生类

    class Stu{

    private String name;

    private String num;

    private Course[] course;

    public Stu() {}

    public Stu(String name,String num) {

    this.name = name;

    this.num = num;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public String getNum() {

    return num;

    }

    public void setNum(String num) {

    this.num = num;

    }

    public Course[] getCourse() {

    return course;

    }

    public void setCourse(Course[] course) {

    this.course = course;

    }

    public String getInfo() {

    return "姓名 :"+name+" 学号 :"+num;

    }

    }

    定义课程 类

    class Course{

    private String name;

    private Stu[] stu;

    public Course() {}

    public Course(String name) {

    this.name = name;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public Stu[] getStu() {

    return stu;

    }

    public void setStu(Stu[] stu) {

    this.stu = stu;

    }

    public String getInfo() {

    return "课程 :"+name;

    }

    }

    在main方法测试

    首先定义Stu和Course对象,分别有三个

    Stu s1 = new Stu("张三","001");

    Stu s2 = new Stu("李四","002");

    Stu s3 = new Stu("王五","003");

    Course c1 = new Course("Java");

    Course c2 = new Course("php");

    Course c3 = new Course("Python");

    设置彼此的关系,每个对象都有多个对象对应

    //设置学生和课程的关系

    s1.setCourse(new Course[]{c1,c2});

    s2.setCourse(new Course[]{c1,c3});

    s3.setCourse(new Course[]{c2,c3});

    //相应的课程设置与学生的关系

    c1.setStu(new Stu[]{s1,s2});

    c2.setStu(new Stu[]{s1,s3});

    c3.setStu(new Stu[]{s2,s3});

    根据学生,获取课程信息

    System.out.println(s1.getInfo()+" 同学选择的课程有");

    for(int i=0; i

    System.out.println(s1.getCourse()[i].getInfo());

    }

    运行

    根据课程,获取学生信息

    System.out.println(c2.getInfo()+" 选择这门课程的学生信息");

    for(int i=0; i

    System.out.println(c2.getStu()[i].getInfo());

    }

    运行

    展开全文
  • 学生和课程之间的关系(多对多) CDM图 PDM图 上述仅表达了两个实体间的关系,若关系本身包含了属性,如“学生选课”要包含“成绩”,就必须把关系转化成实体 例:学生和课程之间的关系 CDM图 PDM图 ...
    • 实体间的Many-Many关系在生成物理模型时将生成一个独立的表,该表包含了两个实体的主码属性,并以此为生成表的主码和外码

    例:

    学生和课程之间的关系(多对多)

    CDM图

    CDM图

    PDM图

    • 上述仅表达了两个实体间的关系,若关系本身包含了属性,如“学生选课”要包含“成绩”,就必须把关系转化成实体

    例:学生和课程之间的关系

    CDM图

    CDM图

    PDM图

    PDM图

     

    展开全文
  • 表与表之间的关系

    2019-10-04 13:44:58
     现实生活中,实体实体之间肯定是有关系的,如:学生和老师,学生和课程,部门和员工,每个人和自己的身份证号码等。  在设计表的时候,就应该体现出来表与表之间的这种关系。  表与表之间的三种关系: ...

    一、表关系的概念

      现实生活中,实体与实体之间肯定是有关系的,如:学生和老师,学生和课程,部门和员工,每个人和自己的身份证号码等。

      在设计表的时候,就应该体现出来表与表之间的这种关系。

      表与表之间的三种关系:

      •  一对多:最常用的关系,如部门和员工
      •  多对多:学生选课表和学生表,一门课程可以有多个学生选择,一个学生选择多门课程
      •  一对一:相对使用比较少,员工表,公民表,护照表

    二、一对多

      一对多(1:n)

      例如:部门和员工,客户和订单,分类和商品。

      一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键

      

     

    三、多对多

      多对多(m:n)

      例如:老师和学生,学生和课程,用户和角色

      多对多关系建表原则:需要创建第三张表,中间表至少两个字段,这两个字段分别作为外键指向各自一方的主键。

      多对多关系示意图:

      

    四、一对一

      一对一(1:1)

      在实际开发应用不多,因为一对一可以创建成一张表。

      两种建表原则:

      

    一对一的建表原则 说明
    外键唯一 主表的主键和从表的外键(唯一),形成主外键关系,外键唯一 UNIQUE
    外键是主键 主表的主键和从表的主键,形成主外键关系

       关系示意图

     

     

     

    五、表与表之间的关系总结

    表与表的关系 关系的维护
    一对多 主外键的关系
    多对多 中间表,两个一对多
    一对一 1) 特殊一对多,从表中的外键设置为唯一
    2) 从表中的主键又是外键

     

     

     

    转载于:https://www.cnblogs.com/niujifei/p/11585870.html

    展开全文
  • 表与表之间的关系1.表关系的概念在现实生活中,实体实体之间肯定是有关系的...多对多学生选课表 学生表,一门课程可以有多个学生选择,一个学生可以选择多个课程。2. 一对一一对一(1:1) :在实际的开发中应用不...

    47232f14a9311f32710018ef3129999b.png

    表与表之间的关系

    1.表关系的概念

    在现实生活中,实体与实体之间肯定是有关系的。比如:员工和部门,老师和学生等。那么我们在设计表的时候,就应该体现出表与表之间的这种关系。

    表关系

    描述

    一对一

    相对使用比较少。如:员工表,简历表,护照表。

    一对多

    最常用的表关系。如:部门和员工。

    多对多

    学生选课表 和 学生表,一门课程可以有多个学生选择,一个学生可以选择多个课程。

    2. 一对一

    一对一(1:1) :在实际的开发中应用不多,因为一对一可以创建成一张表。

    两种建表原则:

    一对一的建表原则

    描述

    外键唯一

    主表的主键和从表的外键(唯一),形成主外键关系,外键唯一unique

    外键是主键

    主表的主键和从表的主键,形成主外键关系

    0e7f0912b33285c9a169b95d036b00ba.png

    e0c33c8aed37622415c7e9611a205865.png

    3. 一对多

    一对多(1:n) 例如:班级和学生,部门和员工,客户和订单,分类和商品

    建表原则:

    在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键

    d113200d81cd64919e4e71bd6f9a20db.png

    3.1 一对多关系案例

    3.1.1 需求:一个旅游线路分类中有多个旅游线路

    界面:

    b6cb2955a7d80162dcc6ccf2bb4d11ae.png

    表与表的关系:

    011841cc00be1a0ea0c276bca0b29287.png

    f3fec448c637281b223a76e9c2237f28.png

    3.1.2 具体操作

    -- 创建旅游线路分类表 tab_category

    -- cid 旅游线路分类主键,自动增长

    -- cname 旅游线路分类名称非空,唯一,字符串 100

    create table tab_category (

    cid int primary key auto_increment,

    cname varchar(100) not null unique

    )

    -- 添加旅游线路分类数据:

    insert into tab_category (cname) values ('周边游'), ('出境游'), ('国内游'), ('港澳游');

    select * from tab_category;

    -- 创建旅游线路表 tab_route

    /*

    rid 旅游线路主键,自动增长

    rname 旅游线路名称非空,唯一,字符串 100

    price 价格

    rdate 上架时间,日期类型

    cid 外键,所属分类

    */

    create table tab_route(

    rid int primary key auto_increment,

    rname varchar(100) not null unique,

    price double,

    rdate date,

    cid int,

    foreign key (cid) references tab_category(cid)

    )

    -- 添加旅游线路数据

    INSERT INTO tab_route VALUES(NULL, '【厦门+鼓浪屿+南普陀寺+曾厝垵 高铁 3 天 惠贵团】尝味友鸭面线 住 1 晚鼓浪屿', 1499,'2018-01-27', 1),

    (NULL, '【浪漫桂林 阳朔西街高铁 3 天纯玩 高级团】城徽象鼻山 兴坪漓江 西山公园', 699, '2018-02-22', 3),

    (NULL, '【爆款¥1699 秒杀】泰国 曼谷 芭堤雅 金沙岛 杜拉拉水上市场 双飞六天【含送签费 泰风情 广州往返 特价团】', 1699, '2018-01-27', 2),

    (NULL, '【经典•狮航 ¥2399 秒杀】巴厘岛双飞五天 抵玩【广州往返 特价团】', 2399, '2017-12-23',2),

    (NULL, '香港迪士尼乐园自由行 2 天【永东跨境巴士广东至迪士尼去程交通+迪士尼一日门票+香港如心海景酒店暨会议中心标准房 1 晚住宿】', 799, '2018-04-10', 4);

    select * from tab_route;

    4. 多对多

    多对多(m:n) 例如:老师和学生,学生和课程,用户和角色

    建表原则:

    多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。

    21353c4d8f0d30048c5508560735f690.png

    4.1 多对多关系案例

    4.1.1 需求:一个用户收藏多个线路,一个线路被多个用户收藏

    界面:

    986001f2b33b9dc4de0c996861ca6242.png

    表与表的关系:

    57ef2179e0a1966a31de960e9c31737a.png

    对于多对多的关系我们需要增加一张中间表来维护他们之间的关系

    2ece45fe7dbc61cc4ddfddf9841ed9e1.png

    4.1.2 具体操作:

    /*

    创建用户表 tab_user

    uid 用户主键,自增长

    username 用户名长度 100,唯一,非空

    password 密码长度 30,非空

    name 真实姓名长度 100

    birthday 生日

    sex 性别,定长字符串 1

    telephone 手机号,字符串 11

    email 邮箱,字符串长度 100

    */

    create table tab_user (

    uid int primary key auto_increment,

    username varchar(100) unique not null,

    password varchar(30) not null,

    name varchar(100),

    birthday date,

    sex char(1) default '男',

    telephone varchar(11),

    email varchar(100)

    )

    -- 添加用户数据

    INSERT INTO tab_user VALUES

    (NULL, 'cz110', 123456, '老王', '1977-07-07', '男', '13888888888', '66666@qq.com'),

    (NULL, 'cz119', 654321, '小王', '1999-09-09', '男', '13999999999', '99999@qq.com');

    select * from tab_user;

    /*

    创建收藏表 tab_favorite

    rid 旅游线路 id,外键

    date 收藏时间

    uid 用户 id,外键

    rid 和 uid 不能重复,设置复合主键,同一个用户不能收藏同一个线路两次

    */

    create table tab_favorite (

    rid int,

    date datetime,

    uid int,

    -- 创建复合主键

    primary key(rid,uid),

    foreign key (rid) references tab_route(rid),

    foreign key(uid) references tab_user(uid)

    )

    -- 增加收藏表数据

    INSERT INTO tab_favorite VALUES

    (1, '2018-01-01', 1), -- 老王选择厦门

    (2, '2018-02-11', 1), -- 老王选择桂林

    (3, '2018-03-21', 1), -- 老王选择泰国

    (2, '2018-04-21', 2), -- 小王选择桂林

    (3, '2018-05-08', 2), -- 小王选择泰国

    (5, '2018-06-02', 2); -- 小王选择迪士尼

    select * from tab_favorite;

    5. 表与表之间的关系小结

    表与表的关系

    关系的维护

    一对一

    1) 特殊一对多,从表中的外键设置为唯一。2)从表中的主键,也是外键

    一对多

    主外键的关系

    多对多

    中间表,两个一对多

    OK,这篇就到这里

    展开全文
  • 现实生活中,实体实体之间肯定是有关系的,比如:老公老婆,部门员工,老师和学生等。那么我们 在设计表的时候,就应该体现出表与表之间的这种关系。 表与表之间的三种关系 一对多:最常用的关系 部门...
  • 十、表与表之间的常见关系及ER图

    千次阅读 2018-02-14 20:46:14
    表与表之间的常见关系及ER图 一、常见关系 一对多: 用户和订单 分类和商品 ... 订单和商品 学生和课程 一对一: 丈夫和妻子 二、ER图(E-实体,R-关系。 实体关系图) 如图: 如上图所示,方...
  • 学生和课程之间的关系为例学生表为t_student,课程表为t_course 这里以Student实体类控制关联关系
  • 有关数据库课程设计 学生选棵的 ...要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的概念模型,再转换为机器世界的数据模型数据文件,并对数据文件实施检索、更新等操作。
  • 数据库实体联系模型与关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,在某一具体...这就需要规划课程学生、老师、学习资料等数据构成以及相互之间的关系。因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是...
  • 表与表之间的关系1.表关系的概念在现实生活中,实体实体之间肯定是有关系的。...多对多学生选课表 学生表,一门课程可以有多个学生选择,一个学生可以选择多个课程。2. 一对一一对一(1:1) :在实际的开发中应用...
  • 表与表之间的关系1.表关系的概念在现实生活中,实体实体之间肯定是有关系的...多对多学生选课表 学生表,一门课程可以有多个学生选择,一个学生可以选择多个课程。2. 一对一一对一(1:1) :在实际的开发中应用不...
  • student分析系统中各角色之间的关系 2、表设计(1)新建表tb_student(学生表)(2)新建表tb_admin(管理员表)(3)新建表tb_teacher(教师表)(4)新建表tb_course(课程表)(5)新建表tb_stucourse(学生选课表)3、实体类设计实体...
  • 1、实体和属性之间的关系 7 2、E-R图 7 第四节 逻辑结构设计 8 1、E-R图向关系模型的转换 8 2、设计用户子模式 8 第五节 数据库物理设计 8 1、 数据库安装与配置 8 2、 连接到oracle10g 9 3、 SQL脚本 10 第六节 ...
  • 在这种关系表中,我们可以确定是,学生和课程关系虽然是多对多,但一个确定学生id和一个确定课程id在关系表中只能存在一个。如下图所示:,业务逻辑就是一个学生只能有当前课程一个分数。 t_stu...
  • (2)按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系多对多联系(MANY TO MANY) (3)标识符是实体中一个...
  • 描述:这里要做 学生-课程 之间多对多关系 hibernate配置。首先分析两个表 学生表 Student(id,name,sex,pwd,phone,grade,photo) 课程表 Course(id,name,type,hours) 一、数据库对象分析 (1)数据库...
  • 能推导出全部属性而且没有多余属性的属性组称为候选码。若候选码多于一个,则选定其中的一...将E-R图中的实体、实体之间的联系转换为关系模式,一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系...
  • * 学生课程:多对多 第一种:用户卡(身份证) 1.实体类: 2.数据库: 3.PersonMapper接口类:[实现查询人同时查询它的卡信息] CardMapper接口类:根据人pid查询卡信息,供PersonMapper使用...
  • 实体联系图学习

    2019-12-16 14:29:44
    实体联系图 作用: E-R图为实体-联系图,提供了表示实体型、属性联系方法,用来描述现实世界概念模型。 基本要素 构成E-R图基本要素是实体型、...例如,“学生”与“课程之间有“选课”的关系。这种实...
  • 几个基础实体表可以存储学生、班级、课程、教师、系别相关信息写出相关数据表(包括未列出的关系表、其它表)创建语句(表详细属性可参照以下问题进行补全)假定以下所有问题相关表数据都存在2、 当查找学生信息同时...
  • 一对多关系、多对一关系和一对一关系至少都有一侧是单个实体,所以记录之间的联系通过外键实现,让外键指向这个实体。但是,你要如何实现两侧都是“多”的关系呢? 下面以一个典型的多对多关系为例,即一个记录学生...
  • 11. 多表间的关系-一对多-多对多-一对一-外键约束1. 表关系概述 现实生活中,实体实体之间肯定是有关系的,比如:老公和老婆,部门和员工,用户和订单、订单和商品、学生和课程等等。那么...
  • mysql表关系

    2019-03-06 19:55:55
    现实生活中,实体实体之间肯定是有关系的,比如:老公和老婆,部门和员工,老师和学生等。那么我们在设计表的时候,就应该体现出表与表之间的这种...例如:老师和学生,学生和课程,用户和角色 多对多关系建表原则...
  • C++课程设计报告.doc

    2019-07-07 09:49:00
    C++课程设计 学生考勤管理系统的设计与实现 ...应用系统分析,建立该系统的功能模块框图以及界面的组织设计,分析系统中的各个实体及它们之间的关系,根据问题描述,设计系统的类层次;完成系统的应用模块。
  • HQL实现多对多关联查询(无关系表的映射) 目录: 应用场景演示 [一]、应用场景 ...比如:学生和课程之间的多对多关系。 [二]、演示 1.实体类 IdEntity.java 1 package com
  • SQL 关系型数据库

    2019-10-22 10:03:42
    联系 实体之间的关联 基本需求 比如 需求 学校管理系统 学生可以选择一个主修专业 学院 有多个 专业 学校管理系统还要管理课程和学生成绩 课程由学院开设 学生可以选修 多门课程 参考设...
  • 开发环境 3 数据库设计步骤 第二节 需求分析 分析的重要性 4 需求分析的任务过程 4 数据流程图 5 数据字典 5 第三节 概念结构设计 实体和属性之间的关系 7 图 7 第四节 逻辑结构设计 E R图向关系模型的转换
  • 多对多:学生和课程,订单和商品 一对一:公司和注册地,法人和公司,夫妻,公民和身份证号 表与表之间的关系我们也需要存储起来. 2 实现 一对多:掌握 以部门和员工为例. 一对多中,把一的一方称之为一表或者主表, 把多
  • 在Entity Framework Core中配置...让我们在以下学生和课程实体之间实现多对多关系,其中一个学生可以报名参加许多课程,并且以同样方式,许多学生可以加入一门课程。 public class Student { public int Student...
  • 在数据库中可以通过给学生表添加外键指向班级id的方式来表示学生包含多个学生关系,对应的在Java中,可以创建Course、Student两个类来表示班级和学生,那么如何建立二者之间的关系呢? 如下所示为数据库中的...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 147
精华内容 58
关键字:

学生和课程之间的实体关系