数据库系统原理上机实验题

基本表及视图的定义、删除、 基本表及视图的定义、删除、修改语句 SELECT语句(实现较复杂的查询功能) 语句( 语句 实现较复杂的查询功能) INSERT、UPDATE、DELETE语句 、 、 语句 GRANT、REVOKE语句 、 语句
进一步理解数据完整性、 进一步理解数据完整性、数据安全性控制
实验要求
每次实验必须按时到机房上机。 每次实验必须按时到机房上机。 亲自动手,积累实践经验,要对SQL语句有一 亲自动手,积累实践经验,要对 语句有一 定程度的熟练 熟练。 定程度的熟练。 详细记录过程、现象。 详细记录过程、现象。记录中体现实际动手的 真实感 禁止抄袭,避免雷同。 真实感,禁止抄袭,避免雷同。 按要求手写实验报告。 手写实验报告 按要求手写实验报告。 附实验报告模板) (附实验报告模板)
数据库系统原理上机实验
上机安排
) 星期二(1-4) 星期二( - ) 星期二(1-4)
地点
南一楼803 南一楼
实验目的
熟悉一种DBMS软件(DM5/Microsoft SQL 软件( 熟悉一种 软件 Server 2000)的安装及使用 ) DM5下载网址: 下载网址: 下载网址 熟悉下列基本SQL语句的语法 熟悉下列基本 语句的语法
实验题目
1. 2. 3. 4. 5. 6. 7. 8. 王珊、萨师煊《数据库系统概论》 第四版) 王珊、萨师煊《数据库系统概论》(第四版) 第三章习题3( ):用 语句建立第二章习题 第三章习题 (P127):用SQL语句建立第二章习题 (P74)中 ): 语句建立第二章习题5 ) 四个表, 四个表,创建的基本表应考虑数据完整性 语句加载第二章习题 用SQL语句加载第二章习题 (P74)中四个表的数据 语句加载第二章习题5 ) 第三章习题4(P127): SQL完成第二章习题5 P74) ):用 完成第二章习题 第三章习题4(P127):用SQL完成第二章习题5 (P74)中的查 询 第三章习题5( ):用 第三章习题 (P127):用SQL完成各项操作 ): 完成各项操作 第三章习题11( ):建视图并查询 第三章习题 (P128):建视图并查询 ): 第四章习题8( ):用 语句( 第四章习题 (P148):用SQL的GRANT和REVOKE语句(加 ): 的 和 语句 上视图机制) 上视图机制)完成授权定义或存取控制 第四章习题9( 第四章习题 (P148): 撤销习题 所授权力 ): 撤销习题8所授权力 **(选做)实现教材例 (P162)BEFORE行级触发器的定义 (选做)实现教材例18( ) 行级触发器的定义 并检测触发器是否执行
实验报告内容
1、专业、班别、学号、姓名、实验日期、上机地点、机 、专业、班别、学号、姓名、实验日期、上机地点、 器编号、 器编号、实验环境 2、实验内容、过程及完成情况(必须有所用的SQL语句 2、实验内容、过程及完成情况(必须有所用的SQL语句、 语句、 语句执行效果) 语句执行效果) 3、出现的问题及解决方案(必须有,体现实际动手的真 、出现的问题及解决方案(必须有, 实感) 实感) 4、体会(必须有) 、体会(必须有) 实验报告将在学校存档,请认真编写。 实验报告将在学校存档,请认真编写。
合集下载

山东大学《数据库系统》上机实验答案 详细整理 2021最新版

山东大学《数据库系统》上机实验答案 详细整理 2021最新版

山东大学《数据库系统》上机实验答案详细整理 2021最新版数据库实验(一)熟悉环境、建立/删除表、插入数据Drop table 表名update dbtest set test=1 select * from dbscore1.教师信息(教师编号、姓名、性别、年龄、院系名称)test1_teacher:tid char 6 not null、name varchar 10 not null、sex char 2、age int、dname varchar 10。

根据教师名称建立一个索引。

教师编号 100101 100102 100103 教师姓名张老师李老师马老师性别男女男年龄 44 45 46 院系名称计算机学院软件学院计算机学院1、create table test1_teacher(tid char(6) primary key, name varchar(10) not null,sex char(2), age int,dname varchar(10) )2.学生信息(学生编号、姓名、性别、年龄、出生日期、院系名称、班级)test1_student:sid char 12 not null、name varchar 10 not null、sex char 2、age int、birthday date(oracle的date类型是包含时间信息的,时间信息全部为零)、dname varchar 10、class varchar(10)。

