精华内容
下载资源
问答
  • 用Echarts 制作一个数据库表的关联关系图(一)
    千次阅读
    2018-09-04 11:58:28

    一、背景

          项目中要开发一个表示数据库表关联关系的图,在选型时费了些功夫。先后尝试了几种方案,Canvas和SVG(不好用),jsplumb(适合做流程图,太重),最终当看到echarts 中的graph 的时候,我眼前一亮,就是她了。

             数据库表关联关系图只做个轻量级的展示和简单的操作,如添加节点,连接表节点,在节点连线上展示连接条件等功能,这就需要我们对 echarts 做些改造,增加些记忆功能和点击事件。下面是指引我的思路几个问题:

             1、怎么去添加节点

             2、添加节点时候怎么知道坐标(echarts 展示节点需要定义坐标)

             3、添加节点后怎么出发echarts 重新刷新视图(添加节点是一个组件,图展示是另一个组件)

             4、什么时候去请求表的字段信息(字段表格关联条件时候需要用到)

             5、连线怎么连

             6、关联条件的弹出框是用一个还是用多个(用一个时怎么做切换)

             7、关联条件的添加删除修改逻辑怎么去做,怎么去保存

             8、最终条件怎么保存(所有连线和所有节点等等)

     

     

     

    更多相关内容
  • 关联方关系及其交易披露.ppt
  • 表与表之间一般存在三种关系,即一对一,一对多,多对多关系。 下面分别就三种关系讲解数据库相关设计的思路和思考过程。 一、一对一关系 例如,下面的一张表,保存了人的相关信息,有男有女,要求查处所有的...

    表与表之间一般存在三种关系,即一对一,一对多,多对多关系。 

    下面分别就三种关系讲解数据库相关设计的思路和思考过程。

     

    一、一对一关系 

    例如,下面的一张表,保存了人的相关信息,有男有女,要求查处所有的夫妻。 

    sql代码:

    CREATE TABLE IF NOT EXISTS person(
        id INT PRIMARY KEY AUTO_INCREMENT,
        sname VARCHAR(10),
        sex CHAR(1),
        husband INT,
        wife INT 
    );
    
    
    INSERT INTO person VALUES(1,'小花','0',3,0);
    INSERT INTO person VALUES(2,'小明','1',0,4);
    INSERT INTO person VALUES(3,'张三','1',0,1);
    INSERT INTO person VALUES(4,'小丽','0',2,0);
    INSERT INTO person VALUES(5,'王五','1',0,0);

    sql代码对应的person表: 


     
    从表中可以看出,小花和张三是夫妻,小明和小丽是夫妻。通常为了查询方便,需要两个表,但实际项目中为了省空间,通常只建一个表,要实现一对一查询,可以建立两个视图(虚表)
    * 有个小细节提一下,视图只是个逻辑概念,并不独立占用物理内存,它依附于数据表,对视图进行修改时相应的表数据也会盖改动 *

    CREATE VIEW men AS (SELECT * FROM person WHERE sex='1');
    CREATE VIEW women AS (SELECT * FROM person WHERE sex='0');

    men视图:

    women视图:


    执行查询:
    方式一(原始方法)

    SELECT men.sname AS husband,women.sname AS wife FROM men,women WHERE men.id = women.husband AND women.id = men.wife;

    方式二(连接方法)

    SELECT men.sname AS husband,women.sname AS wife FROM men INNER JOIN women ON men.id = women.husband AND women.id = men.wife;

     

    二、一对多关系 

    例如:一个人可以拥有多辆汽车,要求查询某个人拥有的所有车辆。 

    分析:这种情况其实也可以采用 一张表,但因为一个人可以拥有多辆汽车,如果采用一张表,会造成冗余信息过多。好的设计方式是,人和车辆分别单独建表,那么如何将两个表关联呢?有个巧妙的方法,在车辆的表中加个外键字段(人的编号)即可。 
    * (思路小结:’建两个表,一’方不动,’多’方添加一个外键字段) *

    sql代码:

    // 建立人员表
    CREATE TABLE human(
        id VARCHAR(12) PRIMARY KEY,
        sname VARCHAR(12),
        age INT,
        sex CHAR(1)
    );
    INSERT INTO human VALUES('H001','小王',27,'1');
    INSERT INTO human VALUES('H002','小明',24,'1');
    INSERT INTO human VALUES('H003','张慧',28,'0');
    INSERT INTO human VALUES('H004','李小燕',35,'0');
    INSERT INTO human VALUES('H005','王大拿',29,'1');
    INSERT INTO human VALUES('H006','周强',36,'1');
    
    // 建立车辆信息表
    CREATE TABLE car(
        id VARCHAR(12) PRIMARY KEY,
        mark VARCHAR(24),
        price NUMERIC(6,2),
        hid VARCHAR(12),
        CONSTRAINT fk_human FOREIGN KEY(hid) REFERENCES human(id)
    );
    INSERT INTO car VALUES('C001','BMW',65.99,'H001');
    INSERT INTO car VALUES('C002','BenZ',75.99,'H002');
    INSERT INTO car VALUES('C003','Skoda',23.99,'H001');
    INSERT INTO car VALUES('C004','Peugeot',20.99,'H003');
    INSERT INTO car VALUES('C005','Porsche',295.99,'H004');
    INSERT INTO car VALUES('C006','Honda',24.99,'H005');
    INSERT INTO car VALUES('C007','Toyota',27.99,'H006');
    INSERT INTO car VALUES('C008','Kia',18.99,'H002');
    INSERT INTO car VALUES('C009','Bentley',309.99,'H005');

    sql代码对应的人员表:


     
    sql代码对应的车辆信息表:

    执行查询

    SELECT human.sname AS 车主,car.mark AS 车辆 FROM human,car WHERE human.id = car.hid;
    SELECT human.sname AS 车主,car.mark AS 车辆 FROM human INNER JOIN car WHERE human.id = car.hid;

     

    三、多对多关系

    例如:学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择。 
    分析:这种方式可以按照类似一对多方式建表,但冗余信息太多,好的方式是实体和关系分离并单独建表,实体表为学生表和课程表,关系表为选修表,其中关系表采用联合主键的方式(由学生表主键和课程表主键组成)建表。

    sql代码:

    // 建立学生表
    CREATE TABLE student(
        id VARCHAR(10) PRIMARY KEY,
        sname VARCHAR(12),
        age INT,
        sex CHAR(1),
        class VARCHAR(6)
    );
    INSERT INTO student VALUES('S0001','王军',20,1,'c101');
    INSERT INTO student VALUES('S0002','张宇',21,1,'c101');
    INSERT INTO student VALUES('S0003','刘飞',22,1,'c102');
    INSERT INTO student VALUES('S0004','赵燕',18,0,'c103');
    INSERT INTO student VALUES('S0005','曾婷',19,0,'c103');
    INSERT INTO student VALUES('S0006','周慧',21,0,'c104');
    INSERT INTO student VALUES('S0007','小红',23,0,'c104');
    INSERT INTO student VALUES('S0008','杨晓',18,0,'c104');
    INSERT INTO student VALUES('S0009','李杰',20,1,'c105');
    INSERT INTO student VALUES('S0010','张良',22,1,'c105');
    
    // 建立课程表
    CREATE TABLE course(
        id VARCHAR(10) PRIMARY KEY,
        sname VARCHAR(12),
        credit NUMERIC(2,1),
        teacher VARCHAR(12)
    );
    INSERT INTO course VALUES('C001','Java',3.5,'李老师');
    INSERT INTO course VALUES('C002','高等数学',5.0,'赵老师');
    INSERT INTO course VALUES('C003','JavaScript',3.5,'王老师');
    INSERT INTO course VALUES('C004','离散数学',3.5,'卜老师');
    INSERT INTO course VALUES('C005','数据库',3.5,'廖老师');
    INSERT INTO course VALUES('C006','操作系统',3.5,'张老师');
    
    // 建立选修表
    CREATE TABLE sc(
        sid VARCHAR(10),
        cid VARCHAR(10)
    );
    
    ALTER TABLE sc ADD CONSTRAINT pk_sc PRIMARY KEY(sid,cid);
    ALTER TABLE sc ADD CONSTRAINT fk_student FOREIGN KEY(sid) REFERENCES student(id);
    ALTER TABLE sc ADD CONSTRAINT fk_course FOREIGN KEY(cid) REFERENCES course(id);
    
    INSERT INTO sc VALUES('S0001','C001');
    INSERT INTO sc VALUES('S0001','C002');
    INSERT INTO sc VALUES('S0001','C003');
    INSERT INTO sc VALUES('S0002','C001');
    INSERT INTO sc VALUES('S0002','C004');
    INSERT INTO sc VALUES('S0003','C002');
    INSERT INTO sc VALUES('S0003','C005');
    INSERT INTO sc VALUES('S0004','C003');
    INSERT INTO sc VALUES('S0005','C001');
    INSERT INTO sc VALUES('S0006','C004');
    INSERT INTO sc VALUES('S0007','C002');
    INSERT INTO sc VALUES('S0008','C003');
    INSERT INTO sc VALUES('S0009','C001');
    INSERT INTO sc VALUES('S0009','C005');

    sql代码对应的学生表:


     
    sql代码对应的课程表:


     
    sql代码对应的选课表:


     
    执行查询:(没有选课的学生信息和无学生选的课程信息) 

    普通方式:

    SELECT * FROM student WHERE student.id NOT IN (SELECT sid FROM sc);
    SELECT * FROM course WHERE course.id NOT IN (SELECT cid FROM sc);

    关联方式:

    SELECT student.* FROM student LEFT JOIN sc ON student.id=sc.sid LEFT JOIN course ON course.id = sc.cid WHERE course.sname IS NULL;
    SELECT course.* FROM course LEFT JOIN sc ON course.id=sc.cid LEFT JOIN student ON student.id = sc.sid WHERE student.sname IS NULL;

     

    转自:https://blog.csdn.net/lengjinghk/article/details/52140276

    展开全文
  • [UML] 类图之间的关系 | 1.关联关系

    千次阅读 2020-07-01 11:56:59
    关联(Association)关系是类与类之间最常用的一种关系,它是一结构化关系,用于表示一类对象与另一类对象之间有联系 在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、C++和C#等编程语言实现关联...

    [UML] 类图之间的关系 | 1.关联关系

    1.关联关系

    • 关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系
    • 在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、C++和C#等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量
    • 在使用类图表示关联关系时可以在关联线上标注角色名

    1.1 双向关联

    • 默认情况下,关联是双向的。
    • 用一条实线表示
    • 例子:
      顾客购买商品,并拥有商品
      商品可以被卖给某个顾客
    • Java代码实现
    public class Customer {
        private Product[] products;
        ……
    }
    
    public class Product{
        private Customer customer;
        ……
    }
    

    1.2 单向关联

    • 用带箭头的实现表示
    • 例子:
      顾客拥有地址
    • Java代码实现
    public class Customer {
        private Address address;
        ……
    }
    
    public class Address {
        ……
    }
    

    1.3 自关联

    • 系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关系成为自关联。
    • 直线+箭头表示(指向自己)
    • 例子:
      一个节点Node的成员又是节点对象。
    • Java代码实现
    public class Node {
        private Node subNode;
        ……
    } 
    

    1.4 多重性关联

    • 多重性关联关系又称为重数性(Multiplicity)关联关系,表示两个关联对象在数量上的对应关系。在UML中,对象之间的多重性可以直接在关联直线上用一个数字或一个数字范围表示
    • 多重性定义表如下:
    • 例子:
      一个界面可以有一个或者多个按钮,但是一个按钮只能属于一个界面。
    • Java代码:
    public class Form {
        private Button[] buttons; //定义一个集合对象
        ……
    } 
    public class Button {}
    

    1.5 聚合

    • 聚合(Aggregation)关系表示整体与部分的关系

    • 在聚合关系中,成员对象是整体对象的一部分,但是**成员对象可以脱离整体对象独立存在**

    • 在UML中,聚合关系用带空心菱形的直线表示

    • 例子:
      发动机是汽车的组成部分,但是汽车发动机可以独立存在。

    • Java实现
    public class Car {
        private Engine engine;
        public Car(Engine engine) {    //构造注入
            this.engine = engine;
        }
        
        public void setEngine(Engine engine) {    //设值注入
            this.engine = engine;
        }
        ……
    }
    
    public class Engine {
        ……
    }
    

    1.6 组合

    • 组合(Composition)关系也表示类之间整体和部分的关系,但是在组合关系中**整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在**

    • 成员对象与整体对象之间具有同生共死的关系

    • 在UML中,组合关系用带实心菱形的直线表示

    • 例子:
      人的头和嘴巴,嘴巴是头的组成部分之一,如果头没了,嘴巴也就没了。

    • Java实现
    public class Head {
        private Mouth mouth;
        public Head() {
            mouth = new Mouth();  //实例化成员类
        }
        ……
    }
    
    public class Mouth {
        ……
    }
    

    展开全文
  • 假设有两个类,类A和类B,类A的某个成员方法的参数有类B,说明类A使用了类B,类A依赖类B,依赖关系即uses-a关系,依赖关系除了被依赖作为依赖的方法参数,还可能作为依赖的方法返回值存在,这些都是依赖关系的...

    依赖关系

    在生产中,很多场景下类与类之间都存在一定的联系,类之间的关系包括:依赖、关联、聚合、组合、继承等 ,通过学习类之间的关系有利提高面向对象编程的能力,为解决生产实际问题打下基础。

    假设有两个类,类A和类B,类A的某个成员方法的参数有类B,说明类A使用了类B,类A依赖类B,依赖关系即uses-a关系,依赖关系除了被依赖方作为依赖方的方法参数,还可能作为依赖方的方法返回值存在,这些都是依赖关系的表现形式。如下图所示:
    在这里插入图片描述
    依赖关系的例子有很多,比如:LocalDateTime的now方法根据时区ID创建LocalDateTime,这里说明LocalDateTime依赖ZoneId。

    public static LocalDateTime now(ZoneId zone) {
        return now(Clock.system(zone));
    }
    

    在UML中依赖关系使用虚线箭头表示,依赖方指向被依赖方:
    在这里插入图片描述
    LocalDateTime依赖ZoneId的关系如下图所示:
    在这里插入图片描述
    UML是什么?引用百度百科,统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

    关联关系

    关联关系是一种强依赖的关系,假设有两个类,类A和类B,类B作为类A的成员变量存在,类A也可为类B的成员变量存在,如果互为成员变量则为双向依赖,否则为单向依赖。
    在这里插入图片描述
    关联关系与依赖关系的区别在于,依赖关系是一种临时的关系,依赖关系主要体现在方法参数,当调用方法时才有关系,关联关系是一种长期的关系,主体现在成员变量,无论是否调用方法这种关系都存在。

    比如:ZonedDateTime与LocalDateTime关联,ZonedDateTime是带时区的日期时间,ZonedDateTime关联LocalDateTime。
    在这里插入图片描述
    在UML中双向关联关系一条实线表示,单向关联为单向实线箭头表示 。
    在这里插入图片描述
    ZonedDateTime关联LocalDateTime的关系图表示如下:
    在这里插入图片描述

    聚合关系

    聚合关系是一种has-a关系,假设有两个类,类A和类B,类A包含类B,类B是类A的成员变量,聚合关系和关联关系都体现在成员变量,它们的区别在于:关联关系双方是平级的,是个体和个体的关系,聚合关系双方不是平级的,是整体和部分的关系。

    比如:LocalDateTime类中包括LocalDate date和LocalTime time,这是一种聚合关系。
    在这里插入图片描述
    在UML中聚合关系用下边的符号表示 聚合关系:

    在这里插入图片描述
    菱形连接整体,实线连接部分。LocalDateTime类中包括LocalDate date和LocalTime time聚合关系如下图:
    在这里插入图片描述

    组合关系

    组合关系是一种强聚合的关系,组合关系与聚合关系的区别在于:聚合关系中部分离开整体仍可存活,组合关系中部分离开整体没有意义,比如:人由身体、四肢等部分组成 ,它们的关系为组合关系。

    在UML中组合关系使用下边的符号表示:
    在这里插入图片描述
    人与身体、四肢的关系表示如下:
    在这里插入图片描述
    类与类之间的关系还有继承关系、接口实现关系,课程后边会详细讲解。

    配套视频下载

    传智燕青Java基础精讲教程带你从零基础自学Java到大牛课程开放下载

    展开全文
  • Hibernate实体关联关系映射

    千次阅读 2018-08-03 10:52:40
     简单来说Hibernate是ORM映射的持久层框架,全称是(Object Relational Mapping),即对象关系映射。  它将数据库中的表映射成对应的对象,以对象的形式展现,这样我们就可以通过映射的对象来对数据库中的数据...
  • 在领域模型中,类与类之间最普遍的关系就是关联关系。在 UML 中,关联是有方向的。以 Customer 和 Order 为例:一个用户能发出多个订单, 而一个订单只能属于一个客户。从 Order 到 Customer 的关联是多对一关联; 而...
  • JPA中映射关联关系

    千次阅读 2018-08-26 16:10:42
    双向一对多及多对一映射 双向一对多关系中,必须存在一个关系维护端,在 ... 可以在 one 指定 @OneToMany 注释并设置 mappedBy 属性,以指定它是这一关联中的被维护端,many 为维护端。 在 many ...
  • Mybatis关联查询的两方式

    万次阅读 热门讨论 2018-08-15 17:01:11
    *数据库表的关联关系有三,一对一,一对多,多对多 一对一 是通过在任意一方的主键,引入对方主键作为外键来实现的,就是说主键与外键为同一字段 一对多 是通过在“多”的一方,添加“一”的一方的主键作为外键 多...
  • Spark 计算人员二度关系

    千次阅读 2018-05-17 11:35:25
    二度关系的新的键值对,如A和B认识且A与C认识,那么B与C可以存在认识关系即二度关系,路线走向为:B->A->C; 4、转成操作filter在新的键值对中筛选出一度关系即两者已经是认识的,如A和B认识是一度关系; 5、转成...
  • Java类之间的关系(依赖,关联

    千次阅读 2020-04-22 15:26:15
    类之间的关系3.1 依赖关系3.2 关联关系3. 聚合关系4.组合关系5.泛化关系6.实现关系4. 异同分析4.1 聚合和组合的区别4.2 依赖,关联 和聚合,组合的区别5. 在java中的体现方式 1.UML简介 UML 从目标系统的不同角度...
  • UML中的五种关系

    千次阅读 热门讨论 2018-04-30 18:34:00
    UML中的关系(Relationships)主要包括5关联关系、聚合关系、依赖关系、泛化关系和实现关系关联(Association)关系 关联关系是一结构化的关系,指一对象和另一对象有联系。给定关联的两个类,可以...
  • MySql数据库三种关系详解

    千次阅读 2019-11-01 14:18:27
    如何分辨三种关系,以及三种关系的图列对比。 1.分析三种关系。 是否左表的多条记录可以对应右表的一条记录,是,则证明左表的一个字段 关联(foreign key)右表的一个字段(通常为ID) 是否右表的多条记录可以...
  • 关联关系是一结构化的关系,指一对象和另一对象有联系。给定关联的两个类,可以从其中的一个类的对象访问到另一个类的相关对象。在UML图中,关联关系用一条实线表示。 另外,关联可以有方向,表示该关联在 某...
  • 用例图使用户 与开发人员交流的一重要的方式,是对用户需求的一描述。开发人员从用户的角度整体上理解系统的功能。 1)用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。b和a本质不...
  •  关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用。 程序演示:关联关系(code/assocation)  假设:一个公司只有三名员工:一个员工...
  • spirng data JPA实战(三) 关联关系注解的使用 ​ 上一篇文章讲了spring data JPA实体类中相关注解的使用方法,这次讲下关联关系注解的使用,关联关系注解主要用来做联表的增删改查操作。 项目地址 ​ spring data ...
  • CPA二十--关联方关系的判断标准1、纵向看: ①、控制(控股>50%,=50%不行) ②、共同控制(投资双方各占50%,或有协议) ③、重大影响(20%~50%) 2、横向看:同...
  • 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么...
  • 一对多关系是最普遍的映射关系。比如部门和职工 一对多:从部门的角度,一个部门对应多个职工 多对一:从职工的角度,多个职工对应一个部门 数据库表中结构: 表 department:did departname 表 Employee:eid ...
  • mysql表关系

    千次阅读 2021-01-19 23:33:19
    表与表之间的关系"""把所有数据都存放于一张表...#类似的表关系学生与班级,也是如此,一张学生表和一张班级表”””确立表与表之间的关系 一定要换位思考(必须两都考虑周全之后才能得出结论)以员工表和部门表为例...
  • 数据库关系建模(ER图设计关系表)

    万次阅读 多人点赞 2018-11-21 20:22:46
    目录   一、概述 ...4. 关系表 VS 一般的表 5. 主码(主键primary key)  6. 实体完整性约束(entity integrity constraint) 7. 外码(外键foreign key) 8. 参照完整性约束(reference integrity c...
  • UML 用例图以及UML的八种关系

    千次阅读 热门讨论 2019-06-23 21:50:00
    UML视图:4+1视图:互相关联的视图:用例视图(椭圆形)、设计视图、实现视图、部署视图、进程视图。 用例视图覆盖了其他四个视图,是关键。 一、什么是用例图? 用例图描述了一组用例、参与者以及它们之间的...
  • 因果关系的判断?

    千次阅读 2020-06-29 15:56:45
    1. 两件事(A与B)相互关联(Association) 2. A的发生可以预测B的发生(Prediction) 3. 排除其他可能的混淆变量(Excluding Confounding Variable) 所以可以看出,判断因果其实是个逻辑过程。 -----------------...
  • UML关联关系

    千次阅读 2012-07-06 10:49:53
    UML中的关联关系其内在意思就是has a 相对于依赖关系,关联关系在代码中有所体现.上图中的关联关系在代码中体现为 其中water 中将Climate作为其中的属性. 当然,关联关系中也有双相关联     关联又分为组合,...
  • 探索变量之间的关系(python3)

    千次阅读 2020-02-10 15:42:29
    在做数据分析的过程中。...探索数据变量之间是否存在某种关系/关联。大致步骤有: 变量的类型:类别型/数值型 可视化给出可能的方向:散点图、箱型图、直方图、... 需建立更严格的分析方式:假设检验。
  • 关系数据库模型设计

    千次阅读 2020-05-19 17:13:17
    本文从现实世界-概念世界(信息世界)-机器世界(数据世界)逐级抽象,旨在以浅显易懂的语言描述关系数据库应该如何建模,最后用简单名了的描述给出关系模型的设计范式的含义。
  • Python作为深度学习和人工...一.Python、Pycharm、Anaconda关系介绍1. PythonPython是一跨平台的计算机程序语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本...
  • 数据库实体联系模型与关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,在某一具体...这就需要规划课程、学生、老师、学习资料等数据构成以及相互之间的关系。因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 179,215
精华内容 71,686
关键字:

关联方关系11种关系