第一篇:云南大学软件学院数据库试验5
云南大学软件学院
实验报告
课程:数据库原理与实用技术实验任课教师:姓名:学号:专业:成绩:
实验5数据查询
1、完成教科书163页的如下习题:
[3.2]b:select aid from AGENTS
where [percent] >=all
(select MAX([percent])from AGENTS)
[3.5]:select aid,cid from AGENTS A,CUSTOMERS C
where aid not in
(select aid from ARDERS X
where X.cid=C.cid and X.aid=a.aid)
order by aid,cid
from ARDERS
group by cid,pid,dollars[3.8]a:select cid,pid,MAX(dollars)as MAXSPENT
[3.8]b:select AVG(MAXSPENT)as AVERAGE from(select cid,pid,MAX(dollars)as MAXSPENT
from ARDERS
group by cid,pid,dollars)
as x
group by
cid
[3.11]b:(select cid,pid,AVG(dollars)as AVGSPENT
from ARDERS group by cid,pid,dollars)as x
where cid not in(select cid from(select cid,pid,AVG(dollars)as AVGSPENT
from ARDERS group by cid,pid,dollars)
as x where AVGSPENT <300)
[3.11]f:select pid from ARDERS
where cid in(select cid from CUSTOMERS
where city='Dallas')
[3.11]j:update PRODUCTS
set price=1.1*price
where city='Duluth'or city='Dallas'
[3.11]select aid,[percent] from AGENTS a
where not exists(select cid from CUSTOMERS c
where city='Duluth' and not exists(select o.cid from ARDERS o
where o.cid=c.cid and a.aid=o.aid))
order by
[percent]
2、在“学生管理数据库”中完成如下查询:
(1)列出软件2班女同学的名单
select * from 学生表where 班级='软件班' and 性别='女'
(2)列出2002年元旦前注册的学生名单
select * from 学生表where 入学日期<'2002-1-1'
(3)列出所有年龄在19岁以下,或者女同学的名单
select * from 学生表where 年龄<='19' or 性别='女'
(4)列出没有先修课的课程名
select * from 课程表where 先修课is null
(5)列出既不是“电子系”,也不是“会计系”的学生的学号、姓名和所在院系
select 学号,姓名,所在院系from 学生表where 所在院系not in('电子系','会计系')
(6)查询选修“C801”课程的学生的最高分
select max(成绩)as c801最高分from 成绩表where 课程号='c801'
(7)统计男、女学生各自的人数和平均年龄
select 性别,count(性别)as 人数,avg(年龄)as平均年龄from 学生表group by 性别
(8)列出选修了一门以上课程的学生学号,及其选修门数
select 学号,count(学号)as 选修门数from 成绩表group by 学号having count(学号)>
(9)查询“沈香娜”同学所在班级的所有学生的学号和姓名
select 学号,姓名from 学生表where 班级in(select 班级from 学生表where 姓名='沈香娜')
(10)统计每一年龄选修课程的学生人数
select 年龄,count(s.学号)as 人数from(学生表s join 成绩表g on s.学号=g.学号)group by 年龄
难题:
1)在基本表“成绩表”中检索平均成绩最高的学生学号
select 学号from 成绩表
group by 学号
having AVG(成绩)>=all
(select AVG(成绩)from 成绩表
group by 学号)
2)求表S中男同学的每一年龄组(超过2人)有多少人?要求查询结果按人数升序排列,人数相同按年龄降序排列。
select 年龄,count(年龄)as 人数
from 学生表
where 性别='男'
group by 性别,年龄
order by 人数desc,年龄
desc
3)列出选修了全部课程的学生学号和姓名
select s.学号,s.姓名from 学生表s
where not exists
(select * from 课程表c
where not exists
(select * from 成绩表a
where a.学号=s.学号and a.课程号=c.课程号))
4)查询这样的学生,该生至少选修了学生20026001所选修的全部课程 select * from 学生表
where 学号in
(select 学号from 成绩表
where 课程号=all
(select 课程号from 成绩表
where 学号='20026001'))
第二篇:云南大学软件学院数据库实验3
云南大学软件学院 实验报告
课程: 数据库原理与实用技术实验学期: 2011-2012学年 第 二 学期任课教师:专业:学号:姓名:成绩:
实验3使用SQL语句创建并管理数据库、数据表
一、实验目的掌握查询分析器的使用方法。掌握T-SQL语句的基本使用。熟练掌握DDL语句。熟练掌握DML(Insert, Delete, Update)语句。
二、实验内容
1、用T-SQL语句创建并管理数据库“Employee数据库”,数据库要求见实验二。记录创建数据库的SQL语句。
2、修改数据库:将“Employee数据库”的数据库最大容量更改为无限制(UNLIMITED),然后将“Employee数据库”的日志文件增长方式改为2MB。记录SQL语句。
3、用T-SQL语句在“Employee数据库”创建数据表,数据表的结构见实验二。记录创建表的SQL
语句。
4、修改表结构:将雇员信息表person中,Prof的字段长度改为15。记录SQL语句。
5、向表中添加记录,使用Insert Into 语句分别向四张表中添加符合表结构属性的数据记录,要
求每张表至少4条记录,并显示所添加的记录数据。
6、向雇员信息表person中添加记录
完成如下操作:(1)、修改表中记录:将“王辉”的部门修改为“003”;
(2)、删除记录:删除表中性别为“女”的员工记录;
(3)、删除表:将“person”从“Employee数据库”中删除。
三、思考题
如数据库表中存在如下记录:
表person中的数据
现执行: DELETE FROM department WHERE Depton=“001”,执行结果如何?为什么?
第三篇:云南大学软件学院数据库实验2
云南大学软件学院 实验报告
课程: 数据库原理与实用技术实验学期: 2012-2013学年 第 二 学期任课教师:专业:学号:姓名:成绩:
实验2使用向导创建并管理数据库
一、实验目的理解数据库的概念。熟悉Microsoft SQL Server 2000基本操作。掌握SQL Server系统中“企业管理器”的使用方法;能够熟练使用企业管理器管理数据库、数据表。了解由已经生成的数据库产生SQL脚本的方法。
二、实验内容
SQL Server 2000数据库平台
1.使用企业管理器创建如下数据库:(截图)
2.使用企业管理器创建Employee数据库表:(截图)
3.练习生成Employee数据库脚本“employee.sql”,并分析和记录下脚本信息。
4.使用企业管理器生成Employee数据库表的关系图,并记录。
5.在企业管理其中,直接执行删除表月薪表salary中的Fact列的操作,看是否能执行这一操作。可以执行该操作
三.思考题
1、在数据库salary表中要求base不小于300,bonus不小于50如何实现。
2、在数据库雇员信息表person中要求SEX列值只能为“男”或者“女”,如何实现。
USE [Employee]
GO
/****** Object:Table [dbo].[salary]Script Date: 03/21/2013 20:33:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[salary]([Pno] [char](6)NOT NULL,[base] [decimal](18, 0)NULL,[Bonus] [datetime2](7)NULL,[Month] [int] NOT NULL,[Fact] [nchar](10)NOT NULL)ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'(工人编号、month),主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Pno'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'基本工资(要求base>=300)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'base'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖金(要求bonus>=50)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Bonus'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月份' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Month'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实发工资=基本工资+奖金' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'salary', @level2type=N'COLUMN',@level2name=N'Fact'
GO
/****** Object:Table [dbo].[person]Script Date: 03/21/2013 20:33:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[person]([Pno] [char](6)NOT NULL,[Pname] [varchar](10)NOT NULL,[Sex] [char](2)NOT NULL,[Birthday] [datetime2](7)NULL,[Prof] [varchar](10)NULL,[Deptno] [char](4)NOT NULL)ON [PRIMARY]
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工人编号,主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'person', @level2type=N'COLUMN',@level2name=N'Pno'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'person', @level2type=N'COLUMN',@level2name=N'Pname'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'person', @level2type=N'COLUMN',@level2name=N'Sex'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出生日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'person', @level2type=N'COLUMN',@level2name=N'Birthday'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'person', @level2type=N'COLUMN',@level2name=N'Prof'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门代码,外键(参照department表)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'person', @level2type=N'COLUMN',@level2name=N'Deptno' GO
/****** Object:Table [dbo].[department]Script Date: 03/21/2013 20:33:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[department]([Deptno] [date] NOT NULL,[Dname] [varchar](10)NOT NULL)ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门代码,主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'department', @level2type=N'COLUMN',@level2name=N'Deptno'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'department', @level2type=N'COLUMN',@level2name=N'Dname'
GO
第四篇:云南大学软件学院大学物理实验5
云南大学软件学院 实验报告
课程:大学物理实验学期:2012-2013学年 第一学期任课教师:王逍
班级: 星期三学号:20111120012序号: 3姓名: 武琼成绩:
实验5磁场
一、实验内容
1在本实验中预设带电粒子所带电荷q与质量m之比绝对值为1。实验程序界面如下图:任意选定10个速度,调整磁感应强度值与电场强度值,使带电粒子的运动轨迹为水平直线。
将运动轨迹为直线所对应的速度、磁感应强度、及电场强度数值填入下表中。
问题:该带电粒子带正电荷还是负电荷?为什么?
带正电,从实验已知条件可知,磁场方向垂直于面向里,当磁场强度增大时,带点粒子运动轨迹向上倾斜,可知带点粒子的洛伦兹力向上,用左手定则可知,粒子带正电。
二、实验内容
21.当AC杆以初速度v0向右运动时,使用matlab编写程序,求AC杆运动的加速度方程、速度方程和位移方程。
加速度方程:
速度方程:
位移方程:
2.使用matlab编写程序,绘制AC杆运动的速度曲线和位移曲线。
3.分析AC杆能够移动的最大距离是多少?运动时间是多少?
第五篇:云南大学软件学院 实验8
计算机组成原理与汇编元程序设计实验报告
实验八 实验考核:汇编程序综合设计实验
姓名:学号:序号:班级:分数:
1.编写程序,实现表的处理:内存单元中有一个ASCII码表,编写程序完成下面的功能:
① 首先输出表的内容;
② 插入一个数据,插入的数据和插入的位置从键盘输入;
③ 对表中的数据进行排序,按升顺或降顺排序可以进行选择;
④ 在表中查找某一个关键字,要查找的关键字从键盘输入;如果找到,输出查找的关键字并给出提示“find”,否则给出提示“no find”;
⑤ 程序执行以后,输出表中的插入以后的内容和排序以后的内容;
⑥ 程序有友好的运行界面;
⑦要求程序能够处理基本的错误信息;
2.1)首先首先程序应该显示版权信息(自己考虑)。
2)其次显示今天的日期,显示格式是year:****month:** day:**
3)然后再编写功能完善运算器程序,实现四则运算及进制转换。
要求:提供设计报告。
所有程序要求提供算法,程序框图,程序测试截图。重要内容要求有解释!