精华内容
下载资源
问答
  • 类间关系的种类

    2010-05-24 13:06:00
    1:类间关系的种类2:关联描述了系统中对象或实例之间的离散连接,关联带有系统中各个对象之间关系的信息。2.1关联表示法2.2聚集与组合3:泛化,继承【Generalization】泛化关系是类元的一般描述和具体描述之间的...

    1:类间关系的种类

    2:关联

    描述了系统中对象或实例之间的离散连接,关联带有系统中各个对象之间关系的信息。

    2.1关联表示法

    2.2聚集与组合

    3:泛化,继承【Generalization】

    泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。

    4: 实现【realization】

    实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,其中接口只是行为的说明而不是结构或者实现。

    5:依赖【Dependence】

    依赖表示两个或多个模型元素之间语义上的关系。它只将模型元素本身连接起来而不需要用一组实例来表达它的意思。它表示了这样一种情形,提供者的某些变化会要求或指示依赖关系中客户的变化。

    5.1依赖的种类

    访问:允许一个包访问另一个包【access】

    绑定:为模板参数赋值以生成一个新的模型元素【bind】

    调用:声明一个类调用其他类的方法【call】

    导出:声明一个实例可以从另一个实例中到处【derive】

    友元:允许一个元素访问另一个元素而不论被访问元素的可见性【friend】

    引入:允许一个包访问另一个包的内容并未被访问包的组成部分添加别名【import】

    实例化:关于一个类的方法生成了另一个类的实例的生命【instantate】

    参数:一个操作和他参数之间的关系【parameter】

    实现:说明和其实之间的映射关系【realize】

    精化:声明具有两个不同层次上元素的映射关系【refine】

    发送:信号发送者和信号接受者之间的关系【send】

    跟踪:声明不同模型中元素之间的连接,没有映射精确【trace】

    使用:声明使用一个模型元素需要已存在的另一个模型元素,这样才能正确实现使用者的功能(调用,实例化,参数,发送)【use】

    6:约束

    约束可以用来表示各种非局部的关系,如关联路径上的限制。约束尤其可以用来表述存在特性(存在X则C条件成立)和通用特性(对于Y中的所有y,条件D必须成立)。

    7:实例

    实例是有身份标识的运行实体,即它可以与其他运行实体相区分。它在任何时刻都有一个值,随着对实例进行操作值也会被改变。

     

    转自:http://www.uml.org.cn/oobject/200910191.asp

    展开全文
  • 常见6种类的关系

    千次阅读 2018-04-26 14:32:32
    简介 依赖(Dependency) 表现 关联(Association) 表现 其他关联 聚合(Aggregation)和组合...类常见关系有六种,从弱到强为:依赖<关联<聚合<组合<泛化=实现。 ...

    简介

    • 类的常见关系有六种,从弱到强为:依赖<关联<聚合<组合<泛化=实现。

    依赖(Dependency)

    • 是一种使用的关系,即一个类需要另一个类的协助,尽量不双向依赖。
      180426.denpendency.png

    表现

    • 局部变量。
    public class Person {
    
        public void program() {
            Computer computer = new Computer();
        }
    }
    • 方法的参数或返回值。
    public class Person {
    
        public Computer program(Computer computer) {
            return computer;
        }
    }
    • 静态方法的调用。
    public class Computer {
    
        public static void program() {
    
        }
    }
    public class Person {
    
        public void program() {
            Computer.program();
        }
    }

    关联(Association)

    • 是一种拥有的关系,一个类知道另一个类的属性和方法。
      180426.assosiate.png

    表现

    • 成员变量。
    public class Teacher {
    
        private Student student;
    }

    其他关联

    • 双向关联。
      180426.double.png
    • 自关联。
      180426.self.png

    聚合(Aggregation)和组合(Composition)

    • 聚合:整体和部分的关系,整体与部分可以分开
    • 组合:整体与部分的关系,但是整体与部分不可以分开
      180426.associate.png

    表现

    • 成员变量。
    public class People {
    
        private List<Person> personList;
    
        public void setPersonList(List<Person> personList) {
            this.personList = personList;
        }
    }
    public class Person {
    
        private Hand hand = new Hand();
    }

    泛化(Generalization)

    • 是一种继承关系,用于描述父类与子类之间的关系。
      180426.generation.png

    表现

    • 继承父类。
    public class Man extends Person {
    
    }

    实现(Realization)

    • 是一种实现接口关系,类是接口所有行为的实现。
      180426.realize.png

    表现

    • 实现接口。
    public interface Eat {
    
        void eat();
    }
    public class Person implements Eat {
    
        @Override
        public void eat() {
    
        }
    }

    参考

    展开全文
  • 关系型数据库和非关系型数据库的种类和区别 数据库 类型特性优点缺点 关系型数据库 SQLite、Oracle、mysql 1、关系型数据库,是指采用了关系模型来组织 数据的数据库; 2、关系型数据库的最大特点...

    关系型数据库和非关系型数据库的种类和区别

    数据库 类型特性优点缺点
    关系型数据库 SQLite、Oracle、mysql 1、关系型数据库,是指采用了关系模型来组织 数据的数据库; 2、关系型数据库的最大特点就是事务的一致性; 3、简单来说,关系模型指的就是二维表格模型, 而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解; 2、使用方便:通用的SQL语言使得操作关系型数据库非常方便; 3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率; 4、支持SQL,可用于复杂的查询。 1、为了维护一致性所付出的巨大代价就是其读写性能比较差; 2、固定的表结构; 3、高并发读写需求; 4、海量数据的高效率读写;
    非关系型数据库 MongoDb、redis、HBase 1、使用键值对存储数据; 2、分布式; 3、一般不支持ACID特性; 4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。 1、无需经过sql层的解析,读写性能很高; 2、基于键值对,数据没有耦合性,容易扩展; 3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。 1、不提供sql支持,学习和使用成本较高; 2、无事务处理,附加功能bi和报表等支持也不好;

    先上一个比较表述专业化的表格分析。

    关系型数据库优点:

    1. 用的都是表结构,比较容易理解

    2. 使用的是通用的SQL语言

    3. 减少了数据的冗余和数据不一致的情况发生

    4. 可以进行表或者多个表之间的复杂查询

    关系型数据库缺点:

    1. 固定的表结构,灵活性欠缺

    2. 为了维持表结构而牺牲了读写性能

    3. 高并发读写能力较差

    非关系型数据库优点:

    1. 格式灵活,数据类型多种多样,可以是键对值,甚至是文档,图片,应用场景广泛,但是关系型数据库只支持原有的数据类型

    2. 由于是非关系型,数据没有耦合性,容易扩展

    3. 无须通过sql层的解析,读写能力较高

    4. 成本低,nosql数据库部署简单,基本都是开源软件

    非关系型数据库缺点:

    1. 不提供sql支持,学习成本高

    2. 无事务支持

    3. 由于数据类型灵活,也导致了数据结构相对复杂,在复杂查询方面比较麻烦

    总结:总的来说差别就在于关系型这三个字上面,由于数据结构设置的方式不同,关系型数据库呈现的是一种数据规范化之后的结果,而非关系型数据库展现的则是一种数据结构化存储方法的集合,对应不同的使用场景,可以选择不同的数据库。

    数据库操作

    1.创建数据库:create database ${new_Database_Name}

    2.删除数据库:drop database${database_Name}

    3.建表: create table ${table_Name} {

    ${'field_name1'} ${field_type} primary key,

    //设立第一个字段的名字和字段类型且将第一个字段作为主键,设立主键也是为了保障数据之间的关联性

    ${'field_name1'} ${field_type},

    //设立第二个字段的名字和字段类型

    }

    4.删除表 drop table ${table_name}

    5.插入数据 insert into ${table_name} values(value1,value2,value3)

    insert into ${table_name}(field1,field2) values(value1,value2) //指定字段插入

    1. 数据库查询 select ${field_name2,filed_name2} from ${database_name}

    where 表达式

    1. 删除数据 delete from ${table_name}

      where 表达式

    表达式中可以包含LIKE,REGEXP ,并且可以后接union select 进行联合查询

    8.数据更新 update ${table_name} set ${field_name}=${value} where 表达式

    数据类型

    数值

    类型大小范围(有符号)范围(无符号)用 途
    TINYINT 1 字节 (-128,127) (0,255) 小整数值
    SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
    MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
    INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
    BIGINT 8 字节 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
    FLOAT 4 字节 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度 浮点数值
    DOUBLE 8 字节 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度 浮点数值
    DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

    日期时间

    类型大小 (字节)范围格式用途
    DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
    TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
    YEAR 1 1901/2155 YYYY 年份值
    DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
    TIMESTAMP 4 1970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

    字符串类型

    类型大小用途
    CHAR 0-255字节 定长字符串
    VARCHAR 0-65535 字节 变长字符串
    TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
    TINYTEXT 0-255字节 短文本字符串
    BLOB 0-65 535字节 二进制形式的长文本数据
    TEXT 0-65 535字节 长文本数据
    MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
    MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
    LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
    LONGTEXT 0-4 294 967 295字节 极大文本数据

    实践

    先创建一个新的库作为练手,最后使用use语句选择则新创建的数据库

    在test库中分别建立了digit,time,string三个表来分别存储数值,日期时间,字符串三种不同的类型数据

    这里可以通过desc语法查看表的结构

    进行简单的数据插入操作

    然后进行查询操作

    这里进行查询操作,由于表中只有一条数据就不后加whre和表达式了,可以看到数据被更改成10了

    这里进行数据删除的操作,先插入一条无用的数据

    进行删除

    可以看到之前插入的数据消失了,删除成功,至此mysql的基本操作学习完成。

    ----------分隔符---------

    mysql指令

    limit指令

    limit [位置偏移量,]行数

    若第一条记录的偏移量为0,可以理解为跳过了多少条记录,行数则代表从偏移量开始返回多少条数据

    偏移量默认为0

    limit 4 代表 返回4条数据

    limit 0,3 代表从0开始返回3条数据

    REGEXP正则表达式

    匹配模式内容过多,这里不用于阐述

    补充:关于LIKE和REGEXP的区别:LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(当然,使用通配符除外)。而REGEXP在列值内进行匹配,如果被匹配的匹配的文本在列值中出

    查看表结构

    descript ${table_name} 可以省略为desc

    增添新用户

    授权:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

    例子:grant select,insert,update,delete on test.digit to test1@localhost “%” Identified by “abc”;

    例子中增加了一个用户test1密码为abc且只可以在本地登录,且对test库的digit表具有插入,查询,插入三中操作权限的用户

    收回权限: 例子:revoke delete ON test.digit from test1@localhost;

    将test1对test库中digit表的删除权限去除。

    1. ALTER: 修改表和索引

    2. CREATE: 创建数据库和表

    3. DROP: 抛弃(删除)数据库和表

    4. INDEX: 创建或抛弃索引

    5. INSERT: 向表中插入新行

    6. SELECT: 检索表中的记录

    7. UPDATE 修改现存表记录

    8. FILE: 读或写服务器上的文件

    9. PROCESS: 查看服务器中执行的线程信息或杀死线程

    10. RELOAD: 重载授权表或清空日志。主机缓存或表缓存

    11. SHUTDOWN: 关闭服务器

    12. ALL: 所有权限,ALL PRIVILEGES同义词 USAGE: 特殊的“无权限”权限

      除此之外还有十二种单独授权,可以搭配起来进行使用

    删除用户

    例子:Delete FROM user Where User='test' and Host='localhost'; 删除一个user为test且host为本地网络的账号

    这里也可以使用update语句修改用户user的password字段

    加索引

    mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]); 例子: mysql> alter table employee add index emp_name (name);

    加主关键字的索引

    mysql> alter table 表名 add primary key (字段名); 例子: mysql> alter table employee add primary key(id);

    加唯一限制条件的索引

    mysql> alter table 表名 add unique 索引名 (字段名); 例子: mysql> alter table employee add unique emp_name2(cardnumber);

    删除某个索引

    mysql> alter table 表名 drop index 索引名; 例子: mysql>alter table employee drop index emp_name;

    增加字段

    mysql> ALTER TABLE table_name ADD field_name field_type;

    例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0 mysql> alter table MyClass add passtest int(4) default '0'

    修改原字段名称及类型: mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

    删除字段: MySQL ALTER TABLE table_name DROP field_name;

    修改表名

    命令:rename table 原表名 to 新表名;

    例如:在表MyClass名字更改为YouClass mysql> rename table MyClass to YouClass;

    当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

    如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。

    附录:sqli-lab 安装

     uname -a   //保证linux内核是3.01以上
     sudo apt-get install -y docker.io  
     docker version //检查安装情况
     sudo groupadd docker //建立新的用户组
     sudo gpasswd -a ${USER} docker //然后把当前用户加入docker组
     sudo service docker restart //重启服务
     newgrp - docker //切换到docker用户组
     //默认情况下, docker 命令会使用 Unix socket 与 Docker 引擎通讯。
     //而只有 root 用户和docker 组的用户才可以访问 Docker 引擎的Unix socket。
     //这就是换源的原因
     sudo vim /etc/docker/daemon.json  //这一步用于换docker源,镜像源自寻
     docker search sqli-lab
     docker pull ${mirror-name}
     docker run -dt --name sqli -p 5000:80 --rm acgpiano/sqli-labs //启动sqli-lab-dt 让其在后台运行
     
     //-dt 让其在后台运行 --name 给其命名 -p 本地端口:docker中的端口 是将docker的端口映射到本地端口
     //--rm 当其关闭后将删除开启的资源
     这时候打开本地的5000端口即可运行sqli-lab

     

    关系型数据库和非关系型数据库的种类和区别
    [Guānxì xíng shùjùkù hé fēi guānxì xíng shùjùkù de zhǒnglèi hé qūbié]
    Types and differences between relational and non-relational databases
     

    转载于:https://www.cnblogs.com/zedian752/p/11338139.html

    展开全文
  • 实现指是一个class类实现interface接口(可以是多个)功能,实现是类与接口之间最常见的关系。在Java中此类关系通过关键字 implements明确标识。在C++中,实现关系体现在抽象父类与具体子类之间关...

    1.继承

       继承指的是一个类(称为子类)继承另外的一个类(称为父类)的功能,并可以在子类中增加自己的新属性和功能。在Java中继承关系可以通过关键字 extends明确标识。在UML类图表示中,用一条带空心三角箭头的实线表示继承关系,由子类指向父类。

     

    2.实现关系

       实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在Java中此类关系通过关键字 implements明确标识。在C++中,实现关系体现在抽象父类与具体子类之间的关系。在UML类图中,用一条带空心三角箭头的虚线表示实现关系,从类指向实现的接口。

     

    3.依赖关系

        依赖就是一个类A使用到了另一个类B来实现某些功能,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。在代码中,常表现为类B作为参数被类A在某个方法中使用。在UML类图中,依赖关系用由类A指向类B的带箭头虚线表示。 

    4.关联关系

        关联体现的是两个类之间语义级别的一种强依赖关系,这种关系比依赖关系更强,一般是长期性的。关联可以是单向、双向的。在代码中常体现在,被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。在UML类图中,用由关联类A指向被关联类B的带箭头实线表示关联关系,在关联的两端可以标注关联双方的角色和多重性标记。

    5.聚合关系

        聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。比如飞机场和飞机。在代码中的体现,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,用空心菱形加实线箭头表示聚合关系。

    6.组合关系

        组合也是关联关系的一种特例,体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。在代码中也与关联关系是一致的,只能从语义级别来区分。在 UML类图设计中,用实心菱形加实线箭头表示组合关系。

    展开全文
  • 一、依赖关系(Dependence) 由依赖一方指向被依赖一方 二、关联关系(Association) 由关联一方指向被关联一方(单向关联) 三、聚合关系(Aggregation) 菱形在整体这边 四、组合关系(Composition) ...
  • 对象模型中父子关系种类

    千次阅读 2013-12-06 09:50:57
    我们在面向对象模型设计时候,父子关系,parent-child relationship,是经常涉及到。类之间有父子关系,对象也有父子关系。 所谓父子关系,一般是指Inheritance Relationship,或者是Container-contained ...
  • 一、仓库的种类: maven仓库分三类: 本地仓库(local),远程仓库【私服】(central),中央仓库 本地仓库:本地的一个文件夹,用来存放所有的jar包,由自己维护; 远程仓库(或私服):由公司或单位创建的一个...
  • 关系型数据库种类

    2019-09-29 12:52:07
    常见主流数据库分类: DB2,Oracle,Informix,Sybase,SQLServer,PostgreSQL,mySQL,... DB2是IBM著名的关系型数据库产品,DB2系统在企业级应用中十分广泛。截止2003年,全球财富500强(Fortune500)中有415家使用...
  • 关系型数据库和非关系型数据库的种类和区别数据库 类型特性优点缺点关系型数据库 SQLite、Oracle、mysql1、关系型数据库,是指采用了关系模型来组织 数据的数据库; 2、关系型数据库的最大特点就是事务的一致性; 3...
  • UML种类与类的关系

    2010-07-26 11:57:00
    类与类之间存在以下关系: (1)泛化(Generalization) (2)关联...表示类与类之间继承关系,接口与接口之间继承关系,或类对接口实现关系。一般化的关系是从子类指向父类,与继承或实现方法相反。...
  • tensorflow使用图来定义计算,在session中来执行图中定义计算 tensorflow会为我们指定一张默认图.然后sesssion会直接和该默认图相关联. 如果新建一个张图,那么就存在2张图, 首先看如下程序: import ...
  • 对于cad中,二维基础练习题,切线和圆各种相切关系很重要,也很微妙!掌握各种相切关系,有利于我们快速掌握cad学习。——把CAD学习装进口袋,随时随地打开学习。【图太多,建议WIF...
  • UML类图中种类关系

    千次阅读 2013-03-08 15:08:20
    转自http://blog.csdn.net/e5945/article/details/5968654 一.... 泛化是指类之间继承的关系。...二....依赖关系的特点体现在局部,临时。一般用在局部变量,方法参数以及静态方法的调用等。依赖关系用虚
  • 如何区分UML 类图中 ”关联关系(association) “、”聚合关系(aggregation) “、”合成关系 (compostion)“ 和”依赖关系 (dependency)。
  • UML类图绘制1、依赖关系 1、依赖关系 描述图标:虚线箭头 描述:只要是在类中使用到了对方就算是有依赖关系
  • IOS各种类的继承关系

    2014-04-12 15:49:05
    (NSIndexPath是一个对象,它用来表示一个树形纪录地址) (NSArray 数组) (NSDictionary字典) (NSValue转换成对象) (NSData) (NSEnumerator) (NSURL) (NSTimer)。 ...
  • 黑马程序员 maven–安装 下载路径:... 复制maven解压路径 电脑右键–》属性–》高级系统设置–》新建系统变量 测试是否安装成功 ...仓库的种类和彼此的关系 maven–标准目录结构 ...
  • 最近在看一些设计模式,书中涉及到了一些类之间的关系,由于之前没怎么用过,对一些关于类关系的名词不是太熟悉,所以这篇文章就把几种常用的关系及其表示整理下。   类的关系有泛化、实现、依赖、关联。其中关联...
  • UML类图以及各种类之间的关系

    千次阅读 2015-07-11 12:05:03
    每次在阅读或者画UML 图时候,总是对各种类之间的关系区分不是很清楚,最近在看《大话设计模式》,开篇介绍非常详细易懂,赶紧整理一下,便于自己记忆。 1. 继承关系 继承关系表示一个类派生自另外一个类,...
  • 一 概述 1 cpu寄存器 访问速度极快,存储空间更小,成本更高 2 缓存介于CPU与内存之间,访问速度非常快 3 内存访问速度快,存储空间小,成本高 4 外存访问速度较慢,存储空间大,成本低 二不同角度剖析差异 ...CPU...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,704
精华内容 2,281
关键字:

关系的种类