当前位置:文档之家› 数据库系统概论之并发控制

数据库系统概论之并发控制

An Introduction to Database Systems

管理学院信息管理系

数据库系统概论

An Introduction to Database System

第十一章 并发控制

An Introduction to Database Systems

问题的产生

?多用户数据库系统的存在

允许多个用户同时使用的数据库系统

?飞机定票数据库系统?银行数据库系统

特点:在同一时刻并发运行的事务数可达数百个

问题的产生(续)?不同的多事务执行方式

(1)事务串行执行

?每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行

?不能充分利用系统资源,发挥数据库共享资源的特点

T1

T2

T3

事务的串行执行方式

An Introduction to Database Systems

An Introduction to Database Systems

问题的产生(续)

(2)交叉并发方式(Interleaved Concurrency )

?在单处理机系统中,事务的并行执行是这些并行事务的并行操作轮流交叉运行?单处理机系统中的并行事务并没有真正地并行运行,但能够减少处理

机的空闲时间,提高系统的效率

An Introduction to Database Systems

问题的产生(续)

(3)同时并发方式(simultaneous concurrency )

?多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行

An Introduction to Database Systems

问题的产生(续)

?事务并发执行带来的问题

?会产生多个事务同时存取同一数据的情况

?可能会存取和存储不正确的数据,破坏事务一致性和数据库的一致性

An Introduction to Database Systems

11.1 并发控制概述

?并发控制机制的任务

?对并发操作进行正确调度?保证事务的隔离性?保证数据库的一致性

An Introduction to Database Systems

T1的修改被T2覆盖了!

并发控制概述(续)

并发操作带来数据的不一致性实例

[例1] 飞机订票系统中的一个活动序列

① 甲售票点(甲事务)读出某航班的机票余额A ,设A=16;② 乙售票点(乙事务)读出同一航班的机票余额A ,也为16;

③ 甲售票点卖出一张机票,修改余额A ←A-1,所以A 为15,把A 写回数据库;

④ 乙售票点也卖出一张机票,修改余额A ←A-1,所以A 为15,把A 写回数据库

?结果明明卖出两张机票,数据库中机票余额只减少1

An Introduction to Database Systems

并发控制概述(续)

?这种情况称为数据库的不一致性,是由并发操作引起的。?在并发操作情况下,对甲、乙两个事务的操作序列的调度是随机的。

?若按上面的调度序列执行,甲事务的修改就被丢失。

?原因:第4步中乙事务修改A 并写回后覆盖了甲事务的修改

An Introduction to Database Systems

并发控制概述(续)

?并发操作带来的数据不一致性

?丢失修改(Lost Update )

?不可重复读(Non-repeatable Read )?读“脏”数据(Dirty Read )

?记号

?R(x):读数据x ?W(x):写数据x

An Introduction to Database Systems

1. 丢失修改

?两个事务T 1和T 2读入同一数据并修改,T 2的提交结果破坏了T 1提交的结果,导致T 1的修改被丢失。

W(A)=15

A ←A-1④

W(A)=15W ③ A ←A-1R(A)=16

②① R(A)=16T 2

T 1

An Introduction to Database Systems

2. 不可重复读

?不可重复读是指事务T 1读取数据后,事务T 2 执行更新操作,使T 1无法再现前一次读取结果。

An Introduction to Database Systems

不可重复读(续)

?不可重复读包括三种情况:

(1)事务T 1读取某一数据后,事务T 2对其做了修改,当事务T 1再次读该数据时,得到与前一次不同的值 (2)事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录消失了 (3)事务T1按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。 后两种不可重复读有时也称为幻影现象(Phantom Row )

An Introduction to Database Systems

不可重复读(续)

?T1读取B=100进行运算?T2读取同一数据B ,对其进行修改后将B=200写回数据库。

?T1为了对读取值校对重读B ,B 已为200,与第一次读取值不一致

(验算不对)

和=250R(B)=200③ R(A)=50

(B)=200

B ←B*2R(B)=100②

求和=150 R(B)=100① R(A)=50T 2

T 1

不可重复读

例如:

