版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理简答题1. 数据库系统阶段数据库系统的特点?(P3) 典型特征包括:数据结构化,描述数据时不仅要描述数据本身还有描述数据和数据之间的联系;数据由数据库管理系统统一管理;数据的共享性高;数据独立性高,不会因为系统存储结构与逻辑结构的变化而影响应用程序,即保持物理独立性和逻辑独立性。2. 简述关系的完整性。关系模型的完整性约束包括实体完整性、参照完整性、用户定义完整性。关系的完整性:实体完整性规定关系中的所有主属性不能为空,而不仅是整体不能为空NULL的含义(不知道或者无意义的值)。参照完整性外码、参照关系、被参照关系外码取值规则:要么为空,要么等于对应参照关系的某个主码值用户定义完整性
2、反映某一具体应用所涉及的数据必须满足的语义要求。3RDBMS在实现参照完整性时需要考虑哪些方面的问题,以及可以采取的策略?(1)外码能否接受空值 (2)删除被参照关系中的元组。这时可有三种不同的策略: 级联删除:同时删除参照关系中相关元组; 受限删除:仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。 置空值删除:删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。 ( 3 ) 在参照关系中插入元组 当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可有以下策略: .受限插入
3、:不允许在参照关系中插入; .递归插入:同时在被参照关系中插入一个元组,其主码值为插入元组的外码值。4试述数据模型的三个要素答:数据模型通常由数据结构、数据操作和完整性约束三部分组成。 数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。 数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。 数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。5. DBA的职责是什么? 答:负责全面地管理和
4、控制数据库系统。具体职责包括: 决定数据库的信息内容和结构; 决定数据库的存储结构和存取策略; 定义数据的安全性要求和完整性约束条件; 监督和控制数据库的试用和运行; 数据库系统的改进和重组。 6. 等值连接与自然连接的区别是什么? 答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。 为“”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。7.
5、 试述关系数据库的特点。 答:关系数据模型具有下列优点:一、它是建立在严格的数学概念的基础上的。二、 关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。操作的对象和操作的结果都是关系。三、关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统软件的难度。 8简述关系的性质?答: 同一列中的分量是同一类型的数据。 不同列可以取相同的数据类型。 关系中的列又称为属性,并赋予属性名
6、。不同列的属性名不同。 列的次序可以任意交换。 任意两个元组不能完全相同。 行的次序可以任意交换。 列具有原子性,即每一列值是不可分的数据项9 简述SQL语言的主要特点。答:SQL语言的特点:高度综合统一:SQL集数据定义(DDL)、数据操纵(DML)和数据控制(DCL)于一体,语言风格统一,可以独立完成数据生命周期中的全部活动。高度非过程化:用SQL语言进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,有利于提高数据的独立性。面向集合的操作方式:查询的结果可以是元组的集合,插入、删除、更新操作的对象也是元组的集合。两种操作方式:既可以作为自含式语言在数据库中直接操作数据库,又可以作
7、为嵌入式语言嵌入到其他程序设计语言中使用。类似自然语言:SQL语言虽然功能极强,但由于设计巧妙,语法简单,易学易用,SQL语言能够完成DDL、DQL、DML、DCL等功能。10. 试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式结构由外模式、模式和内模式组成。(数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映象:外模式模式映象和模式内模式映象。正是这两层映象保证了数据库系统中的数据能够具
8、有较高的逻辑独立性和物理独立性。 11. 试述SQL的定义功能(从表、视图、索引分析)。 答:SQL的数据定义功能包括定义表、定义视图和定义索引。SQL语言使用Create table 语句建立基本表,ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREA TE INDEX 语句建立索引, DROP INDEX 语句删除索引;使用CREATE VIEW 语句建立视图,DROP VIEW 语句删除视图12. 判断下面
9、的关系模式是否是3NF,若不是请无损分解为3NF?选课(学号,课程号,课程名,成绩),函数依赖集F=(学号,课程号)成绩,课程号课程名。13现有如下关系模式:R(A,B,C,D,E),其中:(A,B)组合为码,R上存在的函数依赖有(A,B)E,BC,CD。1)该关系模式满足2NF吗?为什么?2)如果将关系模式R分解为:R1(A,B,E) R2(B,C,D)指出关系模式R2的码,并说明该关系模式最高满足第几范式?(在1NFBCNF之内),为什么? 14设有关系模式 R<U, F> U= A , B , C , D , E F=ABC, BD, CE, ECB, ACB ,求R的候选码
10、,并判断R的范式。15设关系模式R<U,F>,其中U=A,B,C,D,E, 若F=ABC,CD,BCDE,BD,则关系模式R的候选关键字是什么,并指出R所属的范式最高等级及原因。16设有关系模式R(A,B,C,D,E,G,K),其最小函数依赖集F=ABC,BDE,CG,GA 求模式R的所有候选码; 说明R不是2NF的理由,并把R分解成2NF模式集;17. 现有如下关系模式:R(A,B,C,D,E),其中:AB组合为码,R上存在的函数依赖有ABE,BC,CD(1)该关系模式满足2NF吗?为什么? (4%)(2)如果将关系模式R分解为: R1(A,B,E) R2(B,C,D
11、)指出关系模式R2的码,并说明该关系模式最高满足第几范式?(在1NFBCNF之内)为什么? 18已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade),其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。(1)写出关系模式S的基本函数依赖和主码。(2)原关系模式S为几范式?为什么? 19. 设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人),如果规定:(1) 每个商店的每种商品只的在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存
12、数量。 试回答下列问题:a. 根据上述规定,写出关系模式R的基本函数依赖;b. 找出关系模式R的候选码;c. 试问关系模式R最高已经达到第几范式?为什么?20. 设有关系模式:授课表(课程号,课程名,学分,授课教师号,教师名,授课时数)。其语义为:一门课程号有确定的课程名和学分,每名教师有确定的教师名,每门课程号可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程号有确定的授课时数。 回答以下问题:(1)根据上述规定写出关系模式R的基本函数依赖; (2)找出关系模式R的候选码; (3)试问关系模式R最高已经达到第几范式?为什么? 21设某
13、图书集团有一关系模式R如下:R(书店编号,书籍编号,库存数量,部门编号,负责人)如果规定:(1)每个书店的每种书籍只在该书店的一个部门销售; (2)每个书店的每个部门只有一个负责人; (3)每个书店的每种书籍只有一个库存数量。 回答以下问题:(1)根据上述规定写出关系模式R的基本函数依赖; (2)找出关系模式R的候选码; (3)试问关系模式R最高已经达到第几范式?为什么? 22什么是基本表?什么是视图?两者的区别和联系是什么?答:基本表是数据库中本身独立存在的表,每个基本表对应一个关系模式。在SQL中一个关系就对应一个基本表。一
14、个(或多个)基本表对应一个存储文件,一个基本表可以建立若干索引,它们都依附于基本表且存放在存储文件中。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义及其关联的基本表名等信息而不存放视图对应的数据,这些数据仍然存放在导出视图的基本表中。但SQL在查询视图时与基本表完全相同,且用户可以在视图上再定义视图。但用视图对数据库中的数据进行增、删、改等更新操作时有一定的限制。23. 试述视图的优点。答:视图能够简化用户的操作;视图使用户能以多种角度看待同一数据;视图对重构数据库提供了一定程度的逻辑独立性; 视图能够对机密数据提供安全保护。2
15、4 所有的视图是否都可以更新?为什么? 答:不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更 新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所 有的视图都是可更新的。如视图S_G(学生的学号及他的平均成绩) CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) /*设SC表中“成绩”列Grade为数字型*/ FROM SC GROUP BY Sno;要修改平均成绩,必须修改各科成绩,而我们无法知道哪些课程成绩的变化导致了平均成绩的变化。25. 试述事务的概念及事务的四个特性。答:事务是用户
16、定义的一组操作序列的集合,是数据恢复和并发控制的基本单位。数据库系统在执行事务时,要么执行事务中全部操作,要么一个操作都不执行。 事务具有四个特性,即原子性、一致性、隔离性和持续性,又常简称为ACID特性。 原子性(Atomicity):一个事务是不可分割的数据库逻辑工作单位,事务中包括的所有操作要么都做,要么都不做。 一致性(Consistency):事务的执行结果必须使数据库从一个一致性状态变到另一个一致性状态。 隔离性(Isolation):一个事务的执行不能被其它事务干扰。 持续性(Durability),也称持
17、久性(Permanence):指一个事务一旦提交,它对数据库中数据的改变应该是永久性的,其它操作或故障不对其产生任何影响。27 什么是事务?它有哪些属性? 答:事务是用户定义的一组操作序列的集合,是数据恢复和并发控制的基本单位。数据库系统在执行事务时,要么执行事务中全部操作,要么一个操作都不执行。 事务具有四个特性,即原子性、一致性、隔离性和持续性,又常简称为ACID特性。 28. 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据? 答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1) 事务内部的故障;(2) 系统故障;(
18、3) 介质故障;(4) 计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。29 简述把E-R图转换为关系模型的转换规则。 答:将E-R图转换为关系模型的实质就是将实体、实体的属性以及实体之间的联系转换为关系模式。(1) 实体及属性的转换:一个实体型转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的键。 实体集转换为关系:1)实体集对应于一个关系 2)关系名:与实体集同名。3)属性:实体集的所有属性。 4)主码:实体集的主码。(2) 联系转换为关系联系转换成为关系模式。联系转换成为关系模式时,要根据联系方式的不同采用不
19、同的转换方式1:1联系的转换方法 1:n联系的转换方法 m:n联系的转换方法E-R图向关系模型的转换规则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。30 试述数据库设计的基本步骤。 答:数据库的设计步骤为规划时期、设计时期(需求分析、概念设计、逻辑设计、物理设计)、实施时期和运行维护时期。数据库设计主要包含两方面内容:一是结构设计,二是行为设计。数据库设计要经过一下六个阶段:需求分析、 概念设计、逻辑设计、物理设计 、数据库实施、数据库运行和维护。31试述数据库概念结构设计的重要性和设计步骤。 答:重要性:数据库概念设计是整个数据库设计的
20、关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。设计步骤:概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构 32简述数据库的物理设计内容。答:主要包括了以下工作:(1) 确定数据的存储结构,决定是否采用聚簇功能。(2)设计数据的存取路径,决定是否建立索引,建多少索引,在哪些列或多列上建索引等。 (3)确定数据的存放的物理位置,决定是否将经常存取部分和存取频率较低部分分开存放等。 (4)确定
21、系统配置参数,根据DBMS产品提供了一些存储分配参数,数据库进行物理优化。(5) 评价物理结构, 估算各种方案的存储空间、存取时间和维护代价,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。33什么是数据库的逻辑结构设计?试述其设计步骤。答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计步骤为(图6.31): (1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。 34已知关系r、s、w,如图所示,计算T= (r
22、 s)÷w) s(6分)35.已知关系R、S、T如图所示,计算W=(R÷T) S (要写出步骤)(4%)36.关系R和S如下图所示,试计算T=A,B,C(R÷S)R)。37简述预防死锁通常有两种方法。答:预防死锁通常有两种:一次封锁法和顺序封锁法。 一次封锁法:一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。一次封锁法虽然可以有效地防止死锁的发生,但每次要就将以后用到的全部数据加锁,从而降低了系统的并发度。 顺序封锁法:顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁38简述数据字典包括的五个部分的意义。答:数
23、据字典包括数据项、数据结构、数据流、数据存储和处理过程五部分。数据项是不可再分的数据单位,说明基本数据信息的数据类型、长度、取值范围等。数据结构反映了数据之间的组合关系。数据流是数据结构在系统内传输的路径。数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。处理过程描述该处理过程的功能及处理要求。主要包括说明做什么,处理频度,响应时间等。【综合题】设计一个学校的课程管理系统,有关课程管理的规则如下: § 学校开设多门课,每门课可由不同的教师讲授(一个教师只讲授一门课),用统一指定的教科书。 § 每个学生可选修多门课,每门课可有多个学生选修。 § 每个教
24、师要教多个学生,每个学生可选择不同教师的课程。 § 每门课程有指定的教室,某一时刻每个教室只能开设一门课。(3)确定实体型和联系类型的属性v 各实体型的属性分别为: w 学生:学号,姓名,性别,出生年月,系别 w 课程:课程号,课程名,学分,上课时间 w 教师:教师号,姓名,性别,职称 w 教科书:书号,书名,出版社,单价 w 教室:编号,地址,容量v 联系类型属性有: w 选修:成绩 w 教学:人数出生年月学号姓名性别教室课程学生开设选修11nm地址课号编号课名容量学分成绩系别姓名教学教科书教师讲授11nnm人数性别职称教师号书号书名单价出版社2.把E-R图转换成关系模式 按照转换
25、规则,得到八个关系模式: w 学生(学号,姓名,性别,出生年月,系别) w 课程(课程号,课程名,学分,上课时间,教室) w 教师(教师号,姓名,性别,职称) w 教科书(书号,书名,出版社,单价) w 教室(编号,地址,容量) w 选修(学号,课程号,成绩) w 教学(教师号,学号,人数) w 讲授(教师号,课程号,书号)例 建立一个“学生选课”表SCCREATE TABLE SC (Sno CHAR(9), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), /* 主码由两个属性构成,必须作为表级完整性进行定义*/ FOREIGN KEY
26、 (Sno) REFERENCES Student(Sno), /* 表级完整性约束条件,Sno是外码,被参照表是Student */ FOREIGN KEY (Cno) REFERENCES Course(Cno) /* 表级完整性约束条件, Cno是外码,被参照表是Course*/); 查询分析题实验一1.要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,物理名称为stu_data.mdf 和stu_log.ldf,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限
27、制。create database studenton(name=stu,filename='d:stu_data.mdf',size=3,filegrowth=10%,maxsize=500)log on(name=stu_log,filename='d:stu_log.ldf',size=3,filegrowth=1,maxsize=unlimited)2、创建一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为C
28、ompany_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为1MB。create database Companyon(name=Company_data,filename='d:Company.mdf',size=10,maxsize=unlimited,filegrowth=10%)log on(name=Company_log,filename='d:Company.ldf',size=1,maxsize=50,filegrowth=1)3、创建数据库DB,具有2个数据文件,文件逻辑名分别为DB_data1和D
29、B_data2,文件初始大小均为5MB,最大为100MB,按10%增长;只有一个日志文件,初始大小为3MB,按10%增长;所有文件都存储在D盘文件夹ceshi中。create database DBon(name=DB_data1,filename='D:DB_data1.mdf',size=5,maxsize=100,filegrowth=10%),(name=DB_data2,filename='D:DB_data2.mdf',size=5,maxsize=100,filegrowth=10%)log on(name=DB_log,filename='
30、;D:DB_log.ldf',size=3,filegrowth=10%)4、在数据库student中增加数据文件db2,初始大小为10MB,最大大小为50 MB,按10%增长;alter database studentadd file(name=db2,filename='d:db2.ndf',size=10,maxsize=50,filegrowth=10%)5、在数据库student中添加日志文件,保存在D盘中,初始大小为1MB,最大无限制,增长方式按照1MB增长;alter database studentadd log file(name=student_l
31、og,filename='d:student_log.ldf',size=1,maxsize=unlimited,filegrowth=1)6、修改数据库student主数据文件的大小,将主数据文件的初始大小修改为10Mb,增长方式为20%;alter database studentmodify file(name=stu,size=10,filegrowth=20%)7、修改数据库student辅助数据文件初始大小为3MB,最大为100MB,按照10%增长,名称为db2;alter database studentmodify file(name=db2,size=3,ma
32、xsize=100,filegrowth=10%)8、删除数据库student辅助数据文件和第二个日志文件;alter database studentremove file db2alter database studentremove file student_log9、删除数据库company和DB。drop database companydrop database DB10、将数据库student的所有物理文件移动到D:xxx,并且保证逻辑数据库不受影响,请详细描述解决办法。首先右击数据库student,然后在所有任务里面点击分离数据库,分离完之后,将所有物理文件移动到D:xxx,最
33、后再通过数据库里面的右击选择所有项里面的附加数据库。实验二1) 依据数据表的结构创建相对应的数据表,表结构如下所示;学生信息表(student)字段名称字段类型及长度说明备注SnoChar(9)学生学号主关键字SnameChar(6)学生姓名非空SsexChar(2)学生性别可为空SageInt学生年龄可为空SdeptVarChar(8)学生所在院系可为空create table student(sno char(9) constraint pk_student_sno primary key,sname char(6) not null,ssex char(2),sage int,sdept
34、 varchar(8)课程信息表(course)字段名称字段类型及长度说明备注CnoChar(4)课程编号主关键字CnameVarChar(20)课程名称非空CpnoChar(4)先行课可为空CcreditInt学分可为空create table course(cno char(4) constraint pk_course_cno primary key,cname varchar(20) not null,cpno char,ccredit int,)选课信息表(sc)字段名称字段类型及长度说明备注SnoChar(9)学生学号主关键字CnoChar(4)课程编号主关键字GradeInt成绩
35、可为空create table sc(sno char(9),cno char(4), constraint pk_sc primary key(sno,cno),grade int check(grade >=0 and grade <=100)2) 在表student中增加新字段 “班级名称(sclass)“;alter table student add sclass varchar(20)3) 在表student中删除字段“班级名称(sclass)”;alter table student drop column sclass4) 修改表student中字段名为“sname
36、”的字段长度由原来的6改为8; alter table student alter column sname char(8)5) 修改表student中字段“sdept”名称为“dept”,长度为20;use master exec sp_rename 'student.sdept','dept'alter table student alter column dept varchar(20)6) 修改表student中sage字段名称为sbirth,类型为smalldatetime;use master exec sp_rename'student.s
37、age','sbirth'alter table student alter column sbirth smalldatetime7) 修改表student新名称为stu_info;use master exec sp_rename student, stu_info8) 删除数据表student;use master drop student9) 在sc中增加约束,让成绩取值范围为0-100之间。alter table sc add constraint sc_grade check (grade >=0 and grade <=100)10) 把cou
38、rse表中的Ccredit列删除。alter table course drop column ccredit2、创建教师授课管理数据库JSSK,并完成以下内容;1) 在数据库JSSK中创建下列三张表;表名:teachers列名数据类型说明描述Tno字符型,长度7主键教师号Tname字符型,长度10非空姓名Tsex字符型,长度2默认取值为“男”性别Birthday小日期时间型允许空出生日期Dept字符型,长度20允许空所在部门Sid字符型,长度18身份证号create table teachers(tno char(7) constraint pk_teachers_tno primary k
39、ey,tname char(10) not null,tsex char(2) constraint df_teachers_tsex default '男',birthday datetime,dept varchar(20), sid varchar(18)表名: lessons列名数据类型说明描述Cno字符型,长度10主键课程号Cname字符型,长度20非空课程名Credit短整型学分property字符型,长度为10课程性质create table lessons(cno char(10) constraint pk_lessons_cno primary key,cn
40、ame char(20) not null, credit char(20),property char(10)表名: shouke列名数据类型说明描述Tno字符型,长度7主键教师号Cno字符型,长度10主键课程名Hours整数课时create table shouke(tno char(7), cno char(10), constraint pk_shouke primary key(tno,cno),hours int)2) 在shouke表里添加一个授课类别字段,列名为Type,类型为Char,长度为4;alter table shouke add type char(4)3) 将sh
41、ouke表的Hours的类型改为smallint;alter table shouke alter column hours smallint4) 删除lessons表中的property列;alter table lessons drop column property实验三1.修改CS系姓名为“李勇”的学生姓名为“李咏”;update student set Sname='李咏'where Sname='李勇'2.修改课程“数据处理”的学分为3学分;update course set Ccredit=3 where Cname='数据处理'3
42、.将选修课程“1”的同学成绩加5分;update sc set Grade=Grade+5 where Cno='1'4.将选修课程“大学英语”的同学成绩加5分;update sc set Grade=Grade+5 where Cno in(select Cno from course where Cname='大学英语' ) 5.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update student set Sname='王丹丹',Ssex=女',Sage=20,Sdept='MA'
43、where Son='200515010'6.向student表中增加记录:(200515026,王婧婧、女、21,CS);insert into student values ('200515026','王婧婧 ','女',21,'CS')7.删除数据表中无系别的学生记录;delete from student where Sdept is null8.删除数据表student中计算机系年龄大于25的男同学的记录;delete from student where Sage>25 and Ssex='
44、;男' and Sdept='CM'9.删除数据表course中学分低于1学分的课程信息;delete from course where Ccredit<1实验四1.查询系编号为D2学生的基本信息(学号、姓名、性别、年龄)。 select *from student where 系编号='D2'2.查询学号为S006的学生的姓名。 select 学号,姓名 from student where 学号='S0063.查询成绩在60-85之间的学生的学号。 select 学号,成绩 from sc where 成绩>=60 and 成绩
45、<=854.查询所有姓王,并且姓名为两个字的学生的信息。 select * from student where 姓名 like '王_'5.查询选修课程号为C1且成绩非空的学生学号和成绩,成绩按150分制输出(每个成绩乘以系数1.5)。select 学号,课程号,成绩=成绩*1.5 from sc where 课程号='C1' and 成绩 is not null 6.查询有选课记录的所有学生的学号,用DISTINCT限制结果中学号不重复 。 select distinct 学号 from sc where 课程号 is not null7.查询选修课程
46、C1的学生学号和成绩,结果按成绩的升序排列,如果成绩相同则按学号的降序排列。 select 学号,成绩 from sc where 课程号='C1' order by 成绩,学号 desc(二) 、以数据库原理实验3数据库中数据为基础,请使用T-SQL 语句实现以下操作:1.列出所有不姓刘的所有学生;select Sname from student where Sname not like '刘%'2.列出姓“沈”且全名为3个汉字的学生;select Sname from student where Sname like '沈_%'3.显示在1
47、985年以后出生的学生的基本信息;select * from student where (year(getdate()-Sage)>19854.按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男 生,性别为女显示为女 生,其他显示为“条件不明”;select Ssex=casewhen Ssex='男' then '男生' when Ssex='女' then '女生' else '条件不明'end, Sno,Sname,Sage,Sdept from stud
48、ent5.查询出课程名含有“数据”字串的所有课程基本信息;select *from course where Cname like '数据_%'6.显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性别、年龄及院系;select * from student where Sno like '_1-4,91-4,9%' 7.列出选修了1课程的学生,按成绩的降序排列;select * from sc where Cno='1' order by Grade desc8.列出同时选修“1”号课程和“2”号课程的所有学生的学号;selec
49、t Sno from sc where Cno like '1-2%'9.列出课程表中全部信息,按先修课的升序排列;select *from course order by Cpno 10.列出年龄超过平均值的所有学生名单,按年龄的降序显示;select * from student where Sage>(select avg(Sage) from student) order by Sage desc 11.按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”;select Sno,Sname,
50、Ssex,'出生年份'=2015-Sage,Sdept from student order by 出生年份12.按照院系降序显示所有学生的 “院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;select Sdept=casewhen Sdept='CS' then '计算机系'when Sdept='IS' then '信息系'whe
51、n Sdept='MA' then '数学系'when Sdept='EN' then '外语系'when Sdept='CM' then '中医系'when Sdept='WM' then '西医系'else '院系不明'end,Sno,Sname,Ssex, Sage from student 13.显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于
52、等于4小于5则该字段值为“规模一般”, 若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;select distinct '院系人数'=COUNT(*) from studentgroup by Sdeptselect distinct Sdept,'院系规模'=casewhen COUNT(*)>=5 then '规模很大'when COUNT(*)>=4 and COUNT(*)<5 then '规模一般'when COUNT(*)>=2 and COUNT(*)<4 t
53、hen '规模稍小'else '规模很小'end from student group by Sdept 14.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;select *from sc where Grade between 70 and 80 order by Cno15.显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”;select distinct '学生总人数'=count(*) ,'平均年龄'=AVG(Sage) from student 16.
54、显示选修的课程数大于3的各个学生的选修课程数;select Sno, '选修课程数'=COUNT(Cno) from sc group by Sno having count(Cno)>317.按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;select Cno,课程总人数=COUNT(Cno),最高成绩=MAX(Grade),最低成绩=MIN(Grade),平均成绩=AVG(Grade) from sc group by Cno order by Cno desc实验五1.查询选修了计算机体系结构的学生的基本信息。select *from stude
55、nt where 学号 in(select 学号 from course where课程号 in(select 课程号 from sc where 课程名称='计算机体系结构')2查询年龄比李勇小的学生的学号和成绩。select 学号,成绩 from course where 学号 in(select 学号 from student where 年龄<all(select 年龄 from student where 姓名='李勇')3查询其他系中比系编号为D1的学生中年龄最小者要大的学生的信息。select *from student where 年龄&g
56、t;any (select 年龄 from student where 系编号='D1') and 系编号!='D1'4查询其他系中比系编号为D3的学生年龄都大的学生的姓名。select 姓名 from student where 年龄>all(select 年龄 from student where 系编号='D3') and 系编号!='D3'5查询C1课程的成绩高于70的学生姓名。 select 姓名 from student where 学号 in (select 学号 from course where 成绩>
57、;70 and 课程号='C1')6查询C1课程的成绩不高于70的学生姓名。 select 姓名 from student where 学号 in (select 学号 from course where 成绩<=70 and 课程号='C1')7查询没有选修的学生姓名。select 姓名 from student where 学号 not in (select 学号 from course )8查询学校开设的课程总数。 select 课程号, COUNT(课程号) as 课程总数 from sc group by 课程号9查询选修两门及两门以上课程的学生姓名。select 姓名 from studnet where 学号 in(select
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加工车间年度个人工作总结(23篇)
- 装饰公司股份转让合同书(3篇)
- 广东省广外实验2024-2025学年高二上学期10月月考 数学试题含答案
- 幼儿园师德师风论坛活动方案策划
- 江苏省苏州市(2024年-2025年小学五年级语文)统编版期末考试((上下)学期)试卷及答案
- 2024年BOD自动在线监测仪项目投资申请报告代可行性研究报告
- 2024-2025学年重庆乌江新高考协作体高三上学期二调英语试题及答案
- 上海市市辖区(2024年-2025年小学五年级语文)人教版综合练习(下学期)试卷及答案
- 2024年甘肃公务员考试申论试题(县乡卷)
- 垃圾误时投放
- 汉语词汇与文化智慧树知到期末考试答案章节答案2024年浙江师范大学
- 三年级语文上册第五单元【教材解读】
- 海上风电基本术语(中英文对照)
- 井下电机车管理规定
- 银行分行“职工之家”活动室管理暂行规定
- 医疗器械生产场地的相关要求
- 西安赛格国际购物中心市场调查报告(31页)
- 《产品合格证》(通用格式模板)
- 电梯控制器DP30使用手册应用篇
- 综合门诊部设置标准
- 测绘专业职称考试中级复习资料
评论
0/150
提交评论