数据库 实验5

合集下载

数据库实验5习题

数据库实验5习题

1.Insert into Student(Sno,Sname,Ssex,Sdept)values('06011','王文娟','女','计算机')set nocount on2. Insert into Student(Sno,Sname,Ssex,Sdept)values('','王文娟','女','计算机')3.CREATE TABLE CP_Student(Sno char(5)Not Null,Sname varchar(10)Null,Ssex char(2)NULL,Sbirth smalldatetime Null,Sdept varchar(20)Null,Total smallint Null)4.insert into CP_Student select*from Student where Sdept='计算机'or Sdept='外国语' set nocount on5.update Teacher set Tname='王芳'where Tname='王芳龄'6.UPDATE Teacher SET Tpay=Tpay*1.02 WHERE Tprof='副教授'7.UPDATE SC set Grade=Grade+1 where Sno=(select Sno from Student where Sname='李强')8.UPDATE CP_Student SET Total=Total*0.96 WHERE Sdept='计算机'UPDATE CP_Student SET Total=Total+2 WHERE Sdept='外国语'9.UPDATE Course SET Credit=Credit+0.4 WHERE Credit<3UPDATE Course SET Credit=Credit-0.5 WHERE Credit>3UPDATE Course SET Credit=Credit+0.2 WHERE Credit=310.delete from Student where Sno='06011'11.Delete from CP_Student where Sbirth<='1987'12.delete from CP_Student13.select*into CP_Teacher from Teacher where Tno IS NULL14.insert into CP_Teacher select*from Teacher where Tprof='副教授'15.insert into CP_Teacher select*from Teacher where Tprof<>'副教授'16.SELECT。

实验5 索引和数据完整性_MySQL数据库教程_[共3页]

实验5 索引和数据完整性_MySQL数据库教程_[共3页]

177
实验5
索引和数据完整性
目的与要求
(1)掌握索引的使用方法;
(2)掌握数据完整性的实现方法。

实验准备
(1)了解索引的作用与分类;
(2)掌握索引的创建方法;
(3)理解数据完整性的概念及分类;
(4)掌握各种数据完整性的实现方法。

实验内容
1.创建索引
(1)使用CREATE INDEX 语句创建索引
① 对YGGL 数据库的Employees 表中的DepartmentID 列建立索引。

在MySQL 客户端输入如下命令并执行:
create index depart_ind
on Employees(DepartmentID);
② 在Employees 表的Name 列和Address 列上建立复合索引。

create index Ad_ind
on Employees(Name, Address);
③ 对Departments 表上的DepartmentName 列建立唯一性索引。

create unique index Dep_ind
on Departments(DepartmentName);
【思考与练习】
a .索引创建完后可以使用SHOW INDEX FROM tbl_name 语句查看表中的索引。

b .对Employees 表的Address 列进行前缀索引。

c .使用CREATE INDEX 语句能创建主键吗?
(2)使用ALTER TABLE 语句向表中添加索引
① 向Employees 表中的出生日期列添加一个唯一性索引,姓名列和性别列上添加一个复合索引。

使用如下SQL 语句:。

数据库应用实验报告

数据库应用实验报告

数据库应用实验报告数据库应用实验报告一、引言数据库是计算机科学中的重要概念,它是用于存储和管理大量数据的系统。

在现代社会中,数据库应用广泛,涉及到各个领域,如企业管理、医疗保健、教育等。

本实验报告旨在介绍数据库应用的实验过程和结果,以及对实验结果的分析和讨论。

二、实验目的本次实验的目的是通过使用数据库管理系统(DBMS)来实现一个简单的学生信息管理系统。

该系统可以实现学生信息的录入、查询、修改和删除等功能。

通过这个实验,我们可以更好地理解数据库的概念和应用,掌握数据库的基本操作技能。

三、实验环境本次实验使用了MySQL作为数据库管理系统,并使用了Python编程语言来实现与数据库的交互。

MySQL是一种开源的关系型数据库管理系统,它具有高性能、稳定性和可扩展性等优点,被广泛应用于各个领域。

四、实验过程1. 数据库设计在开始实验之前,我们首先需要设计一个合适的数据库结构。

本次实验中,我们设计了一个包含学生信息的表,其中包括学生的学号、姓名、性别和年龄等字段。

通过这个表,我们可以对学生信息进行增删改查的操作。

2. 数据库创建在MySQL中,我们使用SQL语句来创建数据库和表。

首先,我们创建了一个名为"student_info"的数据库,然后在该数据库中创建了一个名为"student"的表。

表中定义了学生信息的各个字段,并设置了相应的数据类型和约束。

3. 数据录入在数据库创建完成后,我们可以开始录入学生信息。

通过Python编写的程序,我们可以将学生的学号、姓名、性别和年龄等信息插入到数据库中。

这样,我们就可以在数据库中保存学生的信息,并进行后续的操作。

4. 数据查询在数据库中,我们可以使用SQL语句来查询特定条件下的数据。

通过编写相应的查询语句,我们可以从数据库中获取满足条件的学生信息,并将其显示出来。

这样,我们可以方便地查找和管理学生的信息。

5. 数据修改除了查询功能外,数据库还支持对数据进行修改的操作。

