数据库期末考试临近,总结一些基本概念
基本概念
- 数据(Data):描述事物的符号记录称为数据
- 数据库(DataBase):长期储存在计算机内、有组织、可共享的大量数据的集合
- 数据库管理系统(Data Base Management System,DBMS):用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据
- 数据库系统(DataBase System,DBS):计算机系统中引入数据库后的系统,由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)构成
数据模型三要素:
数据结构:所描述对象的集合,是对系统静态特性的描述
数据操作:允许执行的操作与有关的操作规则,是对系统动态特性的描述
完整性约束:一组完整性规则,保证数据的正确、有效、相容
数据模型:数据库系统的核心和基础
概念模型:按用户的观点对数据和信息建模,用于数据库设计
逻辑模型:按计算机系统的观点对数据建模,用于DBMS的实现
物理模型:描述数据在系统内部的表示方式和存取方法,在磁盘和磁带上的存储方式和存取方法
逻辑模型:
层次模型:用树形结构表示各类实体和实体之间的联系
优点:数据结构清晰,查询效率高
缺点:对插入和删除操作的限制较多,层次命令趋于程序化
网状模型:结点可以无双亲,也可以有多个双亲
优点:直接描述现实世界,存取效率高
缺点:结构、DDL、DML复杂,不利于用户掌握
关系模型:数据结构是一张规范化的二维表
优点:实体联系都用关系表示,数据结构清晰,用户易掌握
缺点:存取路径对用户透明,查询效率不高,DBMS开发难度大
数据库模式
外模式:数据库可以有多个外模式,指数据库用户可见的局部数据的逻辑结构和特征的描述,是某一应用有关的数据的逻辑表示。一个外模式可以为多个应用系统使用,一个应用系统只能使用一个外模式。有力保证数据库的安全性。
模式:数据库所有数据的逻辑结构和特征的描述,不涉及物理存储细节和硬件,与应用程序无关。
内模式:数据物理结构和存储方式的描述。
关系
关系:笛卡尔积的有限子集,也是一张二维表
域:相同数据类型的集合。
候选键:唯一地标识关系中的一个元组
主键:从候选键中选出,实体必须有且只有一个主键
外键:引用其他表中的主键
主属性:候选键中的属性
非主属性:不在任何候选键的属性
关系与关系模式
关系模式R(U,D,DOM,F),R为关系名,U为属性名集合,D为U中属性的域,DOM为属性向域的映像集合,F为属性间的依赖关系。
关系是关系模式某一时刻的状态或内容,是动态、不断变化的。
关系代数
传统的集合运算包括:并(∪)、差(−)、交(∩)、笛卡尔积(×)。
专门的关系运算包括:选择(σ)、投影(π)、连接(⋈)、除运算(÷)。
选择:从关系R中选择满足所给条件的元组集合。
σage<20(Student)
投影:从关系R中选择若干属性列
πname(Student)
连接:从关系R关系S中选择满足所给条件的元组集合,有等值连接和自然连接(去掉重复列),外连接(保留含有空值的元组)。
R⋈(a=b)S
除运算:关系R(X,Y)和S(Y,Z),X,Y,Z为属性组。R÷S,R中的Y和S中的Y可以有不同的属性名,但必须出自相同的域集。
R÷S得到新的关系P,P是R在属性列X上满足以下条件的投影,X的每一个分量值(每一行上的)x,x对应Y属性列的象集都包含S在Y上的投影(Y属性列的每一行)。
差:R-S,由属性R而不属于S的所有元组组成。
笛卡尔积:n目的关系R和m目的关系S的笛卡尔积是一个(n+m)列的元组的集合。
DDL:数据定义语言
CREAT,DROP,ALERT
DML:数据操纵语言
INSERT,UPDATE,DELETE
DCL:数据控制语言
GRANT,REVOKE
架构:类似文件夹,是一个命名空间。随着数据库访问压力不断增大,出现了不同的架构来优化数据库的性能。
创建基本表:
CREATE TABLE Course[表名] (
cno[列名] char[数据类型] primary key[列级完整性约束条件]
cpon char
FOREIGN KEY cpon REFERENCES Course(cno)
[表级完整性约束条件]
)
索引
聚簇索引:索引顺序与表中记录的物理顺序一致,经常更新的表不宜建立聚簇索引
非聚簇索引:索引顺序与表中记录的物理顺序不一致
唯一索引:每一个索引值只对应唯一的数据记录
数据查询:select …from…[where…group by (having…)…order by( asc| desc)…]
谓词:IN,比较运算符,EXISTS(只产生true或false,不返回数据),LIKE,聚集函数(COUNT,SUM,AVG,MAX,MIN)
数据更新:insert into 表名[属性列] values (常量)
update 表名 set (age = age +1) where
delete from 表名 where
SQL Server的安全性:
主体:被授权访问SQL Server的个人、组和进程
安全对象:通过权限进行保护的实例
权限:数据对象,操作类型
权限:grant(on to 给予权限)和revoke(on from 回收权限)[with grand option(可以让别人也得到自己拥有的权限)],权限可以给予用户和角色(例如vip与svip等等),数据库层面的权限:create user with(DBA|RESOURCE(可以创建表)|CONNECT(只能进行已有权限的操作)),create role 创建角色,将角色权限给予用户(grant(revoke) on to(from) with admin option)。
数据完整性
实体完整性:主键,唯一且不为null,主键不能为空,主键只有一个,列级别约束,表级别约束。
引用完整性:外键,被引用表修改(删除)键时,引用表可以拒绝操作,或者将外键设为(null,default,cascade级联修改(删除))
自定义完整性:属性设置为(null,not null,default,unique,check()约束)
函数依赖与分析
函数依赖:平凡函数依赖,非平凡函数依赖,完全函数依赖,部分函数依赖,传递函数依赖。
第一范式(1NF):属性是不可再分的数据项
第二范式(2NF):每一个非主属性完全函数依赖于键
第三范式(3NF):非主属性之间相互独立,每一个非主属性既不部分函数依赖于键,也不传递依赖于键
概念设计:E-R图,CDM
逻辑设计:PDM
数据字典
系统中各类数据描述的集合,在需求分析阶段建立,之后不断完善
数据项:不可再分的数据单位,具有描述内容,定义了数据的完整性约束
数据结构:由数据项或数据结构组成
数据流:数据结构在系统传输的路径和流量
数据存储:是数据结构停留或保存的地方,具有存储频度和方式等描述
处理工程:用判定表或判定树描述,具有功能和处理要求等描述
事务:一个数据库操作序列,一个程序包含多个事务
事务以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束
事务的ACID特性
原子性(Atomicity):事务要么不做,要么全做
一致性(Consistency):必须使数据库保持一致性状态
隔离性(Isolation):事务之间不能有干扰,相互隔离
持续性(Durability):事务执行完毕后,对数据库的改变是永久性的
故障分类:事务故障、系统故障、介质故障、计算机病毒
基本锁的类型:
共享锁(Share Lock,简记为S锁):
若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁
保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改
排他锁(Exclusive Lock,简记为X锁):
若事务T对数据对象A加上X锁,则允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁
保证其他事务在T释放A上的锁之前不能再读取和修改A
基本锁的相容性: