数据库要点

1:数据库管理系统的基本功能:
数据独立性,并发控制,故障恢复,安全性,完整性
2:数据字典:
是数据库系统中的一个特殊文件,用于存储数据库中的说明信息,这些说明信息称为元数据,这些说明信息包括数据结构中每个成员的名称,数据类型,长度等。。。有了数据字典,用户在操作数据时只需指出所要操作数据库对象的名称即可,而无须指出其存放的具体路径和位置。
3:视图
从不同角度截取同一数据库的子集,每一个子集被称为一个视图
4;
数据库设计人员--数据库定义语言DDL
数据库管理员和用户--数据操纵语言DML
数据库管理员--数据控制语言DCL
5:SQL:结构化查询语言(当然DDL,DML,DCL都包括)
6:
(1)层次数据模型:采用树形结构表示实体与实体之间的关系,层次模型是以记录型为节点的有向树。因此层次模型只能处理一对多的关系
(2)网状数据模型:允许节点有多个双亲
7:key
超键(super key):能唯一标识实体的属性集
候选键(candidate key):唯一标识实体最小属性集合的键,候选键是超键,但任何候选键的子集都不是超键
主键:是候选键,有多个候选键时,一般选一个作为主键
8:约束
一般性约束:。。。
键约束:在一个联系R的实例中,它所关联的实体A最多只能出现在一个联系实例中,它就可以唯一确定该联系。1:1,或者1:n。