存储过程和触发器(数据库实验5)

存储过程和触发器(数据库实验5)

数据库基础与实践实验报告实验五存储过程和触发器班级:惠普测试142学号:**********姓名:***日期:2016-11-141 实验目的:1)掌握SQL进行存储过程创建和调用的方法;2)掌握SQL进行触发器定义的方法,理解触发器的工作原理;3)掌握触发器禁用和重新启用的方法。

2 实验平台:操作系统:Windows xp。

实验环境:SQL Server 2000以上版本。

3 实验内容与步骤利用实验一创建的sch_id数据库完成下列实验内容。

1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。

存储过程定义代码:CREATE PROCEDURE JSXX_PROCASSELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND o=o存储过程执行语句与执行结果截图:EXECUTE JSXX_PROC2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。

存储过程定义代码:CREATE PROCEDURE XM_PROC @sname VARCHAR(100)ASBEGINIF EXISTS(SELECT NULL FROM S WHERE sn=@sname)SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE o=o AND SC.sno=S.sno ANDS.sn=@snameELSEPRINT'无该姓名的同学。

'END运行截图:3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业),统计并显示该专业各年龄段男、女生人数。

如果没有该专业,则显示“无此专业”。

存储过程定义代码:CREATE PROCEDURE XBNL_PROC@departName VARCHAR(30)='计算机',@begin INT,@end INTASDECLARE @numOfBoys INTDECLARE @numOfGirls INTDECLARE @d# VARCHAR(3)DECLARE @result VARCHAR(50)BEGINSELECT @d# = dno FROM D WHERE dn=@departNameIF @d# IS NOT NULLBEGINSELECT @numOfBoys =COUNT(sno)FROM S WHERE age BETWEEN @begin AND @end AND dno=@d# AND sex='男'SELECT@numOfGirls =COUNT(sno)FROM S WHERE age BETWEEN@begin AND@end AND dno=@d# AND sex='女'SET @result = @departName+'专业年龄在'+CAST(@begin AS VARCHAR(3))+'-'+CAST(@end AS VARCHAR(3))+'之间的男生有'+CAST(@numOfBoys AS VARCHAR(3))+'人,'+'女生有'+CAST(@numOfGirls AS VARCHAR(3))+'人'ENDELSESET @result='无此专业。

数据库实验5 多表查询及视图

数据库实验5 多表查询及视图

实验五:多表查询及视图一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握数据表的连接查询、嵌套查询、集合查询的使用方法。

3.掌握创建及管理视图的方法;二、实验学时2学时三、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.掌握连接查询、嵌套查询和集合查询的语法规则;3.掌握使用界面方式和命令方式创建及管理视图;4.完成实验报告;四、实验内容1.以实验3数据库为基础,请使用T-SQL 语句实现进行以下操作:1)查询选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;2)查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;3)按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。

其中已修学分为考试已经及格的课程学分之和;4)查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;5)查询只被一名学生选修的课程的课程号、课程名;6)使用嵌套查询出选修了“数据结构”课程的学生学号和姓名;7)使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系;8)使用ANY、ALL 查询,列出其他院系中比WM系所有学生年龄小的学生的姓名;9)使用集合查询查询选修1号课程同时选修2号课程的同学的学号与姓名;2.以实验数据库为基础数据,利用对象资源管理器创建以下视图:1)创建所有学生学号、姓名及年龄的信息视图v_stu_info2)创建CS系学生基本信息视图v_stu_cs3)创建选修课成绩在80分以上的学生的信息视图v_stu_80,包括学生基本情况及成绩。

3. 以实验数据库为基础数据,请使用T-SQL语句完成以下内容,并将SQL语句写在实验报告册中:1) 创建v_CS视图,包括CS系各学生的学号、姓名及年龄,要求进行修改和插入操作时仍需保证该视图只有CS系的学生;2) 创建v_CS_age20视图,包括CS系学生年龄在20岁以上的基本信息;并保证对视图文本的修改都要符合年龄大于20这个条件。

数据库完整性实验总结(必备6篇)

数据库完整性实验总结(必备6篇)

数据库完整性实验总结第1篇时间流水,短短的两周就流逝了,回想在这两周的实训生活,我从单一,片面的学习进入了全面,系统的学习,学好它更是一项大任务。

而对于如何学好它,光靠理论知识是远远不够的,_同志曾经就说过“实践是检验真理的唯一标准”!正如大师傅炒菜,知道炒菜的程序,主料、调料一清二楚,不真正掌勺,永远也成不了“大厨”。

而学校给我们提供了这样一个机会,让我们自己_掌勺_,使我们从实践中,加深了对数据库的理解。

经过这次的实训,我们对数据库有了更深的了解,从书面的明白到实践的理解,接触到了自己以前没有接触到的东西,并让我加深了数据库知识的学习和理解,也使我进一步了解数据库,这次实训可以为我们以后真正的实际数据库系统设计提供很好的借鉴。

