数据库系统理论复习资料利于复习.docx

上传人:叶*** 文档编号:34924674 上传时间:2022-08-19 格式:DOCX 页数:10 大小:30.28KB
返回 下载 相关 举报
数据库系统理论复习资料利于复习.docx_第1页
第1页 / 共10页
数据库系统理论复习资料利于复习.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《数据库系统理论复习资料利于复习.docx》由会员分享,可在线阅读,更多相关《数据库系统理论复习资料利于复习.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库系统理论复习资料什么是数据?什么是信息?数据和信息有什么区分和联系? 数据(Data) 是数据库中存储的根本对象 数据的定义 描述事物的符号记录数据的种类 文本, 图形, 图像, 音频, 视频, 学生的档案记录, 货物的运输状况等 信息及数据之间存在着固有联系:数据是信息的符号表示或称为载体;信息那么是数据的内涵,是对数据语义的说明。数据库是长期储存在计算机内, 有组织的, 可共享的大量数据的集合。数据库的根本特征 数据按肯定的数据模型组织, 描述和储存可为各种用户共享 冗余度较小 数据独立性较高 易扩展DBMS位于用户及操作系统之间的一层数据管理软件。 是根底软件,是一个大型困难的软件

2、系统 DBMS 的用途 科学地组织和存储数据, 高效地获得和维护数据 DBMS 的主要功能 * 数据定义功能 供应数据定义语言(DDL) 定义数据库中的数据对象* 数据组织, 存储和管理 分类组织, 存储和管理各种数据 确定组织数据的文件构造和存取方式 实现数据之间的联系 供应多种存取方法提高存取效率* 数据操纵功能 供应数据操纵语言(DML) 实现对数据库的根本操作 (查询, 插入, 删除和修改)* 数据库的事务管理和运行管理 数据库在建立, 运行和维护时由DBMS统一管理和限制保证数据的平安性, 完整性, 多用户对数据的并发运用发生故障后的系统复原* 数据库的建立和维护功能(好用程序) 数

3、据库初始数据装载转换 数据库转储 介质故障复原 数据库的重组织 性能监视分析等* 其它功能 DBMS及网络中其它软件系统的通信 两个DBMS系统的数据转换 异构数据库之间的互访和互操作* 什么是数据库系统Database System,DBS * 数据库系统的构成 * 数据库* 数据库管理系统及其开发工具* 应用系统* 数据库管理员 什么是数据处理?围围着数据所做的工作都可称为数据处理。即对各种数据进展收集, 管理, 加工和传播的一系列活动的总和。如:对全班学生信息进展收集, 存储和查询。数据处理包括哪些工作?* 1) 数据管理:收集信息, 将信息用数据表示并按类别组织保存;* 收集和整理数据

4、;* 组织和保存数据;* 进展数据维护;* 供应数据查询和数据统计功能。 * 2) 数据加工:对数据进展变换, 抽取和运算; * 3) 数据传播:在空间或时间上以各种形式传播信息,而不变更数据的构造, 性质和内容;数据管理技术* 什么是数据管理技术 * 对数据进展分类, 组织, 编码, 存储, 检索和维护* 数据处理的中心问题 数据管理和数据处理的关系是什么?* 数据管理是数据处理业务的根本环节,而且是任何数据处理业务中必不行少的共有局部。* 数据处理是及数据管理相联系的,数据管理技术的优劣,将干脆影响数据处理的效率。* 应研制有效的数据管理软件,以削减程序员的负担。数据管理技术的产生和开展(

5、续)* 数据管理技术的开展动力 * 应用需求的推动* 计算机硬件的开展* 计算机软件的开展 一, 人工管理阶段 二, 文件系统阶段 三, 数据库系统阶段 数据库系统的特点是什么数据构造化 数据的共享性高,冗余度低,易扩大 数据独立性高 数据由DBMS 统一管理和限制 数据独立性高 物理独立性指用户的应用程序及存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储变更了,应用程序不用变更。逻辑独立性指用户的应用程序及数据库的逻辑构造是相互独立的。数据的逻辑构造变更了,用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的DBMS供应的数据限制功能* (1)数据的平安性Security

