数据库应用实验五

实验五T-Sql编程

实验内容:P299 T-Sql编程

1.定义一个变量,用于描述YGGL数据库中的Salary表员工000001的实际收入,然后查询该变量;

2.判断姓名为“王林”的员工的实际收入是否高于2500,如果是则显示其收入,否则显示“收入不高于2500”;

3.使用between查询工作时间大于5年小于10年的员工的信息

4.使用if语句对employmees表按部门进行分类;

5.使用循环输出一个“*”组成的三角形;

6.使用rand()函数产生一个0~1的随机值;

7.求财务部雇佣的总人数;

8.查询员工收入的平均数;

9.求财务部收入最高的员工的姓名

实验5实验报告

学号:20164477 姓名:陈家凤 实验五SQL语言 一、目的与要求 1.掌握SQL语言的查询功能; 2.掌握SQL语言的数据操作功能; 3.掌握对象资源管理器建立查询、索引和视图的方法; 二、实验准备 1.了解SQL语言的查改增删四大操作的语法; 2.了解查询、索引和视图的概念; 3.了解各类常用函数的含义。 三、实验内容 (一)SQL查询功能 使用提供的studentdb数据库文件,先附加到目录树中,再完成下列题目,SQL命令请保存到脚本文件中。 1.基本查询 (1)查询所有姓王的学生的姓名、学号和性别 Select St_Name,St_Sex,St_ID From st_info Where St_Name like'王%' 图5-1 (2)查询全体学生的情况,查询结构按班级降序排列,同一班级再按学号升序, 并将结果存入新表new中 select*into new from st_info order by Cl_Name desc,st_ID asc

图5-2 (3)对S_C_info表中选修了“体育”课的学生的平均成绩生成汇总行和明细 行。(提示:用compute汇总计算) 因2014版本已不支持compute关键字,所以选择用其他方式。 Select c_no,score From s_c_info Where c_no=29000011 group by c_no,score 图5-3 2.嵌套查询 (1)查询其他班级中比“材料科学0601班”的学生年龄都大的学生姓名和年 龄 select st_name,born_date from st_info where cl_name!='材料科学0601班'and born_date<(select min(born_date) from st_info where cl_name='材料科学0601班')

实验五 SQL Server安全性管理

实验五SQL Server数据库安全性管理 实验目的:理解SQL Server 2000的两种登录认证模式;掌握SQL Server 2000中有关用户、角色及操作权限的管理方法。 背景知识: 对任何企业组织来说,数据的安全性最为重要。安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQL Server,并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。因此安全性管理与用户管理是密不可分的。SQL Server 2000 提供了内置的安全性和数据保护,并且这种管理有效而又容易。 SQL Server 2000 的安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上的。认证是用来确定登录SQL Server 的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQL Server 的权限。但是通过认证阶段并不代表该用户能够访问SQL Server 中的数据,用户只有在获取访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作(主要是针对数据库对象,如表、视图、存储过程等),这种用户访问数据库权限的设置是通过用户账号来实现的,同时在SQL Server 中,角色作为用户组的代替物大大地简化了安全性管理。 数据库的安全管理主要是对数据库用户的合法性和操作权限的管理。数据库用户(在不至于引起混淆的情况下简称用户)是指具有合法身份的数据库使用者,角色是具有一定权限的用户组。SQL Server的用户或角色分为二级:一级为服务器级用户或角色;另一级为数据库级用户或角色。 SQL Server的安全性管理包括以下几个方面:数据库系统登录管理、数据库用户管理、数据库系统角色管理以及数据库访问权限的管理。 一、SQL Server 2000版本: Microsoft公司于2000年9月布了SQL Server 2000,其中包括企业版(Enterprise Edition)、标准版(Standard Edition)、开发版(Developer Edition)、个人版(Personal Edition)四个版本。 它们的各自特点如下: ◆企业版提供了最多的功能特性和最佳的性能,适用于大规模的企业生产应用 环境。 ◆标准版的功能相对少一些,比较适合于中小规模的企业生产应用环境。 ◆开发版拥有企业版中的绝大多数功能特性,但它只能用于开发和测试,而不 能用在生产环境中。 ◆个人版的功能和标准版类似,但在扩展性上有一定限制,如最多只能利 用两个CPU、并发连接数超过5个时性能会有显著下降等。个人版通常适用于经常断开网络连接而又需要访问数据库的移动办公用户。另外,个人版不单独出售,而只能随企业版或标准版一同获得。

数据库实验5 视图操作

实验五视图操作(2学时) 【实验目的】 1. 学会使用SQL语句创建和使用视图,加深对视图和SQL Server基表作用的理解。 2. 了解数据库安全控制的机制,以及自主存取控制方法。 【实验要求】 1.掌握创建、修改视图的SQL语句的用法。 2.掌握使用企业管管理器创建、修改视图的方法。 3.掌握查看视图的系统存储过程的用法。 4.掌握视图的使用方法。 5.掌握SQL有关用户、角色及操作权限的管理方法。 【实验内容】 一、视图操作 (一)定义视图 以Student 、Course表为基础完成以下视图定义。 1.定义计算机系学生基本情况视图V_Computer。 2.将Student Course 和Student_course表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。 3.将各系学生人数,平均年龄定义为视图V_NUM_AVG。 4.定义一个反映学生出生年份的视图V_YEAR。 5.将各位学生选修课程的门数及平均成绩定义为视图V_A VG_S_G。 6.将各门课程的选修人数及平均成绩定义为视图V_A VG_C_G。 (二)使用视图 1. 查询以上所建的视图结果。 2. 查询平均成绩为90分以上的学生学号、姓名和成绩。 3. 查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩。 4. 按系统计各系平均成绩在80分以上的人数,结果按降序排列。 (三)修改视图 1. 通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果。 2. 通过视图V_IS,新增加一个学生记录('S12','YAN XI',19,'IS'),并查询结果。 3. 通过视图V_IS,新增加一个学生记录('S13','YAN XI',19,'MA'),并查询结果。 4. 通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果。 5. 要通过视图V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否可以实现?并说明原因。 6. 要通过视图V_A VG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?并说明原因。 二、数据库安全性控制 1.在企业管理器中为所属的SQL服务器设置Windows NT安全认证模式。 2.在企业管理器中为自己建立一个服务器用户、数据库用户和数据库角色。并将自己创建的学生库所有操作权赋予它们,将自设计的数据库的操作权赋予新建的数据库用户。

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

数据库基础与实践实验报告实验五存储过程和触发器 班级:惠普测试142 学号:1408090213 姓名:闫伟明 日期:2016-11-14

1 实验目的: 1)掌握SQL进行存储过程创建和调用的方法; 2)掌握SQL进行触发器定义的方法,理解触发器的工作原理; 3)掌握触发器禁用和重新启用的方法。 2 实验平台: 操作系统:Windows xp。 实验环境:SQL Server 2000以上版本。 3 实验内容与步骤 利用实验一创建的sch_id数据库完成下列实验内容。 1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。 存储过程定义代码: CREATE PROCEDURE JSXX_PROC AS SELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND https://www.360docs.net/doc/9719177252.html,o=https://www.360docs.net/doc/9719177252.html,o 存储过程执行语句与执行结果截图: EXECUTE JSXX_PROC 2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、 所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。 存储过程定义代码:

CREATE PROCEDURE XM_PROC @sname VARCHAR(100) AS BEGIN IF EXISTS(SELECT NULL FROM S WHERE sn=@sname) SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE https://www.360docs.net/doc/9719177252.html,o=https://www.360docs.net/doc/9719177252.html,o AND SC.sno=S.sno AND S.sn=@sname ELSE PRINT'无该姓名的同学。' END 运行截图: 3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业), 统计并显示该专业各年龄段男、女生人数。如果没有该专业,则显示“无此专业”。 存储过程定义代码: CREATE PROCEDURE XBNL_PROC @departName VARCHAR(30)='计算机', @begin INT, @end INT AS

数据库实验五 表连接查询

实验五表连接查询 1.查找每一个供应商供应的商品的名称,要求显示供应商名称和商品名称。 select Sname,Cname from supplier,commodity,supplying where supplier.Sid=supplying.Sid and commodity.Cid=supplying.Cid 2.使用连接查询查找与姓名为‘李云’的采购员签订采购单的供应商的名称。 select distinct(sname) from stock,Employee,supplier where stock.Eid=Employee.Eid and stock.Sid=supplier.Sid and Ename like'李云' 3.使用关键字IN完成查询,要求查找与姓名为‘李云’的采购员签订采购单的供应商的名称。 select Sname from supplier where Sid in (select Sid from stock where Eid in (select Eid from Employee where Ename='李云') ) 4.使用左外连接完成如下查询:要求查找所有采购员签订的采购合同的详细信息。 select * from Employee left outer join stock on Employee.Eid=stock.Eid 5.使用左外连接完成如下查询:查找所有客户购买的商品详细信息,要求显示客户名称,商品名称,销售数量,商品单价,没有购买商品的客户也要显示。 select CUname,Cname,SDnumber,SDprice from customer left outer join sale on customer.CUid=sale.CUid left outer join saleDetail on sale.SAid=saleDetail.SAid left outer join commodity on saleDetail.cid=commodity.cid

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

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

SQL数据库实验五答案

(1) insert into Student(Sno,Sname,Ssex,Sdept) values('06011','王文娟','女','计算机') (2) 不能将值NULL 插入列'Sno',表'AA.dbo.Student';列不允许有Null 值。INSERT 失败。语句已终止。 因为Sno为主码,主码不能为空。 (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 decimal(4,1)Null) (4) insert into CP_Student select* from Student where Sdept='计算机'OR Sdept='外国语' (5) update Teacher set Tname='王芳龄' where Tname='王芳' (6) update Teacher set Tpay=Tpay*(1+0.02) where Tprof='副教授' (7) update SC set Grade=Grade+1 where Sno=(select Sno from Student where Sname='李强') (10) delete from Student where Sno='06011' (11) \delete from CP_Student

where Sbirth<='1987' (12) delete from CP_Student (13) select* into CP_Teacher from Teacher where Tno IS NULL (14) insert into CP_Teacher select* from Teacher where Tprof='副教授' (15) insert into CP_Teacher select* from Teacher where Tprof<>'副教授' (16) SELECT。。。INTO。。。和INSERT。。。INTO。。。都是将源表中的记录插入到目标表中,SELECT。。。INTO。。。在插入记录的时候目标表不存在,而是在插入记录时自动创建。 INSERT。。。INTO。。。在插入记录的时候目标表存在

实验5数据库的安全性控制(含答案)

实验五数据库的安全性控制 一、实验目的: 1. 通过实验加深对数据安全性的理解,并掌握SQL Server 中有关用户登录的认证以及管理办法; 2.通过实验加深对数据库存储控制机制的理解,通过自主存取控制进行权 限管理,熟悉 SQL Server 中角色管理; 3.通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应用。 二、实验内容 1.设置 SQL Server 的混合安全认证模式。在SQL Server 中的对象资源管理器中设置安全认证模式。 2.在 SQL Server 中,利用“对象资源管理器”创建一个名为“U1”的登录用户和数据库用户,密码为111,并允许其登录S-T 数据库。

3.在 SQL Server中,利用代码创建一个名为“ U2”的登录用户,密码为 111;

其相应的数据库用户名为lucky ,并允许其登录S-T 数据库。 4.用“ u1”用户名登录后,执行对students表的查询操作,说明执行结果,并分析原因(建议:在启动一个SQL Server 2008窗口)。 分析:没有对u1 进行其他操作的授权,只能登录而不能进行插入,修改等操作 5.将 students表的操作权限select 和 insert 赋予数据库用户u1,并允许其向其它用户授权。

6.以“u1”用户名登录,执行对students和 teacher表的查询操作,将该运行结果进行分析。 分析:对比第 4 题,对 U1 进行授权后可以进行相应的操作 7.执行下列代码后,分析用户u2 能否对 s_t 数据库的 student 表进行 select 和 update操作,为什么?并用相应的语句验证。

数据库实验五六1

实验五视图、索引及数据更新 一、实验目的: 熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用, 熟练掌握数据插 入、修改和删除的使用,为后继学习作准备。 二、实验属性(验证性) 1.了解并掌握SQL查询分析器及企业管理器的使用; 2.掌握基本表的定义、删除与修改。 三、实验原理 SQL语言应用。 四、实验步骤: (1) 启动Oracle的SQL Developer或者SQL Plus,或者SQL Server 查询分析器; (2) 对于Oracle11g的SQL Plus需要进行登录,对于Oracle11g的SQL Developer需要进行建立连接。 1 建立索引 建立唯一索引: 例3.1 为学生选课数据库中的Students,Courses,SC三个表建立索引。其中Students表按Sname升序建唯一索引,Courses表按Cname升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。

查看自己建立的索引: 2 删除索引 例3.2 删除基本表SC上的Rep_SCno索引。 然后查询看索引是否还存在。理解索引的意义。 例3.3 删除基本表student上的Rep_Sno索引。 3 建立视图 例3.4 建立数学系学生的视图C_Student,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。

例3.5 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图Student_CR。 例 3.6定义一个反映学生出生年份的视图student_birth(sno,sname,s_birth,ssex,sdept)。 视图建立后,使用命令查询自己创建的视图: 4 查询视图 例3.7 在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。

数据库实验五