更使我明白遇到什么挫折,不气馁,不放弃,勇于探索,才会让自己离成功越来越近!俗话说:知之为知之,不知为不知!不要不懂装懂,有什么不懂的要敢于向_知之者_请教!知识是慢慢积累而成的,我们学习不仅要学习理论知识,而实践也是非常重要的,只有当两者结合,才会获得收获!我们这次实习对我们的认识起到了很大的启发作用,使我们以后在接触数据库的过程中少走点弯路。

也使我们对人生和社会有了更清楚的认识,任何的成功都有艰辛和汗水铺出来的,没有那么多的意外收获。

我们要学的还有很多,要接触的还不知道有多少,以后的路还很漫长,我相信我会更加努力的,把握现在,为自己的未来而奋斗,展开双翅飞向美好的未来!在这里很感谢xxx老师给我们传授了这么多的知识和经验,让我们在毕业之际更好的填补自己的不足。

数据库完整性实验总结第2篇在学习《数据库原理及应用》这门课之前,就和课本上提到的一个观点一样,认为它只是存放数据的仓库而已,但是现在我深深体会到这个观点是多么的片面。

数据库是长期存储在计算机内,有组织、可共享的大量的数据集合,前者只能表达它的一方面而已。

数据库技术发展到今天已经是一门非常成熟的技术,它的技术水平、应用水平多比初始时都有了很大的改变,但是它的最基本的特征却没有变,概括起来有以下几个方面:第一点:数据库是相互关联的的数据集合;即在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的关系。

数据库实验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的学生姓名。

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

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

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(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函数,用于连接和操作数据库。

多媒体数据库实验5

多媒体数据库实验5

云南大学软件学院
实验报告
序号:实验老师:秦江龙
课程名称:多媒体数据库系统设计实验实验名称:规范化
学号:姓名:
课程名称多媒体数据库系统设计实验实验项目规范化
实验目的1.熟悉数据库建模工具Visio的使用。

2.通过完成下列3个ER图的数据规范化设计,理解数据库规范化设计的内容。

实验内容(算法、程序、步骤和方法)
完成下列3个ER图的数据规范化设计,使用建模工具,采用C row’s Feet数据建模方法,绘制出各数据库的ER图。

a)
b)
指标等级 A B C D
功能完整
程序质量
按时检查
提问回答
检查时间
总评成绩
c)
数据记录和计算a)Exercise 1数据库ER图:
b)Exercise 2数据库ER图:
c)Exercise 3数据库ER图:
结论(结果)数据库设计主要有五个步骤:
1.通过分析实体建立数据表
2.确定各数据表之间的关系
3.列出各数据表的所有属性
4.确定各数据表的主键和外键
5.确定各数据表中的数据类型
指导教师签名:秦江龙。

数据库实验报告5多表查询

数据库实验报告5多表查询

数据库实验报告5多表查询篇一:数据库实验5实验报告《数据库原理与设计》实验报告报告创建时间:篇二:数据库实验5实验报告淮海工学院计算机工程学院实验报告书课程名:《数据库原理及应用》题目:数据库的完整性班级:软件132 学号:姓名:孙莹莹一.目的与要求1. 掌握索引创建和删除的方法;2. 掌握创建视图和使用视图的方法;3. 掌握完整性约束的定义方法,包括primary key、foreign key等。

二.实验内容1.2.3.4.5.6.7.8.9.10.11.12.13.基于前面建立的factory数据库,使用T-SQL语句在worker表的“部门号”列上创建一个非聚集索引,若该索引已经存在,则删除后重建。

在salary 表的“职工号”和“日期”列创建聚集索引,并且强制唯一性。

建立视图view1,查询所有职工的职工号、姓名、部门名和2004年2月工资,并按部门名顺序排列。

建立视图view2,查询所有职工的职工号、姓名和平均工资;建立视图view3,查询各部门名和该部门的所有职工平均工资;显示视图view3的定义;实施worker表的“性别”列默认值为“男”的约束;实施salary表的“工资”列值限定在0~9999的约束;实施depart表的“部门号”列值唯一的非聚集索引的约束;为worker表建立外键“部门号”,参考表depart的“部门号”列。

建立一个规则sex:@性别=’男’OR @性别=’女’,将其绑定到“性别”上;删除上面第7、8、9和10建立的约束;解除第11题所建立的绑定并删除规则sex。

