数据库原理及应用教程第五章
- 格式:doc
- 大小:21.00 KB
- 文档页数:2
教案
1.视图:由基本表构成的虚表(满足用户需求的表结构)
2.定义视图
CREATE VIEW <视图名> [(视图列名表)]
AS
查询语句
视图取自一个基本表的部分行、列,视图行列与基本表行列对应。
例1.建立信息系学生的视图。
CREATE VIEW IS_Student
AS
SELECT Sno, Sname, Sage
FROM Student
WHERE Sdept = ’信息’
定义多源表视图。
例2.建立查询信息系选了C01课程的学生的视图,列出学号,姓名和年龄。
CREATE VIEW V_IS_S1(Sno, Sname, Grade)
AS
SELECT Student.Sno, Sname, Sage
FROM Student, SC
WHERE Sdept = ‘信息系’
AND Student.Sno = SC.Sno
AND o = ‘C01’
视图的数据源可以来自其它的视图。
例3.利用例2建立的视图,建立信息系选了C01课程且成绩在90分以上的学生的视图。
CREATE VIEW V_IS_S2(Sno, Sname, Grade)。
免责声明:私人学习之余整理,如有错漏,概不负责1.视图的优点简化数据查询语句、使用户能从多角度看待同一数据、提高了数据的安全性、提供了一定程度的逻辑独立性2.使用视图可以加快数据的查询速度吗?为什么?不对。
其本质上还是执行视图内部的查询语句,通过视图查询数据时,都是转换为对基本表的查询,其简化了数据查询语句但是并不能加快数据查询速度。
3.写出创建满足以下要求的视图的SQL语句。
1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。
CREATE VIEW v1(Sno,Sname,Sdept,Cno,Cname,Credit)ASSELECT s.Sno,Sname,Sdept,o,Cname,CreditFROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = o2)查询学生的学号、姓名、选修的课程名和考试成绩。
CREATE VIEW v2(Sno,Sname,Cname,Grade)ASSELECT s.Sno,Sname,Cname,GradeFROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = o3)统计每个学生的选课门数,列出学生学号和选课门数。
CREATE VIEW v3(Sno,选课门数)ASSELECT s.Sno,COUNT(*)FROM Student s JOIN SC ON s.Sno = SC.SnoGROUP BY Sno4)统计每个学生的修课总学分,列出学生学号和总学分。
(成绩大于等于60)CREATE VIEW v4(Sno,总学分)ASSELECT s.Sno,SUM(Credit)FROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = oWHERE Grade > 60GROUP BY Sno5)查询计算机系Java考试成绩最高的学生的学号、姓名和Java考试成绩。
第五章一、试说明使用视图的好处。
答:1、简化数据查询语句2、使用户能从多角度看待同一数据3、提高了数据的安全性4、提供了一定程度的逻辑独立性二、使用视图可以加快数据的查询速度,这句话对吗?为什么?答:不对。
因为数据库管理系统在对视图进行查询时,首先检查要查询的视图是否存在,如果存在,则从数据字典中提取视图的定义,把视图的定义语句对视图语句结合起来,转换成等价的对基本表的查询,然后再执行转换后的查询,所以使用视图不可以加快数据的查询速度。
三、利用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。
(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。
答:CREATE VIEW IS_S_CASSELECT Sno,Sname,Sdept,Cno,Cname,CreditFROM Student S JOIN SC ON S.Sno=SC.SnoJOIN Course C ON o=o四、利用第三题建立的视图,完成如下查询:(1)查询考试成绩大于等于90分的学生的姓名、课程号和成绩。
答:SELECT Sname,Cno,GradeFROM IS_SCWHERE Grade>=90五、修改第三题(4)定义的视图,使其查询每个学生的学号,总学分以及总的选课门数。
答:ALTER VIEW IS_CCASSELECT Sno,COUNT(Credit),COUNT(Cno)FROM SC JOIN Course C ON o=oGROUP BY Sno第六章一、关系规范化中的操作异常有哪些?它是由什么引起的?解决的方法是什么?答:操作异常:数据冗余问题、数据更新问题、数据插入问题和数据删除问题。
它是由关系模式中某些属性之间存在的“不良”的函数依赖关系一起的。
解决的方法是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得良好的关系模式。
《数据库原理及应用教程》期末复习大纲第一章数据库系统概述 (1)第二章数据模型 (1)第三章关系数据库 (2)第四章关系规范化基础 (2)第五章数据库设计 (2)第六~十章T-SQL及相关 (3)第十一章存储过程、触发器与游标 (3)第十二章事务与并发控制 (3)第十四章数据库的安全管理 (3)附录: (5)第一章数据库系统概述1.了解信息、数据、数据处理的概念2.数据库发展的哪三个阶段?数据库系统阶段的几个特点。
P2●数据的结构化、共享性、独立性、控制功能……3.数据库系统的组成。
P4●数据库、DBMS、数据库应用系统、数据库用户4.数据库系统的三级模式结构:外模式、模式、内模式(用户级模式、概念级模式、物理级模式)。
P6-75.二级映像与数据独立性(逻辑独立性和物理独立性)。
P7-8第二章数据模型6.现实世界→信息世界(通过抽象)→数据世界(通过量化)7.数据模型的概念。
P12-13●实体、属性、候选码、码、实体型、实体集、联系8.E-R图用于表示概念模型。
表示实体及其之间的联系,组成成份:实体、属性、联系。
P139.数据模型的三要素:数据结构、数据操作、完整性约束(分为三类:层次模型、网状模型、关系模型)。
P15-16●数据结构:对数据库组织方式的一种静态描述●数据操作:对数据库动态特征的描述●完整性约束:数据库完整性的保证10.关系模型的基本概念、完整性约束的具体内容。
P18-19第三章关系数据库11.关系模式的定义。
P2212.关系数据库:数据库系统的三层结构如何体现?数据模型的三要素如何体现?13.关系模型的三个完整性约束:实体完整性,参照完整性,用户自定义的完整性。
P24.14.关系代数—专门的关系运算(选择、投影、连接)。
连接所衍生的等值连接、自然连接。
P25-3115.掌握按要求写关系代数表达式。
第四章关系规范化基础16.函数依赖、完全函数依赖、部分函数依赖、传递函数依赖;范式之间的联系。
《数据库原理与应用》课后习题参考答案第一章作业参考答案1. 单项选择题C C D B C2. 判断题对错错错对3填空题网状模型用户商业智能数据挖掘系统设计4简答题1)数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
3〕数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。
主流数据库采用关系图模型。
数据库典型数据模型:层次数据模型网状数据模型关系数据模型其它数据模型〔如对象数据模型、键值对数据模型、列式数据模型。
〕2)数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据库文件一般存放在辅助存储器以便长久保存。
数据库具有如下特点:数据不重复存放;提供应多种应用程序访问;数据结构独立于使用它的应用程序;对数据增、删、改、检索由统一软件进行管理和控制。
3)数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。
在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。
数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等4)数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组成要素。
5)数据库管理系统〔Database Manage System,DBMS 〕——是一种专门用来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。
数据库管理系统〔DBMS〕主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制; 提供安全性; 执行备份和恢复等等第二章作业参考答案1 单项选择题C B D A A2. 判断题对对错对错3填空题全外连接数据约束候选键用户定义完整性4简答题外码键1)在关系模型中,使用“关系”来存储“实体”中的数据。
数据库原理及应用教程电子教案第一章:数据库基础知识1.1 数据库概念数据库的定义数据库的用途数据库的发展历程1.2 数据模型概念模型关系模型面向对象模型1.3 数据库体系结构数据库三级模式结构数据库二级映像第二章:关系数据库2.1 关系数据库概述关系数据库的基本概念关系数据库的组成2.2 关系运算选择投影连接2.3 关系数据库设计关系模型规范化第三章:SQL语言3.1 SQL概述SQL的定义SQL的特点3.2 数据定义语言创建表修改表删除表3.3 数据操作语言插入数据查询数据更新数据第四章:数据库设计4.1 需求分析收集需求分析需求4.2 概念设计实体-关系模型实体属性的确定4.3 逻辑设计视图设计4.4 物理设计文件组织索引设计第五章:数据库安全与保护5.1 数据库安全用户权限管理数据加密5.2 完整性约束实体完整性参照完整性5.3 数据库备份与恢复备份策略恢复策略5.4 数据库性能优化查询优化索引优化数据库原理及应用教程电子教案第六章:数据库管理系统的使用6.1 数据库管理系统的功能数据定义数据操纵数据查询6.2 常见数据库管理系统OracleMySQLMicrosoft SQL Server6.3 数据库管理系统的使用实例Oracle SQLPlus的使用MySQL命令行的使用第七章:事务管理7.1 事务概述事务的定义事务的属性7.2 事务管理事务的并发控制事务的隔离级别7.3 事务的持久化事务日志事务恢复第八章:分布式数据库8.1 分布式数据库概述分布式数据库的概念分布式数据库的优点8.2 分布式数据库的体系结构客户机/服务器结构对等网络结构8.3 分布式数据库的数据一致性数据复制数据分片第九章:大数据技术9.1 大数据概述大数据的定义大数据的特点9.2 大数据技术架构HadoopSpark9.3 大数据处理技术数据采集数据存储数据分析第十章:数据库发展趋势10.1 数据库技术的未来新型数据库技术数据库技术与其他技术的融合10.2 数据库技术在领域的应用机器学习自然语言处理10.3 数据库技术在物联网领域的应用物联网的数据管理物联网的数据分析重点和难点解析重点环节1:数据库概念与用途数据库的定义:重点掌握数据库作为一种长期存储在计算机内的、有组织的、可共享的数据集合。
数据库原理与应用教程第二版答案对于《数据库原理与应用教程第二版》,提供了一些基本的答案和解析:第一章:数据库系统概述1. 数据库是什么?数据库是一个长期存储在计算机内的、有组织的、可共享的大量数据的集合,它具有较小的冗余度、高质量和可靠性、易扩展和维护的特点。
2. 计算机处理数据的基本方式:输入、处理和输出。
3. 数据管理的三个基本概念:数据、数据库、数据库管理系统(DBMS)。
4. 数据的基本概念:实体、属性、码、关系。
5. 数据库系统的结构:外模式、模式、内模式。
6. 数据模型的作用:描述数据组织和关系、实现数据的逻辑表示、支持数据操作和查询。
第二章:关系数据库基础1. 实体和实体集的概念:实体是对现实世界中一个独立的数据项的描述,实体集是具有相同或相似特征的实体的集合。
2. 关系数据库的概念:关系数据库是一种以关系为基础的数据库,关系是指一个具有特定名称的二维表。
3. 关系之间的联系:主键、外键、参照完整性。
4. 关系数据库的完整性约束:实体完整性、参照完整性、用户定义的完整性约束。
5. SQL语言:数据定义语言(DDL)、数据操作语言(DML)。
6. 数据库的范式:第一范式、第二范式、第三范式。
第三章:关系数据库管理系统1. DBMS的角色和功能:数据定义、数据操作、数据控制、数据完整性、并发控制、故障恢复、安全性。
2. 数据库管理员的职责:数据库的设计、安装和配置、备份和恢复、维护和优化、安全和权限管理。
3. DBMS的体系结构:单层体系结构、两层体系结构、三层体系结构。
第四章:数据库设计1. 数据库设计的步骤:需求分析、概念设计、逻辑设计、物理设计。
第五章:查询语言基础1. SQL语言的概念:结构化查询语言,是一种用于管理关系型数据库的语言。
2. SQL的基本语句:CREATE、SELECT、INSERT、UPDATE、DELETE。
3. 查询的基本结构:FROM子句、WHERE子句、SELECT子句、ORDER BY子句。
习题51、 理解并给出下列术语的定义:1)设R(U)是一个属性集U 上的关系模式,X 和Y 是U 的子集。
若对于R(U)的任意一个可能的关系r ,r 中不可能存在两个元组在X 上的属性值相等, 而在Y 上的属性值不等, 则称 X 函数确定Y 或 Y 函数依赖于X ,记作X →Y 。
2) 完全函数依赖在R(U)中,如果X →Y ,并且对于X 的任何一个真子集X ’,都有Y 不函数依赖于X ’ ,则称Y 对X 完全函数依赖,记作Y X F −→−3) 部分函数依赖若X →Y ,但Y 不完全函数依赖于X ,则称Y 对X 部分函数依赖,记作Y X p −→−4) 传递函数依赖在R(U)中,如果X →Y ,(Y ⊆X) , Y →X ,Y →Z , 则称Z 对X 传递函数依赖。
记为:Z X T−→−注: 如果Y →X , 即X ←→Y ,则Z 直接依赖于X 。
5)候选码设K 为R (U,F )的属性或属性组合。
若U K F →, 则K 称为R 的侯选码。
6)主码:若候选码多于一个,则选定其中的一个作为主码。
7)外码:关系模式 R 中属性或属性组X 并非 R 的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key )也称外码8)如果一个关系模式R 的所有属性都是不可分的基本数据项,则R ∈1NF.9)若R ∈1NF ,且每一个非主属性完全函数依赖于码,则R ∈2NF 。
10)如果R(U,F )∈2NF ,并且所有非主属性都不传递依赖于主码,则R(U,F )∈3NF 。
11)关系模式R (U ,F )∈1NF ,若X →Y 且Y ⊆ X 时X 必含有码,则R (U ,F ) ∈BCNF 。
12)关系模式R<U ,F>∈1NF ,如果对于R 的每个非平凡多值依赖X →→Y (Y ⊆ X ),X 都含有码,则R ∈4NF 。
2、 关系规范化的操作异常有哪些?1) 数据冗余大2) 插入异常3) 删除异常4) 更新异常3、 第一范式、第二范式和第三范式关系的关系是什么?4、 已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F={A->D,B->C,E-> A},该关系模式的候选码是什么?候选码为:(E,B)5、 已知学生表(学号,姓名,性别,年龄,系编号,系名称),存在的函数依赖集合是{学号->姓名,学号->性别,学号->年龄,学号->系编号,系编号->系名称},判断其满足第几范式。
数据库原理与应用教材数据库原理与应用教材内容丰富、系统全面,涵盖了数据库的基本原理、数据库管理系统的设计与实现,以及数据库应用的开发与实践等内容。
通过学习本教材,可以全面了解数据库的基本概念、数据模型和数据组织方式,掌握SQL语言的使用方法,以及数据库设计和优化的基本方法。
本教材共分为六章,每一章包含多个小节,具体内容如下:第一章:数据库概述1.1 数据库的基本概念1.2 数据库系统的组成1.3 数据库应用的发展历程第二章:关系数据库模型2.1 实体-关系模型2.2 关系代数与关系演算2.3 关系数据库的完整性约束2.4 数据库设计原则第三章:关系数据库管理系统3.1 数据库管理系统的体系结构3.2 数据库的物理结构和存储系统3.3 数据库的查询处理和优化3.4 数据库的事务管理和并发控制第四章:SQL语言4.1 SQL语言的基本概念4.2 数据定义语言(DDL)4.3 数据查询语言(DQL)4.4 数据操作语言(DML)第五章:数据库设计与优化5.1 数据库设计的基本原则5.2 实体关系模型的转换5.3 数据库的逻辑设计5.4 数据库的物理设计与优化第六章:数据库应用开发与实践6.1 关系数据库应用的开发工具6.2 数据库应用的系统需求分析6.3 数据库应用的系统设计与实施6.4 数据库应用的维护与管理此外,本教材还提供了大量的案例和实例,以帮助读者更好地理解和应用所学知识。
每个小节都包含了重点内容的总结和练习题,供读者巩固所学知识。
通过学习本教材,读者将能够系统地掌握数据库原理与应用的基本知识,为今后的数据库设计与应用开发提供坚实的基础。
FROM SC2. SELECT Sname, SageFROM StudentWHERE (Sdept = '计算机系')3. SELECT Sno, Cno, GradeFROM SCWHERE (Grade BETWEEN 70 AND 80)4. SELECT Sname, SageFROM StudentWHERE (Sdept = '计算机系') AND (Ssex = '男')5. SELECT MAX(Grade) AS c01最高成绩FROM SCWHERE (Cno = 'c01')6. SELECT MAX(Sage) AS 最大年龄, MIN(Sage) AS 最小年龄FROM StudentWHERE (Sdept = '计算机系')7. SELECT Sdept, COUNT(*) AS 学生人数FROM StudentGROUP BY Sdept8. SELECT Cno, COUNT(*) AS 选课人数, MAX(Grade) AS 最高分FROM SCGROUP BY Cno9. SELECT Sno, COUNT(*) AS 选课门数, SUM(Grade) AS 总成绩FROM SCGROUP BY SnoORDER BY COUNT(*)10. SELECT Sno, SUM(Grade) AS 总成绩FROM SCGROUP BY SnoHA VING (SUM(Grade) > 200)11. SELECT Sname, SdeptWHERE (Sno IN(SELECT snoFROM scWHERE cno = 'c02'))12. SELECT s.Sname, o, SC.Grade FROM Student s INNER JOINSC ON s.Sno = SC.SnoWHERE (SC.Grade > 80)ORDER BY SC.Grade DESC13. SELECT Sno, Sname, SdeptFROM StudentWHERE (NOT EXISTS(SELECT *FROM scWHERE sc.sno = student.sno))或者 SELECT Sno, Sname, SdeptFROM StudentWHERE (Sno NOT IN(SELECT snoFROM sc))14. SELECT Cname, SemesterFROM CourseWHERE (Semester =(SELECT semesterFROM courseWHERE cname = 'VB'))或者SELECT ame, c2.SemesterFROM Course c1 INNER JOINCourse c2 ON c1.Semester = c2.Semester WHERE (ame = 'VB')15. SELECT s2.Sname, s2.Sdept, s2.Sage FROM Student s1 INNER JOINStudent s2 ON s1.Sage = s2.SageWHERE (s1.Sname = '李勇') AND (s2.Sname <> '李勇')或者SELECT Sname, Sdept, SageFROM StudentWHERE (Sage =(SELECT sageFROM studentWHERE sname = '李勇')) AND (Sname <> '李勇')16. SELECT TOP 2 WITH TIES Sname, SageFROM StudentWHERE (Sdept = '计算机系')ORDER BY Sage17. SELECT Student.Sname, Student.Sdept, SC.GradeFROM Student INNER JOINSC ON Student.Sno = SC.SnoWHERE (SC.Grade IN(SELECT TOP 2 WITH ties gradeFROM scWHERE cno =(SELECT cnoFROM courseWHERE cname = 'VB')ORDER BY grade DESC))或者SELECT TOP 2 WITH TIES Student.Sname, Student.Sdept, SC.Grade FROM Student INNER JOINSC ON Student.Sno = SC.Sno INNER JOINCourse ON o = oWHERE (ame = 'VB')ORDER BY SC.Grade DESC18. SELECT TOP 2 WITH TIES Sno, COUNT(*) AS 选课门数FROM SCGROUP BY SnoORDER BY COUNT(*) DESC19. SELECT TOP 1 WITH TIES Sdept, COUNT(*) AS 学生人数FROM StudentGROUP BY SdeptORDER BY COUNT(*) DESC20. (1)SELECT Sname, SdeptFROM StudentWHERE (Sno IN(SELECT snoFROM scWHERE cno = 'c01'))(2) SELECT Student.Sno, Student.Sname, o, SC.Grade FROM Student INNER JOINSC ON Student.Sno = SC.SnoWHERE (Student.Sno IN(SELECT snoFROM scWHERE grade > 80 AND sno IN(SELECT snoFROM studentWHERE sdept = '数学系')))(3)SELECT Student.SnameFROM Student INNER JOINSC ON Student.Sno = SC.SnoWHERE (SC.Grade =(SELECT MAX(grade)FROM scWHERE sno IN(SELECT snoFROM studentWHERE sdept = '计算机系')))(4)SELECT Student.Sname, Student.Sdept, o, SC.Grade FROM Student INNER JOINSC ON Student.Sno = SC.SnoWHERE (SC.Grade =(SELECT MAX(grade)FROM scWHERE cno =(SELECT cnoFROM courseWHERE cname = '数据结构')))21. SELECT Sname, SdeptFROM StudentWHERE (Sno NOT IN(SELECT snoFROM scWHERE cno =(SELECT cnoFROM courseWHERE cname = 'VB')))22. SELECT Sname, SsexFROM StudentWHERE (Sno NOT IN(SELECT snoFROM sc)) AND (Sdept = '计算机系')或者SELECT Sname, SsexFROM StudentWHERE (NOT EXISTS(SELECT *FROM scWHERE sno = student.sno)) AND (Sdept = '计算机系')23. SELECT Student.Sname, ameFROM Student INNER JOINSC ON Student.Sno = SC.Sno INNER JOINCourse ON o = oWHERE (Student.Sno =(SELECT TOP 1 WITH ties snoFROM scGROUP BY snoHA VING sc.sno IN(SELECT student.snoFROM studentWHERE sdept = '计算机系')ORDER BY A VG(grade) ASC))24. SELECT Cname, Semester, CreditFROM CourseWHERE (Cno IN(SELECT TOP 1 WITH ties cnoFROM scGROUP BY cnoORDER BY COUNT(*) ASC)) AND (Semester BETWEEN 1 AND 5)25. (1)INSERT INTO test_t(COL2)V ALUES ('B1')(2)INSERT INTO test_t(COL1, COL2, COL3)V ALUES (1, 'B2', 'C2')(3)INSERT INTO test_t(COL1, COL2)V ALUES (2, 'B3')26. DELETE FROM SCWHERE (Grade < 50)27. DELETE FROM CourseWHERE (Cno NOT IN(SELECT cnoFROM sc))或者DELETE FROM CourseWHERE (NOT EXISTS(SELECT *FROM scWHERE cno = o))28. DELETE FROM SCWHERE (Grade < 60) AND (Sno IN(SELECT snoFROM studentWHERE sdept = '计算机系')) AND (Cno IN (SELECT cnoFROM courseWHERE cname = 'VB'))29. DELETE FROM SCWHERE (Grade =(SELECT MIN(grade)FROM scWHERE cno =(SELECT cnoFROM courseWHERE cname = 'VB')))30. UPDA TE CourseSET Credit = Credit + 2WHERE (Semester = 2)31. UPDA TE CourseSET Credit = 3WHERE (Cname = 'VB')32. UPDA TE StudentSET Sage = Sage + 1WHERE (Sdept = '计算机系')33. UPDA TE SCSET Grade = Grade + 5WHERE (Sno IN(SELECT snoFROM studentWHERE sdept = '信息系')) AND (Cno IN (SELECT cnoFROM courseWHERE cname = '计算机文化学'))34. UPDA TE CourseSET Credit = Credit - 1WHERE (Cno =(SELECT TOP 1 oFROM scGROUP BY cnoORDER BY COUNT(*)))。
第 5 章数据操作语句--1.查询学生选课表中的全部数据。
Select*from sc--2.查询计算机系的学生的姓名、年龄。
Select sname,sage from student where sdept ='计算机系'--3.查询成绩在~分之间的学生的学号、课程号和成绩。
Select sno,cno,grade from sc where grade between 70 and 80--4.查询计算机系年龄在~之间且性别为“男”的学生的姓名、年龄。
Select sname,sage from studentwhere sdept ='计算机系'and sage between 18 and 20--5.查询课程号为“c01”的课程的最高的分数。
Select max(grade)from sc where cno ='C01'--6. 查询计算机系学生的最大年龄和最小年龄。
Select max(sage)最大年龄,min(sage)最小年龄from studentWhere sdept ='计算机系'--7. 统计每个系的学生人数。
Select sdept,count(*)人数from studentGroup by sdept--8. 统计每门课程的选课人数和考试最高分。
Select cno,count(*)选课人数,max(grade)最高分from scGroup by cno--9. 统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。
Select sno,count(*)选课门数,sum(grade)from scGroup by sno order by count(*)asc--10. 查询总成绩超过分的学生,要求列出学号、总成绩。
Select sno,sum(grade)总成绩from scGroup by sno having sum(grade)> 200--11. 查询选修了“c02”号课程的学生的姓名和所在系。
三、简答题
4、什么是事务?事务的提交和回滚是什么意思?
答:事务:事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列
事务的提交:COMMIT表示事务的提交,即将事务中所有对数据库的更新写回到磁盘的物理数据中去,此时事务正常结束。
事务的回滚:ROOLLBACK表示事务的回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,再回滚到事务开始时的状态。
9、数据库运行过程中可能产生的故障有哪几类,各类故障如何恢复?
答:故障可分为以下三类:事务故障、系统故障、介质故障事务故障的恢复:(1)反向扫描日志文件,查找该事务的更新操作。
(2)对该事务的更新操作执行反操作,即对已经插入的新记录进行删除操作,对已删除的记录进行插入操作,对修改的数据恢复旧值,用旧值代替新值。
系统故障的恢复:(1)正向扫描日志文件,查找尚未提交的事务,将其事务标识记入撤销队列。
同时查找已经提交的事务,将其事务标识记入重做队列。
(2)对撤销队列中的各个事务进行撤销处理。
方法同事务故障中所介绍的撤销方法相同。
(3)对重做队列中的各个事务进行重做处理。
进行重做处理的方法是:正向扫描日志文件,按照日志文件中所登记的操作内容重新执行操作,使数据库恢复到最近某个
可用状态。
介质故障的恢复:(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储的可用状态。
(2)装入最新的日志文件副本,根据日志文件中的内容重做已完成的事务。
装入方法如下:首先正向扫描日志文件,找出发生故障前已提交的事务,将其记入重做队列。
再对重做队列中的各个事务进行重做处理,方法是:正向扫描日志文件,对每个重做事务重新执行登记的操作,即将日志文件中数据已更新后的值写入数据库。