赞
踩
数据库系统dbs包括:数据库、硬件、软件(dbms、db)、人员(dba)
通过二级映像,体现了逻辑和物理两个层面的数据独立性
共三个有产出物,记住每个产出对应的阶段。5、6不重要
在数据库设计的概念产出er图,逻辑结构设计,产出关系模型。分为以下几种:
数据模型三要素:数据结构(所研究的对象类型的集合)、数据操作(对数据库中各种对象的实例允许执行的操作的集合)、数据的约束条件(一组完整性规则的集合)。
E-R模型转换为关系模型:E-R图是全局的设计概念,不适合进行计算机处理,为了适应关系数据库的处理,必须将E-R图转为关系模型。
E-R图是由实体、属性和联系三要素组成,而关系模型只有一个结构,所以我们使用以下方式进行转换:每个实体都对应一个关系模型,实体名对应关系模型中的名称,实体属性对应关系模型的属性,实体标识符(联系)对应关系模型的码(主键等约束)。
并(∪):结果是两张表中所有记录数合并,相同记录只显示一次。
交(∩):结果是两张表中相同的记录。
差:S1-S2,结果是S1表中有而S2表中没有的那些记录。
笛卡尔积(crossjoin):S1XS2,产生的结果包括S1和S2的所有属性列,并且S1中每条记录依次和S2中所有记录组合成一条记录,最终属性列为S1+S2属性列,记录数为S1*S2记录数。
投影(π):实际是按条件选择某关系模式中的某列,列也可以用数字表示。$ \pi_{1,2}(S1 \times S2)
里面的数字代表第几列。相当于
s
q
l
中的
s
e
l
e
c
t
选择
(
σ
)
:
实际是按条件选择某关系模式中的某条记录。
里面的数字代表第几列。相当于sql中的select 选择(σ):实际是按条件选择某关系模式中的某条记录。
里面的数字代表第几列。相当于sql中的select选择(σ):实际是按条件选择某关系模式中的某条记录。 \pi_{1,2}\sigma 1>3 $ 。 等同于sql中的where
自然连接(Natural join $ \bowtie $):显示全部的属性列,但是相同属性列只显示依次,显示2个关系模式中属性相同且值相同的记录。让具有公共相同属性的表进行连接。几元关系指表连接之后有多少个属性,即2张表属性之和-1 。
并且符号:And 条件并列 $ \land $ 或者$ \vee $
超键:能唯一标识记录的属性集合
候选键:最小的超键
主属性:包含在任何候选码中的属性称为主属性。基本上除了候选键之外的属性都是主属性
主键:任选一个候选键。也可认为候选键就是主键
从er概念模型到关系模型的转换中所遵循的准则或指导思想。一般有5个范式,常见的是1NF、2NF、3NF、BCNF。
选择题中满足了3NF基本上不会满足BCNF
画依赖图,候选关键字只有出没有入的,即都是决定别人的
反规范化技术:规范化设计后,数据库设计者希望牺牲部分规范化来提高性能。例如,获取到老师信息时,能顺便获取学生的信息,用空间换效率,避免频繁的联表查询
采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率,
可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性增加了数据维护的复杂性,会降低修改速度。
具体方式:
增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。
增加派生列:在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。如通过生日计算出年龄
重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
水平分割表:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。
垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少IO次数
模式分解:是关系数据库规范化设计中的一个重要概念。它指的是通过对关系模式进行拆分,来消除模式中的混合组合依赖,达到将模式分解为更小的模式的过程。一般分为以下
两种:
是否保持函数依赖案例:设原关系模式R(A,B,C),依赖集F(A->B,B->C,A->C),将其分解为两个关系模式R1(A,B)和R2(B,C),此时R1中保持依赖A->B,R2保持依赖B->C,说明分解后的R1和R2是保持函依赖的分解,因为A->C这个函数依赖实际是一个冗余依赖,可以由前两个依赖传递得到,因此不需要管。
当分解为两个关系模式,可以通过以下定理判断是否无损分解:
总结:看是否有无损,就用交集算;看是否保持函数依赖,看分解后的能否推导出原函数依赖
事务:由一系列DML操作组成,这些操作,要么全做,要么全不做,它从第一个DML操作开始,rollback、commiti或者DDL结束,拥有以下四种特性(acid属性),详解如下:
其它时候并行操作,唯独操作数据的时候加锁,变为串行操作
共分为三级封锁协议,如下:
sql答题技巧:对于选择题,如果看到属性名和AVG等函数,在select中出现,那一定是group by
NoSQL:Non-Relational或者是Not Only SQL,泛指排关系型数据库,区分开关系型数据库,并且不保证关系型数据库的ACID特性。
NoSQL的分类:
NoSQL的特征:易拓展、大数据量、高性能、灵活的数据模型、高可用
NoSQL的框架分层(从下至上):数据持久层、数据分布层、数据逻辑模型层和接口层,层次之间相辅而成,协调工作
NoSQL适用于哪些场景:数据模型比较简单、需要灵活性更强的系统、对数据性能要求高、不需要高度的数据一致性
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。