数据库实验五题目答案

合集下载

数据库实验内容-答案

数据库实验内容-答案

实验内容:实验一:数据库的操作使用Management Studio和sql语句分别完成以下操作:1.创建一个名为“SM”的数据库,数据文件初始大小为3MB,最大为50MB,数据库自动增长,增长方式按10%;日志文件初始大小为2MB,数据大小不受限制,按1MB增长。

create database smon(name='smdata',filename='e:\smdata.mdf',size=3,maxsize=50,filegrowth=10%)log on(name='smlog',filename='e:\smlog.ldf',size=2,maxsize=unlimited,filegrowth=1)2.修改数据库“SM”,将数据文件名改成“sm_data”,初始大小改成5MBalter database smmodify file( name='smdata',newname='sm_data',size=5)3.分别查看数据库“SM”,该数据库中的文件和文件组。

exec sp_helpfile smexec sp_helpfilegroup sm4.删除数据库“SM”。

drop database sm实验二:创建表1. 在数据库SM中创建学生表student,课程表course,选课表scstudent(sid,sno,clno,sname,ssex,sage,sbir)说明:sid int identity(1,1) 序号sno 为主关系键,为字符类型学号clno 字符类型,班级号sname 字符类型,并不为空ssex 字符类型,check的值的范围为男女sbir 日期类型出生日期sage int;use smcreate table student( sid int identity(1,1),sno char(10) constraint pk_st primary key,clno char(10),sname varchar(20) not null,ssex char(2) constraint ck_ssex check(ssex in('男','女')),sbir datetime,sage int)course(cno,cname,ccredits,ctno,cpno,ctime)说明:cno 字符类型,主关系键cname 字符类型,唯一键ccredits 学分,精确数值型,精确长度为2,小数位为1ctno ,cpno 字符类型ctime 整型create table course(cno char(4) constraint pk_c primary key,cname varchar(20) constaint uk_cname unique,ccredit decimal(2,1),ctno char(2),cpno char(4),ctime tinyint)sc(sno,cno,score)说明:sno+cno为主键,并且sno是student的外部键,cno是course的外部键。

大学 mysql实验报告(五)附答案

大学 mysql实验报告(五)附答案

实验报告(五)专业:班级:学号:姓名:实验名称:数据库的子查询、组合查询实验报告内容:1、写出习题3第75页第6题的2)3)5)6)小题的SQL语句2)查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。

SELECT 读者.读者号,姓名,书名,借出日期,归还日期FROM 读者, 图书,借阅WHERE 读者.读者号= 借阅.读者号AND 图书.图书号=借阅.图书号3)查询借阅了机械工业出版社出版,并且书名中包含’数据库’三个字的图书的读者,显示读者号、姓名、书名、出版社,借出日期、归还日期。

SELECT 读者.读者号,姓名,书名,出版社,借出日期,归还日期FROM 读者,图书,借阅WHERE 读者.读者号= 借阅.读者号AND 图书.图书号=借阅.图书号AND 出版社=‘机械工业出版社’ AND 书名LIKE’%数据库%’5)查询与’王平’的办公电话相同的读者的姓名。

SELECT R2.姓名FROM 读者R1, 读者R2where R1.办公电话= R2.办公电话AND R1.姓名='王小平'此语句等价与:SELECT 姓名FROM 读者WHERE 办公电话=(SELECT 办公电话FROM 读者WHERE 姓名='王小平')6)查询办公电话为’88320701’的所有读者的借阅情况,要求包括借阅了书籍的读者和没有借阅的读者,显示他们的读者号、姓名、书名、借阅日期。

SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者, 借阅WHERE 读者.读者号*=借阅.读者号AND 办公电话=‘88320701’上述左外连接可可以用右外连接等价表示:SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者,借阅WHERE 借阅.读者号=* 读者.读者号AND 办公电话=‘88320701’在SQLSERVER2000中,以上左外连接还可等价表示为:SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者LEFT JOIN 借阅ON 读者.读者号= 借阅.读者号WHERE 办公电话=‘88320701’或者用右连接表示为:SELECT 读者.读者号,姓名,图书号,借出日期FROM 借阅RIGHT JOIN 读者ON 借阅.读者号= 读者.读者号WHERE 办公电话=‘88320701’2、写出习题3第75页第7题的1)2)4)8)小题的SQL语句1)查询所有单价小于平均单价的图书号、书名、出版社SELECT 图书号,书名,出版社FROM 图书WHERE 单价< (SELECT A VG(单价)’平均单价’ FROM 图书)2)查询’科学出版社’的图书中单价比’机械工业出版社’最高单价还高的的图书书名、单价。

数据库第五章习题及答案

数据库第五章习题及答案

数据库第五章习题及答案本文档为数据库第五章的习题及答案,帮助读者巩固数据库相关知识。