三.实验步骤1USE factoryGO--判断是否存在depno索引;若存在,则删除之IF EXISTSDROP INDEXGO--创建depno索引CREATE INDEX depno ON workerGOEXEC sp_helpindex workerGO2USE factoryGO--判断是否存在no_date索引;若存在,则删除之IF EXISTSDROP INDEX _dateGO--创建no_date索引CREATE UNIQUE CLUSTERED INDEX no_date ON salaryGOEXEC sp_helpindex salaryGO3USE factoryGO--如果视图viewl存在,则删除IF EXISTSDROP VIEW view1GO--创建视图viewlCREATE VIEW view1AS SELECT TOP 15 worker.职工号,worker.姓名,depart.部门名,salary.工资AS ‘2004年月工资’FROM worker,depart,salaryWHERE worker.部门号=depart.部门号AND worker.职工号=salary.职工号AND YEAR=2004 AND MONTH=2ORDER BY worker.部门号GOSELECT * FROM view1GO4USE factoryGO--如果视图view2存在,则删除IF EXISTSDROP VIEW view2GO--创建视图view2CREATE VIEW view2AS SELECT worker.职工号,worker.姓名,A VG AS ‘平均工资’FROM worker,salaryWHERE worker.职工号=salary.职工号GROUP BY worker.职工号,worker.姓名GOSELECT * FROM view2GO5USE factoryGO--如果视图view3存在,则删除IF EXISTSDROP VIEW view3GO--创建视图view3CREATE VIEW view3AS SELECT depart.部门名,A VG AS ‘平均工资’FROM worker,depart,salaryWHERE worker.部门号=depart.部门号AND worker.职工号=salary.职工号GROUP BY depart.部门名GOSELECT * FROM view3GO6USE factoryGOEXEC sp_helptext ‘view3’GO7USE factoryGOALTER TABLE workerADD CONSTRAINT default_sex DEFAULT ‘男’ FOR 性别GO8USE factoryGOALTER TABLE salaryADD CONSTRAINT check_salary CHECKGO9USE factoryGOALTER TABLE departADD CONSTRAINT unique_depart1 UNIQUE NONCLUSTEREDGOEXEC sp_helpindex depart --显示depart表上的索引GO10USE factoryGOALTER TABLE workerADD CONSTRAINT FK_worker_noFOREIGN KEYREFERENCES departGO11USE factoryGOCREATE RULE sex AS @性别=‘男’ OR @性别=‘女’GOEXEC sp_bindrule ‘sex’,’worker.性别’GO12USE factoryGOALTER TABLE workerDROP CONSTRAINT default_sexGO13USE factoryGOALTER TABLE salaryDROP CONSTRAINT check_salaryGO14USE factoryGOALTER TABLE departDROP CONSTRAINT unique_departGO15USE factoryGOALTER TABLE workerDROP CONSTRAINT FK_worker_noGO16USE factoryGOEXEC sp_unbindrule ‘worker.性别’GODROP RULE sexGO四.测试数据与实验结果第1题图篇三:数据库实验报告5---------------------------------精选公文范文-------------------------- 湖南科技学院电信学院实验报告----------------精选公文范文---------------- 11。

数据库实验5

数据库实验5
图的用法。 6.掌握系统存储过程 sp_rename 的用法。 7.掌握使用 Transact-SQL 语句 ALTER VIEW 修改视图的方法。
二、实验准备 1. 了解聚集索引和非聚集索引的概念。 2. 了解使用 Transact-SQL 语句 CREATE INDEX 创建索引的语法。 3. 了解使用 SQL Server 管理平台创建索引的步骤。 4. 了解 Transact-SQL 语句 DROP INDEX 删除索引的用法。 5. 了解创建视图的 Transact-SQL 语句 CREATE VIEW 的语法格式及用法。 6. 了解修改视图的 Transact-SQL 语句 ALTER VIEW 的语法格式。 7. 了解视图更名的系统存储过程 sp_rename 的用法。 8. 了解删除视图的 Transact-SQL 语句 DROP VIEW 的用法。
数据库技术与应用实验
实验 5 索引和视图
数据库技术与应用 实验报告
实验名称: 系(科): 班 级: 学 号: 姓 名: 完成时间:
索引和试图
信息系
南京师范大学中北学院
1
数据库技术与应用实验
实验 5 索引和视图
实验 5 索引和视图
一、实验目的 1.学会使用 SQL Server 管理平台和 Transact-SQL 语句 CREATE INDEX 创建
南京师范大学中北学院
3
数据库技术与应用实验
实验 5 索引和视图
2.使用 SQL Server 管理平台按《课程表》的课程编号列创建唯一性索引。
南京师范大学中北学院
4
数据库技术与应用实验
实验 5 索引和视图
3.分别使用 SQL Server 管理平台和 Transact-SQL 语句为 studentsdb 数据 库的《成绩表》的“分数”字段创建一个非聚集索引,命名为《成绩_index》。

实验5-数据库的简单查询操作答案

实验5-数据库的简单查询操作答案

实验5 数据库的高级查询操作(一)一、实验目的1.掌握使用查询分析器的使用方法。

2.掌握使用SELECT语句进行数据库单表的高级查询。

3.掌握使用SELECT语句的GROUP BY子句的使用方法。

4.掌握使用SELECT 语句的嵌套查询方法。

5.掌握使用SELECT语句的UNION 合并查询方法。

一、实验内容从查询分析器中导入实验文件夹中的“实验5 数据库的简单查询操作初始化数据.sql ”文件并运行,然后完成下面题目:(提示:学生信息表(Students):属性:学号(Sno),姓名(Sname),性别(Ssex),系别(Sdept),年龄(Sage)。

其中学号设为主键,学号和姓名不能为空,性别取值只能是F或M,系别缺省值为“计算机”。

选课信息表(Enrollment)。

属性:学号(Sno),课程名(Cno),成绩(Grade)。

其中课程号设为主键,课程号和课程名不能为空.。

课程信息表(Course)。

属性:课程号(Cno),课程名称(Cname),学分(Credits)。

)(1)从学生信息表中查询所有学生的所有信息。