6、爱护爱护数据,以防止不合法的运用造成的数据的泄密和破坏。* (2)数据的完整性Integrity检查将数据限制在有效的范围内,或保证数据之间满意肯定的关系。* (3)并发Concurrency限制对多用户的并发操作加以限制和协调,防止相互干扰而得到错误的结果。* (4)数据库复原Recovery将数据库从错误状态复原到某一的正确状态。应用程序及数据的对应关系(数据库系统)数据模型 在数据库中用数据模型这个工具来抽象, 表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满意三方面要求能比拟真实地模拟现实世界 简单为人所理解 便于在计算机上实现数据模型分为两类分属两个

7、不同的层次(1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。 (2) 逻辑模型和物理模型 逻辑模型主要包括网状模型, 层次模型, 关系模型, 面对对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。什么是数据构造描述数据库的组成对象,以及对象之间的联系 数据操作 对数据库中各种对象( 型) 的实例( 值) 允许执行的操作及有关的操作规那么数据操作的类型 查询 更新( 包括插入, 删除, 修改)E-R 图关系数据库系统采纳关系模型作为数据的组织方式

8、关系Relation一个关系对应通常说的一张表 元组Tuple 表中的一行即为一个元组 属性Attribute表中的一列即为一个属性,给每一个属性起一个名称即属性名 关系的完整性约束条件 * 实体完整性 * 参照完整性 * 用户定义的完整性 模式Schema数据库逻辑构造和特征的描述是型的描述反映的是数据的构造及其联系模式是相对稳定的数据库系统模式的概念 数据库系统的三级模式构造 数据库的二级映像功能及数据独立性 数据库系统的三级模式构造 模式Schema 外模式External Schema 内模式Internal Schema 模式也称逻辑模式 数据库中全体数据的逻辑构造和特征的描述全部用

9、户的公共数据视图,综合了全部用户的需求一个数据库只有一个模式 模式的地位:是数据库系统模式构造的中间层 及数据的物理存储细微环节和硬件环境无关及详细的应用程序, 开发工具及高级程序设计语言无关外模式也称子模式或用户模式* 数据库用户包括应用程序员和最终用户运用的局部数据的逻辑构造和特征的描述* 数据库用户的数据视图,是及某一应用有关的数据的逻辑表示* 一个数据库可以有多个外模式。但一个应用程序只能运用一个外模式 外模式续 内模式也称存储模式是数据物理构造和存储方式的描述是数据在数据库内部的表示方式一个数据库只有一个内模式二级映象在DBMS 内部实现这三个抽象层次的联系和转换 * 外模式模式映像

10、 * 模式内模式映像 一, 外模式模式映象 * 模式:描述的是数据的全局逻辑构造* 外模式:描述的是数据的局部逻辑构造 * 同一个模式可以有随意多个外模式 * 每一个外模式,数据库系统都有一个外模式模式映象,定义外模式及模式之间的对应关系 二, 模式内模式映象 * 模式内模式映象定义了数据全局逻辑构造及存储构造之间的对应关系。* 例如,说明逻辑记录和字段在内部是如何表示的* 数据库中模式内模式映象是唯一的* 该映象定义通常包含在模式描述中 数据库的内模式 * 依靠于它的全局逻辑构造* 独立于数据库的用户视图,即外模式* 独立于详细的存储设备 * 将全局逻辑构造中所定义的数据构造及其联系根据肯定

11、的物理存储策略进展组织,以到达较好的时间及空间效率 数据库的外模式 * 面对详细的应用程序* 定义在逻辑模式之上* 独立于存储模式和存储设备* 当应用需求发生较大变更,相应外模式不能满意其视图要求时,该外模式就得做相应改动 * 设计外模式时应充分考虑到应用的扩大性 一, 硬件平台及数据库二, 软件 DBMS支持DBMS 运行的操作系统 及数据库接口的高级语言及其编译系统 以DBMS 为核心的应用开发工具 为特定应用环境开发的数据库应用系统 三, 人员 数据库管理员 系统分析员和数据库设计人员 应用程序员 用户 第一章 绪论12 存在问题:探讨生及学生是否作为一类实体型如何给联系起名字是否该区分

12、教授副教授1n1学校1n1nnmn1n1系班级教研室学生课程教员系班选修系教班生室教指导校系n13存在问题:原材料和零件及仓库的存储联系是否可以作为一个联系原材料和仓库的联系类型仓库是一个实体,有多个同学画成了两个实体q产品零件原材料仓库构成存储制造存放mnpn1mn1求供应工程J1零件的供应商号码SNO:Sno(Jno=J1SPJ)GET W (SPJ.SNO) : Jno=J12求供应工程J1零件P1的供应商号码SNO:Sno(Jno=J1Pno=P1(SPJ)Sno(Jno=J1(Pno=P1(SPJ)Sno(Jno=J1 (SPJ) (Pno=P1(SPJ)GET W (SPJ.SNO

13、) : Jno=J1Pno=P13求供应工程J1零件为红色的供应商号码SNO:Sno(COLOR=红 PJno=J1 SPJ)RANGE P PXGET W (SPJ.SNO) : $PX(PX.COLOR = 红 SPJ.JNO = J1)4求没有运用天津供应商生产的红色零件的工程号JNO:Jno(J)- JNOcity=天津Color=红 SSPJPGET W (J.JNO) : $SPJX(SPJX.JNO=J.JNO $SX(SX.CITY=天津) $PX(PX.PNO = SPJX.PNO PX.COLOR = 红)5求至少用了供应商S1所供应的全部零件的工程号JNO: Jno,Pn

14、o(SPJ) PnoSno=S1 SPJRANGE SPJ SPJXRANGE SPJ SPJYRANGE P PXGET W (J.JNO) : PX($SPJX(SPJX.PNO = PX.PNO SPJX.SNO = S1) $SPJY(SPJY.PNO=PX.PNO SPJSPJX.SNO=S1)3用SQL语句建立第二章习题5中的四个表。S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY);1) 供应商表S由供应商代码(SNO), 供应商姓名(SNAME)

15、, 供应商状态(STATUS), 供应商所在城市(CITY)组成:CREATE TABLE S(Sno CHAR(2) UNIQUE,Sname CHAR(6) ,Status Numric(2),City CHAR(4)2) 零件表P由零件代码(PNO), 零件名(PNAME), 颜色(COLOR), 重量(WEIGHT)组成:CREATE TABLE P(Pno CHAR(2) UNIQUE,Pname CHAR(6),COLOR CHAR(2), WEIGHT Integer(2)3) 工程工程表J由工程工程代码(JNO), 工程工程名(JNAME), 所在城市(CITY)组成:CREA

16、TE TABLE J(Jno CHAR(2) UNlQUE,JNAME CHAR(8), CITY CHAR(4)4) 供应状况表SPJ由供应商代码(SNO), 零件代码(PNO), 工程工程代码JNO), 供应数量QTY组成:CREATE TABLE SPJ(Sno CHAR(2),Pno CHAR(2),JNO CHAR(2), QTY Numnic(2)4针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:1) 求供应工程J1零件的供应商号码SNO:SELECT DISTINCT SNO FROM SPJ WHERE JNO=J1尽量不要写成SELECT DISTINCT SN

17、O FROM SPJ WHERE JNO LIKE J12) 求供应工程J1零件P1的供应商号码SNO:SELECT DISTINCT SNO FROM SPJ WHERE JNO=J1 AND PNO=P13) 求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红不要忘了连接条件4) 求没有运用天津供应商生产的红色零件的工程号JNO:SELECT DISTINCT JNO FROM J WHERE JNO NOT IN (SELECT JNO FROM SPJ,P,S WH

18、ERE S.CITY=天津 AND COLOR=红 )。 不能运用existsCITY NOT LIKE 天津 或者 CITY != 天津5) 求至少用了供应商S1所供应的全部零件的工程号JNO。select distinct jno /*不存在这样的工程,它没有运用任何一种由S1供应的零件*/from spj spjzwhere not exists( select * from spj spjx where sno = S1 and not exists( select * from spj spjy and spjy.sno=S1);5针对习题3中的四个表试用SQL语言完成以下各项操作:

19、(1)找出全部供应商的姓名和所在城市。 SELECT SNAME,CITY FROM S(2)找出全部零件的名称, 颜色, 重量。SELECT PNAME,COLOR,WEIGHT FROM P(3)找出访用供应商S1所供应零件的工程号码。 SELECT DISTINCT JNO FROM SPJ WHERE SNO=S1(4)找出工程工程J2运用的各种零件的名称及其数量。SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2(5)找出上海厂商供应的全部零件号码。SELECT PNO FROM SPJ,S WHERE S.S

20、NO=SPJ.SNO AND CITY=上海(6)出访用上海产的零件的工程名称。SELECT JNAME FROM SPJ,S,J(7)找出没有运用天津产的零件的工程号码。SELECT DISTINCT JNO FROM J WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY=天津) 不能写成SELECT JNOFROM SPJWHERE NOT EXISTS(SELECT * FROM SWHERE S.CITY = 天津)也不能写成SELECT JNOFROM J,SPJWEHRE CITY

21、 != 天津(8)把全部红色零件的颜色改成蓝色。UPDATE P SET COLOR=蓝 WHERE COLOR=红(9)由S5供应J4的零件P6改为由S3供应。 UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6局部同学where条件不全或写成 UPDATE SPJ SET SNO=S5 WHERE JNO=J4 AND PNO=P6(10)从供应商关系中删除供应商号是S2的记录,并从供应状况关系中删除相应的记录。 A, DELETE FROM S WHERE SNO=S2 B, DELETE FROM SPJ WHERE SNO

22、=S2 不能写成DELETE FROM SPJ,S WHERE SNO=S2(11)请将(S2,J6,P4,200)插入供应状况关系。 INSERT INTO SPJ VALUESS2,J6,P4,200 有同学没加引号计算机系统平安性 为计算机系统建立和实行的各种平安爱护措施,以爱护计算机系统中的硬件 , 软件 及数据 ,防止其因偶然或恶意的缘由使系统遭到破坏,数据遭到更改或泄露等。 计算机系统的三类平安性问题 技术平安类 管理平安类 政策法律类 数据库平安性限制的常用方法 用户标识和鉴定 存取限制 视图 审计 密码存储 存取限制机制组成 定义用户权限 合法权限检查 用户权限定义和合法权检查

23、机制一起组成了 DBMS 的平安子系统 常用存取限制方法 * 自主存取限制 Discretionary Access Control , 简称DAC C2 级 敏捷 * 强制存取限制 Mandatory Access Control , 简称 MAC B1 级 严格 4.2 数据库平安性限制 用户标识及鉴别 存取限制 自主存取限制方法 授权及回收 数据库角色 强制存取限制方法 自主存取限制方法 * 通过 SQL 的 GRANT 语句和 REVOKE 语句实现* 用户权限组成数据对象操作类型* 定义用户存取权限:定义用户可以在哪些数据库对象上进展哪些类型的操作* 定义存取权限称为授权 自主存取限

24、制方法续 * 关系数据库系统中存取限制对象 例 把对Student 表和Course 表的全部权限授予用户U2 和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3; 例题 例3 把对表SC 的查询权限授予全部用户 GRANT SELECT ON TABLE SC TO PUBLIC; 例5 把对表SC 的INSERT 权限授予U5 用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;REVOKE 续 例8 把用户U4 修改学生学号的权限收回 R

25、EVOKE UPDATE(Sno)ON TABLE Student FROM U4;数据库角色 被命名的一组及数据库操作相关的权限 例11通过角色来实现将一组权限授予一个用户。步骤如下:1. 首先创立一个角色 R1 CREATE ROLE R1;2. 然后运用GRANT语句,使角色R1拥有Student表的SELECT, UPDATE, INSERT权限 GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;3. 将这个角色授予王平,张明,赵玲。使他们具有角色R1 所包含的全部权限 GRANT R1 TO 王平,张明,赵玲; 4. 可以一次性通过R

26、1 来回收王平的这3 个权限 REVOKE R1 FROM 王平; 强制存取限制方法主体 是系统中的活动实体 DBMS 所管理的实际用户 代表用户的各进程 客体 是系统中的被动实体,是受主体操纵的 文件 基表 索引 视图 主体的敏感度标记称为许可证级别Clearance Level客体的敏感度标记称为密级Classification Level 强制存取限制规那么 (1) 仅当主体的许可证级别大于或等于 客体的密级时,该主体才能读 取相应的客体 (2) 仅当主体的许可证级别等于 客体的密级时,该主体才能写 相应的客体 视图机制 把要保密的数据对无权存取这些数据的用户隐藏起来,对数据供应肯定程度

27、的平安爱护 审计分为* 用户级审计针对自己创立的数据库表或视图进展审计 记录全部用户对这些表或视图的一切胜利和或不胜利的访问要求以及各种类型的SQL操作 * 系统级审计 DBA设置 监测胜利或失败的登录要求 监测GRANT和REVOKE操作以及其他数据库级权限下的操作AUDIT 语句: 设置审计功能 NOAUDIT 语句:取消审计功能 审计续 例15对修改SC表构造或修改SC表数据的操作进展审计 AUDIT ALTER,UPDATE ON SC;例16取消对SC表的一切审计 NOAUDIT ALTER,UPDATE ON SC;数据加密防止数据库中数据在存储和传输中失密的有效手段加密的根本思想

28、加密方法替换方法 置换方法 混合方法数据库完整性数据的正确性和相容性数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:不合语义的, 不正确的数据数据的平安性爱护数据库防止恶意的破坏和非法的存取防范对象:非法用户和非法操作1. 供应定义完整性约束条件的机制 2. 供应完整性检查的方法 3. 违约处理 数据库完整性 实体完整性 参照完整性 用户定义的完整性实体完整性定义( 续)例2将SC表中的Sno,Cno属性组定义为码 CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SM

29、ALLINT, PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/ ); 关系模型的参照完整性定义 在CREATE TABLE 中用FOREIGN KEY 短语定义哪些列为外码 用REFERENCES 短语指明这些外码参照哪些表的主码 例如,关系SC中一个元组表示一个学生选修的某门课程的成果,Sno,Cno是主码。Sno,Cno分别参照引用Student表的主码和Course表的主码 例3 定义SC中的参照完整性 CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIM

30、ARY KEY (Sno, Cno), /*在表级定义实体完整性*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), /*在表级定义参照完整性*/ FOREIGN KEY (Cno) REFERENCES Course(Cno) /*在表级定义参照完整性*/ ); 参照完整性检查和违约处理 违约处理 参照完整性违约处理1. 拒绝(NO ACTION)执行2. 级联(CASCADE)操作3. 设置为空值SET-NULL* 对于参照完整性,除了应当定义外码,还应定义外码列是否允许空值BC 范式BCNF 定义 关系模式R1NF ,假设XY 且Y X 时X 必含有

31、码,那么R BCNF 。 等价于:每一个确定属性因素都包含码 假设RBCNF 全部非主属性对每一个码都是完全函数依靠 全部的主属性对每一个不包含它的码,也是完全函数依靠 没有任何属性完全函数依靠于非码的任何一组属性 R BCNF R 3NF 例5 关系模式CCno,Cname,PcnoC3NFCBCNF例6 关系模式SSno,Sname,Sdept,Sage假定S有两个码Sno,SnameS3NF。S BCNF 例8在关系模式STJS,T,J中,S表示学生,T表示老师,J表示课程。* 函数依靠: (S,J)T,(S,T)J,TJ (S,J)和(S,T)都是候选码 1NF 消退非主属性对码的局部