根据姓名建立一个索引。

学号 202100020211 202100020212 202100020213 姓名王欣李华赵岩性别女女男年龄192018出生日期院系名称班级 2021 2021 2021 1994-2-2 计算机学院 1995-3-3 1996-4-4 软件学院软件学院 2、create table test1_student(sid char(12) primary key, name varchar(10) not null, sex char(2), age int,birthday date,dname varchar(10), class varchar(10) )3.课程信息(课程编号、课程名称、先行课编号、学分)test1_course:cid char 6 not null、name varchar 10 not null、fcid char 6、credit numeric 2,1(其中2代表总长度,1代表小数点后面长度)。

数据库上机实验(有答案)

数据库上机实验(有答案)

数据库上机实验内容及要求(第二部分)1.建立工厂管理数据库工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息:(1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和联系电话;(2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种;(3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产;(4)一个车间制造多种零件,一种零件也可能为多个车间制造。

零件有零件号、重量和价格;(5)一种产品可由多种零件组成,一种零件也可以装配出多种产品;(6)产品和零件均存入仓库;(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。

根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。

◆分析实体及联系,设计E-R图。

◆将E-R图转换成关系模式,并规范化到3NF。

◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主码,外码,索引,约束等)。

◆测试数据入库2.基于“查询分析器”,完成并保存下述题目的SQL脚本(1)建立“工种”是“钳工”的所有职工详细信息的视图;create view View_工人_钳工asselect*from职工表where工种='钳工'with check option(2)建立“车间号”是“CJ01”的钳工详细信息的视图;create view View_钳工_CJ01asselect*from View_工人_钳工where车间号='CJ01'(3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图;create view View_产品_零件LJ0002asselect产品表.产品号,价格,车间号,仓库号from装配表,产品表where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引;create unique index Index_U_零件号on零件表(零件号)(5)对职工表按照“性别”建立聚簇索引;create clustered index Index_C_性别on职工表(性别)(6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;select车间号from装配表,产品表where装配表.产品号=产品表.产品号and零件号='LJ0002'(7)查询“职工号”是“ZG0001”的职工所在车间的“车间主任姓名”和“联系电话”;select车间主任姓名,联系电话from职工表,车间表where职工表.车间号=车间表.车间号and职工号='ZG0001'(8)查询使用了“零件号”是“LJ0002”的所有产品的生产车间的“车间主任姓名”和“联系电话”;(连接查询、嵌套查询实现)select车间主任姓名,联系电话from产品表,装配表,车间表where产品表.产品号=装配表.产品号and产品表.车间号=车间表.车间号and装配表.零件号='LJ0002'select车间主任姓名,联系电话from车间表where车间号in(select车间号from产品表where产品号in(select产品号from装配表where零件号='LJ0002'))(9)查询使用了“零件号”是“LJ0002”的所有产品的“产品号”和“零件数量”,且查询结果按照“零件数量”降序排列;select产品号,零件数量from装配表where零件号='LJ0002'order by零件数量desc(10)查询使用了“零件号”是“LJ0002”的产品数;select count(*)as产品数from装配表where装配表.零件号='LJ0002'(11)查询“LJ0002”号零件装配产品的使用总量;select sum(零件数量)as使用总数from装配表where零件号='LJ0002'(12)查询使用了3种以上零件的产品号;select产品号from装配表group by产品号having count(*)>=3【注意】:下机时保存数据库文件(.mdf和.ldf)及SQL脚本文件到U盘。

数据库上机实验题目和答案

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,ount,s.snamefrom(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

《数据库系统原理》上机模拟考试题

《数据库系统原理》上机模拟考试题

《数据库系统原理》上机模拟考试题要求:1)以下考题除第一题外全部在查询分析器中用T-SQL 语言实现,将代码放入文本文件或word文件保存为:你的班级号+你的姓名+你的学号.扩展名,如:电1005-1小明01.txt。

写明题号,提交到网络教学平台“《网络数据库管理与设计》上机考试”目录下。

2)在D盘下建立一个文件夹为你的班级号+你的姓名+学号的文件夹,如:电1005-1小明01。

3)将你的代码文件(文件名为题号,扩展名为.sql的文件)、你的数据库的备份数据文件(文件名为学号+姓名),压缩成文件名为你的班级号+你的姓名+你的学号rar文件,发送邮箱为Wangjm@。

邮件主题:姓名+学号(如:小明01),考试时间40分钟。

题目:1、建立Student数据库,登陆到石家庄铁道大学网络教学平台《网络数据库管理与设计》“上机考试”目录下下载student数据库备份文件,还原Student 数据库。

(3分)2、创建一个新的考试人员信息表,表名为“TestInfo”,表中各个字段的要求如下表所示(用SQL语句实现)。

(3分)考试人员信息表3、将考生的基本信息插入到考试人员信息表中。

(2分)4、将Student表中李勇的年龄加2。

(2分)5、删除SC表中考试成绩为空的记录。

(2分)6、查全体学生的姓名及其出生年份,并按出生年份大小降序排列。

(2分)7、查询选了课的学生学号、姓名。

(2分)8、查询所有不姓刘的学生姓名。

(2分)9、查询课程号为“3”的课程的最高分数。

(2分)10、统计每门课程的选课人数和考试最高分。

(2分)11、查询不及格的学生的不及格科目名称,姓名和年龄。

(2分)12、计算每门课的平均成绩,并按降序列出课程号、平均分。

(2分)13、查询平均成绩80分以上的学生的姓名、课程号和成绩。

(2分)14、查询每名学生的选课门数和平均成绩。

(2分)15、利用触发器来保证学生选课库中选课表的参照完整性,以维护其外码与参照表中的主码一致。

数据库原理及应用最全上机实验及实验答案

数据库原理及应用最全上机实验及实验答案

实验一 SQL Server 2005 的安装和环境介绍一.实验目的与要求:1.掌握SQL Server 2005 服务器的安装方法2.了解SQL Server 2005 的环境3.了解数据库及其对象二.实验准备1.了解SQL Server 2005的版本2.了解SQL Server 2005各版本对硬件和软件的需求三.实验要求1.写出SQL SERVER 2005的功能与特点, 使用方法, 应用状况的报告2.完成SQL SERVER 2005的安装、启动、登录。

四.实验内容1.安装SQL Server 2005实验一 SQL Server 2005 的安装和环境介绍●实验指导——安装SQL Server 20051.根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例2.将 SQL Server 2005 DVD 插入 DVD 驱动器。

如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到 DVD 的根目录然后启动splash.hta。

3.在自动运行的对话框中,单击“运行 SQL Server 安装向导”。

4.在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。

接受许可协议后即可激活“下一步”按钮。

若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。

如下图:5.在“SQL Server 组件更新”页上,安装程序将安装 SQL Server 2005 的必需软件。

有关组件要求的详细信息,请单击该页底部的“帮助”按钮。

若要开始执行组件更新,请单击“安装”。

更新完成之后若要继续,请单击“完成”。

6.在 SQL Server 安装向导的“欢迎”页上,单击“下一步”以继续安装。

7.在“系统配置检查 (SCC)”页上,将扫描安装计算机,以检查是否存在可能妨碍安装程序的条件。

8.在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。

数据库上机实验题目和答案

数据库上机实验题目和答案

数据库上机实验题目和答案试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(/doc/1411529677.html,o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,/doc/1411529677.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

数据库系统原理实验一参考答案

VALUES ('C05'
,'C++',-,3)
INSERT
INTO Courses
VALUES ('C06'
,'网络原理’,'C07', 3)
INSERT
FILENAME='E:\ SQL_DATEBASE \',
SIZE=5MB
MAXSIZE25MB
FILEGROWT=5MB
)
GO
(2)调用(USE数据库:Students_Mis_2018
use Stude nts_Mis_2018
GO
(3)分别建立4个数据表的表结构(CREATE TABLE):系(Depts),学生(Students ),课程(Courses ),选课(Reports )
CREATETABLE Depts
(
Dno CHAR5) PRIMARYKEY
DnameCHAR20) NOTNULL
)
GO
CREATETABLE Students
(
Sno CHAR5) PRIMARYKEY
Sname CHAR20) NOTNULL,
Ssex CHAR2),
Sage INT,
Dno CHAIR5),
INSERT
INTO depts
VALUES ('D05','电子')
INSERT
INTO depts
VALUES ('D06','化学')
SELECT*
FROMDepts
INSERT
INTO Students