SQL代码如下:SELECT *FROM Students(2)从学生信息表中查询所有学生的姓名和学号信息并分别赋予一个中文列名。

SQL代码如下:SELECT Sname AS '姓名', Sno AS '学号'FROM Students(3)从学生信息表中查询姓名是‘Allen’的学生的所有信息。

SQL代码如下:SELECT *FROM StudentsWHERE Sname = 'Allen'(4)从学生信息表中查询学号在1101到1199之间的所有学生的信息SQL代码如下:SELECT *FROM StudentsWHERE Sno BETWEEN 1101 AND 1199(5)从学生信息表中查询年龄小于在18和大于20的所有学生的学号和姓名。

实验5 sql语句练习——图书馆数据库答案

实验5  sql语句练习——图书馆数据库答案

实验5sql语句练习——图书馆数据库实验5sql语句练习——图书馆数据库实验目得(1)了解SQLServer数据库得逻辑结构与物理结构;(2)了解表得结构特点;(3)了解SQL Server得基本数据类型;(4)了解空值概念;(5)学会在企业管理器中创建数据库与表;(6)学会使用T—SQL语句创建数据库与表。

(7)学会使用T-SQL语句更新数据。

(7)学会使用T—SQL语句创建多种查询.实验准备首先要明确,能够创建数据库得用户必须就是系统管理员,或就是被授权使用CREATE DA TABASE语句得用户。

其次创建数据库必须要确定数据库名、数据库大小(最初得大小、最大得大小、就是否允许增长及增长方式)与存储数据库得文件.然后,确定数据库包含哪些表,以及所包含得各表得结构,还要了解SQL Server得常用数据类型,以创建数据库得表。

此外还要了解两种常用得创建数据库、表得方法,即在企业管理器中创建与使用T-SQL得CREATE DAT ABASE语句.实验内容假设有5本书设有一图书馆数据库,其中包括3个表,即图书表、读者表与借阅表。

三个表得结构如图:图书表结构列名说明数据类型约束说明书号图书唯一得编号定长字符串,长度为10 主键书名图书得名称定长字符串,长度为50 空值作者图书得编著者名定长字符串,长度为30 空值出版社图书得出版社定长字符串,长度为30 空值单价出版社确定得图书得单价浮点型,Float 空值读者表结构列名说明数据类型约束说明读者号读者唯一得编号定长字符串,长度为10 主键(1)用Sql语句创建图书馆数据库Create databaseLab05(2)用Sql语句创建上述3个表createtable book(ﻩbookId char(10)primary key,ﻩbookNamevarchar(50),ﻩbookWritervarchar(30),bookPublishvarchar(30),ﻩbookPricefloat)create tablereader(readerId char(10)primarykey,readerName varchar(8)notnull,readerSex char(2)not null,ﻩreaderOfficeTel char(8),readerDepartment varchar(30))create table借阅表(readerIdchar(10),bookIdchar(10),checkOutTime char(8),checkInTime char(8),primarykey(readerId,bookId),ﻩforeignkey (readerId) references reader(readerId),foreignkey (bookId)references book(bookId),)(3)基于图书馆数据库得3个表,用sql语言完成一下操作:1)为图书表增加一列“ISBN”,数据类型为CHAR(10)alter table book add ISBN char(10)2)为刚添加得ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为‘7111085949'ALTER TABLE bookADDCONSTRAINT ISBNDEFDEFAULT ('7111085949’) FORISBN3)删除图书表中ISBN列增加得缺省值约束alter table bookdrop ISBNDEF4)删除图书表中新增得ISBN列ALTER TABLE book DROPCOLUMNISBN5)查询全体图书得图书号、书名、作者、出版社与单价select bookId,bookName,bookWriter,bookPublish,bookPricefrom book6)查询全体图书得信息,其中单价打8折,并设置该列得别名为‘打折价’select bookId,bookName,bookWriter,bookPublish,(bookPrice*0、8)as打折价from book7)显示所有借阅者得读者号,并去掉重复行selectdistinct readerIdfrom 借阅表8)查询所有单价在20-30元之间得图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPrice between 20and309)查询机械工业出版社、科学出版社、人民邮电出版社得图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwherebookPublish in('机械工业出版社’, '科学出版社',’人民邮电出版社’)10)查询既不就是机械工业出版社、人民邮电出版社、也不就是科学出版社出版得图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish not in(’机械工业出版社’, '科学出版社','人民邮电出版社’)11)查询姓名得第二个字符就是'建’,并且只有2个字得读者得读者号及姓名select readerId,readerNamefromreaderwhere readerName like’_建'12)查询姓名不就是以‘王’、‘张'或‘李’开头得所有读者得读者号及姓名【方式一】查询出来得结果有问题!select readerId,readerNamefrom readerwhere readerName not in('王%','张%','李%')【方式二】select readerId,readerNamefrom readerwhere readerName not in(selectreaderNameﻩfromreaderwhere readerName like’王%’or readerName like'张%’orreaderNamelike'李%')13)查询无归还日期得借阅信息selectﻩbook、bookId,book、bookName,reader、readerId,reader、readerName,借阅表、checkOutTime as 借书时间,ﻩ借阅表、checkInTimeas 还书时间from借阅表,book,readerwhereﻩ借阅表、bookId = book、bookIdand借阅表、readerId=reader、readerIdand ﻩﻩ借阅表、checkInTimeisnull14)查询机械工业出版社图书得平均价格、最高价、最低价select avg(bookPrice)as 平均价格,max(bookPrice)as 最高价,min(bookPrice)as 最低价from bookwhere bookPublish =’机械工业出版社图书’15)查询读者得基本信息及借阅情况ﻩﻩselect reader、readerId,reader、readerName ,借阅表、bookId,book、bookName,book、bookPublishfrom reader ,借阅表,bookwherereader、readerId = 借阅表、readerIdﻩﻩﻩﻩandbook、bookId = 借阅表、bookIdﻩﻩand 借阅表、readerId='1000000007'16)查询至少借阅过1本机械工业出版社出版得图书得读者得读者号、姓名、书名及借阅本数,并按借阅本书多少降序排列selectr、Rno,Rname,count(borrow、Bno)借阅册数from borrow,b,rwhere b、bno=borrow、bnoand press='机械工业出版社' and borrow、rno=r、rnogroup by r、rno,Rnameorderbycount(borrow、Bno) desc17)查询与‘王小平'得办公电话相同得读者得姓名/* 使用“自连接方式”求解*/ﻩﻩselect b、readerName,b、readerId,a、readerOfficeTelfrom readera,reader bwhere a、readerName like ’王小平'anda、readerOfficeTel=b、readerOfficeTel/*18)查询所有单价小于平均单价得图书得书号、书名及出版社select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(ﻩselectavg(bookPrice)as averagePriceﻩfrom book)19)查询‘科学出版社’得图书单价比‘机械工业出版社’最高单价还高得图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPublish like’科学出版社’and bookPrice〉(ﻩselectmax(bookPrice)ﻩfrom bookwhere bookPublish='机械工业出版社')20)查询‘科学出版社’得图书中单价比‘机械工业出版社'最低单价高得图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice 〈(ﻩselect max(bookPrice)ﻩfrom bookﻩwhere bookPublish ='机械工业出版社’ﻩ)and bookPublish like’科学出版社'21)创建机械工业出版社图书得视图CREATE VIEW 机械工业出版社ViewASSELECT bookId,bookName,bookPriceFROM bookWHERE bookPublish=’机械工业出版社'22)创建一个借阅统计视图,名为CountView,包含读者得读者号与总借阅本数CREATEVIEW CountViewASSELECT readerId as读者号,count(*) as 总借阅本数FROM借阅表GROUPBY readerId23)创建一个借阅统计视图,名为CountView10,包含借阅总本数打于2得读者号与总借阅本数CREATE VIEW借阅统计视图ViewASSELECT readerIdas读者号,count(*) as总借阅本数FROM 借阅表GROUP BY readerIdHAVINGCOUNT(*)〉2。

数据库原理实验报告

数据库原理实验报告

计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级:2012级本科班学号:*****姓名:指导教师:2014年06月18 日实验项目列表计算机与信息学院实验报告纸实验一数据库创建与管理一、实验目的与要求1、熟练掌握SSMS中界面方式创建和管理数据库。

2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。

3、熟练掌握备份和还原数据库。

二、实验内容1、界面方式创建和管理数据库(1)创建数据库(2)修改数据库(3)删除数据库2、利用企业管理器备份和还原数据库(1)备份数据库(2)还原数据库3、T-SQL语句方式创建和管理数据库(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJON(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,SIZE = 3,MAXSIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,SIZE = 1,FILEGROWTH = 10%)(2)修改SPJ数据库:在查询分析器中输入以下语句并运行ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data',SIZE=4,ALTER DATABASE SPJADD FILE(NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1,MAXSIZE=10,FILEGROWTH=10%)(3)删除SPJ数据库:DROP DATABASE SPJ4、界面方式创建数据库XSBOOK,写出操作过程。

实验5 数据库保护.doc

实验5 数据库保护.doc

实验5 数据库保护数据安全性实验一.实验目的本实验的目的是通过实验使学生加深对数据安全性的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法。

二.相关知识SQL Server提供以下四种防线:1.Windows NT操作系统的安全防线Windows NT的网络管理员负责建立用户组,设置帐号并注册,同时决定不同的用户对不同的系统资源的访问级别。

用户只有拥有了一个有效的Windows NT登录帐号,才能对网络资源进行访问。

2.SQL Server的运行安全防线SQL Server 通过另外一种帐号设置来创建附加安全层。

SQL Server具有标准登录和集成登录两种用户登录方式,用户只有登录成功,才能与SQL Server建立一次连接。

3.SQL Server数据库的安全防线SQL Server的特定数据库都有自己的用户和角色(用户组),该数据库只能由它的用户或角色访问,其他用户无权访问其数据,数据库系统可以通过创建和管理特定的数据库的用户和角色来保证数据库不被非法用户访问。

4.SQL Server数据库对象的安全防线SQL Server可以对权限进行管理,SQL的DCL功能保证合法用户即使进了数据库也不能有超越权限的数据操作,即合法用户必须在自己的权限范围内进行数据操作。

三.实验内容本实验的实验内容为:1.在SQL Server企业管理器中,设置SQL Server的安全认证模式。

2.通过SQL Server企业管理器,实现对SQL Server的用户和角色管理。

3.分别通过SQL Server企业管理器和SQL的数据控制功能,设置和管理数据操作权限。

四.实验步骤1.在SQL Server企业管理器中为所属的SQL 服务器设置为SQL Server和Windows NT混合安全认证模式。

其步骤如下:1)在企业管理器窗口中展开服务器组,用鼠标右击需要设置的SQL服务器,在弹出的菜单中选择“属性”项,则出现SQL Server属性对话框,如图1所示。

数据库原理实训实验报告

数据库原理实训实验报告

一、实验背景随着信息技术的飞速发展,数据库技术在各行各业的应用越来越广泛。

为了让学生更好地理解和掌握数据库原理,提高数据库应用能力,我们开展了数据库原理实训实验。

本次实验旨在通过实际操作,让学生熟悉数据库的基本概念、结构、操作方法以及应用技巧,培养学生的实践能力和创新意识。

二、实验目的1. 熟悉数据库的基本概念、结构、操作方法以及应用技巧。

2. 掌握数据库设计、创建、操作、查询、维护和安全性管理的基本操作方法和技巧。

3. 提高学生的实践能力和创新意识。

三、实验内容本次实验主要分为以下几个部分:1. 数据库设计2. 数据库创建3. 数据表操作4. 数据查询5. 数据库维护6. 数据库安全性管理四、实验步骤1. 数据库设计首先,我们需要设计一个数据库。

根据实验要求,我们设计了一个学生信息管理系统数据库,包含学生表、课程表、成绩表和教师表。

以下是数据库设计的基本步骤:(1)确定数据库主题:学生信息管理系统(2)分析数据需求:根据需求分析,确定学生信息管理系统需要存储的数据,包括学生基本信息、课程信息、成绩信息和教师信息。

(3)设计数据结构:根据数据需求,设计学生表、课程表、成绩表和教师表的结构,包括字段名、字段类型、字段长度、约束等。

2. 数据库创建完成数据库设计后,我们需要创建数据库。

以下是创建数据库的基本步骤:(1)打开数据库管理工具,如MySQL、SQL Server等。

(2)在工具中创建一个新的数据库,命名为“学生信息管理系统”。

(3)根据数据库设计,在新建的数据库中创建相应的数据表。

3. 数据表操作创建数据表后,我们需要对数据表进行操作,包括插入、修改、删除和查询数据。

(1)插入数据:使用INSERT语句插入数据。

(2)修改数据:使用UPDATE语句修改数据。

(3)删除数据:使用DELETE语句删除数据。

(4)查询数据:使用SELECT语句查询数据。

4. 数据查询数据查询是数据库操作中非常重要的一环。

数据库实验报告

数据库实验报告

数据库实验报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作总结、工作计划、演讲致辞、策划方案、合同协议、规章制度、条据文书、诗词鉴赏、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as work summaries, work plans, speeches, planning plans, contract agreements, rules and regulations, doctrinal documents, poetry appreciation, teaching materials, other sample essays, etc. If you want to learn about different sample formats and writing methods, please stay tuned!数据库实验报告数据库实验报告(通用3篇)数据库实验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1.这次实习可以使我们在课本上学到的知识用于实践增加了我对电脑技巧的一些认知。

数据库实验5 存储过程和触发器

数据库实验5 存储过程和触发器

实验五存储过程和触发器一、实验目的(1) 通过实践理解存储过程和触发器的概念、作用及优点;(2) 掌握存储过程的定义与调用,实现存储过程中带有不同参数的应用;(3) 掌握创建触发器。

二、实验原理1.存储过程一个被命名的存储在服务器上的T-SQL语句的集合,是封装重复性工作的一种方法。

(1)创建存储过程CREATE PROC[DURE]PROCDURE_NAME [{@PARAMENT DATA_TYPE}[VARYING][=DEFAULT][OUTPUT]] [, (1)AS SQL_STATEMENTPROCEDURE_NAME:新存储过程的名称,必须符合标识符规则且唯一。

@PARAMETER:过程中的参数。

可以声明一个或多个参数。

用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。

使用 @ 符号作为第一个字符来指定参数名称。

参数名称须符合标识符规则。

每个过程的参数仅用于该过程本身;相同的参数名称可用在其它过程中。

默认情况下参数只能代替常量,不能代替表名、列名或其它数据库对象名称。

DATA_TYPE:参数的数据类型。

DEFAULT:参数的默认值。

如果定义了默认值,不必指定该参数的值即可执行过程。

默认值必须是常量或 NULL。

OUTPUT:表明参数是返回参数。

该选项的值可以返回给 EXEC[UTE]。

使用 OUTPUT 参数可将信息返回给调用过程。

(2)执行存储过程SQL SERVER系统中,可以使用EXECUTE语句执行存储过程。

EXECUTE语句也可以简写为EXEC。

如果将要执行的存储过程需要参数,那么应该在存储过程名称后面带上参数值。

[EXEC[UTE]]{[@RETURN_STATUS=]{PROCEDURE_NAME[;NUMBER]|@PROCEDURE_NAME_VAR}[@PARAMETER={VALUE|@VARIABLE[OUTPUT]|[DEFAULT]}[,…N](3) 删除存储过程使用DROP PROCEDURE语句可永久地删除存储过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)求选修4号课程的学生的平均年龄
selectavg(sage)as'平均年龄'
fromstudsc.sno=student.sno
3)求学分为3的每门课程的学生平均成绩
selectcname,avg(grade)as'平均成绩'
fromcourse,sc
whereccredit=o=o
)
22)求至少用了单位S1所提供的全部零件的工程号
selectdistinctjn
fromspjasx
wherenotexists
(select*
fromspjasy
wherey.sn='s1'andnotexists
(select*
fromspjasz
wherez.pn=x.pnandz.jn=x.jn
fromspj,s,j,p
wheres.sn=spj.snandj.jn=spj.jnandp.pn=spj.pn
20)重复19题,但不检索两个CITY值相同的二元组
selectdistincts.cityas'供应商',p.pn,j.cityas'工程'
fromspj,s,j,p
wheres.sn=spj.snandj.jn=spj.jnandp.pn=spj.pn
4)统计每门课程的学生选修人数,要求超过3人的课程才统计,要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
8)求年龄大于女学生平均年龄的男学生姓名和年龄
9)求年龄大于所有女学生年龄的男学生姓名和年龄。
2.完成实验指导书P72中的第17-22小题
17)取出由供应商S1提供零件的工程代号
)
)
实验分析
今天的实验是进行多表查询,通过看前面的实验示例,基本能够做出实验。总体来说,本次实验不是很难,就是题目有些绕,不是很好了解。通过本次实验,我逐渐对SQL有所了解,对于表格的建立和检索也有了初步的认识。能过自己编程进行检索,虽然这只是一个初步的认识,但是对于简单查询有了一定的了解,在以后的学习中会继续努力学习的。
selectdistincts.cityas'供应商',j.cityas'工程'
fromspj,s,j
wheres.sn=spj.snandj.jn=spj.jn
19)取出所有这样的三元组<CITY,P#,CITY>,使得第1个城市的供应商为第2个城市的工程提供指定的零件
selectdistincts.cityas'供应商',p.pn,j.cityas'工程'
2.掌握SELECT语句在多表查询中的应用;
3.掌握SELECT语句在复杂查询中的使用方法。
三、实验项目摘要
1.完成实验指导书P69中(2)的第1-4、8、9小题
(2)基于“教学管理”数据库,使用SQL的查询语句表达下列查询:
1)统计所有学生选修的课程门数
2)求选修4号课程的学生的平均年龄
3)求学分为3的每门课程的学生平均成绩
18)取出所有这样的二元组<CITY,CITY>,使得第1个城市的供应商为第2个城市的工程提供零件
19)取出所有这样的三元组<CITY,P#,CITY>,使得第1个城市的供应商为第2个城市的工程提供指定的零件
20)重复19题,但不检索两个CITY值相同的二元组
21)求没有使用天津单位生产的红色零件的工程号
groupbycname
4)统计每门课程的学生选修人数,要求超过3人的课程才统计,要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
selectcno,count(sno)as'选修人数'
fromsc
groupbycno
havingcount(*)>3
orderbycount(*)desc,cno
fromstudent
wheressex='男'and
sage>all(selectsage
fromstudent
wheressex='女'
)
2.完成实验指导书P72中的第17-22小题
17)取出由供应商S1提供零件的工程代号
selectdistinctjn
fromspj
wheresn='s1'
18)取出所有这样的二元组<CITY,CITY>,使得第1个城市的供应商为第2个城市的工程提供零件
22)求至少用了单位S1所提供的全部零件的工程号
四、实验结果与分析
(2)基于“教学管理”数据库,使用SQL的查询语句表达下列查询:
1)统计有学生选修的课程门数
selectsname,count(cno)as'课程门数'
fromstudent,sc
wherestudent.sno=sc.sno
groupbysname
8)求年龄大于女学生平均年龄的男学生姓名和年龄
selectsname,sage
fromstudent
wheressex='男'and
sage>all(selectavg(sage)
fromstudent
wheressex='女'
)
9)求年龄大于所有女学生年龄的男学生姓名和年龄。
selectsname,sage
《数据库原理及应用》课程实验报告
实验名称
综合查询
实验序号
5
实验日期
2013-4-24
姓名
院系
计算机科学与信息工程学院
班级
C1
学号
专业
计算机科学与技术
指导教师
刘梅
成绩
一、实验目的和要求
1.掌握SELECT语句在多表查询中的应用
2.掌握SELECT语句在复杂和综合查询中的应用
二、实验预习内容
1.掌握SELECT语句在单表查询中的应用;
ands.city!=j.city
21)求没有使用天津单位生产的红色零件的工程号
selectdistinctjn
fromspj
wherejnnotin
(
selectjn
froms,p,spj
wheres.city='天津'andp.color='红'ands.sn=spj.snandp.pn=spj.pn
注:空间不够,可以增加页码。
相关文档
最新文档