An Introduction to Database Systems

3. 读“脏”数据

读“脏”数据是指:

?事务T1修改某一数据,并将其写回磁盘

?事务T2读取同一数据后,T1由于某种原因被撤销?这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致

?T2读到的数据就为“脏”数据,即不正确的数据

An Introduction to Database Systems

读“脏”数据(续)

C 恢复为100

③ROLLBACK R(C)=200

W(C)=200 C ←C*2① R(C)=100T 2

T 1

例如

读“脏”数据

?T1将C 值修改为200,T2读到C 为200?T1由于某种原因撤销,其修改作废,C 恢复原值100?这时T2读到的C 为200,与数据库内容不一致,就是“脏”数据

An Introduction to Database Systems

并发控制概述(续)

?数据不一致性:由于并发操作破坏了事务的隔离性?并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性

An Introduction to Database Systems

并发控制概述(续)

?并发控制的主要技术

?有封锁(Locking)?时间戳(Timestamp)?乐观控制法

?商用的DBMS 一般都采用封锁方法

An Introduction to Database Systems

11.2 封锁

?封锁就是事务T 在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁?加锁后事务T 就对该数据对象有了一定的控制,在事务T 释放它的锁之前,其它的事务不能更新此数据对象。

An Introduction to Database Systems

基本封锁类型

?一个事务对某个数据对象加锁后究竟拥有什么样的控制由封锁的类型决定。?基本封锁类型

?排它锁(Exclusive Locks ,简记为X 锁)?共享锁(Share Locks ,简记为S 锁)