数据库系统原理上机操作样题及答案

数据库系统原理上机操作样题一、某物流公司数据库包含以下5个关系:快递员C(Cno,Cname,Cage,Csalary),分别为快递员编号、快递员姓名、快递员年龄和快递员底薪。

包裹信息P(Pno,Pfrom,Pto,Preceiver,Ptel,Pstatus),分别为物流号、寄出地址、收货地址、收件人姓名、收件人联系方式和包裹状态。

仓库W(Wno,Wname,Waddress),分别为仓库编号、仓库名和仓库地址。

配送D(Cno,Pno,Dtime),分别为快递员编号、物流号和配送时间。

存储S(Wno,Pno),分别为仓库编号和物流号。

其中C由Cno唯一标识,P由Pno唯一标识,W由Wno唯一标识,D由Cno和Pno唯一标识,S由Wno和Pno唯一标识。

其中Dtime格式为yyyy-MM-dd(统一格式可直接比较大小)1. 用SQL查询收件人姓名为“李四”的包裹物流号、配送员姓名和配送时间。

1.SELECT P.Pno,Cname,Dtime FROM C,D,P WHERE o=o AND P.Pno=D.Pno AND P.Preceiver='李四';2. 查询2017-4-1至2017-5-1(包括2017-4-1和2017-5-1这两天)配送包裹数量至少为100个的快递员的姓名、年龄和底薪。