32、函数依靠消退确定属性 2NF集非码的非平 消退非主属性对码的传递函数依靠凡函数依靠 3NF 消退主属性对码的局部和传递函数依靠 BCNF 消退非平凡且非函数依靠的多值依靠 4NF事务(Transaction)一个数据库操作序列 一个不行分割的工作单位 复原和并发限制的根本单位事务和程序比拟* 在关系数据库中,一个事务可以是一条或多条SQL语句,也可以包含一个或多个程序。* 一个程序通常包含多个事务事务的特性(ACID 特性)事务的ACID特性:原子性Atomicity 一样性Consistency 隔离性Isolation 持续性Durability 系统故障:计算机软, 硬件故障 人为故障:

33、操作员的失误, 恶意的破坏等。 数据库的复原 把数据库从错误状态复原到某一的正确状态( 亦称为一样状态或完整状态)故障的种类事务内部的故障 系统故障 介质故障 计算机病毒 * 复原策略:强行撤消UNDO全部未完成事务* 复原策略:重做REDO全部已提交的事务复原的实现技术 复原操作的根本原理:冗余利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那局部数据如何建立冗余数据数据转储backup登录日志文件logging转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程,备用的数据称为后备副本或后援副本转储方法 1 静态转储及动态转储 2 海量转储及增量转储 复原的实现技术 数据转储 登记日志文件日志文件(log) 是用来记录事务对数据库的更新操作的文 件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