实验1 SQL SERVER 2008环境 一、实验目的 1.掌握服务管理器的启动和停止方法; 2.掌握SQL Server Management Studio对象资源管理器的使用方法; 3.掌握注册服务器的步骤。 4.掌握E-R图在计算机中的画法。 二、实验学时 2学时 三、实验要求 1.了解SQL Server 2008的安装过程。 2.熟练掌握SQL Server2008数据库服务器的启动方法。 3.熟练掌握SQL Server2008数据库服务器的登录方法和注册方法。 4.掌握E-R图的画法,学会使用Visio画出标准的E-R图。 5.独立完成实验内容,并提交书面实验报告。 四、实验内容 1.了解并熟悉SQL Server 2008的安装方法。 2.登录SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动服务器,登录SQL Server Management Studio等操作; 3. 掌握SQL Server Management Studio对象资源管理器的使用方法; 4.注册SQL Server 2008服务器。 5. 有一个图书管理系统需要构建E-R图,要求如下: (1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。 (2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 (3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 将有关实体型及其联系画出E-R模型图画在实验报告册中。

1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据(Data ):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。 ( 2 )数据库(DataBase ,简称DB ):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 ( 3 )数据库系统(DataBas 。Sytem ,简称DBS ):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 ( 4 )数据库管理系统(DataBase Managem ent sytem ,简称DBMs ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 6 .数据库管理系统的主要功能有哪些? 答: ( l )数据库定义功能; ( 2 )数据存取功能; ( 3 )数据库运行管理; ( 4 )数据库的建立和维护功能。 12 .学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E 一R 图画出此学校的概念模型。 答: 13 .某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一R 图画出此工厂产品、零件、材料、仓库的概念模型。 答:

第一学期期末考试试卷和答案 试卷代码:03115 授课课时:96 课程名称:数据库系统原理A 适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1、在数据库技术发展的几个阶段中,数据独立性最高的是__A___阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 2、在SQL的SELECT语句中,与选择运算对应的命令动词是__C___。 A、SELECT B、FROM C、WHERE D、ORDER BY 3、在数据库中,下列说法_A__是不正确的 A、数据库避免了一切数据的重复 B、若系统是完全可以控制的,则系统可确保更新是的一致性 C、数据可以共享 D、数据库减少了冗余 4、在数据库系统中,模式/外模式映像用于解决数据的_C__ A、结构独立性 B、物理独立性 C、逻辑独立性 D、分布独立性 5、关系代数的5种基本运算是__D_。 A、并、差、选择、投影、自然连接 B、并、差、交、选择、投影 C、并、差、交、选择、笛卡尔积 D、并、差、选择、投影、笛卡尔积 6、在SQL语句中,谓词“EXISTS”的含义是_B___。 A、全称量词 B、存在量词 C、自然连接--在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列 D、等值连接--在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列 7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及_C__的缺陷 A、数据不一致性 B、结构不合理 C、冗余度大 D、数据丢失 8、数据库数据的正确性和相容性是数据库的__B____。 A、安全性 B、可维护性 C、完整性 D、并发控制 9、数据库三级模式体系结构主要的目标是确保数据库的_B__。 A、数据安全性 B、数据独立性

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

?补充习题 ? 1. 设关系模式 R=(U,F),U=ABCDEG,F={AB→D,DB→EG,AC→E,BE→A, A→B },求所有候选码。(AC,BCE,BCD) ? 2. 设关系模式R=(U,F),U=ABCDEG,求下列函数依赖集F等价的最小函数依赖集Fmin. ?(1)F={AB→CD,A→BE,D→E,B→D} 1.F1={AB->C,AB->D,A->B,A->E,D->E,B->D} 2.F2={AB->C,A->B, D->E,B->D} 3.Fmin={A->C,A->B,D->E,B->D} ?(2)F={ABC→D, AC→E, E→AB,B→D,CD→B} 1.F1={ABC→D, AC→E, E→A, E→B,B→D,CD→B} 2.F2={AC→E, E→A, E→B,B→D,CD→B} 3.Fmin={AC→E, E→A, E→B,B→D,CD→B}

?(3) F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,C E→AG} 1.F1={AB→C,D→E,D->G,C→A,BE→C,BC→D, CG→B, CG→D,ACD→B,CE→A, CE→G} 2.F2={AB→C,D→E,D->G,C→A,BE→C, BC→D,CG->D,ACD→B, CE→G} 或者F2={AB→C,D→E,D->G,C→A,BE→C, BC→D,CG->B,CE→G} 3. {AB→C,D→E,D->G,C→A,BE→C,BC→D, CG->D,CD→B, CE→G}或者 {AB→C,D→E,D->G,C→A,BE→C,BC→D, CG->B,CD→B, CE→G}

C H A P T E R2 Exercises 2.4Describe the differences in meaning between the terms relation and relation schema. Answer:A relation schema is a type de?nition,and a relation is an instance of that schema.For example,student(ss#,name)is a relation schema and is a relation based on that schema. 2.5Consider the relational database of Figure2.35,where the primary keys are un- derlined.Give an expression in the relational algebra to express each of the fol-lowing queries: a.Find the names of all employees who work for First Bank Corporation. b.Find the names and cities of residence of all employees who work for First Bank Corporation. c.Find the names,street address,and cities of residence of all employees who work for First Bank Corporation and earn more than$10,000per annum. d.Find the names of all employees in this database who live in the same city as the company for which they work. e.Assume the companies may be located in several cities.Find all companies located in every city in which Small Bank Corporation is located. Answer: a.Πperson-name(σcompany-name=“First Bank Corporation”(works)) 7

窗体顶端 您的本次作业分数为:100分单选题 1.根据SQL标准,要查询表student中所有年龄age小于所有学生的平均年龄的记录,下面哪条语句适用? A select * from student where age < avg(age) B select * from student having age < avg(age) C select * from student a where a.age < (select avg(b.age) from student b) D select * from student a where (select avg(b.age) from student b ) >= a.age 正确答案:C 单选题 2.在数据库的三级模式结构中,描述数据库用户能够看到和使用的局部数据的逻辑结构和特征描述的是指()。 A 模式 B 内模式 C 外模式 D 逻辑模式 正确答案:C 单选题 3.下列数据模型中,数据独立性最高的是()。 A 网状数据模型 B 关系数据模型 C 层次数据模型 D 非关系模型 正确答案:B 单选题 4.SQL中,下列涉及空值的操作,不正确的是()。 A AGE IS NULL B AGE IS NOT NULL C AGE = NULL

D NOT (AG E IS NULL) 正确答案:C 单选题 5.DBMS中实现事务隔离性的子系统是()。 A 安全性管理子系统 B 完整性管理子系统 C 并发控制子系统 D 恢复管理子系统 正确答案:C 单选题 6.如果一个关系中的属性或属性组并非该关系的码,但它是另外一个关系的主码,则称其为该关系的()。 A 码 B 外码 C 元组 D 主键 正确答案:B 单选题 7.如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成()。 A 活锁 B 死锁 C 乐观锁 D 悲观锁 正确答案:B 单选题 8.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是()。 A 多对多

数据库系统概论实验指导 (第六版) 计算机学院 2010/09

改版履历

目录 目录 (3) 1.实验概要 (4) 1.1.实验说明 (4) 1.2.实验环境和配置 (4) 1.3.上机要求 (4) 2.实验1:数据库/表的基本操作和表级约束 (5) 2.1.目的和要求 (5) 2.2.实验准备 (5) 2.3.实验内容 (5) 3.实验2:库级约束和基本表的数据操作 (8) 3.1.目的和要求 (8) 3.2.实验准备 (8) 3.3.实验内容 (8) 4.实验3:视图操作和安全性控制 (10) 4.1.目的和要求 (10) 4.2.实验准备 (10) 4.3.实验内容 (10) 5.实验4:存储过程/触发器/ODBC数据库编程 (12) 5.1.目的与要求 (12) 5.2.实验准备 (12) 5.3.实验内容 (12) 6.实验5:数据库综合实验 (14) 6.1.目的与要求 (14) 6.2.实验准备 (14) 6.3.实验内容 (14) 5.3.1.题目一:零件交易中心管理系统 (15) 5.3.2.题目二:图书管理系统 (15) 5.3.3.题目三:民航订票管理系统 (15) 5.3.4.题目四:学生学籍管理系统 (15) 5.3.5.题目五:车站售票管理系统 (16) 5.3.6.题目六:企业人事管理系统 (16) 5.3.7.题目七:电话交费管理系统 (16) 5.3.8.题目八:医药销售管理系统 (16) 7.附录:实验报告格式 (17)

1.实验概要 1.1.实验说明 内容:本课程实验分5次完成,每次完成一部分。具体内容参考本指导的后半部分。 成绩:每次实验100分,最后取所有实验的平均分作为实验的总成绩。评分标准如下: 上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。 实验报告 每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。每次实验结束时,将写好的实验报告,提交给各班辅导老师。如果确有困难没有完成的情况下,课后自己完成之后提交到辅导老师的邮箱里。由辅导老师根据课堂上机实验检查状况和实验报告的内容给出每次实验的成绩。 实验报告的内容包括:实验内容、实验步骤、程序源码、运行结果(可以是程序的输出,也可以是运行画面的抓屏,抓屏图片要尽可能的小,否则文件太大)。每份实验报告是一个WORD文档。实验报告命名规则如下:DBx(实验次数)_XXXXXX(学号)_姓名例如:052978的学生的第一次实验报告文件名: DB1_052978_李宁注意:请每个人保存好自己的实验报告的电子版,直到该门课考试成绩公布之后。 1.2.实验环境和配置 SQL Server 2008(Microsoft SQL Server 2008 Express With Advance Service) 1.3.上机要求 ●上机之前,请做好预习,需要写一个简单的预习报告,格式不限。 ●严格遵守实验室的各项规定。

第1章绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据(Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重500 克。 ( 2 )数据库(DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。( 3 )数据库系统(DataBas 。Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。 ( 4 )数据库管理系统(DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS 的主要功能包括数据定义功能、

您的本次作业分数为:98分 1.【第01章】公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是()。 A 多对多 B 一对一 C 多对一 D 一对多 正确答案:C 2.【第01章】在数据库的三级模式结构中,描述数据库用户能够看到和使用的局部数据的逻辑结构和特征描述的是指()。 A 模式 B 内模式 C 外模式 D 逻辑模式 正确答案:C 3.【第01章】下列四项中说法不正确的是()。 A 数据库减少了数据冗余 B 数据库中的数据可以共享 C 数据库避免了一切数据的重复 D 数据库具有较高的数据独立性 正确答案:C 4.【第01章】数据库三级模式体系结构的划分,有利于保持数据库的()。 A 数据库独立性

B 数据库安全性 C 结构规范化 D 操作可行性 正确答案:A 5.【第01章】数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。 A DBS包括DB和DBMS B DBMS包括DB和DBS C DB包括DBS和DBMS D DBS就是DB,也就是DBMS 正确答案:A 6.【第01章】下列数据模型中,数据独立性最高的是()。 A 网状数据模型 B 关系数据模型 C 层次数据模型 D 非关系模型 正确答案:B 7.【第01章】常用的数据模型有()。 A 层次模型 B 网状模型 C 关系模型 D 面向对象模型 E 对象关系模型

正确答案:ABCDE 8.【第01章】E-R图用来描述现实世界的概念模型,基本要素包括()。 A 实体型 B 属性 C 联系 D 元组 E 主码 F 记录 正确答案:ABC 9.【第01章】数据模型的组成要素包括()。 A 数据结构 B 数据操作 C 实体 D 完整性约束 E 关系 正确答案:ABD 10.【第01章】与人工管理和文件系统相比,数据库系统的特点主要体现在以下哪些方面? A 数据结构化 B 数据的共享性高,冗余度低,易扩充 C 数据独立性高 D 数据由DBMS统一管理和控制 正确答案:ABCD

第1章绪论习题参考答案 13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画山此工厂产品,零件,材 第2章关系数据库习题参考答案 5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 1)求供应工程J1零件的供应商号码SNO: πSno(σJno=‘J1’(SPJ)) 2)求供应工程J1零件P1的供应商号码SNO: πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ)) 3)求供应工程J1零件为红色的供应商号码SNO: πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ)) 4)求没有使用天津供应商生产的红色零件的工程号JNO: πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P) 5)求至少用了供应商S1所供应的全部零件的工程号JNO: πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ)) 第3章 SQL语言习题参考答案 用SQL语句建立第二章习题5中的四个表。 S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成: CREATE TABLE S ( Sno CHAR(2) UNIQUE, Sname CHAR(6) , Status CHAR(2),

第一章 1.数据库的四个基本概念:数据、数据库、数据库管理系统、数据库系统。 数据:是数据库中存储的基本对象。描述事物的符号称为数据。 数据库:是长期存储在计算机、有组织的、可共享的大量数据的集合。数据库数据具有永久存储、有组织和可共享三个基本特点。 数据库管理系统:是计算机的基础软件。 数据库系统:是由数据库、数据库管理系统、应用程序和人组成的存储、管理、处理和维护数据的系统。 2.数据处理和数据管理。 数据处理:指对各种数据进行手机、存储、加工和传播的一系列活动的总和。 数据管理:指对数据进行分类、组织、编码、存储、检索和维护。 3.数据独立性。 物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的。 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。 4.数据模型------是对现实世界数据特征的抽象(现实世界的模拟)。 数据模型是数据库系统的核心和基础。 概念模型:信息模型,按照用户的观点来对数据和信息建模,主要用于数据库设计。 逻辑模型:按照计算机系统的观点对数据建模。 物理模型:描述数据在计算机部的表示方式和存取方法。 数据模型组成要素:数据结构、数据操作、数据的完整性约束条件。 5.信息世界中的基本概念。 实体:客观存在并可相互区别的事物。 属性:实体所具有的某一特征。 码:唯一标识实体的属性集。 联系:失误部以及事物之间是有联系的。实体部的联系通常是指组成实体的个属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对 一、一对多和多对多等各种类型。 6.数据完整性约束条件。 实体完整性:检查主码值是否唯一,检查主码的各个属性是否为空。实体完整性在

1.若事务T对数据对象 A 进行读取和修改操作,且其它任何事务都不能访问 A, 此时事务 T需对数据对象A加上()。 ? A 读锁 ? B 死锁 ? C 写锁 ? D 活锁 正确答案:C ? 单选题 2.在SQL语言中授权的操作是通过()语句实现的。 ? A CREATE ? B REVOKE ? C GRANT ? D INSERT 正确答案:C ? 单选题 3.如果事务T获得了数据项Q上的排它锁,则T对Q()。 ? A 只能读不能写 ? B 只能写不能读 ? C 既可读又可写

? D 不能读不能写 正确答案:C ? 单选题 4.根据SQL标准,创建一个视图abc,通过该视图只能对表student中系dept 为‘IS’的记录进行更新操作。下面哪条语句适用? ? A create view abc as select * from student where dept=’IS’ ? B create view abc as select * from student where dept=’IS’ with check option ? C create view abc as student where dept=’IS’ ? D create view abc as select dept=’IS’ from student 正确答案:B ? 单选题 5.根据SQL标准,删除表student中对字段sno的唯一性约束,应该使用下面 哪条语句? ? A drop sno from table student ? B alter table student drop sno ? C alter table student drop unique(sno) ? D alter table student drop sno unique 正确答案:C

数据库系统概论实验设计答案

数据库系统概论 实验报告册 姓名: momo 学号: 教师:

实验一需求分析(一)——业务流程调查 一、实验目的:掌握需求分析的步骤和业务流程调查的方法;掌握应用Powerbuilder绘制BPM模型 二、学时:6H(课内4H,课外2H) 三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio 四、实验内容:根据该VCD连锁店的业务需求调查文字,利用PD绘制该VCD连锁店管理系统的BPM模型。 五、实验结果: 出售租借:根据购买人或租借人提供的VCD租借单,查阅库存,如果有,则办理销售或租借并登记销售或租借流水帐;如果没有相应的VCD,则可根据购买人或租借人的要求办理预约登记,当有VCD时,及时通知购买人或租借人。

归还:根据租借人提供的所还VCD,检查VCD是否完好,如果完好,则办理归还登记,如果有损坏的VCD,办理赔偿登记。并把赔偿通知单通知给租借人。

逾期罚款通知:查询逾期未还的VCD,及时通知租借人,并进行相应的罚款登记。 六、思考题 1、数据库设计为什么需要进行详细的需求分析?

答:需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是不是准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是不是合理使用情况。 2、需求分析的目标是什么?其调查步骤是什么?常用的调查方法有哪些? 答:(1)需求分析的目标: 1.通过详细调查现实世界要处理的对象,充分了解 原系统(手工系统或计算机系统)工作概况,明 确用户的各种需求。 2.在此基础上确定新系统的功能。新系统必须充分 考虑今后可能的扩充和改变,不能仅仅按当前应 用需求来设计数据库。 (2) 调查步骤: 1. 了解组织机构。 2. 调查部门的数据输入、处理、输出。(调 查重点之一) 3. 在熟悉业务活动的基础上,协助用户 明确对新系统的各种要求。(调查重点之二) 4. 确定新系统的边界 (3)常用的调查方法: ⑴跟班作业

单选题 1.一个m:n联系转换为一个关系模式,关系的码为()。 A 某个实体的码 B 各实体码的组合 C n端实体的码 D 任意一个实体的码 单选题 2.3NF()规范为4NF。 A 消除非主属性对码的部分函数依赖 B 消除非主属性对码的传递函数依赖 C 消除主属性对码的部分和传递函数依赖 D 消除非平凡且非函数依赖的多值依赖 单选题 3.概念结构设计阶段得到的结果是()。 A 数据字典描述的数据需求 B E-R图表示的概念模型 C 某个DBMS所支持的数据模型 D 包括存储结构和存取方法的物理结构 单选题 4.根据SQL标准,要修改表student中所有学生的年龄age,使之在原值基础上减一,下面哪个语句适用? A update student set age = 1 B update student set age = age - 1 C update age = age -1 from student D update from student where age = age -1 单选题 5.根据SQL标准,删除表student中对字段sno的唯一性约束,应该使用下面哪条语句? A drop sno from table student

B alter table student drop sno C alter table student drop unique(sno) D alter table student drop sno unique 单选题 6.根据SQL标准,增加一个新的字段sdate到表student中,该字段为可容纳7个字符的定长字符串,下面哪条语句可以正确表述? A insert into student sdate char(7) B add sdate char(7) to student C append sdate varchar(7) to table student D alter table student add sdate varchar(7) E alter table student add sdate char(7) F alter table student modify sdate char(7) 单选题 7.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。 A DBS包括DB和DBMS B DBMS包括DB和DBS C DB包括DBS和DBMS D DBS就是DB,也就是DBMS 单选题 8.属于BCNF的关系模式的是()。 A 已消除了插入、删除异常 B 已消除了插入、删除异常、数据冗余 C 仍然存在插入、删除异常 D 在函数依赖范畴内,已消除了插入和删除的异常 单选题 9.在SQL语言中授权的操作是通过()语句实现的。 A CREATE

10软件1班22号周超 实验八 一、实验内容 以SPJ数据库为例,完成以下要求 1、定义S、P、J、SPJ实体完整性 2、表间的参照完整性 3、用户定义完整性 二、实验过程 1、SQL定义各表 SQL: CREATE DATABASE SPJ ON(NAME='SPJ_DATA', FILENAME='E:\SPJ.mdf', SIZE=5MB, FILEGROWTH=10%) USE SPJ CREATE TABLE S (SNO CHAR(4)PRIMARY KEY, SNAME CHAR(20)UNIQUE, STATUS INT CHECK(STATUS>=10 AND STATUS<=50), CITY CHAR(20)NOT NULL); CREATE TABLE P (PNO CHAR(4)PRIMARY KEY, PNAME CHAR(20)NOT NULL, COLOR CHAR(10)NOT NULL, WEIGHT SMALLINT NOT NULL); CREATE TABLE J (JNO CHAR(4)PRIMARY KEY, JNAME CHAR(20)UNIQUE, CITY CHAR(20)NOT NULL); CREATE TABLE SPJ (SNO CHAR(4), PNO CHAR(4), JNO CHAR(4), QTY INT NOT NULL, PRIMARY KEY(SNO,PNO,JNO), FOREIGN KEY(SNO)REFERENCES S(SNO), FOREIGN KEY(PNO)REFERENCES P(PNO), FOREIGN KEY(JNO)REFERENCES J(JNO)); 附表:S表

第1章绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义就是不可分的。解析在现代计算机系统中数据的概念就是广义的。早期的计算机系统主要用于科学计算,处理的数据就是整数、实数、浮点数等传统数学中的数据。现代计算机能存储与处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义就是不可分的。 500 这个数字可以表示一件物品的价格就是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。 ( 2 )数据库( DataBase ,简称 DB ) :数据库就是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述与储存,具有较小的冗余度、较高的数据独立性与易扩展性,并可为各种用户共享。 ( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) :数据库系统就是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统与数据库就是两个概念。数据库系统就是一个人一机系统,数据库就是数据库系统的一个组成部分。但就是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”与“数据库”,不要引起混淆。 ( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统就是位于用户与操作系统之间的一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立与维护功能。解析 DBMS 就是一个大型的复杂的软件系统,就是计算机中的基础软件。目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。著名的有美国 IBM 公司的 DBZ 关系数据库管理系统与 IMS 层次数据库管理系统、美国 Oracle 公司的 orade 关系数据库管理系统、 s 油 ase 公司的 s 油 ase 关系数据库管理系统、美国微软公司的SQL Serve ,关系数据库管理系统等。 2 .使用数据库系统有什么好处? 答: 使用数据库系统的好处就是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储与数据存取的具体路径,这些工作都由 DBMS 来完成。用一个通俗的比喻,使用了 DBMS 就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变就是 DBA 的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护与修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS 在数据库建立、运用与维护时对数据库进行统一的管理与控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由 DBMS 执行。总之,使用数据库系统的优点就是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率与一致性,又有利于应用程序的开发与维护。读者可以在自己今后的工作中结合具体应用,认真加以体会与总结。 3 .试述文件系统与数据库系统的区别与联系。 答: 文件系统与数据库系统的区别就是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录 内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性与一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制与恢复能力。

《数据库系统概论》实验报告触发器/ODBC编程存储过程题 目:实验三 / 日期学号姓名班级2007-10-14 郭智超 10010507 052626 . 实验内容和步骤结果一三建”。”更名为“在查询分析器中使用系统存储过程1.(sp_rename) 将视图“V_SPJV_SPJ_ (分)5create view V_SPJ 源程序:as select jno,sno from spj where jno='j2' ' exec sp_rename 'V_SPJ','V_SPJ_三建执行结果: 变为 45分)2.存储过程的创建与使用:(。表,创建一个带参数的存储过程—jsearch表、表、使用) SPJ数据库中的SP表、JSPJ1(该存储过程的作用是:当任意输入一个工程代号时,将返回供应 该工程零件的供应商的名(JNAME) 以及工程的名称(SNAME)称和零件的名称(PNAME)create procedure jsearch 源程序:@jno char(4) as select sname,pname,jname from spj,s,p,j where j.jno=@jno and spj.jno=j.jno 1 and spj.sno=s.sno and spj.pno=p.pno (2) 执行jsearch存储过程,查询“J1”对应的JNAME,SNAME和PNAME。 源程序:exec jsearch j1 执行结果:

(3)使用系统存储过程sp_helptext查看存储过程jsearch的文本信息。 源程序:sp_helptext jsearch 执行结果: (4)使用SPJ数据库中的S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。 源程序:create procedure jmsearch with encryption as select sno,sname,status,city from s where s.city='北京' (5)执行jmsearch存储过程,查看北京供应商的情况。 源程序:exec jmsearch. 执行结果: 2 jmsearch存储过程。(6)删除drop proc jmsearch 源程序:被删除。执行结果:jmsearch 40分)3.触发器的创建与使用:((1)在student数据库中建立一个名为insert_sdept的INSERT 触发器,存储在S表中。该触发器的作用是:当用户向S表中插入记录时,如果插入的sdept 值为'CS','IS','MA'以外的值,则提示用户“不能插入记录这样的纪录”,否则提示“记录插入成功”。触发器创建成功之后,在企业管理器中向S表插入记录,验证触发器是否正常工作。源程序: create trigger insert_sdept on s for insert

绪论第1章 .试述数据、数据库、数据库系统、数据库管理系统的概念。1 答::描述事物的符号记录称为数据。数据是数据库中存储的基本对象。)数据(( l Data ) :数据库是长期储存在计算机内的、有组织的、可( 2 )数据库( DataBase ,简称 DB ) 具有较小的冗余度、共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,较高的数据独立性和易扩展性,并可为各种用户共享。:数据库系统是指在计算机系统中( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) 引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。:数据库管理系统,简称 DBMs ) ( 4 )数据库管理系统( DataBase Management sytem 高效地获取是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、和维护数据。 .试述数据库系统的特点。5 答:数据库系统的主要特点有: ( l)数据结构化也是数据库系统与文件系数据库系统实现整体数据的结构化,这是数据库的主要特征之一,统的本质区别。( 2)数据的共享性高,冗余度低,易扩充)数据独立性高 ( 3 数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。( 4 )数据由 DBMS 统一管理和控制 DBMS 必须提供统一的数据控制功能,包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。 6 .数据库管理系统的主要功能有哪些?的主要功能包括数据定义功能、数据组织、存储和管理、数据操纵功能、数据库DBMS 答:的事务管理和运行管理、数据 库的建立和维护功能。 E .定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(9 图)一 R 答:实体:客观存在并可以相互区分的事物。用实体名及其属性名集合来抽象和刻具有相同属性的实体具有相同的特征和性质,实体型:画同类实体实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。 码:惟一标识实体的属性集称为码。 实体联系图( E 一 R 图):提供了表示实体型、属性和联系的方法: 实体型:用矩形表示· 属性:用椭圆形表示 联系:用菱形表示, 12 . ;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E 一 R 图画出此学校的概念模型。 答: 13 .某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一 R 图画出此工厂产品、零件、材料、仓库

相关主题
文本预览
相关文档 最新文档