2.SELECT ame,c.Cage,c.Csalary FROM c,dWHERE o = o AND (d.Dtime BETWEEN '2017-4-1' AND '2017-5-1')GROUP BY CnameHAVING COUNT(*) >= 100;3. 对所有年龄低于40的快递员,若底薪小于2500,则增加400工资,若大于等于2500,则增加200工资。

提示:SQL中的三目条件运算格式:IF(expr1,expr2,expr3),expr1为真则返回expr2的值,否则返回expr3的值。

东华大学数据库系统原理上机实验答案

《数据库系统原理》上机实验答案实验三SQL语言的DDL3.CREATE TABLE aa(Bb1 VARCHAR(30),Bb2 INT,Bb3 DECIMAL(6,2))4.ALTER TABLE aa ADD Bb4 varchar(20)5. DROP TABLE AA6.CREATE VIEW ReaderView(借阅者)AS SELECT DISTINCT 读者编号FROM 借阅7.Drop View ReaderView。

8. CREATE INDEX INDEX1 ON 读者(姓名ASC,单位ASC)CREATE INDEX INDEX3 ON 借阅(借阅日期DESC)9.DROP INDEX 读者.INDEX1CREATE INDEX INDEX1 ON 读者(姓名ASC)实验四SQL语言的DML初步1.CREATE DEFAULT ZEROVALUE AS 0sp_bindefault ZEROVALUE, '图书.借出否'CREATE DEFAULT CURTIME AS getdate()sp_bindefault CURTIME, '借阅.借阅日期'2.CREATE RULE gender_ruleAS @value in ('男','女')EXEC sp_bindrule 'gender_rule', '读者.性别'CREATE RULE lenddate_ruleAS @value > '2004-1-1'EXEC sp_bindrule 'lenddate_rule', '借阅.归还日期'3.用INSERT语句对“图书”表插入6条记录INSERT INTO 图书(书号,类别,出版社,作者,书名,定价)VALUES('0001','计算机类','清华出版社','严蔚敏','数据结构', 20.11) INSERT INTO 图书(书号,类别,出版社,作者,书名,定价)VALUES('0002','计算机类','清华出版社','苗雪兰','数据库技术及应用',29.00)INSERT INTO 图书(书号,类别,出版社,作者,书名,定价)VALUES('0003','计算机类','清华出版社','李建中','软件工程',48.00) INSERT INTO 图书(书号,类别,出版社,作者,书名,定价)VALUES('0004','计算机类','电子工业出版社','汤惟','WEB技术',32.00)INSERT INTO 图书(书号,类别,出版社,作者,书名,定价)VALUES('0005','自动化类','机械工业出版社','胡寿松','自动控制原理',52.00)INSERT INTO 图书(书号,类别,出版社,作者,书名,定价)VALUES('0006','自动化类','机械工业出版社','郑大钟','线性控制理论',32.00)用INSERT语句对“读者”表插入4条记录INSERT INTO 读者(读者编号,姓名,单位,性别,电话)VALUES('10001','张三','东华大学','男','67792312')INSERT INTO 读者(读者编号,姓名,单位,性别,电话)VALUES('10002','李四','东华大学','女','67792312')INSERT INTO 读者(读者编号,姓名,单位,性别,电话)VALUES('10003','王五','东华大学','男','67792312')INSERT INTO 读者(读者编号,姓名,单位,性别,电话)VALUES('10004','李明','东华大学','女','67792312')用INSERT语句对“借阅”表插入7条记录INSERT INTO 借阅(书号,读者编号,借阅日期,归还日期)VALUES('0001','10001','2006-04-19 09:58:03','2006-05-19 8:38:23')INSERT INTO 借阅(书号,读者编号,借阅日期,归还日期)VALUES('0006','10002','2006-07-01 15:28:12','2006-07-18 9:14:02')INSERT INTO 借阅(书号,读者编号,借阅日期,归还日期)VALUES('0002','10002','2006-07-01 15:28:30','2006-07-17 19:10:32')INSERT INTO 借阅(书号,读者编号,借阅日期,归还日期)VALUES('0002','10003','2006-07-03 15:28:30','2006-08-09 15:28:30')INSERT INTO 借阅(书号,读者编号,借阅日期,归还日期)VALUES('0004','10002','2007-05-01 11:28:24','2007-08-01 8:09:04')INSERT INTO 借阅(书号,读者编号,借阅日期,归还日期)VALUES('0005','10002','2007-11-01 10:43:12','2007-12-01 14:09:56')INSERT INTO 借阅(书号,读者编号,借阅日期,归还日期)VALUES('0003','10004','2007-12-01 16:06:02','2007-12-29 13:17:09') 4.UPDATE 借阅SET 借阅日期='2006-08-03 15:28:30'WHERE 读者编号='10003' AND借阅日期 BETWEEN '2006-07-03' AND '2006-07-04' AND 书号='0002' 5.DELETE FROM 借阅WHERE 借阅日期<'2006-06-01'1.SELECT 书号,书名as 名称,定价as 价格FROM 图书WHERE 类别='自动化类'2.方法1:SELECT * FROM 图书WHERE 类别='计算机类'UNIONSELECT * FROM 图书WHERE 出版社='电子工业出版社'方法2:SELECT * FROM 图书WHERE 类别='计算机类' OR 出版社='电子工业出版社' 3.SELECT * INTO 计算机图书表FROM 图书WHERE 类别='计算机类'4.SELECT DISTINCT 读者.* FROM 读者,借阅WHERE 读者.读者编号=借阅.读者编号5.SELECT 读者.读者编号,姓名,单位,图书.书号,书名,借阅日期FROM 读者,借阅,图书WHERE 读者.读者编号=借阅.读者编号AND 图书.书号=借阅.书号6.SELECT 图书.书号,书名,类别,借阅日期FROM 读者,借阅,图书WHERE 读者.读者编号=借阅.读者编号AND 图书.书号=借阅.书号AND 姓名='张三'ORDER BY 借阅日期DESC7.SELECT 读者.读者编号,姓名,书名,DATEDIFF(day,借阅日期,归还日期) as 借阅时间FROM 读者,借阅,图书WHERE 读者.读者编号=借阅.读者编号 AND 图书.书号=借阅.书号AND DATEDIFF(day,借阅日期,归还日期)>20order by 借阅时间8.SELECT * FROM 读者WHERE NOT EXISTS(SELECT * FROM 图书WHERE 类别='自动化类' and NOT EXISTS(SELECT * FROM 借阅WHERE 读者编号=读者.读者编号and 书号=图书.书号))1.SELECT 类别,COUNT(*) AS 数量, AVG(定价) AS 平均价格,SUM(定价) AS 总价FROM 图书GROUP BY 类别ORDER BY 类别2.SELECT YEAR(借阅日期) as 年份,书号,COUNT(*) AS 借阅次数FROM 借阅GROUP BY YEAR(借阅日期),书号ORDER BY 借阅次数DESC3.SELECT 读者.读者编号,COUNT(书号) AS 借阅次数FROM 读者LEFT JOIN(SELECT * FROM 借阅WHERE 借阅日期BETWEEN '2006-7-1' AND '2007-10-1') A ON 读者.读者编号=A.读者编号GROUP BY 读者.读者编号4.SELECT 读者编号,COUNT(*) AS 次数FROM 借阅,图书WHERE 借阅.书号=图书.书号AND 书名='数据库技术及应用'GROUP BY 读者编号ORDER BY 次数DESC5.方法1:SELECT MAX(次数) AS 最多,MIN(次数) AS 最少,A VG(次数*1.0) AS 平均FROM(SELECT 图书.书号,COUNT(*) AS 次数FROM 图书,借阅WHERE 图书.书号=借阅.书号AND 类别='计算机类'GROUP BY 图书.书号) A方法2:SELECT 图书.书号,COUNT(*)*1.0 AS 次数FROM 图书,借阅WHERE 图书.书号=借阅.书号AND 类别='计算机类'GROUP BY 图书.书号COMPUTE MAX(COUNT(*)*1.0),MIN(COUNT(*)*1.0),AVG(COUNT(*)*1.0) 6.SELECT 类别FROM 图书GROUP BY 类别HA VING MAX(定价)>=ALL(SELECT 2*AVG(定价) FROM 图书GROUP BY 类别) 7.SELECT 书号,书名,定价,出版社FROM 图书WHERE 类别='计算机类'ORDER BY 出版社DESCCOMPUTE COUNT(书号) BY 出版社COMPUTE COUNT(书号)实验七存储过程、触发器和数据库恢复1.(1)CREATE PROCEDURE 借阅情况@Readerno V ARCHAR(8)ASSELECT 读者.读者编号,姓名,图书.书号,书名,借阅日期, 借出否AS 归还否FROM 读者,借阅,图书WHERE 读者.读者编号=借阅.读者编号AND 图书.书号=借阅.书号AND 读者.读者编号=@ReadernoEXEC 借阅情况‘10004’(2)CREATE PROCEDURE 借出情况@Bookno V ARCHAR(10)ASSELECT 书名,姓名,借阅日期,归还日期FROM 读者,借阅,图书WHERE 读者.读者编号=借阅.读者编号AND 图书.书号=借阅.书号AND 图书.书号=@BooknoEXEC 借出情况'0004'2.CREATE TRIGGER lendbookinsert ON 借阅FOR INSERTASIF (SELECT 借出否FROM 图书WHERE 书号IN(SELECT 书号FROM INSERTED) )=1BEGINPRINT '该书已经借出'ROLLBACK TRANSACTIONENDELSEBEGINUPDATE 图书SET 借出否=1WHERE 书号IN (SELECT 书号FROM INSERTED)END[由4037()编辑部整理推出]。

