我们谈论生活,讨论技术,借由文字,抵达心灵。
面向对象设计原则单一责任原则:SRP,Single Responsibility Principle就一个类而言,应该仅有一个引起它变化的原因。即,当需要修改某个类的时候,原因只有一个,让一个类制作一种类型责任。开放 - 封闭原则:Open & Close Principle,OCP软件实体(类、模块、函数等)应该是可以扩展的,即是 开放的;但是不可修改的,即是 封闭的对 扩展开放,对 修改关闭里氏替换原则,LSP,Liskov Substitution Principle子类型必须能够替换掉他们的 基类型(父类)。在任何父类可以出现的地方,都可以用子类的实例来复制给父类型的引用。(父类可以出现的地方,子类一定可以出现)当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有是一个(is-a)关系基类出现的地方,子类一定可以出现。依赖倒置原则,DIP,Dependence Inversion Principle抽象 不应该依赖于 细节细节 应该依赖于 抽象即,高层模块不应该依赖于低层模块,二者都应该依赖于抽象依赖于抽象,而不依赖于细节(实现)接口分离原则,ISP,Interfac
继承父类和子类之间共享数据(属性)和方法的机制在定义和实现一个子类的时候,可以在一个已经存在的父类的基础上进行,把这个已经存在的父类所定义的内容作为自己(子类)的内容,并加入若干新的内容父类 A 和 子类 B 的继承关系:java:extends一个父类可以有多个子类,父类有的属性和方法子类都可以继承,在子类中不必定义,子类可以定义新的public class Person{ private String name; private int age; public void setName(String name){ this.name = name; } public void setAge(int age){ this.age = age; } public String getName(){ return name; } public int getAge(){ return age; }
数据库 逻辑结构设计E-R 图关系模式的转换:实体向关系模式的转换联系向关系模式的转换:方式一:(一般不用)方式二:将联系归并到关联的两个实体的任一方,给待归并的一方实体属性集中增加另一方实体的码和该联系的属性。归并后的实体码保持不变要归并厂长这个实体,所以要给厂长这个实体增加另一方实体的码,还有联系的属性厂长(姓名,性别,年龄,厂号,任期)工厂(厂号,厂名,地点)一对多联系的转换:方式一:不常用,将联系转换成一个独立的关系模式。关系模式的属性取该联系所关联的两个实体的码及联系的属性,关系的码是多方实体的码方式二:将联系归并到关联的两个实体的 多方,给待归并的多方实体属性集中增加一方实体的码 和 该联系的属性即可,归并后的多方实体码保持不变多对多联系的转换多对多智能转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取 该联系所关联的两个多方实体的码及联系的属性,关系的码是多方实体的码构成的属性组数据库的控制功能事务管理面向过程和面向对象举例:把大象装进冰箱需要几步?1、打开冰箱2、把大象装进冰箱3、关上冰箱面向过程;关心的是,我该怎么做?一步步去实现这个功能1、我 打
关系模式的范式候选码:属性,可以决定 U 的所有属性。最小属性组候选码中包含的属性是主属性,判断范式:把候选码抽出来范式:关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程度可用范式来衡量,范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准。1NF、2NF、3NF、BCNF、4NF、5NF满足最低要求的:1NF,第一范式。在 1NF 的基础上进一步满足一些要求的是 2NF,以此类推第一范式 1NF设 R 是一个关系模式,R 属于第一范式当且仅当 R 中每一个属性 A 的值域只包含原子项,即不可分割的数据项不满足第一范式:改为符合第一范式的:就是里面的每一项都不可再分了,就满足第一范式了第一范式不能排除数据冗余和更新异常等问题,因为其中可能存在部分函数依赖第一范式想要变成第二范式,就要搞定 函数依赖的问题例子:这个例子存在数据冗余的问题:学号、姓名、学院、院长,他选了多少门课,数据就会重复多少次更新异常:修改异常:基于数据冗余引出的问题,如果想修改 张三的姓名,就要修改他所有对应的数据。可能会引起修改不一致的问题插入异常:本来可以插入的数据,现在插入不了。不
查询结果的并、交、差运算将两个 SELECT 查询语句的结果进行运算:UNION:并INTERSECT:交EXCEPT:差:从一个记录里删除属于另一个记录的元组求并集:SQL 访问控制数据控制 控制的是 用户对数据的存储权力(查询、添加、修改权限),是有 DBA 决定的。但是,某个用户对某类数据具有何种权利,是个政策问题而不是技术问题。(安全性问题)DBMS 的功能:保证这些决定的执行,所以 DBMS 具有以下功能:通过 GRANT(授权) 和 REVOKE(回收权限) 将授权通知系统,并 存入数据字典当用户提出请求时,根据授权情况检查是否执行操作请求SQL 标准包括:DELETE、INSERT、SELECT 和 UPDATE 权限,SELECT 权限对应于 READ 权限,SQL 还包括:REFERENCE 权限,用来限制用户在创建关系时定义外码的能力授权的语句格式:GRANT <权限> [,<权限>]...[ON <对象类型> <对象名>] TO <用户> [,<用户>]...[WITH GRANT OPTIO
Luckyxyz