第八章1 数据库复习
数据库复习资料

第一章:概论数据库应用:联机事务处理、联机分析处理DBMS是一类重要的系统软件,由一组程序构成,其主要功能是完成对数据库的定义、数据操纵,提供给用户一个简明的应用接口,实现事务处理等。
DBMS基本功能:数据定义、数据操纵、数据库的运行管理、数据库的建立和维护功能。
DBMS组成模块:查询处理器、存储处理器。
DBMS层次结构:应用层、语言翻译处理层、数据存取层、操作系统、数据库。
数据库系统组成:数据库、数据库管理系统、应用程序和用户数据模型三要素:数据结构、数据操作、数据的完整性约束条件三种数据模型:概念模型(实体-联系模型)—逻辑模型(层次模型、网状模型、关系模型、对象关系模型)—物理模型DBS的三级模式:外模式(用户模式/子模式)、内模式、模式(逻辑模式)两个层次的映像:外模式/模式映像、模式/内模式映像数据库系统的特点:数据结构化、数据共享性高冗余度低、数据独立性高、数据由DBMS 统一管理和控制数据库系统的分类:集中式数据库系统、客户机/服务器数据库系统、并行数据库系统、分布式数据库系统第二章:关系模型表名-关系名、表头-关系模式、数据-关系实例关系模型的数据结构是一张扁平的二维表(关系)。
关系模型的数据操作:建表、填表、修改、删除、查询、销毁表关系模型的完整性约束:实体完整性、参照完整性、用户定义的完整性关系代数用到的运算符包括四类:传统的集合运算符(交并差笛卡尔积)、专门的关系运算符(选择投影连接除)、算术比较符和逻辑运算符。
第三章:SQL查询操作对象:表和视图是SQL的操作对象。
操作分类:数据定义语言、数据操纵语言、数据控制、嵌入式SQL和动态SQLSQL的特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用SQL功能:数据查询(SELECT)、数据定义(CREATE、DROP、ALTER)、数据操作(INSERT,UPDATE,DELETE )、数据控制(GRANT,REVOKE )第四章:查询处理及优化查询处理的步骤:查询分析、查询检查、查询优化、查询执行一个典型的外部排序算法分为内部排序阶段和归并阶段。
数据库复习资料

SQL Server 2000的数据库对象
(1) 表和视图:表是在数据库中存放的实际关系。视图是为了用户查询方便或根据数据安全的需要而建立的虚表。
(2) 角色:由一个或多个用户组成的单元,也称职能组。一个用户可以成为多个角色中的成员。
1) 使用索引可以明显地加快数据查询的速度。
2) 使用索引可保证数据的惟一性。
3) 使用索引可以加快连接速度。
2. 建立索引的原则 :
1) 索引的建立和维护由DBA和DBMS完成。
2) 大表应当建索引,小表则不必建索引。
3) 对于一个基本表,不要建立过多的索引。
4) 根据查询要求建索引。
创建和管理索引
创建索引
CTEATE [UNIQUE] [CLUSTERED|NON CLUSTERED] INDEX〈索引名〉ON〈表名〉(〈索引列组〉)
(2) 删除索引
DROP INDEX〈表名〉.〈索引名〉
创建和管理视图
创建视图
创建视图的语法为:
CREATE VIEW〈视图名〉[(〈列名组〉)]
③ 数据库的存储文件和它们的索引文件构成了关系数据库的内模式。
CREATE TABLE 学生(学号 CHAR(5) NOT NULL UNIQUE,
姓名 CHAR(8) NOT NULL,
求选修课程C1且成绩在80~90之间的学生学号和成绩,并将成绩乘以系数0.8输出。
SELECT 学号,成绩*0.8 FROM 选课 WHERE 课程号 = 'C1' AND 成绩 BETWEEN 80 AND 90;
数据库原理复习资料

数据库原理复习资料《数据库原理》复习重点第一章绪论1.理解数据、数据库、数据库管理系统、数据库系统的概念。
数据:描述事物的符号记录。
数据库(DB):长期储存在计算机内、有组织的、可共享的数据集合。
数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件。
数据库系统(DBS):计算机系统中引入数据库后的系统。
DBS包括DB、DBMS2.理解型与值、模式与实例的关系,阐述数据库系统三级模式结构的内涵。
型:对某一类数据的结构和属性的说明。
值:是对型的一个具体赋值。
模式:数据库中全体数据的逻辑结构和特征的描述。
相对稳定的,反映的是数据的结构及其关系。
实例:模式的一个具体值。
相对变动的,反映的是数据库某一时刻的状态。
三级模式:外模式、模式、内模式外模式:指某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。
对应于用户级。
模式:由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述。
对应于概念级。
内模式:是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。
对应于物理级。
两层映象:外模式/模式映象、模式/内模式映象。
3.理解数据库系统的组成。
一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)、用户构成。
第二章数据模型与概念模型1.理解数据模型的概念和分类,掌握数据模型三要素。
数据模型:用来抽象表示和处理现实世界中的数据和信息,即现实世界的模拟。
分类:层次模型、网状模型、关系模型。
数据模型三要素:数据结构、数据操作、完整性约束。
数据结构:所研究的对象类型的集合,用于描述系统的静态特性。
数据操作:对数据库中各种对象(型)和实例(值)允许执行的操作的集合,用于描述系统的动态特性。
完整性约束:数据及其联系应该满足的条件限制。
数据库复习(重点)

《数据库原理与应用》复习提要题型填空题:单项选择题:判断题:简答题:模式设计:论述题:第一章绪论一、知识点分类如下:1. 需要了解的:数据管理技术的产生和发展过程、数据库系统的优点和好处、层次数据模型及网状数据模型的基本概念、数据库系统的组成、DBA的职责、数据库技术的主要研究领域等。
2. 需要牢固掌握的:概念模型的基本概念及其主要建模方法——E-R方法;关系数据模型的相关概念、数据库系统三级模式和两层映像的体系结构,数据库系统的逻辑独立性和物理独立性等。
3. 需要举一反三的:通过E-R方法描述现实世界的概念模型。
4. 难点:数据模型及数据库系统的体系结构。
二、具体内容1.数据管理技术的发展阶段:人工管理阶段、文件系统阶段、数据库阶段,各阶段主要特点。
2.概念:数据、DB、DBMS、DBS、数据库系统3.数据模型数据模型的概念:数据模型是现实世界数据特征的抽象。
数据模型的组成要素:数据结构、数据操作、数据完整性约束常用数据模型:层次、网状、关系三种模型。
上述三种模型各自的特点。
数据描述的三个领域:现实世界、信息世界和机器世界。
信息世界中的几个概念:实体(即客观存在可以相互区别的事物)、实体集(同类实体的集合)、属性(实体的特性)、码(唯一标识实体的属性(集))、域、联系。
机器世界中的四个概念:字段、记录、文件、键(主码)。
E-R图的设计:E-R图三要素:实体(型)、属性、联系联系的种类:1:1、1:n、m:n如何将E-R图转化成各种数据模型4.数据库的体系结构三级结构模式:外模式、模式、内模式模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图(与数据模型相对应)。
外模式也称子模式(subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
内模式也称存储模式(Storage Schema),一个数据库只有一个内模式。
《数据库系统原理》期末复习资料

《数据库系统原理》期末复习资料第一章绪论复习要点:数据库的4个基本概念(数据、数据库、数据库管理系统和数据库系统);数据库系统的特点;数据模型及数据模型的三要素;关系模型;数据库系统结构:三级模式和两级映像(模式、外模式和内模式;外模式/模式映像、模式/内模式映像);关系数据库系统的组成(数据库、数据管理系统和数据库系统的关系)。
数据库的4个基本概念:1. 数据(Data):是描述事物属性或特征的符号记录,可以是数字、文字、图像等形式。
2. 数据库(Database):是一种有组织的、可共享的数据集合,用于存储、管理和操作数据。
3. 数据库管理系统(Database Management System,简称DBMS):是用于管理数据库的软件系统,提供了对数据库的访问、操作和维护等功能。
4. 数据库系统(Database System):是由数据库、数据库管理系统和相关应用程序组成的系统,用于管理和处理大量数据。
数据库系统的特点:1. 数据共享:多个用户可以同时访问和共享数据库中的数据。
2. 数据独立性:数据库中的数据与数据的存储方式相互独立,改变存储方式不影响数据的使用。
3. 数据一致性:数据库系统能够保证数据的一致性和完整性,避免了数据的冗余4. 数据安全性:数据库系统可以对数据进行各种权限控制和安全防护,保证数据的安全性和机密性。
5. 数据并发性:多个用户可以同时对数据库进行读写操作,数据库系统能够处理并发操作的问题。
数据模型及数据模型的三要素:数据模型是一种用于描述数据库结构和数据之间关系的概念工具。
数据模型的三个要素包括:1. 数据结构(Data Structure):描述数据之间的关系和组织方式,如层次结构、网状结构和关系结构等。
2. 数据操作(Data Operation):描述在数据库中进行的各种操作,如查询、插入、更新和删除等。
3. 数据约束(Data Constraint):定义了对数据库中数据的限制和规范,如键、域和实体完整性等。
第八章1-数据库复习

第八章并发控制1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。
(1)丢失修改(LostUpdate)两个事务T1和T2读人同一数据并修改飞提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。
(2)不可重复读(Non-Repeatable Read)不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。
不可重复读包括三种情况:详见《概论》8.l的P66。
(3)读“脏”数据(Dirty Read)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T 1由于某种原因被撤销,这时T1已修改过的数据恢复原值T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。
避免不一致性的方法和技术就是并发控制。
最常用的技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
3.什么是封锁?答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
4.基本的封锁类型有几种?试述它们的含义。
答:基本的封锁类型有两种:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。
排它锁又称为写锁。
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
数据库复习重点
第一章1.数据库管理系统答:数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
它的主要功能包括以下几个方面。
①数据定义功能:DBMS提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象进行定义。
②数据组织、存储和管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。
要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。
数据组织和存储的基本目标是提高存储空间利用率和方便存取,提供多种存取方法来提高存取效率。
③数据操纵功能:DBMS还提供数据操纵语言,用户可以使用DML操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。
④数据库的事物管理和运行管理:数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
⑤数据库的建立和维护功能:它包括:数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。
这些功能通常是由一些实用程序或管理工具完成。
⑥其他功能:包括:DBMS与网络中其他软件系统的通信功能;一个DBMS与另一个DBMS 或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
数据库管理系统是数据库系统的一个重要组成部分。
2.数据库在计算机系统中的地位答案P63.数据库管理技术的发展答:㈠.人管理阶段:20世纪50年代中期以前,计算机主要用于科学计算。
当时的硬件状况是,外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备;软件状况是,没有操作系统,没有管理数据的专门软件;数据处理方式是批处理。
人工管理数据具有如下特点:①数据不保存②应用程序管理数据③数据不共享④数据不具有独立性㈡文件系统阶段:20世纪50年代后期到60年代中期,这时硬件方面已有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,而且能够联机实时处理。
数据库复习总结
数据库复习总结本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March第一章数据库系统概论1.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
2.什么是数据独立性数据独立性又分为哪两个层次为什么需要数据独立性数据独立性是用来描述数据与应用程序之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高物理独立性是指用户的应用程序与存储在磁盘上的数据库的数据时相互独立的。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
作用:数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
数据独立性是通过数据库管理系统的两层映像功能来实现3.什么是数据模型数据模型的基本要素有哪些为什么需要数据模型数据模型是描述数据语义、数据与数据之间联系(数据结构)、数据操作,以及一致性约束的概念和工具的集合数据模型的基本要素:①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。
数据库复习资料
数据库复习资料数据库复习资料数据库是计算机科学中非常重要的一门课程,它涉及到数据的存储、管理和检索等方面。
对于计算机专业的学生来说,掌握数据库的知识是非常重要的。
为了帮助大家更好地复习数据库,本文将提供一些复习资料和学习方法。
一、数据库的基本概念数据库是指按照一定的数据模型组织、存储和管理数据的集合。
它可以用来存储和检索各种类型的数据,包括文本、图像、音频等。
掌握数据库的基本概念是学好数据库的第一步。
在复习数据库时,可以从数据库的定义、特点、组成部分等方面进行回顾。
二、关系型数据库关系型数据库是目前应用最广泛的数据库类型之一。
它采用表格的形式来存储数据,表格中的每一行代表一个记录,每一列代表一个属性。
关系型数据库的设计和查询语言是数据库学习的重点内容。
在复习关系型数据库时,可以重点关注数据库的范式、关系代数、SQL语言等方面的知识。
三、非关系型数据库随着互联网的发展,非关系型数据库也逐渐受到了越来越多的关注。
与关系型数据库不同,非关系型数据库采用不同的数据模型来存储数据,例如键值对、文档、列族等。
复习非关系型数据库时,可以了解各种非关系型数据库的特点和适用场景,例如MongoDB、Redis等。
四、数据库的设计与优化数据库的设计是数据库应用的关键环节之一。
一个好的数据库设计可以提高系统的性能和可靠性。
在复习数据库的设计与优化时,可以从实体关系模型、关系模式转换、索引设计等方面进行回顾。
此外,了解数据库的优化技术,例如查询优化、索引优化、物理存储优化等,也是非常重要的。
五、数据库的安全与备份数据库的安全性是数据库管理的重要方面。
在复习数据库的安全与备份时,可以了解数据库的用户权限管理、数据加密、访问控制等知识。
此外,数据库的备份与恢复也是数据库管理的重要内容,可以了解数据库的备份策略、备份工具等。
六、数据库的应用领域数据库在各个领域都有广泛的应用。
在复习数据库时,可以了解数据库在电子商务、金融、医疗等领域的具体应用案例,了解数据库在实际场景中的应用方法和技术。
数据库技术及应用教程各章节知识点
数据库技术及应用教材(第2版)各章节知识点第1章数据库系统概述1.1数据库管理技术的产生和发展1.1.1人工管理阶段(20世纪50年代之前)特点:①数据不保存②数据不具独立性③数据不共享1.1.2文件管理/系统阶段(20世纪50年代-60年代中期)特点: ①数据可以保存②独立性依然差③冗余量大1.1.3数据库管理阶段20世纪60年代以后1.2.1基本概念1.数据Data2.数据库Database, DB3.数据库管理系统Database Management System, DBMS功能:数据定义、数据操纵、数据控制、数据通信4.数据库系统Database System, DBS包括数据库、数据库管理系统、应用系统、数据库管理员(Database Administrator, DBA)和用户1.2.2数据库系统的特点1.数据共享性好2.数据独立性强3.数据结构化4.统一的数据控制功能1.2.3数据库系统的组成(同上)1.2.4数据库系统的抽象级别DBMS中的数据被描述为逻辑模式、物理模式和外模式三级抽象1.3数据模型(概念模型、逻辑模型和物理模型)1.3.1基本组成1.数据结构2.数据操作3.数据约束1.3.2层次模型1.3.3网状模型1.3.4关系模型(应用最广泛)1.3.5面向对象模型1.3.6对象关系模型第2章关系数据库2.1关系数据模型的基本概念关系数据库系统是支持关系模型的数据库系统关系模型由数据结构、关系操作和完整性约束3部分组成1.数据结构(二维表)(1关系(2元组(3属性(4键((1)超键:能唯一标识元组的属性过属性集((2)候选键((3)主键((4)外键(5域(6分量(7关系模型关系数据库:有若干个关系或二维表彼此关联组成的数据库。
2.关系操作(一次一集合)查询(最主要):选择、投影、连接、除、并、交、差更新:插入、删除、更新3.完整性约束(1实体完整性(对主键的约束:不能空不能重)(2参照完整性(对外键的约束)(3用户自定义完整性(删除约束、更新约束、插入约束)2.2关系代数2.2.1传统的集合运算1.并∪2.差-3.交∩4.笛卡尔积2.2.2专门的关系运算1.选择(水平分割)2.投影(垂直分割)∏3.连接∞第3章Access数据库管理系统3.1Access简介3.1.1Access功能及特性1.界面友好、易操作2.方便数据共享3.简化安全设置4.SharePoint高速在线以及离线应用5.走向网络3.1.2Access的安装1.安装环境(office)2.安装方法3.1.3Access的集成环境3.1.4Access数据对象1.表Table(其他对象的基础)2.查询Query3.窗体Form4.报表Report(使数据处理的结果多样化)5.宏Macro6.页Web7.模块Module3.2创建数据库3.2.1直接创建空数据库3.2.2利用模块创建数据库3.2.3Access数据库的打开方式①以只读方式打开②以独占方式打开③以独占只读方式打开第4章表的操作4.1表的结构与创建4.1.1表的构成(1)约束条件1.列级约束1.非空约束2.唯一约束(也可以是表级约束)3.检查约束4.主键约束(也可以是表级约束)5.外键约束(也可以是表级约束) 2.表级约束(主键约束)(2)索引(3)关联关系4.1.2Access中的数据类型4.1.3创建表结构(1)数据表视图(2)利用表设计视图(3)使用导入表创建表4.2表结构的维护4.2.1字段名、类型和长度的修改与插入、删除和移动字段1.删除字段Delete2.插入字段3.移动字段4.修改字段名、长度或数据类型4.2.2字段标题与输入输出格式设置1.字段标题设置2.输入/输出格式设置3.自定义格式输入/输出格式4.输入掩码的设置输入掩码的格式符号4.2.3有效性规则与有效性文本Access表达式中使用的运算符Access表达式中常用函数4.2.4其他约束1.设置字段必填2.“小数位数”属性3.指定主键4.在“数据表”视图中改变字段名称4.3表数据的输入与维护4.3.1数据录入与编辑1.数据修改2.数据复制3.数据的查找操作(1)按记录号查找数据(2)查找指定内容(3)查找空字段或空字符串(4)使用通配符4.3.2导入与导出数据及链接外部数据1.导入Excel表2.导出表操作4.3.3格式化数据表1.更改行高和列宽2.改变字段次序3.隐藏/显示列4.冻结/解冻列5.设置数据表格式4.4记录操作4.4.1记录排序4.4.2筛选记录4.5表的索引与关联4.5.1索引相关知识1.索引的概念2.索引的分类(聚集/非聚集)3.索引的创建方法4.5.2创建表间的关联关系1.关联关系分类(1)一对一(2)一对多(3)多对多2.关联关系的建立方法4.5.3子表第5章数据库设计5.1数据库设计概述5.1.1数据库设计的方法5.1.2数据库设计的步骤(1)需求分析阶段(2)概念结构设计阶段(3)逻辑结构设计阶段(4)物理结构设计阶段(5)数据库实施阶段(6)数据库运行维护阶段5.2需求分析(1)用户的信息要求(2)处理要求(3)安全性要求(4)完整性要求5.3概念结构设计5.3.1E-R模型(实体-联系模型Entity-Relationship Model)1.实体:客观存在并能够相互区别的事物2.属性:实体用来刻画的一组特性3.实体集:表示具有相同属性的同一类事物2.联系与联系集5.2.3E-R图(矩形:实体集;椭圆形:属性;菱形:联系集)5.4逻辑结构设计5.4.1E-R模型与关系模型的转换5.4.2规范化基础1.数据库设计中的问题2.函数依赖的基本概念3.范式及其关系4.规范化方法5.4.3逻辑结构详细设计5.5物理结构设计5.6数据库实施5.7数据库维护第6章数据查询6.1查询概述1.选择查询2.生成表查询3.追加查询4.更新查询5.交叉表查询6.删除查询6.2创建与维护查询6.2.1使用查询向导创建查询6.2.2使用设计视图创建查询6.3查询条件6.3.1查询条件的设置6.3.2在查询中执行计算6.4动作查询(操作查询)的设计6.4.1追加查询6.4.2更新查询6.4.3删除查询6.4.4生成表查询6.5SQL特定查询的设计(1)联合查询(2)传递查询(4)子查询第7章SQL关系数据库标准语言7.1SQL的概述7.1.1SQL的特点结构化查询语言(Structured Query Language)1.高度综合2.非过程化3.采用面向集合的操作方式7.1.2SQL的功能7.2SQL的数据定义7.2.1SQL的数据类型1.建立数据表(1)NOT NULL是列级约束(2)PRIMARY KEY是表级或列级约束(3)FOREIGN KEY是外键约束(4)CHECK是域完整性约束(5)UNIQUE是唯一性约束创建此表的SQL语句如下:CREAT TABLE staff(staffID TEXT(12) PRIMARY KEY,name TEXT(8) UNIQUE,birthdate DATE,married LOGICAL NOT NULL,salary MONEY,resume MEMO);2.修改数据表ALTER TABLE <表名>[ ADD <列名> <数据类型>[<完整性约束> ] [ ,…] ][ DROP [ [ CONSTARINT ]<约束名>] I [ COLUMN <列名> ] ] [,…] [ALTER <列名> <数据类型> [,…] ] ;3.删除数据表4.索引操作语句7.3SQL语言的数据查询1.Select语句格式:SELECT [ALL I DISTINCT ] <列名> I <目标列表达式> I <函数> [,…]FROM <表名或视图名> [,…][ WHERE <条件表达式> ][ GROUP BY <列名1> [ HAVING <条件表达式> ]][ ORDER BY <列名2> [ ASC ] I [ DESC ]]7.3.2简单查询语句Select * FromSelect 学号As 学生号码,姓名,Year(Now())-Year(出生年月) As 年龄From 学生Select 学号,课程编号,成绩From 学生Where 成绩<607.3.3连接查询7.3.4其他查询7.4SQL的数据更新7.4.1INSERT命令格式:INSERT INTOVALUES7.4.2UPDATE命令UPDATESETWHERE7.4.3DELETE命令DELETE FROM WHERE第8章数据库应用开发技术8.1窗体8.1.2窗体的类型逻辑:主窗体、子窗体功能:命令式选择窗体、数据交互式窗体8.1.3窗体视图8.1.4创建窗体8.1.5窗体控件8.1.6窗体控件的使用8.2报表8.2.1报表的组成1.报表页眉2.页面页眉3.主体4.页面页脚5.报表页脚8.2.2创建报表8.2.3报表编辑8.2.4其他报表8.3宏8.3.1宏的概念8.3.2宏的设计8.3.3宏的运行第9章VBA程序设计9.1VBA概述1.类模块2.标准模块9.2VBA编程9.2.1面向对象程序设计概念9.2.2对象和类9.2.3VBA编程基础9.2.4运算符与表达式及函数算术运算符>字符运算符>关系运算符>逻辑运算符Abs(N)取绝对值Int(N)取整Exp(N)以e为底数的指数函数Log(N)以e为底的自然对数Sqr(N)计算数值表达式的平方根Asc(C)返回字符串首字符的ASCⅡ值Chr(N)ASCⅡ值转换为字符串Str(N)将数值表达式转换为字符串Val(C)将数字字符串转换为数值型数据9.2.5程序语句声明语句(Private、Dim、Public、Stastic)赋值语句执行语句9.2.6程序基本结构1.顺序结构2.选择结构(1)If语句(单路分支/双路分支)If Then(Else) End If(2)Select Case语句(多路分支)Select CaseCaseCaseEnd Select3.循环结构(1)For...Next(2)While语句WhileExit DoWend9.2.7过程创建和调用(1)子过程(2)函数9.3程序调试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章并发控制1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。
(1)丢失修改(Lost Update)两个事务T1和T2读人同一数据并修改飞提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。
(2)不可重复读(Non-Repeatable Read)不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。
不可重复读包括三种情况:详见《概论》8.l的P66。
(3)读“脏”数据(Dirty Read)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。
避免不一致性的方法和技术就是并发控制。
最常用的技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
3.什么是封锁?答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
4.基本的封锁类型有几种?试述它们的含义。
答:基本的封锁类型有两种:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。
排它锁又称为写锁。
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
共享锁又称为读锁。
若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
这就保证了他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
在T释放A上的锁之前不能再读取和修改A。
5.如何用封锁机制保证数据的一致性?答:DBMS在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务T;在对A进行修改之前先对A执行Xlock(A),即对A加X锁。
这样,当T2请求对A加X锁时就被拒绝,T2只能等待T1释放A上的锁后才能获得对A的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算。
这样就不会丢失T1的更新。
T1T2①Xlock A②读A=16Xlock A③A←A-1 等待写回A=15 等待Commit 等待Unlock A 等待④获得Xlock A读A=15A←A-1写回A=14⑤CommitUnlock ADBMS按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏”数据等数据不一致性。
6.什么是封锁协议?不同级别的封锁协议的主要区别是什么?答:在运用封锁技术对数据加锁时,要约定一些规则。
例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。
这些约定或者规则称为封锁协议(Locking Protocol)。
对封锁方式约定不同的规则,就形成了各种不同的封锁协议、不同级别的封锁协议,例如《概论》8.3中介绍的三级封锁协议,三级协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。
一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对S锁,读完后即可释放S锁。
三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其S锁,直到事务结束才释放。
7.不同封锁协议与系统一致性级别的关系是什么?答:不同的封锁协议对应不同的一致性级别。
一级封锁协议可防止丢失修改,并保证事务T是可恢复的。
在一级封锁协议中,对读数据是不加S锁的,所以它不能保证可重复读和不读“脏”数据。
二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。
在二级封锁协议中,由于读完数据后立即释放S锁,所以它不能保证可重复读。
在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。
所以三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
下面的表格清楚地说明了封锁协议与系统一致性的关系。
8.什么是活锁?什么是死锁?答:T1 T2 T3 T4lock R····lock R ···等待Lock R ·Unlock 等待·Lock R·等待Lock R 等待·等待·等待·等待Unlock R 等待·等待·Lock R·等待··如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。
T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。
然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形。
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。
如果事务T1封锁了数据R1,T2封锁了R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。
接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。
这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。
T1T2Lock R1··Lock R2··Lock R2 ·等待·等待Lock R1等待等待9.试述活锁的产生原因和解决方法。
答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。
避免活锁的简单方法是采用先来先服务的策略。
当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。
10.请给出预防死锁的若干方法。
答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。
防止死锁的发生其实就是要破坏产生死锁的条件。
预防死锁通常有两种方法:(1)一次封锁法,要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行;(2)顺序封锁法,预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
不过,预防死锁的策略不大适合数据库系统的特点,具体原因可参见《概论》8.4。
11.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?答:数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。
DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。
超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。
超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。
若时限设置得太长,又不能及时发现死锁发生。
DBMS并发控制子系统检测到死锁后,就要设法解除。
通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。
当然,对撤销的事务所执行的数据修改操作必须加以恢复。
12.什么样的并发调度是正确的调度?答:可串行化(Serializable)的调度是正确的调度。
可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同,称这种调度策略为可串行化的调度。
13.设T1,T2,T3是如下的3个事务:T1:A:= A+2;T2:A:=A * 2;T3:A:=A**2;(A←A2)设A的初值为0。
(1)若这3个事务允许并行执行,则有多少可能的正确结果,请—一列举出来。
答:A的最终结果可能有2、4、8、16。
因为串行执行次序有T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T1T2、T3T2T1。
对应的执行结果是16、8、4、2、4、2。
(2)请给出一个可串行化的调度,并给出执行结果答:T1T2T3Slock AY=A=0Unlock AXlock ASlock AA=Y+2 等待写回(=2)等待Unlock A 等待Y=A=2Uulock AXlock ASlock AA=Y*2 等待写回A=(4) 等待Unlock A 等待Y=A=4Unlock AXlock AA=Y**2写回A(=16)Unlock A最后结果A为16,是可串行化的调度。
(3)请给出一个非串行化的调度,并给出执行结果。
答:T1T2T3Slock AY=A=0Unlock ASlock AY=A=0Xlock A等待Unlock AA=Y+2写回A(=2)Slock AUnlock A 等待Y=A=2Unlock AXlock AXlock A等待Y=Y**2等待写回A(=4)等待Unlock AA=Y*2写回A(=0)Unlock A最后结果A为0,为非串行化的调度。
(4)若这3个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。
T1 T2 T3Slock AY=A=0Xlock AA=Y+2 Slock A写回(A=2)等待Unlock A 等待Y=A=2Xlock AUulock A 等待Slock AA=Y*2 等待写回(A=4)等待Unlock A 等待Y=A=4Unlock AXlock AA=Y**2写回A(=16)Unlock AUnlock A(5)若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度。
答:T1 T2 T3Slock AY=A=0Slock AY=A=0Xlock A等待Xlock A等待Slock AY=A=0Xlock A等待14.试述两段锁协议的概念。
答:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。
·在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;·在释放一个封锁之后,事务不再申请和获得任何其他封锁。