精华内容
下载资源
问答
  • 解释 实体关系图:简记E-R图指以实体关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。E-R...

    解释 实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。E-R模型最常见的运用是在数据库设计的分析阶段

    解释

    实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,,从而描述静态数据结构的概念模式。E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。E-R模型最常见的运用是在数据库设计的分析阶段,也就是数据库设计者和数据库用户之间的沟通工具和桥梁。E-R模型的作用是建构一个概念数据模型,而概念数据模型正是数据库结构的表示法,而且這种表示法与数据库管理系统及数据模型都无关系。

    构成

    实体(Entity):

    它是关系型数据库的最基本抽像概念,用以描述真实世界的物件。

    用矩形表示 ,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。

    实体可细分为:

    强实体(strong entity):指不需要依附其他实体而存在的实体。用单边矩形表示。

    弱实体(weak entity):是指需要依附其他实体而存在的实体。 用双边矩形表示。

    属性(Attribute):

    用来描述实体的性质。

    用椭圆形表示 ,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。

    属性可分为:

    简单属性(simple attribute):已经无法再继续切割成其他有意义的单位。

    复合属性(composite attribute):代表未来该属性可以进一步作切割。如:地址属性是由市、县、乡、具体在址等各属性组成。

    衍生属性(derived attribute ):

    联系(Relationship):

    用來表示一個实体与另一个实体关系的方式。

    用菱形表示 ,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)就是指存在的三种关系(一对一,一对多,多对多)。 比如老师给学生授课存在授课关系,学生选课存在选课关系。

    一对一关系:

    一对多或多对一关系:

    29ae7c5e1de85ae20ab8bf67ed024eb1.png

    多对多关系:

    具体实体如下:

    c48dc9a40575e0d42cdcf73bf2474267.png

    f68f2add0b68e4f9810432fce46917b7.png

    相关标签:实体 关系

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 什么是实体表,什么是关系表,一对多和多对多应该怎么设计表? 1 背景介绍 在任务三设计数据库的时候,需要理清表与表数据之间的关系,这时候就需要知道什么是实体表和关系表。然后根据他们之间的关系设计表 2.知识...

    大家好,我是IT修真院深圳分院第十三期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务二里面的知识点:
    什么是实体表,什么是关系表,一对多和多对多应该怎么设计表?
    1 背景介绍
    在任务三设计数据库的时候,需要理清表与表数据之间的关系,这时候就需要知道什么是实体表和关系表。然后根据他们之间的关系设计表

    2.知识剖析
    2.1什么是实体表
    实体表就是对应实际的对象的表,比如:学生表,老师表
    2.2什么是一对一、一对多和多对多?
    1.一对一、一对多和多对多都是指数据表与表中的数据关系,不是表与表之间的关系

    2.一对一:一个班主任只属于一个班级,一个班级也只能有一个班主任

    3.一对多:一个顾客对应多个订单,而一个订单只能对应一个客户

    4.多对多:一个学生有多个老师,一个老师有多个学生

    2.3什么是关系表
    关系表是表示表与表之间的数据关系,我的理解是:关系表设计一般只存在多对多。

    3.常见问题

    1)什么是实体表?

    2)什么是关系表?

    3)怎么设计表,多对多怎么在实际代码中表示?

    4.解决方案:
    设计表:一对一和一对多在表中多加一个关联字段,多对多多设计一个关联表
    代码中实体类的编写:一对一在实体类中多加一个属性,一对多在实体类中多加一个集合属性,多对多就是在两个实体类中各加一个集合属性

    5.编码实战
    学生表
    在这里插入图片描述
    老师表
    在这里插入图片描述
    关系表
    在这里插入图片描述
    学生实体类

    package mybatisTest.pojo;
    
    import java.util.List;
    
    public class Student {
        private Integer stuId;
        private String stuName;
        private Integer age;
        private List<Teacher> teachers;
    
        public Integer getStuId() {
            return stuId;
        }
    
        public void setStuId(Integer stuId) {
            this.stuId = stuId;
        }
    
        public String getStuName() {
            return stuName;
        }
    
        public void setStuName(String stuName) {
            this.stuName = stuName;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public List<Teacher> getTeachers() {
            return teachers;
        }
    
        public void setTeachers(List<Teacher> teachers) {
            this.teachers = teachers;
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "stuId=" + stuId +
                    ", stuName='" + stuName + '\'' +
                    ", age=" + age +
                    ", teachers=" + teachers +
                    '}';
        }
    }
    

    老师实体类
    package mybatisTest.pojo;

    import java.util.List;

    public class Teacher {
    private Integer teaId;
    private String teaName;
    private String gender;
    private List students;

    public Integer getTeaId() {
        return teaId;
    }
    
    public void setTeaId(Integer teaId) {
        this.teaId = teaId;
    }
    
    public String getTeaName() {
        return teaName;
    }
    
    public void setTeaName(String teaName) {
        this.teaName = teaName;
    }
    
    public String getGender() {
        return gender;
    }
    
    public void setGender(String gender) {
        this.gender = gender;
    }
    
    public List<Student> getStudents() {
        return students;
    }
    
    public void setStudents(List<Student> students) {
        this.students = students;
    }
    
    @Override
    public String toString() {
        return "Teacher{" +
                "teaId=" + teaId +
                ", teaName='" + teaName + '\'' +
                ", gender='" + gender + '\'' +
                ", students=" + students +
                '}';
    }
    

    }
    dao层接口

    package mybatisTest.dao;
    
    import mybatisTest.pojo.Student;
    
    
    import java.util.List;
    
    public interface StuDao {
        List<Student> queryStu();
    }
    package mybatisTest.dao;
    


    import mybatisTest.pojo.Teacher;

    import java.util.List;
    
    public interface TeaDao {
        List<Teacher> queryTea();
    }
    

    xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="mybatisTest.dao.StuDao">
        <resultMap id="student" type="mybatisTest.pojo.Student">
            <result property="stuId" column="stu_id"/>
            <result property="stuName" column="stu_name"/>
            <result property="age" column="stu_age"/>
            <collection property="teachers" ofType="mybatisTest.pojo.Teacher">
                <id property="teaId" column="tea_id"/>
                <result property="teaName" column="tea_name"/>
                <result property="gender" column="gender"/>
            </collection>
        </resultMap>
        <select id="queryStu" resultMap="student">
            select s.*,t.*
            from student s,teacher t,stu_tea st
            where s.stu_id=st.stu_id and t.tea_id=st.tea_id
        </select> 
    </mapper>
    

    <--------------------------------------------------------------------------->

      <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        <mapper namespace="mybatisTest.dao.TeaDao">
            <resultMap id="teacher" type="mybatisTest.pojo.Teacher">
                <result property="teaId" column="tea_id"/>
                <result property="teaName" column="tea_name"/>
                <result property="gender" column="gender"/>
                <collection property="students" ofType="mybatisTest.pojo.Student">
                    <id property="stuId" column="stu_id"/>
                    <result property="stuName" column="stu_name"/>
                    <result property="age" column="stu_age"/>
                </collection>
            </resultMap>
            <select id="queryTea" resultMap="teacher">
                SELECT t.*,s.*
                from teacher t,student s,stu_tea st
                WHERE st.tea_id=t.tea_id
                and s.stu_id=st.stu_id
            </select>
        </mapper>
    

    测试

    Student{stuId=1, stuName='张三', age=15, teachers=[Teacher{teaId=1, teaName='赵六老师', gender='男', students=null}, Teacher{teaId=2, teaName='钱七老师', gender='男', students=null}, Teacher{teaId=3, teaName='二三老师', gender='女', students=null}]}
    Student{stuId=2, stuName='李四', age=16, teachers=[Teacher{teaId=2, teaName='钱七老师', gender='男', students=null}, Teacher{teaId=3, teaName='二三老师', gender='女', students=null}]}
    Student{stuId=3, stuName='王武', age=17, teachers=[Teacher{teaId=1, teaName='赵六老师', gender='男', students=null}, Teacher{teaId=3, teaName='二三老师', gender='女', students=null}]}
    

    <----------------------------------------------------------------------------------------->

    Teacher{teaId=1, teaName='赵六老师', gender='男', students=[Student{stuId=1, stuName='张三', age=15, teachers=null}, Student{stuId=3, stuName='王武', age=17, teachers=null}]}
    Teacher{teaId=2, teaName='钱七老师', gender='男', students=[Student{stuId=1, stuName='张三', age=15, teachers=null}, Student{stuId=2, stuName='李四', age=16, teachers=null}]}
    Teacher{teaId=3, teaName='二三老师', gender='女', students=[Student{stuId=3, stuName='王武', age=17, teachers=null}, Student{stuId=2, stuName='李四', age=16, teachers=null}, Student{stuId=1, stuName='张三', age=15, teachers=null}]}
    

    6.扩展思考:
    在多对多的设计中,关系表好像一般都没有实体类,但如果我要修改多对多之间的关系怎么修改?
    注:本人初学java者,如有不对敬请指出,谢谢!
    7.参考文献
    CSDN、百度百科
    8.更多讨论
    7.参考文献
    CSDN、百度百科
    8 更多讨论
    总结:
    1))什么是实体表?
    实体表就是对应实际的对象的表,比如:学生表,老师表
    2)什么是关系表?
    关系表是表示表与表之间的数据关系,我的理解是:关系表设计一般只存在多对多。
    3)怎么设计表,多对多怎么在实际代码中表示?
    设计表:一对一和一对多在表中多加一个关联字段,多对多多设计一个关联表

    代码中实体类的编写:一对一在实体类中多加一个属性,一对多在实体类中多加一个集合属性,多对多就是在两个实体类中各加一个集合属性

    温馨提示:本人初学java者,如有不对敬请指出,谢谢!

    技能树.IT修真院

    “我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

    这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。

    快来与我一起学习吧~技能树.IT修真院

    “我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

    这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。

    快来与我一起学习吧~ http://www.jnshu.com/login/1/28836439

    视频:https://pan.baidu.com/s/1oxi95RhZmUTARhKQwjXUGA

    展开全文
  • 实体表:实体表就是一个实际对象的实体表它放的数据一定一条条客观存在的事物数据,比如说设备 ,它就是客观存在的,所以可以将其设计一个实体表 事实:事实其实质就是通过各种维度和一些指标值得组合来...

    维度表:维度表可以看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,比如时间维度表,它里面的数据就是一些日,周,月,季,年,日期等数据

    实体表:实体表就是一个实际对象的表,实体表它放的数据一定是一条条客观存在的事物数据,比如说设备 ,它就是客观存在的,所以可以将其设计一个实体表

    事实表:事实表其实质就是通过各种维度和一些指标值得组合来确定一个事实的,比如通过时间维度,地域组织维度,指标值可以去确定在某时某地的一些指标值怎么样的事实。

    在这里插入图片描述
    上面这张图就是设备表的一个实体表设计,它作为一个客观存在的事实它是无法建立一个维度表的,其实设备表本身也可以看成是一个事实表,只需要对生厂商,设备类型,时间,地点这几个点进行维度表设计就行了,这样就将一个设备表变成一个事实表了。

    可能由于我本身对维度建模的接触时间比较短,在加上表达能力也不怎么行,对这三种关系理解的也不是很透切,导致文中对这三种表的关系及含义的描述可能会有错误或歧义,希望大家帮我指出,维度建模中的一个小白敬上。

    展开全文
  • 2、在封装数据库实体的对应关系时报错,第一次循环就报错了,说明第一个字段对应有问题 3、检查实体表与数据库对应关系 – > 发现数据库中id字段设置了无符号+自动递增,去掉这两项解决问题。 ...

    1、看控制台报错信息截图 --> 分析得出查询报错
    在这里插入图片描述
    2、在封装数据库表和实体的对应关系时报错,第一次循环就报错了,说明第一个字段对应有问题
    在这里插入图片描述
    3、检查实体表与数据库对应关系 – > 发现数据库表中id字段设置了无符号+自动递增,去掉这两项解决问题。
    在这里插入图片描述

    展开全文
  • 每篇分享文从【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】八个方面深度解析后端知识/技能,本篇分享的是:【什么是实体表,什么是关系表,一对多和多对多...
  • 功能:用hibernate生成例如五表权限法的实体类,生成时只会生成实体表,而不生成关系表。比如我们需要用户表,权限表,资源表,用户权限表,权限资源表这五个数据库表,但是我们实际生成的3个实体类,其中的关联...
  • 实体表之间的关系

    2019-01-25 11:29:48
    *六度人脉关系理论(Six Degrees of Separation),指地球上所有的人都可以通过六层以内的熟人链和 任何其他人联系起来。通俗地讲:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你...
  • 最近项目组让整理一个我们项目的结构设计说明书,就是梳理每张的字段、描述、是否为空、字段类型等,理论上完成上面的就可以交差了,但我觉得要是能将所有的之间的关联关系图(EER)画出来就更好了,逼格一下...
  • ADO.NET Entity Framework对SQL Server 关系的一个映射的框架,在SQL Server中的表关系,在EF中也转抽象成实体类间的关系。在SQL Server中,关系有:一对多,一对一,多对多,在实体中,也同样有这几...
  • 客户和地址一对多的关系,并且客户与地址单向关联的关系。映射策略# 外键关联:两个关系定义在一个中;# 关联:两个关系单独定义一个中通过一个中间来关联。映射策略——外键关联结构如下:...
  • 那么怎么让A中张三的信息对应B中张三自己的信息,这个就是实体表的对应关系。对应关系可以:一对一、一对多(多对一)、多对多。 (1)、一对一: 一对一:两个实体表内有共同的主键字段,字段值一致则可以...
  • 1、实体成为属性还是 2、二元关系还是多元关系 第一条不用多说,如果设计出来的模型不能正确反映想要表达的实体和各种约束,这自然失败的设计。至于第二条,如果不注重表达的情绪,一上来就想去考虑有关...
  • MyBatis实体关联

    2016-06-01 14:09:00
    用过hibernate的小伙伴都知道无论是采用注解还是对象关系映射文件,都会把实体类的属性和数据的列联系起来。...我们查询的是,返回的结果是实体类。这之间有一个对应关系。  如果说实体类的...
  • E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。1、表示方法E-R描述现实世界概念结构模型的有效方法。表示概念模型的一种方式。(1)...
  • 如题。没用hibernate。 我的实体类和的对应关系 我的属性和字段名称的对应关系。 rowmapper我知道。但是公司要求用注解。 我自定义注解。公司说spring原生有。 到底什么呢。怎么用呢。
  • 对于关系型数据库来说,最重要的如何将数据拆分为有相关关系的多个数据。SQLite作为关系型数据库,允许entits之间可以有多种关系,Room提供了多种方式表达这种关系。 @Embedded内嵌对象 @Embedded注解可以将一...
  • 通过三天资料收集,终于弄清楚 关于mybatis、java实体...关于当前的业务表关系主要有几类:无关系、一对一、一对多、多对多。如果没有外键关系,mybatis也可以用associate、collection这类链接字。只不过数据无法进...
  • JPA实体关系

    2017-10-17 23:11:10
    这里的实体类都被视为关系表(JPA的概念),因此是实体类之间的关系如下: @ManyToOne 关系@OneToMany 关系@OneToOne 关系@ManyToMany 关系 @ManyToOne 关系 多对一实体之间存在的关系,其中一个实体(列或组列)...
  • 一对一关系(1:1):如果实体集()A 中的每一个实休(就是每行记录),在实体集B中只有一条数据与它对应,反之实体集B 中的每一个实体,在实体A中只有一条数据与它对应这样的实体关系一对一关系实例:员工、员工...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,641
精华内容 3,456
关键字:

关系表是实体