数据库试验崔巍_第1页
数据库试验崔巍_第2页
数据库试验崔巍_第3页
数据库试验崔巍_第4页
数据库试验崔巍_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 上机实验报告 课程:数据库原理 实验1名称:数据库设计1、 实验内容: 以所在学校选课和课程管理为实际应用背景,设计一个教学管理数据库。假设至少包含如下需求:·学生信息管理·课程信息管理·教师信息管理·学生选修课程及成绩信息管理·教师负责课程和讲授课程信息管理2、 实验目的: ·通过实践,掌握本章介绍的数据库设计方法。·学会使用PowerDesigner来完成数据库设计过程。3. 、实验方法(或程序源代码):(1) 根据实验内容明确要完成的系统功能。(2) 运行PowerDesigner创建概念数据模型,建立实体、属性和联

2、系。对关键字、空值、域完整性等做出必要的描述,根据实际情况确定联系的类型。(3) 将检查无误的概念数据模型转换成逻辑数据模型,并对生成的逻辑数据模型作必要的修改。(4) 选择一个实际的DBMS软件(如SQL Server),根据逻辑数据模型生成物理数据模型,并对生成的物理数据模型作必要的修改。(1) 教学管理E-R图(2)(转换了多对多联系)(3)逻辑数据模型(4)物理数据模型4、 实验数据、结果分析、总结问题: 经过对这个实验的制作,信息比较多,做表格有点复杂,涉及的框架知识多,对关键字、空值、域完整性做的描述基本熟练。对概念数据模型、物理数据模型、逻辑数据模型的基本掌握。开始对数据库的设计

3、有了一定的了解。 实验日期:2013 年10月 16 日实验2名称:建立数据库、架构、表和定义完整性约束。1、 实验内容: 参见2.1.7建立数据库的CREATE DATABASE命令首先建立数据库,然后参照图5-1和5-8建立表并定义完整性约束,可以在此基础上根据自己学校的实际情况增加表、字段和约束等。2、 实验目的: 熟练掌握表的建立和数据库完整性约束的定义方法,实践DBMS提供的数据完整性功能,加深对数据完整性的理解。三.、实验方法(或程序源代码):使用CREATE DATABASE命令建立数据库,使用CREATE SCHEMA命令建立架构,用CREATE TABLE命令建立表并定义数据

4、完整性约束,用ALTER TABLE命令修改表架构。程序源代码: CREATE DATABASE 美美ON ( NAME = 美美,FILENAME = 'E:美美.mdf',SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5 )LOG ON( NAME = order_log,FILENAME = 'E:美美.ldf',SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )use 美美 go create schema acreate schema bcreate schema cCREATE TABL