实验五:数据库综合查询姓名:潘年品学号:120802010027 一、实验目的 1. 掌握SELECT语句的基本语法和查询条件表示方法; 2. 掌握查询条件种类和表示方法; 3. 掌握连接查询的表示及使用; 4. 掌握嵌套查询的表示及使用; 5. 了解集合查询的表示及使用。 二、实验环境 已安装DBMS的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1. 了解SELECT语句的基本语法格式和执行方法; 2. 了解连接查询的表示及使用; 3. 了解嵌套查询的表示及使用; 4. 了解集合查询的表示及使用; 5. 完成实验报告; 五、实验内容及步骤 以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作: 1.查询以‘数据_’开头,且倒数第3个字符为‘结’的课程的详细情况; 2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名; 3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩; 4. 查询缺少成绩的所有学生的详细情况; 5. 查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; 6. 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩; 7. 按照‚学号,姓名,所在院系,已修学分‛的顺序列出学生学分的获得情况。其中已修学分为考试已经及格的课程学分之和; 8. 列出只选修一门课程的学生的学号、姓名、院系及成绩; 9. 查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号; 10. 只选修‚数据库‛和‚数据结构‛两门课程的学生的基本信息; 11. 至少选修‚数据库‛或‚数据结构‛课程的学生的基本信息; 12. 列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩; 13. 查询只被一名学生选修的课程的课程号、课程名; 14. 检索所学课程包含学生‘张向东’所学课程的学生学号、姓名; 15. 使用嵌套查询列出选修了‚数据结构‛课程的学生学号和姓名; 16. 使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系; 17. 使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生; 18. 分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息; 19. 使用集合查询列出CS系的学生以及性别为女的学生名单;

数据库技术与应用实验五

实验5 索引和视图 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建 索引的方法。 (2)掌握使用SQL Server管理平台查看索引的方法。 (3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索 引的方法。 (4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建 视图的用法。 (5)了解索引和视图更名的系统存储过程sp_rename的用法。 (6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。 2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 CREATE INDEX grade_index ON grade(分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号) (5)分别使用SQL Server管理平台和系统存储过程sp_helpindex查看grade 表和student_info表上的索引信息。 sp_helpindex grade (6)使用SQL Server管理平台对grade表创建一个聚集索引和唯一索引。(7)使用系统存储过程sp_rename将索引grade_index更名为grade_ind。 sp_rename 'grade.grade_index','grade_ind','INDEX' (8)分别使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引grade_ind。再次使用系统存储过程sp_helpindex查看grade表上的索引信 息。 DROP INDEX grade.grade_ind (9)在studentsdb数据库中,以student_info表为基础,使用SQL Server 管理平台建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。(10)在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用 视图查询学号为0003的学生情况。 (11)基于student_info表、curriculum表和grade表,建立一个名为v_stu_g 的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g 查询学号为0001的学生的所有课程与成绩,如图1-9所示。 图1-9 学号为0001的学生的视图信息 (12)分别使用SQL Server管理平台和Transact-SQL语句修改视图v_stu_c,

实验五数据库应用程序的设计

对 birthday 实验五 数据库应用程序的设计 一、实验目的及要求 1. 综合运用数据库系统理论知识构建数据库。 2. 在 SQL Server 2000 环境中实现数据库及相关功能。 二、实验任务 设计、开发一个简单的管理信息系统(如人力资源管理系统,系统可自选) 三、操作要点 1. 设计人力资源管理系统的功能结构。 2. 使用 SQL Server 2000 数据库管理系统创建和管理该系统的后台数据库。 3. 使用 Delphi 编程语言 ( 也可自选其他编程语言 )进行该系统前台的开发。 四、注意事项 1)各模块功能的实现。 2)实验报告主要包括数据库的设计部分 五、实验学时: 4 学时(未完成部分在课下完成) 六、实验重点及难点 1. 系统功能结构的设计。 2. 数据库结构的设计。 3. 各模块界面的设计和功能的实现。 4. 尝试采用存储过程来实现所有对数据库的操作(包括查询、修改、增加、删除) 七、实验步骤 1. 存储过程及触发器 ( 1)建立 Employees ,department 表,对该表中的 departmentID 列建立索引; 按降 序, marriage 按升序建立索引; 对 idcard 建立唯一索引 create table Employees ( staffid varchar ( 8) primary key , idcard varchar ( 15), realname varchar ( 32 ) not null, username varchar ( 32 ) not null, sex char ( 2) not null, departmentID varchar ( 8) not null, marriage varchar ( 8), birthday datetime , education varchar ( 16), interest varchar ( 512 ), skill varchar ( 512 ), introduce varchar ( 1024 ) foreign key ( departmentID ) references department ( departmentID )) create table department ( departmentID varchar ( 8) primary key , deptname varchar ( 20),

数据库实验和参考答案

数据库实验和参考答案 上机实验三 1.在“学生管理数据库”中用查询分析器创建p82页的课程数据表(表名为kcb),并输入数据内容。2.用查询分析器在student表中增加一个字段:“电话号码”,字符型,并设置默认值为“1111111”。3.用查询分析器删除kcb表的主键4.用企业管理器或查询分析器修改course表,设置约束:学时>=学分*16。 5.用查询分析器修改学生管理数据库中的students_dat文件增容方式为一次增加3MB. 6.将“学生管理数据库”更名为“学生管理”。 7.将“学生管理”数据库备份到外

存中。 8.将“学生管理”数据库的数据导出为excel文件,并保存在外存中。9.为course表中的课程名建立唯一性索引。 10.将“学生管理”数据库从系统中分离出来。 11. 将“学生管理”数据库附加到企业管理器中。 上机实验四 1.分别查询学生表和学生修课表中的全部数据。 2.查询计算机系的学生的姓名、年龄。 3.查询选修了c01号课程的学生的

学号和成绩。 4.查询成绩在70到80分之间的学生的学号、课程号和成绩。 5.查询计算机系年龄在18到20之间且性别为“男”的学生的姓名、年龄。 6.查询0412101号学生的修课情况。7.查询c01号课程成绩最高的分数。8.查询学生都选修了哪些课程,要求列出课程号。 9.查询Northwind数据库中orders 表的OrderlD、CustomerID和

OrderDate,并将最新的定购日期(OrderDate)列在前边。 10.查询Northwind数据库中orders 表的ShipCountry列以B,C,D,F 开始且第三个字符为“a”的OrderlD、CustomerID和ShipCountry的信息。 11.查询Northwind数据库中orders 表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是“a”的OrderlD、CustomerlD和ShipCountry的信息。

数据库实验五:视图的应用

数据库实验五:视图的应用 一、实验目的与要求: 1.实验目的 (1)理解视图的概念; (2)掌握视图的使用方法。 (3)理解视图和基本表的异同之处。 2.实验要求 (1)参照实验五中完成的查询,按如下要求设计和建立视图: 1)基于单个表按投影操作定义视图。 2)基于单个表按选择操作定义视图。 3)基于单个表按选择和投影操作定义视图。 4)基于多个表根据连接操作定义视图。 5)基于多个表根据嵌套操作定义视图。 6)定义含有虚字段的视图。 (2)分别在定义的视图设计一些查询(包括基于视图和基本表的连接或嵌套查询)。 (3)在定义的视图上进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。 (4)在实验报告中要给出具体的视图定义要求和操作要求,并针对各种情况做出具体的分析和讨论。 二、实验内容 1、实验原理