数据库原理及应用上机测试(包含数据库初学者大部分题目详解过程)

数据库原理及应用上机测试请注意:1、将本文档以“学号+姓名+分数+数据库原理及应用上机测试.doc”重命名;2、每完成一题登分,最后统计总分。

一、数据库和表的基本操作(20分)1、请用T-SQL语句创建一个名为“班级姓名kaoshi”数据库。

数据库包括一个主要数据文件,一个日志文件。

主要数据文件名为“学号姓名”,初始大小为10MB,最大值为100MB,增长率为10%;日志文件名为“学号姓名_log”,初始大小为10MB,最大值为60MB,增长率为6%,请截图在下方证明你调试成功。

(10分,调试成功计10分,不成功计0分)2、请用T-SQL语句创建一个新的工作表,命名为“班级姓名kaoshi”。

由学号bigint,自动增长序列为1(初始值为2011040201)、姓名char(8)、性别 char(2)、出生日期smalldatetime、系名 char(12)五个字段组成,在定义表时需要完成下列要求:学号为主键,性别的取值是男或女,出生日期的默认值是当前日期。

即getdate()函数产生的当前日期。

请截图在下方证明你调试成功。

(10分,调试成功计10分,不成功计0分)二、数据查询操作(40分,8小题,5分一题,有效果计5分,没有效果或者效果错误不计分)将老师发下来的素材:THXY_SM.mdf,附加到自己电脑的中,以下所有操作的数据均来自数据库中的8个表。

注意:1、以下所有操作题的截图请参考上图,要注意清晰度。

2、打开学生表,将某位同学的姓名修改为自己的姓名。

以下结果中要以看到自己姓名的数据为准。

1、请写出查询“学生”表中全体学生的姓名(要能看到考生自己的姓名)及年龄。

请操作,并截取效果图。

2、请写出在“学生表”中查找学号的倒数第二位在4~5之间的同学的姓名和学号的T-SQL语句。

请操作,并截取效果图。

3、请写出在“学生表”中查找星期五出生的同学,输出他们的姓名(要能看到考生自己的姓名1)、性别、出生日期以及星期几出生的T-SQL语句。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档