精华内容
下载资源
问答
  • 一、一多的关系 例:公司员工的关系,公司为一,公司员工为多,需要在多方建立外键指向一方的主键。...创建一张用户和一张角色,还需创建一张关系表关系表至少有两个外键,分别指向两张

    一、一对多的关系

    例:公司与员工的关系,公司为一,公司员工为多,需要在多方建立外键指向一方的主键。


    一对多让两个实体类之间相互表示


    (1)一个公司里面有多个员工。

    private Set<yuangong> yuangongSet=new HashSet<yuangong>();
    public Set<yuangong> getYuangongSet()
    {
    return yuangongSet;
    }
    public void setYuangongSet(Set<yuangong> yuangongSet)
    {
    this.yuangongSet=yuangongSet;
    }

    (2)一个员工只能属于一个公司

    private Gongsi gongsi;
    public Gongsi getGongsi()
    {
    return gongsi;
    }
    public void setGongsi(Gongsi gongsi)
    {
    this.gongsi=gongsi;
    }

    配置一对多的映射关系,在映射文件中配置


    (1)在公司映射文件中,表示所有员工

    需要使用set标签表示所有员工
    set标签的name属性需要写上在公司实体类里面表示员工的set集合名称,set标签里面还要包含一个key标签,key标签的column属性需要写实体类的外键属性名称。
    在key标签的下面还需一个one-to-many标签,标签里面的class属性写员工实体类的全路径

    (2)在员工映射文件中,表示所属公司

    需要在一干涉文件中添加many-to-one标签,标签的name属性需要写上员工实体类里面表示公司的对象名称,标签的class属性需要写上公司类的全路径,标签的column属性需要写上外键属性名称

    创建核心配置文件,把映射文件引入到核心配置文件中

    <mapping resource="实体类配置文件路径"></mapping>


    二、多对多的关系

    例:商品与订单的关系,一个商品可以属于多个订单,一个订单可以有多种商品。
            用户和角色的关系,一个角色可以包括多个用户,一个用户可以是多个角色。

    创建一张用户表和一张角色表,还需创建一张关系表,关系表至少有两个外键,分别指向两张表的主键。

    1、与一对多类似,先是创建实体类,然后让两个实体类互相表示。

    (1)以订单和商品为例
    一个订单可以有多种商品,使用set集合表示
    //一个订单可以有多种商品
        private Set<ShangpinEntity> shangpinEntitySet=new HashSet<ShangpinEntity>();
        public Set<ShangpinEntity> getShangpinEntitySet() {
            return shangpinEntitySet;
        }
        public void setShangpinEntitySet(Set<ShangpinEntity> shangpinEntitySet) {
            this.shangpinEntitySet = shangpinEntitySet;
        }
    一种商品可以属于多个订单,使用set集合表示
        //一种商品可以属于多个订单
        private Set<DingdanEntity> dingdanEntitySet=new HashSet<DingdanEntity>();
        public Set<DingdanEntity> getDingdanEntitySet() {
            return dingdanEntitySet;
        }
        public void setDingdanEntitySet(Set<DingdanEntity> dingdanEntitySet) {
            this.dingdanEntitySet = dingdanEntitySet;
        }

    2、配置映射关系

    (1)基本配置略
    (2)配置多对多关系
    都是使用set标签来表示彼此
    在订单配置文件中配置如下标签
    <!--name="对应实体类中set集合的名称" table="第三张表名(关系表)"-->
            <set name="shangpinEntitySet" table="dingdan_shangpin">
                <!--column="当前映射文件在关系表中外键名称(也就是表当前主键)"-->
                <key column="did"></key>
                <!--class="商品表的实体类全路径" column="商品表在关系表中的外键名称(也就是商品表的主键)"-->
                <many-to-many class="domain.ShangpinEntity" column="sid"></many-to-many>
            </set>
    在商品配置文件中配置如下标签
    <!--name="对应实体类中set集合的名称" table="第三张表名(关系表)"-->
            <set name="dingdanEntitySet" table="dingdan_shangpin">
                <!--column="当前映射文件在关系表中外键名称(也就是表当前主键)"-->
                <key column="sid"></key>
                <!--class="订单表的实体类全路径" column="订单表在关系表中的外键名称(也就是订单表的主键)"-->
                <many-to-many class="domain.DingdanEntity" column="did"></many-to-many>
            </set>


    3、在核心配置文件中引入映射文件
            <mapping resource="domain/DingdaEntity.hbm.xml"/>
            <mapping resource="domain/ShangpinEntity.hbm.xml"/>



    展开全文
  • 在SQL Server中,如果建立主表和子关系,则以下情况描述错误的是( )。 1 A:子相关项目的数据在主表中必须存在 B:先删除子才能删除主表 C:若主表相关项的数据更改了,则子对应的数据项也应当随之...
  • Access数据库中 主表—子建立

    万次阅读 2014-06-24 19:47:54
    Access数据库中的“主表-子”,这其实是数据关系的问题。

    Access数据库中的“主表-子表”,这其实是数据表的关系的问题。通常,一个数据库应用系统包括多个表。为了把不同表的数据组合在一起,必须建立表间的关系。建立表之间的关系,不仅建立了表之间的关联,还保证了数据库的参照完整性。

    1. 理解参照完整性

    参照完整性是一个规则,Access使用这个规则来确保相关表中记录之间关系的有效性,并且不会意外地删除或者更改相关数据。

    (1)在符合下列所有条件时,可以设置参照完整性:

    ①来自于主表的匹配字段是主键(两个表建立“一对多”的关系后,“一”方的表称为主表,“多”方的表称为子表)。

    ②两个表中相关联的字段都有相同的数据类型。

    (2)使用按照完整性时要遵守如下规则:

    在两个表之间设置参照完整性后,如果在主表中没有相关的记录,就不能把记录添加到子表中。反之,在子表中存在与之相匹配的记录时,则在主表中不能删除该记录。

    2. 创建关系

    不同表之间的关联是通过主表的主键字段和子表的外键字段来确定的。

    示例:建立学生基本信息表和课程信息表,然后建立学生表和课程表之间的关系。

    ①建立学生表和课程表就不用说了,操作很简单。在这里,学生表包括的字段有:学号、姓名、性别、出生日期、政治面貌、入学成绩、系别ID,课程表包括字段有:学科ID、课程号、学号。可以看出,这两个表之间的关联是“学号”,我们可以看出,一个学生可以选多个课程,所以学生表和课程表是“一对多”的关系,其中学生表中的“学号”为主键,课程表中“学号”为外键。

    ②建立表之间的关系

    1)在“数据库工作”选项卡的“关系”组中,单击“关系”对应的按钮,打开“关系”窗口。

    2)在“关系”窗口中,在右键菜单中,选择“显示表”,然后选中“学生表”和“课程表”,点击“添加”按钮,则将两个表添加到关系窗口中了。

    3)在“学生表”中,选中“学号”字段,按住左键不松开,拖到“选课表”的“学号”字段上,放开左键,这时会弹出“编辑关系”对话框,选中“实施参照完整性”和“级联更新相关字段”复选框,如下图:


    4)然后单击“创建”按钮,关闭“编辑关系”对话框,返回到“关系”窗口。则会看到学生表和课程表之间建立的关系。


    这是,打开“学生表”,则会看到“主表-子表”的关系,并且在学生表的每行都有个“+”号,点击可以打开子表信息。



    PS:以上内容参考了《Access2010入门与实例教程》,若想详细学习Access数据库,这本书是个不错的选择!

    展开全文
  • 表关系(一一,一多,多多)

    千次阅读 2016-08-25 20:28:08
    可以在数据库图表中的之间创建关系,以显示一个中的列另一个中的列是如何相链接的。 在一个关系型数据库中,利用关系可以避免多余的数据。例如,如果设计一个可以跟踪图书信息的数据库,您需要创建一个名...

    可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。

    在一个关系型数据库中,利用关系可以避免多余的数据。例如,如果设计一个可以跟踪图书信息的数据库,您需要创建一个名为 titles 的表,它用来存储有关每本书的信息,例如书名、出版日期和出版社。您也可能保存有关出版社的信息,诸如出版社的电话、地址和邮政编码。如果您打算在 titles 表中保存所有这些信息,那么对于某出版社出版的每本书都会重复该出版社的电话号码。

    更好的方法是将有关出版社的信息在单独的表,publishers,中只保存一次。然后可以在 titles 表中放置一个引用出版社表中某项的指针。

    为了确保您的数据同步,可以实施 titles 和 publishers 之间的参照完整性。参照完整性关系可以帮助确保一个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须与 publishers 表中的一个特定出版社相关。如果在数据库中没有一个出版社的信息,那么该出版社的书名也不能添加到这个数据库中。

    为了更好地理解表关系,请参阅:

    定义表关系

    关系的确立需要通过匹配列中的数据(通常是两表中同名的列)。在大多数情况下,该关系会将一个表中的主键(它为每提供了唯一标识)与另一个表的外部键中的某项相匹配。例如,通过创建 titles 表中的 title_id(主键)与 sales 表中的 title_id 列(外部键)之间的关系,则销售额就与售出的特定书名相关联了。

    表之间有三种关系。所创建关系的类型取决于相关是如何定义的。

    一对多关系

    一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。

    只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。

    多对多关系

    多对多关系中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要创建这种关系,需要定义第三个表,称为结合表,它的主键由 A 表和 B 表的外部键组成。例如,authors 和 titles 表具有多对多关系,这是由于这些表都与titleauthors 表具有一对多关系。titleauthors 表的主键是 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)的组合。

    一对一关系

    一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。

    这种关系并不常见,因为一般来说,按照这种方式相关的信息都在一个表中。可以利用一对一关系来:

    • 分割具有多列的表。

    • 由于安全原因而隔离表的一部分。

    • 保存临时的数据,并且可以毫不费力地通过删除该表而删除这些数据。

    • 保存只适用于主表的子集的信息。

    实施参照完整性

    参照完整性是一个规则系统,能确保相关表行之间关系的有效性,并且确保不会在无意之中删除或更改相关数据。

    当实施参照完整性时,必须遵守以下规则:

    • 如果在相关表的主键中没有某个值,则不能在相关表的外部键列中输入该值。但是,可以在外部键列中输入一个 null 值。例如,不能将一项工作分配给一位没有包含在 employee 表中的雇员,但是可以在 employee 表的 job_id 列中输入一个 null 值,表明一位雇员没有分配工作。

    • 如果某行在相关表中存在相匹配的行,则不能从一个主键表中删除该行。例如,如果在 employee 表中表明某些雇员分配了某项工作,则不能在 jobs 表中删除该工作所对应的行。

    • 如果主键表的行具有相关行,则不能更改主键表中的某个键的值。例如,如果一位雇员分配了 jobs 表中的某项工作,则不能从 employee 表中删除该雇员。

    当符合下列所有条件时,才可以设置参照完整性:

    • 主表中的匹配列是一个主键或者具有唯一约束

    • 相关列具有相同的数据类型和大小。

    • 两个表属于相同的数据库。
    展开全文
  • 知识点:数据库相关概念、创建数据库的方法、设计数据库、向数据库中插入数据、建立不同数据库之间的关系、删除数据库。 1、数据表相关的一些概念 1.1 数据库里的数据是如何保存的? 数据库...

    知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。

     

    1、数据表相关的一些概念

     

    1.1 数据库里的数据是如何保存的?

            数据库到底是怎么存储数据的?比如要把学生信息存储到数据库里,能把学生塞进数据库吗?肯定是把学生的数据信息抽象出来,把一些重要信息以文字或数字的形式保存到数据库中去。

           具体是怎么保存的,有点类似于excel,是用一张二维表的形式来进行数据保存的。这里有两个名词需要注意,行(称之为记录),列(称之为字段)。表中一条记录表示现实中的一个实体(学生)。所以以后的重点就是围绕这个表来进行设计,设计他的列。这个就是存储数据的概念。

     

     

      展开全文
    • 本篇博客讲解(子查询)非相关子查询/相关子查询,一一,一多,多一,多的的关系!准备:首先我们创建一列sex。再为部分行设置好值0(女)或者1(男);delete from stud where age=26; 删除年龄为26的行。 ...
    • MySQL数据库通过navicat建立关系

      万次阅读 多人点赞 2017-05-12 01:35:32
      构建两张的多关系:清洗数据(clean_data用户(user建立多的关系。如下图图0所示 图0 多多之间关系1 创建.打开navicat,创建三张表,clean_data表与user,以及两个之间的关系表...
    • 一、一关系多,在多的一方建立外键(外键指向一的主键) 例如: 母亲,孩子两个实体(一多) 母亲:ID(P),名字,年龄,性别 孩子:ID(P),名字,年龄,性别解决方案:在某一张中增加一...
    • 数据库设计(表与表之间的3种关系)

      万次阅读 2017-11-28 13:46:34
      表与表之间一般存在三种关系,即一一,一多,多关系。  下面分别就三种关系讲解数据库相关设计的思路和思考过程; (1)一关系  例如,下面的一张,保存了人的相关信息,有男有女,要求查处所有...
    • MyBatis:一表关系详解(从案例中解析)

      万次阅读 多人点赞 2013-11-11 12:36:00
      客户(Customer)和订单(Order)之间的关系是一多的关系,即一个用户可以有多个订单。 (1)建立表,并建立多关联。 主表 create table Customer( id int primary key, name varchar(32) ); 从...
    • 主键和外键是把多个组织为一个有效的关系数据库的粘合剂。主键和外键的设计物理数据库的性能和可用性都有着决定性的影响。必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个...
    • 关系关系是最普通的一种关系。在这种关系中,A 中的一行可以匹配 B 中的多行,...只有当一个相关列是一个主键或具有唯一约束时,才能创建一关系。 多关系 在多关系中,A
    • jpa中的表关系以及多CRUD操作

      千次阅读 2018-09-19 21:56:23
      第二步 在数据库中建立两张关系 使用外键。 在联系人中添加一列,这一列的值来源于 客户的主键,添加的这列 是外键。 第三步 在实体类中建立两个实体间的关系: 多一的关系映射:多个联系人...
    • 要求:请安装Kingbase数据库软件,在数据库软件中创建一个自己名字的模式,在该模式下创建学生关系数据、课程、选课表。 插入一些数据,尝试查询、更新、删除 二、相关原理知识 (完成实验所用到的相关原理...
    • SQL的关系

      2013-09-05 23:43:52
      1、关系的含义: 同一个数据库中,不同中的数据之间都存在一种关系,这种关系将数据库里各中的每条数据记录都和数据库中唯一...-> 关系建立使主表和从之间建立数据约束关系,防止输入错误的数据; * 保
    • 关系一的表关系: 例如:qq和qq的详尽信息 建立外键的时候 如果明确主从关系? 被引用的主表,外键在从建立 关联主表12345实现代码如下: CREATE TABLE qq( qqid int PRIMARY KEY, password ...
    • 本博文主要介绍 Laravel 框架中 Eloquent 关系的处理,在 Laravel Administrator(后台扩展包) 您的数据库可能是彼此相关的。比如,一篇博客文章可能有许多评论,或者一个订单下订单的用户相关。Eloquent ...
    • 1. 原始单据实体之间的关系   可以是一一、一多、多多的关系。在一般情况下,它们是一一的关系:即一张原始单据对应且只对应一个实体。  在特殊情况下,它们可能是一多或多一的关系,即一张原始...
    • MYSQL创建多及多关系

      千次阅读 2018-10-08 09:04:13
      前一篇博文学习总结了mysql的基本操作,DML创建的表与表之间有着一多,多多,一一的关系,借着学习的劲头,总结一下这些关系。   一多:部门和员工,卤肉店和肉,订单和商品  用户和订单  -- 创建...
    • 建立信任关系失败

      万次阅读 2014-02-20 17:31:10
      17、关于ssh信任关系--每台主机指定不同的私钥文件 当主机10.11.70.25创建了信任关系后,每次ssh远程登陆10.11.70.25时都要求输入密码,如下: linux:/etc/ssh/# ssh 10.11.70.25 Authorized users only. All ...
    • 关系型数据库之间可存在的联系/关系(relationship)有三种:一一、一多和多多。
    • 外键关系

      2011-07-25 14:59:05
      --建立主外键关系 EL_PickListTable中的RecId --做EL_PickListLine中的外键 别名PickListTableRecId --on update cascade on delete cascade 级联删除、更新,当主键中 --有相关变动的时候
    • mysql数据库关联关系级联删除问题

      千次阅读 2018-11-03 14:27:08
      场景“删除一个的数据的时候,将相关表相关数据删除。” 例 : table1 : 活动(主表) table2:活动图片(外键活动id) table3:评论(外键活动id) table4:报名 table5:活动报名关系表(外键活动id,报名id)...
    • 本文尝试用实际开发中常见的电商场景来厘清其背后需要的数据库中表与表之间的关系,目的在于能够分析出常见购物网站的中实体间的关系,并能创建出对应的。 文章目录1.实体间常见关系2.数据库实现(一多)2.1一...
    •  通过从“中拷贝其关键字并插入到“从属”中,成为从属的外关键字,这样建立一个一一的关系。这是洋特殊的关系,在多数情况下,外关键字也是从属关键字。  建立多的关系是这样的,拷贝...
    • 在看某个项目的数据库的时候发现比较多,且都是和用户相关的,又涉及到租户、站点等,表关系有点小复杂,而且都是虚拟外键,于是自己来创建模型来方便缕清之间关系。 使用的工具为NavicatPremium15 ,12应该也差...
    • 本次介绍OSPF邻居和邻接关系建立过程。这个过程是OSPF协议交互的过程,包括Hello报文,邻居状态变换以及链路状态数据库同步等内容。学习目标: 1. 理解Hello报文的作用 2. 理解OSPF邻居状态变换 3. 理解邻居...
    • 第三章第4和5题1创建2插入3第三章第4题1求供应工程J1零件的供应商号码SNO2求供应工程J1零件p1的供应商号码SNO3求供应工程J1零件为红色的供应商号码SNO4求没有使用天津供应商生产的红色零件的工程号5求至少用了...
    • EF架构~关系表插入应该写在事务里

      千次阅读 2013-10-31 14:06:47
      这个标题很有意思,关系表插入,就是说主表和外表键在插入时,可能会有同步插的情况,如在建立主表时,扩展需要同步完成数据的初始化工作,而对于多插入时,我们为了保证数据的一致性会针它写在事务中,而对于...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 305,536
    精华内容 122,214
    关键字:

    对主表与相关表建立关系