(1)视图是用SQL SELECT查询定义的,创建视图命令格式如下: CREATE VIEW <视图名> AS (2)删除视图的命令格式如下: DROP VIEW <视图名> 2、实验步骤与结果 (1)调出SQL Server2005软件的用户界面,进入SQL SERVER MANAGEMENT STUDIO。 (2)输入自己编好的程序。 (3)检查已输入的程序正确与否。 (4)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。 (5)输出程序清单和运行结果。 (1)参照实验五中完成的查询,按如下要求设计和建立视图: 1)基于单个表按投影操作定义视图。 create view v as select教师编号,姓名 from教师

上海应用技术学院-数据库-实验五

上海应用技术学院-数据库- 实验五(总4页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

《数据库原理及应用》课程实验报告

四、实验结果与分析 1.(1)select count(distinct cno)from sc (2)select avg(age)from s,sc where s.sno=sc.sno and cno='4' (3)select avg(score)from c,sc where https://www.360docs.net/doc/9719177252.html,o=https://www.360docs.net/doc/9719177252.html,o and ct='3' (4)select distinct cno,count(cno)选修人数from sc group by cno having count(cno)>3 order by count(cno)desc,cno (5)select sn,age from s where sex='男' and age>(select avg(age)from s where sex='女')

(6)select sn,age from s where sex='男' and age>all(select age from s where sex='女') 2.(1)select spj.pn from spj where spj.jn in(select jn from j where j.city='上海')and spj.sn in(select sn from s where s.city='上海') (2)select distinct jn from spj where jn not in(select spj.jn from s,spj where s.sn=spj.sn and s.city ='上海') (3)select distinct jn from spj where sn='s1' (4)select distinct s.city, j.city from s,p,j,spj where s.sn=spj.sn and j.jn=spj.jn

相关文档
最新文档