《数据库系统概论》A班知识点总结.doc_第1页
《数据库系统概论》A班知识点总结.doc_第2页
《数据库系统概论》A班知识点总结.doc_第3页
《数据库系统概论》A班知识点总结.doc_第4页
《数据库系统概论》A班知识点总结.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论(第4版)知识点总结【A班】第一章 绪论三次演变:层次/网状结构、关系系统、第一代数据库系统家族。1.1 概述1.1.1 四个重要概念:1、数据Data(=符号+语义)2、数据库DB 长期存储(不是永久),有组织(一定的格式),可共享,大量 特征:可共享、冗余度小、数据独立性高3、数据库管理系统DBMS 6条主要功能 P5 程序不直接操作DB中的数据,而是DBMS的接口4、数据库系统DBS(在不引起混淆情况下简称“数据库”)【了解】四个概念,数据模型构成要素及关系1.1.2 数据库管理技术的产生和发展数据管理包括:分类,组织,编码,存储,检索和维护数据管理技术经历的3个阶段:人工管理,文件系统,数据库系统各自特点 P91.1.3 DBS的特点1、数据结构化 数据库系统 vs 文件系统 P92、数据的共享性高,冗余度低,易扩充3、数据独立性高 物理独立性,逻辑独立性4、数据由DBMS统一管理和控制1.2 数据模型1.2.1 两类数据模型 1、概念模型。2、逻辑模型和物理模型1.2.2 数据模型的组成要素1、数据结构2、数据操作 增删改查3、数据的完整性约束条件1.2.3 概念模型基本概念: 1、实体 客观存在,相互区别 2、属性 基本表中第一列就是一个属性,用来描述实体的某一特性 3、码 唯一标识实体,属性集 4、域 相同数据类型,值的集合 5、实体型 6、实体集 7、联系一种表示方法:实体-联系方法(E-R图) P171.2.4 最常用数据模型模型与外模型的关系:一对多模型与应用的关系:一对多1.2.4.1 层次模型满足下面两个条件的基本层次联系的集合为层次模型。(1) 有且只有一个结点没有双亲结点,这个结点称为根结点;(2) 根以外的其它结点有且只有一个双亲结点层次模型如何描述信息世界(1) 每个节点表示一个记录类型(实体)。(2) 每个记录类型可包含若干个字段。(3) 记录(类型)之间的联系用节点之间的连线(有向边)表示。几点说明:(1) 各个记录类型及其字段都必须命名。(2) 各个记录类型、同一记录类型中的各个字段不能重名。(3) 一个层次模型实际上只包含有限个记录类型和字段数。(4) 子女记录值不能脱离双亲记录值而独立存在。1、多对多联系在层次模型中的表示首先必须将多对多分解为一对多联系,方法:冗余结点法,虚拟结点法 P222、存储结构邻接法,链接法3、优缺点 P241.2.4.2 网状模型满足下面两个条件的基本层次联系的集合为网状模型。(1) 允许一个以上的结点无双亲;(2) 一个结点可以有多于一个的双亲。网状模型如何描述信息世界(1) 每个节点表示一个记录类型(实体)。(2) 每个记录类型可包含若干个字段。(3) 记录(类型)之间的联系用节点之间的连线(有向边)表示。两点说明(1) 两个节点之间允许有多种联系。(2) 要为每个联系命名。优点1、能够更为直接地描述现实世界,如一个结点可以有多个双亲。2、具有良好的性能,存取效率较高。缺点1、结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。2、DDL、DML语言复杂,用户不容易使用。1.2.4.3 关系模型1、术语关系(Relation):一个关系对应通常说的一张表。元组(Tuple):表中的一行即为一个元组。属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。主码(Key):表中的某个属性组,它可以唯一确定一个元组。域(Domain):属性的取值范围。分量:元组中的一个属性值。关系模式:对关系的描述规范条件中最基本的一条就是:关系的每一个分量必须是不可分的数据项,不允许表中还有表。2、优缺点优点(1)建立在严格的数学概念的基础上(2)概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。(3)关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作缺点(1)存取路径对用户透明导致查询效率往往不如非关系数据模型(2)为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度1.3 DBS的结构1.3.1 数据库系统模型的概念型(type):是指对某一类数据的结构和 属性的说明。值(value):是型的一个具体赋值。模式:是对数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。实例:模式的一个具体值称为模式的一个实例。几点说明:1、一个模式可有很多实例。2、模式反映数据的结构及联系,实例反映的是某一时刻数据库的状态。3、模式相对稳定,而实例相对变动。1.3.2 三级模式结构1.3.2.1 模式1、一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关2、与具体的应用程序、开发工具及高级程序设计语言无关3、定义模式时的要求定义数据的逻辑结构(数据项的名字、类型、取值范围等)定义数据之间的联系定义与数据有关的安全性、完整性要求1.3.2.2 外模式1、模式与外模式的关系:一对多外模式通常是模式的子集。一个数据库可以有多个外模式,反映不同的用户的应用需求、看待数据的方式、对数据保密的要求等方面的存在差异。对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。2、外模式与应用的关系:一对多同一外模式可以为某一用户的多个应用系统所使用。一个应用程序只能使用一个外模式。3、外模式是保证数据库安全的一个有力措施1.3.2.3 内模式1、内模式描述的内容 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储) 索引的组织方式 数据是否压缩存储 数据是否加密 数据存储记录结构的规定2、一个数据库只有一个内模式1.3.3 二级映象功能与数据独立性1、外模式/模式映象(多对一),模式/内模式映象(一对一)2、二级映象实现三级模式结构间的联系和转换,使用户可以逻辑地处理数据,不必关系数据的底层表示方式和存储方式3、外模式/模式映象功能保证了数据的逻辑独立性4、模式/内模式映象功能保证了数据的物理独立性1.4 DBS的组成1、数据库2、数据库管理系统(及其开发工具)3、应用系统4、数据库管理员5、用户第二章 关系数据库2.1 关系数据结构及形式化定义2.1.1 关系1、域(Domain)基数:域中所包含值的个数。2、笛卡尔集(Cartesian Products)n元组(简称元组),分量3、关系(Relation)目(或度),候选码,主码,主属性,全码三种类型:基本表,查询表,视图表基本关系的6条性质: (1)列是同质的 (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 (3)列的顺序无所谓 (4)任意两个元组不能完全相同 (5)行的顺序无所谓 (6)分量必须取原子值2.1.2 关系模式关系模式对关系的描述静态的、稳定的关系关系模式在某一时刻的状态或内容动态的、随时间不断变化的关系模式和关系往往统称为关系,可通过上下文加以区别2.2 关系操作特点:集合操作方式,也称为一次一集合。非关系数据模型的数据操作方式:一次一记录。分类:关系代数,关系演算2.3 关系的完整性2.3.1 实体完整性2.3.2 参照完整性外码,参照关系,被参照关系(目标关系)2.3.3 用户定义的完整性2.4 关系代数2.4.1 传统的集合运算并(插入、添加),差(删除),交(先修改后删除),笛卡尔积(元组连接)2.4.2 专门的关系运算几个重要记号 P542.4.2.1 选择(also 限制) F(R) = t|tRF(t)= 真。从行的角度进行的运算2.4.2.2 投影A(R) = tA | t R 。从列的角度进行运算2.4.2.3 连接R S=tr ts|trR tsS trAqtsB等值连接,自然连接,外连接2.4.2.4 除运算RS = tr X | tr RY (S) Yx 。从行和列角度进行运算实际含义:有一个现实意义的集合,希望在另一个集合中找出“包含”该集合的元组集。2.4.2.5 【补】复合运算例1:查询至少选修了1、3号课程的学生学号例2:查询选修了2号课程的学生学号例3:查询选了全部课程的学生学号2.5 【自学】关系演算2.5.1 元组关系演算语言ALPHAALPHA语言主要有:GET, PUT, HOLD, UPDATE, DELETE, DROP基本格式:操作语句 工作空间名(表达式):操作条件聚集函数:COUNT, TOTAL, MAX, MIN, AVG2.5.2 域关系演算语言QBE第三章 SQL3.1 特点3.1.1 综合统一数据定义语言DDL:生成表格。数据操作语言DML:输入调取数据。数据控制语言DCL:管理用户访问。3.1.2 高度非过程化只需提出“做什么”, 有利于提高数据的独立性。Q(Question):为何SQL不需了解存储路径?A(Answer):引入了虚表-视图。3.1.3 面向集合的操作方式3.1.4 以同一种语言结构提供多种使用方式自含式语言,嵌入式语言3.1.5 语言简洁,易学易用9个动词 P813.2 基本概念基本表:一个关系就对应一个表。一个(或多个)基本表对应一个存储文件。一个表可以带若干索引,索引也存放在存储文件中。存储文件:逻辑结构组成了关系数据库的内模式。物理结构是任意的。视图:1、从一个或几个基本表导出的表。2、一个虚表,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。3、概念上与基本表等同,用户可以在视图上再定义视图。3.3 数据定义?思考:为什么SQL不提供修改模式、视图、索引的操作3.3.1 模式的定义与删除【例1】定义一个学生-课程模式S-TCREATE SCHEMA “S-T” AUTHORIZATION WANG;如果没有指定,那么隐含为【例2】删除模式ZHANG DROP SCHEMA ZHANG CASCADE;CASCADE(级联) 删除模式的同时把该模式中所有的数据库对象全部删除RESTRICT(限制) 如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。3.3.2 基本表的定义、删除和修改3.3.2.1 定义基本表CREATE TABLE Student( Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1), Sage INT, Sdept CHAR(15) ); 几点注意:1、先写属性名(如Sno),再写数据类型(如CHAR(5))。2、除了最后一行,每一行都有逗号。3、多个完整性条件中间用空格隔开。【查询】数据类型 P863.3.2.2 模式与表1、每一个基本表都属于某一个模式2、一个模式包含多个基本表3、定义基本表所属模式:3个方法 P863.3.2.3 修改基本表3.3.2.4 删除基本表3.3.3 索引的建立与删除加快查询速度建立索引的原则:(1)索引的建立由 DBA和表的属主完成,维护由DBMS完成。(2)大表应当建索引,小表则不必建索引(3)对于一个基本表,不要建立过多的索引(4)根据查询要求建索引【例1】Student表按学号升序建唯一索引CREATE UNIQUE INDEX Stusno ON Student(Sno) ; 3.4 数据查询3.4.1 单表查询(一般查询)SELECTFROMWHERESELECT子句:指定要显示的属性列FROM子句:指定查询对象(基本表或视图)WHERE子句:指定查询条件GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。HAVING短语:筛选出只有满足指定条件的组ORDER BY子句:对查询结果表按指定列值的升序或降序排序 SELECT语句,列名表达式:算术表达式 P92、字符串常量 P92、函数、列别名(LOWER,AS)LOWER:用小写表示DISTINCT:去掉重复行【查询】常用查询条件 P94通配符:P96 %:表示任意长度字符。 _:一个字符长度。如果表示一个汉字,则写成两个“_ _”转义符:ESCAPE P97【例】1、查询DB_Design课程的课程号和学分。 2、查询以“DB_”开关,且倒数第3个字符是i的课程的详细情况。涉及空值NULL的查询,“IS”不能用“=”代替。多重条件查询中,AND的优先级高于OR。SELECT Sno,GradeFROM SCWHERE Cno= 3 ORDER BY Grade DESC; ORDER BY子句可以将查询结果按一个或多个属性列排序升序:ASC;降序:DESC;缺省值为升序【查询】聚集函数 P98【例31】查询选修了3门以上课程的学生学号。P100HAVING短语与WHERE子句的区别:作用对象不同。WHERE子句作用于基本表或视图,从中选择满足条件的元组。HAVING短语作用于组,从中选择满足条件的组。 3.4.2 连接查询涉及两个以上的表【例】查询每个学生及其选修课程的情况包括没有选修课程的学生(用外连接操作)。SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROM Student,SCWHERE Student.Sno = SC.Sno(*);外连接与普通连接的区别:普通连接操作只输出满足连接条件的元组。外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出。几点说明:1、在表名后面加外连接操作符(*)或(+)指定非主体表。2、非主体表有一“万能”的虚行,该行全部由空值组成。3、虚行可以和主体表中所有不满足连接条件的元组进行连接。4、由于虚行各列全部是空值,因此与虚行连接的结果中,来自非主体表的属性值全部是空值。5、外连接符出现在连接条件的左边,称为左外连接。6、外连接符出现在连接条件的右边,称为右外连接。3.4.3 嵌套查询相关子查询,不相关子查询3.4.4 【自学】集合查询并UNION,交INTERSECT,差EXCEPT!1、参加集合操作的各查询结果的列数必须相同。2、对应项的数据类型也必须相同。3.5 数据更新3.5.1 插入INSERTINTOVALUES3.5.2 修改UPDATESETWHERE3.5.3 删除DELETEFROMWHERE3.6 视图3.6.1 定义CREATE VIEWASWITH CHECK OPTION重要说明:P118组成视图的属性列名:全部省略或全部指定3.6.2 删除DROP VIEW3.6.3 查询DBMS实现视图查询的方法:实体化视图法(View Materialization)1、有效性检查:检查所查询的视图是否存在2、执行视图定义,将视图临时实体化,生成临时表3、查询视图转换为查询临时表4、查询完毕删除被实体化的视图(临时表)视图消解法(View Resolution)1、进行有效性检查,检查查询的表、视图等是否存在。如果存在,则从数据字典中取出视图的定义2、把视图定义中的子查询与用户的查询结合起来,转换成等价的对基本表的查询3、执行修正后的查询3.6.4 更新并非所有视图都可以更新,一般地,行列子集视图可更新。3.7 【总结】数据查询数据更新插入修改删除SELECT ALL | DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;INSERTINTO (, )VALUES ( , )UPDATE SET =,=WHERE ;DELETEFROM WHERE ;视图建立删除修改更新CREATE VIEW ( , )AS WITH CHECK OPTION;DROP VIEW ;SELECT ALL | DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;UPDATE SET =,=WHERE ;第四章 数据库安全性4.1 概述分类:技术安全,管理安全,政策法律4.1.1 安全标准4.1.1.1 TCSEC/TDI从四个方面来描述安全性级别划分的指标:安全策略,责任,保证和文档安全级别划分1、分为四组七个等级2、C1级开始有自主访问控制,B1加入强制访问控制(军方认为的安全级)3、按系统可靠或可信程度逐渐增高4、各安全级别之间:偏序向下兼容4.1.1.2 CC1、提出国际公认的表述信息技术安全性的结构;2、把信息产品的安全要求分为安全功能要求和安全保证要求;CC文本组成:第一部分:简介和一般模型第二部分:安全功能要求第三部分:安全保证要求4.2 安全性控制【案例1】工程师侵入北京移动数据库:2005年3月至7月,软件研发工程师程稚翰利用互联网4次侵入北京移动冲值中心数据库,盗取冲值卡密码并通过淘宝网出售,共获利370余万元。可能存在的问题:1 密码未及时修改或注销;2 服务器之间的访问可能没有严格的控制;3 数据库的访问可能没有严格的控制;结论:系统缺乏安全性控制、访问控制计算机系统的安全措施是逐级逐层设置数据库安全控制常用方法:用户标识与鉴定,存取控制,视图审计,密码存储常用的存取控制方法:自主存取控制DAC:C2级,灵活。强制存取控制MAC:B1级,严格。用户权限由两个要素组成:数据库对象,操作类型。4.2.1 授权与回收4.2.1.1 GRANT发出GRANT:1、DBA。2、数据库对象创建者(即属主Owner)3、拥有该权限的用户(体现自主存取控制)按受权限的用户 :1、一个或多个具体用户。2、PUBLIC(全体用户)WITH GRANT OPTION子句:指定:可以再授予。没有指定:不能传播4.2.1.2 REVOKEDBA:拥有所有对象的所有权限不同的权限授予不同的用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论