习题1. 数据库的优点有哪些?数据库具有以下优点: - 数据共享:多个用户可以同时访问和共享数据库中的数据。

- 数据一致性:数据库提供事务管理能力,保证了数据的一致性。

- 数据持久性:数据在数据库中是永久存储的,不会因为系统关机或程序结束而丢失。

- 数据冗余度低:数据库通过规范化设计,减少了数据的冗余性,提高了数据的存储效率。

- 数据独立性:数据库支持数据与应用程序的独立性,提高了系统的灵活性和维护性。

- 数据安全性:数据库提供了用户权限管理和数据备份机制,保证了数据的安全性。

2. 数据库的三级模式结构是什么?数据库的三级模式结构包括: - 外模式(视图层):外模式是用户所看到的数据库的子集,用于描述用户对数据库的逻辑视图。

每个用户可以有不同的外模式来满足自己的需求。

- 概念模式(逻辑层):概念模式是全局数据库的逻辑结构和组织方式,描述了数据的总体逻辑视图。

概念模式独立于具体的应用程序,是数据库管理员的角度来看待数据库的。

- 内模式(物理层):内模式是数据库的存储结构和物理组织方式,描述了数据在存储介质上的实际存储方式。

3. 数据库的完整性约束有哪些?数据库的完整性约束包括: - 实体完整性约束:确保表的主键不为空,每个实体都能够唯一标识。

- 参照完整性约束:确保外键的引用关系是有效的,即外键值必须等于被引用表中的主键值或者为空。

- 用户定义完整性约束:用户可以自定义额外的完整性约束,如检查约束、唯一约束、默认约束等。

4. 数据库的关系模型有哪些特点?数据库的关系模型具有以下特点: - 数据用二维表的形式进行组织,表由行和列组成,每一行表示一个实体,每一列表示一个属性。

- 表与表之间通过主键和外键建立关联关系,形成关系。

- 关系模型提供了一种数据独立性的设计方法,使得应用程序与数据的逻辑结构相分离,提高了系统的灵活性和可维护性。

数据库原理及应用实验答案

数据库原理及应用实验答案

数据库原理及应用实验答案1. 数据库原理数据库原理指的是数据库系统的内部机制和运行原理。

以下是数据库原理的相关内容:- 数据库模型:定义数据的组织方式和约束条件,包括层次模型、网状模型、关系模型、面向对象模型等。

- 数据库结构:描述数据库中数据组织的方式,包括表、视图、索引、存储过程等。

- 数据操作:定义对数据库中数据进行操作的方式,包括增删改查等。

- 数据库事务:保证数据库操作的一致性和完整性的机制,包括ACID(原子性、一致性、隔离性、持久性)属性等。

- 数据库并发控制:处理多个用户同时访问数据库产生的冲突问题,包括加锁、事务隔离级别等。

- 数据库恢复与备份:保证数据库数据不丢失和可恢复的机制,包括日志、回滚、快照等。

2. 数据库应用实验答案以下是数据库应用实验中的相关问题和答案:问题1:什么是数据库?答案:数据库是存储、管理和操作结构化数据的系统。

它提供了数据的组织方式和数据操作的接口,用户可以通过数据库来存储和访问数据。

问题2:数据库的优点是什么?答案:数据库的优点包括:数据共享性高,数据冗余度低,数据一致性好,数据安全性高,数据的集中管理和维护方便等。

问题3:什么是关系数据库?答案:关系数据库是基于关系模型的数据库系统。

它使用表描述数据之间的关系,在关系数据库中,数据以行和列的形式存储,并通过主键和外键来建立关联关系。

问题4:什么是SQL语言?答案:SQL(Structured Query Language)是用于访问和操作关系数据库的标准语言。

它包括数据查询语言(SELECT)、数据定义语言(CREATE、ALTER、DROP)、数据操作语言(INSERT、UPDATE、DELETE)和数据控制语言(GRANT、REVOKE)等。

问题5:什么是数据库调优?答案:数据库调优是指对数据库系统进行性能优化的过程。

它包括优化数据库结构、调整数据库参数、优化查询语句、优化索引和表分区、优化物理存储等方法,以提高数据库的性能和响应速度。

数据库实验5答案

数据库实验5答案

实验五:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。

二、实验环境已安装SQL Server企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.了解连接查询的表示及使用;3.了解嵌套查询的表示及使用;4.了解集合查询的表示及使用;5.完成实验报告;五、实验内容及步骤1.利用Transact-SQL嵌套语句实现下列数据查询操作。

1) 查询选修了计算机体系结构的学生的基本信息。

select*from studentwhere Sno in(select Sno from coursewhere Cno in(select Cno from sc where Cname='计算机体系结构'))2) 查询年龄比李勇小的学生的学号和成绩。

select a.sno,grade from student a,coursewhere a.sno=course.sno and sage<(select sage from student where sname='李勇')3) 查询其他系中比系编号为‘D1’的学生中年龄最小者要大的学生的信息。