5、E 院系(编号 CHAR(6) PRIMARY KEY,名称 CHAR(20)UNIQUE NOT NULL,分责人 CHAR(10),办公地点 CHAR(20)CREATE TABLE 学生(学号 CHAR(8) PRIMARY KEY,院系 CHAR(6) FOREIGN KEY REFERENCES 院系(编号),姓名 CHAR(10) NOT NULL,性别 CHAR(2) check (性别 in('男','女'),生源 CHAR(6),状态 CHAR(4) check (状态 in('正常','留级','休学&

6、#39;,'退学')create table 教师(教师编号 CHAR(8) PRIMARY KEY,院系 CHAR(6) FOREIGN KEY REFERENCES 院系(编号),姓名 CHAR(10) NOT NULL,性别 CHAR(2) check (性别 in('男','女'),职称 CHAR(6) CHECK (职称 IN('教授','副教授','讲师','助教'),专业 CHAR(10)create table 课程(课程编号 CHAR(8) PRIMARY KEY,

7、课程名称 CHAR(20) NOT NULL,责任教师 CHAR(8) FOREIGN KEY REFERENCES 教师(教师编号),学时 SMALLINT NOT NULL,课程性质 CHAR(10) CHECK (课程性质 IN('公共基础','专业基础','专业选修','任意选修')create table 选课(学号 CHAR(8) FOREIGN KEY REFERENCES 学生(学号),课程编号 CHAR(8) FOREIGN KEY REFERENCES 课程(课程编号),成绩 SMALLINT CHECK (成

8、绩>=0 AND 成绩<=100) DEFAULT NULL)4、 实验数据、结果分析、总结问题: 通过此次的实验,让我对使用CREATE DATABASE命令建立数据库有了更加熟练的认识,对CREATE SCHEMA命令建立架构的基本掌握,学会了使用CREATE TABLE命令建立表并定义数据完整性约束,也ALTER TABLE命令修改表架构。学到了更多,懂得了更多。 实验日期:2013年10月23日实验3名称:数据操作和完整性约束的作用。1、 实验内容: 在实验2的基础上完成数据的插入操作,然后进行部分修改和删除操作,在这些操作中体会数据完整性约束的作用。2、 实验目的: 熟练

9、掌握SQL的INSERT、UPDATE和DELETE命令,深刻理解数据完整性约束的作用以及约束时机。三.、实验方法(或程序源代码):在实验2的基础上首先用INSERT命令插入各个表的记录,然后使用UPDATE和DELETE命令对部分记录进行修改和删除操作。程序源代码:ALTER TABLE 学生ADD 平均成绩 SMALLint NULL ALTER TABLE 课程ADD CHECK(学时%8=0)ALTER TABLE 院系alter column 名称 VARCHAR(30) NOT NULLALTER TABLE 教师ADD 工资 numeric(5,2)INSERT INTO 院系

10、VALUES('1001','机械工程学院','徐武彬','第2教学楼3楼')INSERT INTO 院系 VALUES('1002','汽车与交通学院','卢丽虹','第2教学楼1楼')INSERT INTO 院系 VALUES('1003','计算机学院','唐培和','第4教学楼5楼')INSERT INTO 院系 VALUES('1004','土木建筑工程学院',&

11、#39;张鹏','土木建筑工程楼')INSERT INTO 院系 VALUES('1005','生物与化学工程学院','李军生','生化楼')INSERT INTO 院系 VALUES('1006','电气与信息工程学院','罗文广','第4教学楼2楼')INSERT INTO 院系 VALUES('1007','管理学院','马璐','第4教学楼6楼')INSERT INTO 院

12、系 VALUES('1008','财经学院','侯雁','第4教学楼4楼')INSERT INTO 院系 VALUES('1009','外国语学院','张树德','第2教学楼5楼')INSERT INTO 院系 VALUES('1010','理学院','李栋龙','第2教学楼2楼')INSERT INTO 院系 VALUES('1011','社会科学学院','韦廷柒

13、','第2教学楼6楼')INSERT INTO 院系 VALUES('1012','艺术与文化传播学院','黄蕴兰','第4教学楼8楼')INSERT INTO 院系 VALUES('1013','体育学院','蒋钢强','体育部楼')INSERT INTO 学生 VALUES('11102001','1013','邓红','女','海南省','正常'

14、;,'90')INSERT INTO 学生 VALUES('11102002','1013','周俊臣','男','广西','正常','89')INSERT INTO 学生 VALUES('11102003','1013','龙中华','男','广西','正常','87')INSERT INTO 学生 VALUES('11102004',&#

15、39;1013','李昌武','女','','正常','88')INSERT INTO 学生 VALUES('11904001','1012','韦秋培','女','','正常','86')INSERT INTO 学生 VALUES('11904002','1012','吴迎','男','广西','正常'

16、;,'84')INSERT INTO 学生 VALUES('11310001','1006','利伟杰','男','广西','正常','85')INSERT INTO 学生 VALUES('11310002','1006','吴奕辰','女','广西','正常','81')INSERT INTO 学生 VALUES('11102003',&#

17、39;1006','楼琴','男','吉林省','正常','80')INSERT INTO 学生 VALUES('11402001','1003','曾磊','男','广东省','正常','83')INSERT INTO 学生 VALUES('11402002','1003','张学文','男','广东省','

18、正常','82')INSERT INTO 学生 VALUES('11402003','1003','李陟','男','广西','正常','90')INSERT INTO 学生 VALUES('11402004','1003','黎佩超','男','','正常','95')INSERT INTO 学生 VALUES('11107001'

19、,'1001','吴金钊','男','广西','正常','94')INSERT INTO 学生 VALUES('11107002','1001','林官来','男','广西','正常','93')INSERT INTO 学生 VALUES('11107003','1001','黄一拯','男','安徽省',&#

20、39;正常','91')INSERT INTO 学生 VALUES('11107004','1001','冯泳树','女','黑龙江','正常','88')INSERT INTO 学生 VALUES('11207001','1002','梁锦浩','男','广西','正常','86')INSERT INTO 学生 VALUES('112070

21、02','1002','王祥成','男','广西','正常','88')INSERT INTO 学生 VALUES('11207003','1002','黄圳波','女','青海省','正常','85')INSERT INTO 学生 VALUES('11701001','1007','李佳洋','男','广西&

22、#39;,'正常','84')INSERT INTO 学生 VALUES('11701005','1007','蒋履龙','男','广西','正常','86')INSERT INTO 学生 VALUES('11306001','1006','张丹娜','女','广西','正常','81')INSERT INTO 学生 VALUES('

23、11306002','1006','石立扬','男','青海省','正常','83')INSERT INTO 学生 VALUES('11306003','1006','张鸿宇','男','江西省','正常','84')INSERT INTO 学生 VALUES('11501001','1004','付柳源','女',&

24、#39;广西','正常','82')INSERT INTO 学生 VALUES('11501002','1004','林顺','女','广西','正常','86')INSERT INTO 学生 VALUES('11501003','1004','黄明光','男','广西','正常','95')INSERT INTO 学生 VALUES

25、('11601001','1005','吴明烨','男','广西','正常','85')INSERT INTO 学生 VALUES('11601002','1005','安应军','男','广西','正常','90')INSERT INTO 教师 VALUES('T0000335','1009','黄劲','男'

26、;,'讲师','外国语言学','200')INSERT INTO 教师 VALUES('T0000057','1009','吴晓萍','女','讲师','翻译理论','220')INSERT INTO 教师 VALUES('T0000967','1009','韦玲','女','讲师','外国语言学','200')INSERT

27、INTO 教师 VALUES('T0000035','1010','曹石云','男','讲师','数学科学','200')INSERT INTO 教师 VALUES('T0000103','1010','郭艳凤','女','副教授','应用数学','350')INSERT INTO 教师 VALUES('T0000090','1010',&#

28、39;莫春鹏','男','讲师','应用数学','200')INSERT INTO 教师 VALUES('T0000019','1010','熊维玲','女','教授','复分析','500')INSERT INTO 教师 VALUES('T0001423','1010','徐柳苏','男','副教授','理论物理',

29、'350')INSERT INTO 教师 VALUES('T0000848','1003','何剑','男','讲师','计算机科学','200')INSERT INTO 教师 VALUES('T0000114','1003','李威龙','男','副教授','软件工程','350')INSERT INTO 教师 VALUES('T0000095&#

30、39;,'1010','韦振中','男','副教授','数据挖掘','350')INSERT INTO 教师 VALUES('T0000026','1011','韦廷柒','男','教授','法学','500')INSERT INTO 教师 VALUES('T0000017','1013','于野','男','讲师&#

31、39;,'武术','200')INSERT INTO 教师 VALUES('T0000068','1009','罗萍','女','副教授','翻译理论','350')INSERT INTO 课程 VALUES('wy010020','大学英语A1','T0000057','64','公共基础')INSERT INTO 课程 VALUES('wy010030'

32、,'大学英语A2','T0000967','64','公共基础')INSERT INTO 课程 VALUES('xj010032','高等数学B1','T0000035','80','专业基础')INSERT INTO 课程 VALUES('xj010042','高等数学B2','T0000090','80','专业基础')INSERT INTO 课程 VALUES(

33、9;js012020','大学计算机基础','T0000848','48','公共基础')INSERT INTO 课程 VALUES('xj070650','软件开发工具','T0000114','32','专业选修')INSERT INTO 课程 VALUES('xj070616','数据挖掘','T0000095','48','专业选修')INSERT INTO

34、 课程 VALUES('sk010180','马克思主义基本原理','T0000026','36','公共基础')INSERT INTO 课程 VALUES('rx010090','英语演讲与口才','T0000068','16','任意选修')INSERT INTO 课程 VALUES('xj010034','数学模型','T0000090','32','专业选修

35、')INSERT INTO 课程 VALUES('wy010020','大学英语A1','T0000057','64','公共基础')INSERT INTO 课程 VALUES('wy010030','大学英语A2','T0000967','64','公共基础')INSERT INTO 课程 VALUES('xj010032','高等数学B1','T0000035','80

36、','专业基础')INSERT INTO 课程 VALUES('xj010042','高等数学B2','T0000090','80','专业基础')INSERT INTO 课程 VALUES('js012020','大学计算机基础','T0000848','48','公共基础')INSERT INTO 课程 VALUES('xj070650','软件开发工具','T0000

37、114','32','专业选修')INSERT INTO 课程 VALUES('xj070616','数据挖掘','T0000095','48','专业选修')INSERT INTO 课程 VALUES('sk010180','马克思主义基本原理','T0000026','36','公共基础')INSERT INTO 课程 VALUES('rx010090','英语演讲与口

38、才','T0000068','16','任意选修')INSERT INTO 课程 VALUES('xj0100034','数学模型','T0000090','32','专业选修')INSERT INTO 选课 VALUES('11102001','wy010030','64')INSERT INTO 选课 VALUES('11102002','wy010030','58&#

39、39;)INSERT INTO 选课 VALUES('11102004','wy010030','70')INSERT INTO 选课 VALUES('11102004','sk010180','65')INSERT INTO 选课 VALUES('11402001','wy010029','75')INSERT INTO 选课 VALUES('11402001','sk010180','65')INSE

40、RT INTO 选课 VALUES('11402001','ty010010','80')INSERT INTO 选课 VALUES('11402001','xj070650','66')INSERT INTO 选课 VALUES('11402002','wy010029','78')INSERT INTO 选课 VALUES('11402002','sk010180','49')INSERT INTO

41、选课 VALUES('11402002','ty010010','82')INSERT INTO 选课 VALUES('11402002','xj070650','67')INSERT INTO 选课 VALUES('11402003','wy010029','82')INSERT INTO 选课 VALUES('11402003','sk010180','63')INSERT INTO 选课 VALUE

42、S('11402003','ty010010','78')INSERT INTO 选课 VALUES('11402003','xj070650','69')INSERT INTO 选课 VALUES('11402003','xj070616','72')INSERT INTO 选课 VALUES('11402003','rx010090','90')INSERT INTO 选课 VALUES('1

43、1601001','wy010030','65')INSERT INTO 选课 VALUES('11601001','xj010032','76')INSERT INTO 选课 VALUES('11601001','js012020','82')INSERT INTO 选课 VALUES('11601001','sk010180','80')INSERT INTO 选课 VALUES('11601001&

44、#39;,'ty010010','75')INSERT INTO 选课 VALUES('11601001','sh030090','86')INSERT INTO 选课 VALUES('11601002','wy010030','55')INSERT INTO 选课 VALUES('11601002','xj010032','66')INSERT INTO 选课 VALUES('11601002',

45、9;js012020','89')INSERT INTO 选课 VALUES('11601002','sk010180','75')INSERT INTO 选课 VALUES('11601002','ty010010','64')INSERT INTO 选课 VALUES('11601002','sh030090','50')INSERT INTO 选课 VALUES('11904001','wy0100

46、30','67')INSERT INTO 选课 VALUES('11904001','js012020','80')INSERT INTO 选课 VALUES('11904001','sk010180','76')INSERT INTO 选课 VALUES('11904002','wy010030','45')INSERT INTO 选课 VALUES('11904002','js012020',

47、'78')INSERT INTO 选课 VALUES('11904002','sk010180','69')INSERT INTO 选课 VALUES('11312001','wy010020','60')INSERT INTO 选课 VALUES('11312001','xj010032','65')INSERT INTO 选课 VALUES('11312001','js010020','80&

48、#39;)INSERT INTO 选课 VALUES('11312001','xj070650','68')INSERT INTO 选课 VALUES('11312001','xj070616','63')INSERT INTO 选课 VALUES('11312001','sk010180','85')INSERT INTO 选课 VALUES('11312001','ty010010','90')INS

49、ERT INTO 选课 VALUES('11312001','rx010090','75')INSERT INTO 选课 VALUES('11312002','wy010020','76')INSERT INTO 选课 VALUES('11312002','xj010032','77')INSERT INTO 选课 VALUES('11312002','js012020','78')INSERT INTO

50、 选课 VALUES('11312002','xj070650','79')INSERT INTO 选课 VALUES('11312002','xj070616','80')INSERT INTO 选课 VALUES('11312002','sk010180','81')INSERT INTO 选课 VALUES('11312002','ty010010','82')-2违反约束插入操作INSERT IN

51、TO 学生 VALUES('11102002','1013','周俊臣','男','广西壮族自治区','正常','89') -生源字符大于定义的6个字符INSERT INTO 课程 VALUES('xj0100034','数学模型','T0000090','32','专业选修') -课程编号字符大于定义的8个字符INSERT INTO 选课 VALUES('体育学院','11102

52、001','wy010030','64') - 列名或所提供值的数目与表定义不匹配。INSERT INTO 选课 VALUES('计算机学院','11402001','wy010029','75') -没有该课程编号,列名或所提供值的数目与表定义不匹配。INSERT INTO 选课 VALUES('生物与化学工程学院','11601001','sh030090','86') -没有该课程编号,列名或所提供值的数目与表定义不匹配。

53、DELETE FROM 学生 WHERE 生源='广西壮族自治区'DELETE 课程 WHERE 课程编号='xj0100034' -级联删除DELETE FROM 学生 WHERE 学号='11102002' -拒绝删除DELETE 学生 WHERE 生源='' -空值删除4、 实验数据、结果分析、总结问题: 初次使用SQL软件的灵敏度的欠缺,也基本掌握了SQL的INSERT、UPDATE和DELETE命令,能理解数据完整性约束的作用以及约束时机。各个表格的设计也偶尔出现了命令行出错,然后在进行解决。 实验日期:2013年10月

54、23日实验4名称:使用SQL SELECT语句的数据查询操作。1、 实验内容: 在实验2和实验3的基础上完成规定的查询操作。2、 实验目的: 熟练掌握SQL SELECT命令。三.、实验方法(或程序源代码):在实验2和实验3的基础上使用SQL SELECT命令完成实验要求中所规定的各种查询。程序源代码:-(1)select 姓名 FROM 学生select 编号 FROM 学生-(2)select*FROM 院系SELECT 编号,名称,负责人,办公地点 FROM 院系-(3)select 姓名,性别 FROM 学生 WHERE 性别 = '男'-(4)select*from

55、选课 WHERE 成绩 >=60 AND 成绩<=100-(5)select*from 选课 WHERE 成绩 >=60 OR 成绩<=100 -(6)select*from 选课 WHERE (成绩 >=70 OR 成绩<=80) AND (成绩 >=0 OR 成绩<=60)-(7)select*from 选课 WHERE NOT (成绩 >=70 AND 成绩<=100) -(8)select*from 选课 WHERE 成绩 BETWEEN 60 AND 100-(9)select*from 选课 WHERE 成绩 NOT BE

56、TWEEN 50 AND 100-(10)select*from 学生 WHERE 姓名 LIKE '%雄%'select*from 学生 WHERE 学号 LIKE '_6'-?-(11)select*from 教师 WHERE 教师编号 LIKE '201-19'-?select*from 教师 WHERE 教师编号 LIKE '209'-?-(12)select*from 选课 WHERE 成绩 IS NULLselect*from 选课 WHERE 成绩 IS NOT NULL-(13)select*from 选课 ORD

57、ER BY 成绩 -(14)select*from 选课 ORDER BY 成绩 ,课程编号 select*from 选课 ORDER BY 成绩 ,课程编号 DESC-(15)select TOP(5)*from 选课 ORDER BY 成绩 DESC-(16)select TOP(5)WITH TIES*from 选课 ORDER BY 成绩 DESC-(17)select 姓名,成绩,院系 from 学生 JOIN 选课 ON XS.学号 = XK.学号-(18)select 姓名,成绩,院系 from 学生 JOIN 选课 ON XS.学号 = XK.学号 WHERE 成绩 >=

58、70 AND 成绩<=80-(19)select XS.性别,生源,XS.学号 from 学生 JOIN 选课 ON XS.学号 = XK.学号 JOIN 院系 ON 编号=院系 JOIN 教师 ON JS.院系=XS.院系WHERE 生源='玉林' AND 状态='正常'-(20)select * from 学生 CROSS JOIN 教师-(21)-?SELECT XS.*,XK.课程编号,XK.成绩 FROM 学生 CROSS JOIN 选课 WHERE XS.学号=XK.学号-(22)SELECT 姓名,职称,课程名称,课程性质FROM 教师 JO

59、IN 课程 ON JS.教师编号 = KC.责任教师-(23)SELECT 姓名,职称,课程名称,课程性质FROM 教师 LEFT JOIN 课程 ON JS.教师编号 = KC.责任教师-(24)SELECT 姓名,职称,课程名称,课程性质FROM 教师 RIGHT JOIN 课程 ON JS.教师编号 = KC.责任教师-(25)SELECT 姓名,职称,课程名称,课程性质FROM 教师 FULL JOIN 课程 ON JS.教师编号 = KC.责任教师-(26)SELECT 姓名 FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 成绩>=90

60、 )-(27)SELECT * FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 选课 WHERE 成绩<=80 )SELECT * FROM 选课 WHERE 学号 NOT IN (SELECT 学号 FROM 选课 WHERE 成绩<=80 ) AND 学号 IN(SELECT 学号 FROM 选课 )-(28)SELECT 学号 FROM 选课 WHERE 平均成绩=(SELECT 成绩 FROM 选课 WHERE 学号= '20110908' )-(29)SELECT DISTINCT 姓名 FROM 学生 WHERE 平均成绩

61、>= any(SELECT 成绩 FROM 选课 WHERE 学号= '20110923' )SELECT DISTINCT 姓名 FROM 学生 WHERE 平均成绩>= (SELECT MIN(成绩) FROM 选课 WHERE 学号= '20110923' )-SOMESELECT DISTINCT 姓名 FROM 学生 WHERE 平均成绩>= SOME(SELECT 成绩 FROM 选课 WHERE 学号= '20110927' )-(30)SELECT DISTINCT 姓名 FROM 学生 WHERE 平均成绩&g

62、t;= ALL(SELECT 成绩 FROM 选课 WHERE 学号= '20110923' )SELECT DISTINCT 姓名 FROM 学生 WHERE 平均成绩>= (SELECT MAX(成绩) FROM 选课 WHERE 学号= '20110923' )-(31)-?SELECT 姓名,职称,课程名称,课程学时 FROM 教师 WHERE 职称 IN(SELECT 名称,职称,负责课程 FROM 院系 WHERE )-(32)SELECT Da.学号, Da.姓名,Da.性别,Da.生源,Da.状态,Da.平均成绩 FROM 学生 Da WH

63、ERE Da.平均成绩 = (SELECT Max(Sa.平均成绩) FROM 学生 Sa WHERE Sa.学号 = Da.学号)-(33)SELECT *FROM 教师 WHERE EXISTS (SELECT *FROM 课程 WHERE 教师编号=KC.责任教师)SELECT *FROM 教师 WHERE 教师编号 IN (SELECT 责任教师 FROM 课程)-(34)SELECT *FROM 教师 WHERE NOT EXISTS (SELECT *FROM 课程 WHERE JS.教师编号=KC.责任教师)SELECT *FROM 教师 WHERE 教师编号 NOT IN (S

64、ELECT 责任教师 FROM 课程)-(35)SELECT COUNT(DISTINCT 生源)FROM 学生SELECT COUNT(生源)FROM 学生-(36)SELECT SUM(工资)FROM 教师-(37)SELECT SUM(工资),AVG(工资),COUNT(教师编号),MAX(工资),MIN(工资)FROM 教师-(38)-?SELECT 姓名,AVG(平均成绩)FROM 学生 WHERE 平均成绩>60 GROUP BY 姓名HAVING COUNT(*)>=60-(40)-?SELECT 姓名,AVG(平均成绩)FROM 学生 GROUP BY 姓名-(41

65、)-?SELECT 学号,AVG(成绩),MAX(成绩),MIN(成绩),COUNT(*)FROM 选课 GROUP BY 学号-(42)-?-(43)SELECT *FROM 教师 ORDER BY 教师编号COMPUTE AVG(工资),SUM(工资) BY 教师编号COMPUTE AVG(工资),SUM(工资)SELECT *FROM 学生 ORDER BY 姓名COMPUTE AVG(平均成绩),SUM(平均成绩) BY 姓名COMPUTE AVG(平均成绩),SUM(平均成绩)-(44)SELECT *FROM 教师 ORDER BY 教师编号COMPUTE COUNT(姓名),AV

66、G(工资),SUM(工资) -(45)SELECT *FROM 教师 ORDER BY 教师编号COMPUTE COUNT(姓名),AVG(工资),SUM(工资) BY 教师编号4、 实验数据、结果分析、总结问题: 通过实验,学会使用SQL SELECT的数据查询操作 ,对左连接、右连接、内连接全连接的掌握,对简单嵌套查询、条件查询等等各种查询的练习的基本熟悉,同时也对SQL SELECT查询命令的基本框架的熟悉与理解。让自己的能力有了更好的提升。 实验日期:2013年11月7日实验5名称:视图的建议和应用。1、 实验内容: 在实验2和实验3的基础上定义视图,并在视图上完成查询以及插入、更新和

67、删除操作。二、实验目的: 掌握视图定义和应用的方法,体会视图和基本表的异同之处。三.、实验方法(或程序源代码):在实验2和实验3的基础用CREATE VIEW命令定义视图,然后使用SELECT命令完成查询,使用INSERT UPDATE和DELETE命令分别完成插入、更新和删除操作。程序源代码:-(1)建立查询教师编号,工资,性别的教师视图表CREATE VIEW 教师视图 ASSELECT 教师编号,工资,性别 FROM 教师-(2)建立查询工资的教师视图表CREATE VIEW 教师视图2 ASSELECT 工资 FROM 教师 where 工资 >=1000-(3)建立查询工资大于

68、1000的教师编号,性别 ,工资的教师视图表CREATE VIEW 教师视图3 ASSELECT 教师编号,性别 ,工资 FROM 教师 where 工资 >=1000-(4)建立教师与课程视图CREATE VIEW 教师与课程视图 ASSELECT 教师编号,工资,性别,课程名称,课程编号,责任教师 FROM 教师 JOIN 课程 ON 教师编号 = 责任教师-(5)建立学生与选课视图CREATE VIEW 学生与选课视图 ASSELECT 姓名,院系,生源 FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 成绩>=80 )-(6)建立教师

69、视图4(教师编号,工资,性别,年工资) CREATE VIEW 教师视图4(教师编号,工资,性别,年工资 )ASSELECT 教师编号,工资,性别,工资*12 FROM 教师-2-(1)查询教师视图的COUNT(*),AVG(工资)SELECT COUNT(*),AVG(工资) FROM 教师视图-(2)查询教师视图2的工资SELECT 工资FROM JG.教师视图2 ORDER BY 工资 DESC-(3)查询教师视图3的工资大于9000的并按工资升序排序SELECT 工资FROM JG.教师视图3 WHERE 工资>9000 ORDER BY 工资 DESC-(4)查询学生与选课视图学生平均成绩等于89的学生姓名SELECT 姓名 FROM 学生与选课视图 WHERE 院系=(SELECT 院系 FROM 学生 WHERE 平均成绩=89)-(5)查询学生与选课视图学生平均成绩等于89的学生姓名SELECT 姓名 FROM 学生与选课视图 WHERE 院系 in (SELECT 院系 FROM 学生 WHERE 平均成绩=89)-(6)查询学生的生源,姓名SELECT 学生与选课视图.生源,学生与选课视图.姓名 FROM 学生与选课视图 JOIN 学生 ON学生与选课视图.院系 = XS.院系-3-(1)在教师视图3插入操作INSERT INTO 教师

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论