《数据库期末考试重点(共11页)》由会员分享,可在线阅读,更多相关《数据库期末考试重点(共11页)(10页珍藏版)》请在金锄头文库上搜索。
1、数据库的地位: 数据库技术是信息系统的核心和基础, 它的出现极大地促进了计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。数据库系统是最广泛使用的软件系统之一。数据库研究, 开发与应用是计算机学科最活跃的领域之一。数据库系统原理主要讲述结构化数据的管理实际应用对数据操作的要求:面临故障:各种各样的故障都可能发生,必须确保数据在任何情况下都不被破坏。例如,银行存款数据不能因突然停电而丢失或破坏。数据的安全性:防止用户对数据进行未经授权的访问。例如,可以允许银行客户查看自己的存款余额,但不能允许他/她们修改。数据的完整性:防止不符合语
2、义的数据进入数据库。例如,我们不能将负数作为学生的成绩输入到数据库中。数据的一致性:防止数据库进入不一致状态数据库管理系统(DBMS)是一种重要的程序设计系统,它由一个相互关联的数据集合和一组访问这些数据的程序组成。这个数据集合称为数据库,它包含了一个企业、政府部门或一个单位的全部信息。DBMS的基本目标是提供一个方便、有效地访问这些信息的环境。功能:1. 数据定义:提供数据定义语言(DDL),用于定义数据库中的数据对象和它们的结构2. 数据操纵:提供数据操纵语言(DML),用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)3. 事务管理和运行管理:统一管理数据、控制对数据的并发访
3、问保证数据的安全性、完整性. 4. 数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问,确定查询处理方法,优化查询处理过程5. 数据库的建立和维护:提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等6. 其他功能包括DBMS与其它软件通信异构数据库之间数据转换和互操作 数据库(简称DB)是持久储存在计算机中、有组织的、可共享的大量数据的集合使用数据库的优点: (1) 数据整体结构化:在数据库中,数据的组织面向整个机构、面向所有可能的应用(2) 数据共享:数据库中的数据的面向整个机构组织使得它能够更好地被多个用户、多个应用程序共享
4、。共享的好处是节省存储空间,尽量避免同一数据不必要地重复存放(冗余) (3) 数据独立性:数据独立性是指数据独立于应用程序,包括数据的物理独立性,数据的逻辑独立性4) 数据由DBMS同一管理和控制,使得系统能够为数据管理提供更多的支持。(5) 标准化:使用数据库进行信息管理有利于制定部门标准、行业标准、工业标准、国家标准和国际标准,促进数据库管理系统和数据库开发工具的研制、开发,推动数据管理应用的健康发展数据模型的三要素:1. 数据结构:数据结构描述数据库中的对象和对象之间的联系,是对系统静态特性的描述,数据结构刻画了数据模型最重要的方面,数据结构定义基本数据项的类型2. 数据操作:定义数据库
5、中各种数据对象的实例上允许执行的操作和操作规则,是对系统动态特性的描述 。数据库操作主要包括查询和更新(包括插入、删除、修改)3. 数据的完整性约束条件:是一组规则,用以限定符合数据模型的数据库状态和状态的变化,保证数据的正确、有效和相容。从用户角度,数据库系统的外部结构可以分为:单用户结构,主从式结构,分布式结构,客户/服务器结构,浏览器/应用服务器/数据库服务器结构数据库系统三级模式结构:外模式(external schema)也称子模式或用户模式。外模式介于模式与应用之间,是特定数据库用户的数据视图,是与某一具体应用相关的数据局部逻辑结构的描述。模式(schema)也称逻辑模式,是数据库
6、中全体数据的总体逻辑结构描述,是所有用户的公共数据视图,模式综合了所有用户的数据需求,模式是数据库的中心与关键。内模式(internal schema)也称存储模式或物理模式,是数据物理结构和存储方式的描述,定义数据在数据库内部的表示方式。内模式依赖于全局逻辑结构,但它既独立于数据库的用户视图(即外模式),也独立于具体的存储设备所谓数据独立性是指数据与应用程序相互独立。数据的逻辑独立性:是指应用程序与数据库的逻辑结构之间的相互独立性。数据的物理独立性:是指应用程序与存储在磁盘上的数据库中数据之间的相互独立性模式改变时,数据库管理员可以修改有关的外模式-模式映像,使外模式保持不变,为数据的逻辑独
7、立性提供了保证;内模式改变时,数据库管理员可以修改模式-内模式映像,使得模式保持不变,为数据的物理独立性提供了保证。关系模型:优点:关系模型具有坚实的数学基础。简洁、直观的数据表示形式。支持易学易用的非过程化语言 关系模型的三要素和三级模式结构: 数据结构:关系。数据操作:关系代数、关系演算(元组关系演算、域关系演算)。 完整性约束:实体完整性、参照完整性和用户自定义完整性。三级模式结构:关系模式:记录的型为关系模式,关系模式的集合是数据库的概念模式,关系模式用DDL定义(包括:模式名,属性名,值域名,主码)。子模式:用户用到的那部分数据的描述(包括数据与关系模式中相应数据的联系)及操作权限的
8、定义。存储模式:DBMS中关系存储作为文件看待,存储一个关系可用散列、索引、堆等来实现关系的完整性约束:实体完整性约束是对关系主码取值的基本限制。实体完整性规则:关系R的所有元组在主码上的值必须唯一,并且在主码的任何属性上都不能取空值。向一个表中插入元祖或者修改一个表的主属性就能违反完整性。参照完整性是对外码取值的限制。参照完整性规则:如果属性集FK是关系R的外码,它参照关系S的主码Ks,则R的任何元组在FK上的值或者等于S的某个元组在主码Ks上的值,或者为空值。用户定义的完整性反映特定的数据库所涉及的数据必须满足的语义约束条件。由于不存在一般性规则,这些约束条件必须由用户根据实际问题的语义指
9、定 关系R的属性集X是它的超码,如果R的所有可能实例都不包含两个不同的元组,它们在X的所有属性上都具有相同的值关系R的属性集K是它的码,如果K是R的超码,并且K的任何真子集都不是R的超码(即K是极小超码)通常,当一个关系具有多个码时,应当选择其中的一个作为唯一识别关系元组的码术语主码用于表示由多个码中选出的作为唯一识别关系元组的码,而所有的码又称候选码形式地,如果FK是关系R的属性集,并且不是R的码,但是FK与关系R的主码K对应,则称FK是关系R的外码。其中R是参照关系,R是被参照关系(R与R不一定是不同的关系),并称FK参照R的主码K数据定义语言(DDL)DDL提供对数据定义进行修改和删除的
10、功能。DDL提供数据完整性约束条件的定定义机制。例如,下面是用SQL语言定义的关系表Students:CREATE TABLE Students( Sno CHAR(9) PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2), Sbirthday DATE, Sspeciality CHAR(20);数据操纵语言(DML)表达对按照某种数据模式组织起来的数据的访问数据控制语言(DCL)用于定义用户对数据对象的访问权限和审计,提供授权语句保证数据的安全性,还提供了回收授权和建立审计的语句视图:视图是一种命名的导出表,是从一个或几个基本表(或视图)导出的表。与基本表不同
11、,视图的数据并不物理地存储在数据库中(物化视图除外)。查询时,凡是能够出现基本表的地方,都允许出现视图。视图的作用1. 使用视图可以使一些查询表达更加简洁2. 视图提供了一定程度的逻辑独立性3. 视图的安全保护作用4. 视图使得用户能够以不同角度看待相同的数据SQL语句和主语言语句之间的信息交换(通信)可以通过:SQLCODE。主语言变量。游标游标 为什么需要游标:主语言是面向记录的过程式语言,而SQL是面向集合的非过程式语言。存在矛盾:一个SQL语句得到的结果可能是多个记录,而主语言没有办法一次处理多个记录解决该问题的方法是使用游标。游标定义其实就是一个数据缓冲区,暂时存放SQL语句的执行结
12、果,以便主语言可以逐一获取记录,进行处理所有使用游标的SQL语句都必须先通过说明定义游标。在使用前打开游标。然后,反复推进游标指针并取当前记录进行处理。最后,当所有记录都处理完之后,关闭游标不使用游标的语句包括:说明性语句。数据定义语句。数据控制语句。查询结果为单个记录的SELECT语句和非交互形式的更新语句数据完整性旨在保护数据库中的数据,防止合法用户对数据库进行修改时破坏数据的一致性;数据安全性旨在保护数据库,防止未经授权的访问和恶意破坏和修改。为了维护数据库的完整性,完整性控制应当作为DBMS核心机制,必须提供:说明和定义完整性约束条件的方法:DBMS的DDL允许用户根据实际问题的语义说
13、明和定义各种完整性约束条件。完整性检查机制:DBMS在数据更新可能破坏完整性时自动进行完整性检查。检查可以在更新操作执行时立即执行,也可以在事务提交时进行。违约处理:当数据更新违反完整性约束时,DBMS应当采取相应的措施,确保数据的完整性。判断主属性是否为空值是简单的。为了有效地判定主码上的值是否惟一,通常DBMS自动在主码上建立索引(如B+树索引)。通过索引查找而不必访问任何元组就能确定主码上的值是否惟一。当更新导致破坏参照完整性时,可能的处理措施包括:1. 拒绝:拒绝违反参照完整性的更新是最简单的处理措施2. 级联:进行更新,并且对更新导致违反参照完整性的参照关系元组进行相应更新。3. 置
14、空值:进行更新,并且对更新导致违反参照完整性的参照关系元组的外码置空值。这种处理方法仅当外码允许取空值时才能使用。4. 置缺省值:进行更新,并且对更新导致违反参照完整性的参照关系元组的外码置缺省值;其中缺省值必须是被参照关系某元组主码上的值 CASCADE、SET NULL、SET DEFAULT和NO ACTION 域完整性约束:每个属性都必须在一个值域上取值。断言(Assertions)是一种命名约束,它表达了数据库状态必须满足的逻辑条件。数据库完整性约束可以看成一系列断言的集合,实体完整性和参照完整性约束都是断言的特殊形式。所有的约束都可以用断言形式表达,然而属性约束和关系约束使用相应的
15、方式说明更方便,也更有效。通常用断言表达数据库约束,这些约束不能或很难用其他方法表达。触发器(trigger)是特殊类型的存储过程,当某个事件发生时它自动执行。要设置触发器机制,必须满足两个要求:(1) 指明什么事件发生和满足什么条件执行触发器; (2) 指明触发器执行什么样的动作、数据库安全保护的任务:防止数据一致性的意外破坏比防止对数据库的恶意访问要容易。下面是一些恶意访问的形式:未经授权读取数据(窃取信息);未经授权修改数据;未经授权删除数据。数据库管理员(DBA)的重要的责任之一是保证数据库的安全性,保护数据库涉及的任务:防止对数据的未经过授权的存取,确保敏感信息没有被不“需要知道”这
16、些信息的人访问得到;防止未经过授权的人员删除和修改数据;监视对数据的访问和更改等使用情况数据库设计:根据选择的数据库的支撑环境(包括DBMS、操作系统和硬件)和用户信息需求、处理需求,设计出数据模式(包括外模式、模式和内模式)及典型应用程序 .数据库设计的目标:为用户和各种应用系统提供一个信息基础设施和高效的运行环境.(即存取效率高、存储空间的利用率高,数据库系统运行管理效率高)为什么说数据库设计在应用系统开发中起着重要的作用? (1)不合适数据库设计,检索某些类型的信息是困难的或可能得到不正确的检索信息。 (2)不合适的数据库设计导致不正确的信息,不正确的信息会影响一个单位正常的使用这些数据数据库设计与应用程序设计不同: 数据库设计的目标是