select*from student where dnum<>'D1'AND SAGE>(select min(sage)from student where dnum='D1')4) 查询其他系中比系编号为‘D3’的学生年龄都大的学生的姓名。

select*from student where dnum<>'D3'AND SAGE>all(selectsage from student where dnum='D3')5) 查询‘C1’课程的成绩高于70的学生姓名。

数据库实验五答案

数据库实验五答案

数据库实验五答案1.创建一个存储过程,查看001号课程的选修情况,包括学生学号、姓名和成绩,然后执行该过程;create procedure s11asselect student.sno,sname,scorefrom student join sc on student.sno=sc.snowhere cno='001'goexecute s112.创建一个存储过程,通过学生学号来查询学生选修情况,包括学生学号、姓名和成绩,然后执行该过程;create procedure s12 @cnumber char(5)asselect student.sno,sname,scorefrom student join sc on student.sno=sc.snowhere student.sno= @cnumbergoexecute s12 '00001'3.创建一个存储过程,通过学生学号来查询学生选修情况,默认查询学号为00001的选修情况,包括学生学号、姓名和成绩,然后执行该过程;create procedure s13 @cnumber char(5)='00001'asselect student.sno,sname,scorefrom student join sc on student.sno=sc.snowhere student.sno= @cnumbergoexecute s13 '00005'execute s134.创建一个存储过程,获得选修某门课程的总人数,然后在执行该过程后把总人数显示出来;create procedure s14 @cnumber char(5),@ccount int outputasselect @ccount=count(*) from sc where o=@cnumbergodeclare @ccount intexecute s14 '001' ,@ccount outputselect @ccount5.创建一个存储过程,通过学号和课程号进行成绩查询,如果查询结果为空,则显示“该学生没有选这门课”,返回0,如果查询结果低于60分,则显示“该学生考试成绩不及格”,返回1,如果查询结果在60-85之间,则显示“该学生考试成绩为良”,返回2,如果查询结果大于85,则显示“该学生考试成绩为优秀”,返回3,然后执行该过程查询学号00001的选课成绩,并把返回结果显示出来。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

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

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

实验一 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.在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。

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

数据库实验五题目答案
实验五
实验数据查询
1)要求
以School数据库为例,在该数据库中存在四张表格,分别为:表STUDENTS(sid, sname, email, grade);
表TEACHERS(tid, tname, email, salary);
表COURSES(cid, cname, hour);
表CHOICES(no, sid, tid, cid, score)
在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。

在表CHOICES 中保存学生的选课记录。

按以下要求对数据库进行查询操作:
(1)查询年级为2001的所有学生的名称并按编号升序排列。

程序:Select sname
from students
where grade='2001'
order by sid asc;
(2)查询学生的选课成绩合格的课程成绩。

程序:Select score
from choices
where score>'59';
(3)查询课时是48或60的课程的名称。

程序:select cname
from courses
where hour='48'or hour='60';
(4)查询所有课程名称中含有data的课程编号。

程序:select cid
from courses
where cname like'%data%';
(5)查询所有选课记录的课程号(不重复显示)。

程序:select distinct cid
from choices;
(6)统计所有教师的平均工资。

程序:select avg(salary)
from teachers;
(7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序排列。

程序:select tid,avg(score)
from choices
GROUP BY tid
order by avg(score)desc;
(8)统计各个课程的选课人数和平均成绩。

程序:select count(distinct sid),avg(score)
from choices
group by cid;
(9)查询至少选修了三门课程的学生编号。

程序:select sid
from choices
group by sid
having count(cid)>=’3’;
(10)查询编号6的学生所选的全部课程的课程名和成绩。

程序:select distinct cname ,score
from courses,choices
where sid='6'and=
(11)查询所有选修了database的学生的编号。

程序:select sid
from choices ,courses
where cname='database'and=;
(12)求出选择了同一个课程的学生对。

程序:Select,
From choices x,choices y
Where=and<>
(13)求出至少被两名学生选修的课程编号。

程序:select cid
from choices
group by cid
(14)查询选修了编号6的学生所选的某个课程的学生编号。

程序:select sid
from choices
where cid in(select cid
from choices
where sid='6')and sid<>'6';
(15)查询学生的基本信息及选修课程编号和成绩。

程序:select,sname,email,grade,cid,score
where=;
(16)查询学号2的学生的姓名和选修的课程名及成绩。

程序:select sname,cname,score
from students,courses,choices
where='2'and=
and =;
(17)查询与学号2的学生同年级的所有学生资料。

程序:select*
from students
where grade=(select grade
from students
where sid='2');
(18)查询所有有选课的学生的详细信息。

程序:select,sname,email,grade,no,cid,score
from students,choices where cid is not null and=;。

相关文档
最新文档