9:弱实体:没有键的实体型称为弱实体型,存在键的实体型称为强实体型。弱实体依赖于一个强实体而存在。
10:类层次:有时,需要将实体型中的实体分为子类,分类后一般体现为一种层次,最上层为超类,下层为子类,类层次是一种特殊的联系(层次联系)。
11:数据模型的三要素:数据结构,数据操作,完整性约束
有四种方法能抽象现实世界的实体联系:层次模型,网状模型,关系模型,面向对象模型
12:完整性约束(Integrity Constraints)的条件:域约束,主键限制,唯一限制,外键限制,一般性限制。完整性约束的三大类:实体完整性,参照完整性,用户定义完整性
主键限制:值唯一,不能为空值
唯一性限制(unique):值唯一,允许有且仅有一个空值
外键:一张表的某个字段是另一张表的候选键/主键
从表:含有外键的表
主表:外键在另一张表做主键/候选键的表
13:表间数据完整性的实现
13.1:外键:对从表定义外键约束,完成主表和从表两个方向的数据完整性
13.2:触发器:主表的触发器维护主表到从表方向的数据完整性,而从表的触发器维护从表到主表方向的参照完整性。
13.3:断言:检查表中个别列,整个表或表与表之间是否满足指定的条件
14:
DDL:create, drop, alter
DML:insert, select, update, delete
DCL:grant, revoke
15:完整性约束
域约束:规则--CREATE RULE mark_rule AS @mark between 0 and 100 sp_bindrule mark_rule,'Ctake.mark'
检查约束:check
16:笛卡儿积:
RS为二元关系操作符。
结果包含R和S中所有的列。如R中有M个属性p个元组,S中N个属性q个元组,则RS的结果关系有M+N个属性(列),p x q个元组。
如果有相同的列名,则在结果字段中不命名,只用位置表示。
17:连接(join):
条件联结--等联结(条件连接的特例)--自然联结(等连接的特例,等式中所涉及的字段名也相同,省略等式)-- 外联结(是自然联结的特列,涉及有空值的自然连接)。
外联结:自然联结是寻找相同字段名值也相等的行。但如果一个关系中的某字段在另一关系中没有值相等的对应行,自然联结不会显示该行,而外联结则将以NULL值形式显示该行。
18:关系(表),字段(列),元组(行),域,主键,外键
19:SQL SERVER中可用这三个命令(create, drop, alter)的数据库对象有:DATABASE、TABLE、VIEW、INDEX、TRIGGER、PROCEDURE、RULE、DEFAULT、FUNCTION。
20:索引:关于数据位置信息的关键字表,快速在磁盘上定位所需数据,加快查询速度
聚簇索引:当给列或多个(组合)列建索引时,重组磁盘上的表的数据,使得表的数据按照索引的顺序存储,表中数据与索引存储在相邻物理空间。每张表最多只能建一个聚簇索引。聚集索引和非聚集索引一般使用B树结构来存储索引项,而且都包含数据页和索引页,其中索引页用来存放索引项和指向下一层的指针,数据页用来存放数据
21:数据查询
21.1:模糊查询--select * from book where title like '网络'
范围判断--where price between 12 and 22
之内判断-- where bid in (select-from)
21.2:聚集函数:select sum(score), count(*), avg(score), max(score), min(score)
21.3:group by 子句:对于查询的结果进行分析,统计分析。
having 子句,必须与group by 子句连用,要求SELECT子句的列表中,除了使用聚集函数的列之外,其余各列都必须出现在Group By子句的列表中。即,SELECT是对GROUP BY的结果做投影。
有表 SC(sid, cid, score), 选出平均成绩最高的学生学号
select cid from SC group by sid having avg(score) >= all(select avg(score) from sc group by sid)
22:事务:事务是DBMS的最小执行单位,由有限的数据库操作序列组成,也是最小的故障恢复单位和并发控制单位。如果事务执行成功,DBMS应保证事务中所有步骤对数据的更新有效;若事务失败,DBMS应撤销“已执行步骤”对数据的更新。一个事务由应用程序中的一组操作序列组成,在程序中,事务以BEGIN TRANSACTION 开始,以COMMIT语句或ROLLBACK语句结束。
事务的ACID:原子性,一致性,隔离性,持久性
故障恢复:保证事务在故障时满足ACID 准则的技术;
并发控制:保证事务在并发执行时满足ACID准则的技术;
事务管理:故障恢复和并发控制的合称。
23:故障恢复:
恢复方法:故障排除后,先取最近副本,然后根据日志中的事务是否提交作相应处理。对未提交事务,应用前像回退;对已提交事务一般用后像重做。
24:日志的基本内容:
活动事务表,提交事务表,前像(BI),后像(AI)
提交规则:后像应在提交前写入DB或者日志
先记后写规则:如后像在事务提交前写入DB,需将前像写入日志,以便事务失败后,撤销事务所做的更新。
25:事务不加控制的并行执行,会产生下列3个问题:丢失更新,读“脏数据”, 读值不可复现
26:加锁
X锁:一个事务对某个数据对象加排他锁后,其它事务就不能对该数据对象加锁,必须等到该数据对象上的X锁被“解锁”(Unlock),或“释放”后,才可能再加锁。
相容矩阵:加锁协议可用相容矩阵描述。所谓相容矩阵,是说明锁请求在什么情况下可获准或被拒绝。
补丁1:为避免级联回退,要求不管是写操作锁还是读操作锁都应保持到事务结束(End of Transaction, EOT)才释放。
补丁2:活锁虽不会导致“死等”,但对系统性能有不良影响。为避免活锁,在加锁协议中应规定“先申请先服务(First Come, First Served)”原则。
27:函数依赖理论
1)如果X→Y,但Y不包含于X,则称X →Y是非平凡的函数依赖
2)完全函数依赖,部分函数依赖
第一范式:设R是一个关系模式。如果R的每个属性的值域,都是不可分的简单数据项的集合(即每个属性都不是多值属性也是不复合属性),则称R为第一范式关系模式,记做1NF。即1NF要求表中无重复值的列,或表中每一行列交叉处只有一个值。
第二范式:如果R(U,F) ∈1NF,并且R中的每个非主属性都完全函数依赖于主键,则R(U,F) ∈2NF
第三范式:如果R(U,F) ∈2NF,并且所有的非主属性都不传递依赖于主键,则R(U,F) ∈3NF 。







  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值