级数据库实验613.docx

上传人:b****6 文档编号:4403366 上传时间:2022-12-01 格式:DOCX 页数:42 大小:1.76MB
下载 相关 举报
级数据库实验613.docx_第1页
第1页 / 共42页
级数据库实验613.docx_第2页
第2页 / 共42页
级数据库实验613.docx_第3页
第3页 / 共42页
级数据库实验613.docx_第4页
第4页 / 共42页
级数据库实验613.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

级数据库实验613.docx

《级数据库实验613.docx》由会员分享,可在线阅读,更多相关《级数据库实验613.docx(42页珍藏版)》请在冰豆网上搜索。

级数据库实验613.docx

级数据库实验613

数据库实验:

SQLServer2005

要求:

1.实验内容每一个重要步骤截图并进行简单说明后写在电子实验报告模版中。

2.实验指导是具体的步骤,尽量先不看。

3.每周交上一次实验,每个实验一个实验报告,共交12个实验,第1个实验做参考。

交到共享文件夹或者发给学习委员统一交给我

实验内容如下:

第1次实验:

了解SQLserver2005的主要功能、软件和硬件需求、安装、文件路径及系统的主要内容,使用向导创建和删除数据库    

实验一:

SQLServer2005的安装

第2次实验:

学会用SQLserver2005的工具和SQL语言。

          实验二:

使用向导创建和删除数据库

          实验三:

使用SQL语句创建和删除数据库。

          实验四:

两种方法创建和删除表。

          实验五:

修改表的定义。

          实验六:

创建和删除索引。

第3次实验:

熟练使用SQL查询语句。

          实验七:

简单Select语句。

          实验八:

子查询

          实验九:

使用子句的Select语句。

第4次实验:

学会使用SQL更新语句,使用SQL创建和使用视图。

          实验十:

创建视图。

          实验十一:

使用视图。

          实验十二:

更新语句。

          实验十三:

约束语句

   

注意事项:

在创建好了数据库以后想将其发送至U盘带回寝室使用,直接发送会发现出现错误

解决办法:

“开始”—>”管理工具”—>“服务”,在里面找到

将其暂停,这时就可以将其拷贝至U盘了。

要想运行U盘里面的数据库,解决办法:

点击“附加”,

点击“添加”

选中你要附加的数据库,再点击“确定”即可。

实验七简单SELECT语句

一.实验目的

1.观察查询结果,体会SELECT语句实际应用;

2.要求学生能够在查询分析器中使用SELECT语句进行简单查询。

3.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

二.实验准备

1.完成实验四,成功建立了基本表。

2.了解简单SELECT语句的用法。

3.比较熟悉查询分析器中的SQL脚本运行环境。

三.实验要求

1.完成简单查询和连接查询操作,并验收实验结果提交实验报告

四.实验内容

所有的查询全部用Transact-SQL语句实现

1.EDUC数据库里面基本表的数据

student表

sno

sname

sex

native

birthday

dno

spno

classno

entime

home

tel

11

张三

中国

1990-1-1

数学系

06

06

2007-9-1

四川

84681101

22

李四

中国

1989-5-6

计算机系

05

06

2006-9-1

四川

84681201

33

王五

中国

1988-6-5

文学院

06

07

2008-9-1

四川

84682222

44

孙六

中国

1990-4-9

商学院

04

07

2005-9-1

陕西

84476554

course表

Cno

Spno

Cname

Ctno

experiment

lecture

semester

credit

C1

06

高等代数

01

24

36

3

4

C2

05

数学分析

02

24

48

2

6

C3

04

运筹学

03

12

36

4

4

student_course表

Sno

Tcid

Score

11

1001

90

22

1002

88

33

1003

98

44

1001

79

teacher表

Tno

Tname

sex

Birthday

Dno

Pno

Home

Zipcode

Tel

Email

101

王小二

1960-8-1

数学系

01

绵阳

621603

1345545899

123@

102

孙鑫

1967-9-1

计算系

02

德阳

610000

3444444444

456@

103

赵强

1978-5-4

文学院

03

达州

345555

7824878787

789@

teacher_course表

Tcid

Tno

Spno

Classno

Cno

semester

schoolyear

classtime

classroom

weektime

1001

101

04

06

C1

3

一学年

星期一

1101

4

1002

102

05

07

C2

4

二学年

星期二

1102

5

1003

102

06

07

C3

5

三学年

星期三

7102

4

1.简单查询操作

此部分查询包括投影、选择条件表达、数据排序、使用临时表等。

对EDUC数据库实现以下查询:

①求计算机系的学生学号和姓名;

②求选修了课程的学生学号;

③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;

④求选修课程C1且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.75输出;

⑤求计算机系和数学系的姓张的学生的信息;

⑥求缺少了成绩的学生的学号和课程号。

⑦将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中。

2.连接查询操作

对EDUC数据库实现以下查询:

1查询每个学生的情况以及他(她)所选修的课程;

2求学生的学号、姓名、选修的课程名及成绩;

3求选修C1课程且成绩在90分以上的学生学号、姓名及成绩;

4查询每一门课的间接先行课。

五.实验指导——简单SELECT语句

1.简单查询操作

此部分查询包括投影、选择条件表达、数据排序、使用临时表等。

对EDUC数据库实现以下查询:

1求计算机系的学生学号和姓名;

代码:

SELECTsno,sname

FROMstudent

WHEREdno=’计算机’

2求选修了课程的学生学号;

代码:

SELECTDISTINCTsno

FROMstudent_course

③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;

④求选修课程C1且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.75输出;

⑤求计算机系和数学系的姓张的学生的信息;

⑥求缺少了成绩的学生的学号和课程号。

⑦将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中。

2.连接查询操作

对EDUC数据库实现以下查询:

1查询每个学生的情况以及他(她)所选修的课程;

2求生的学号、姓名、选修的课程名及成绩;

3选修C1课程且成绩在90分以上的学生学号、姓名及成绩;

4询每一门课的间接先行课。

 

实验八子查询

一.实验目的

1.掌握子查询的表示。

2.进一步掌握SQLServer查询分析器的使用方法,加深对SQL语言的嵌套查询语句的理解

二.实验准备

1.掌握SQL语句的基本语法,并熟悉查询分析器的工作环境。

2.完成了实验四,创建了数据库EDUC及各个基本表。

3.了解子查询的表示方法,熟悉IN比较符、ANY、EXISTS操作符的用法。

三.实验要求

1.在实验开始之前做好准备工作。

2.完成实验,并验收实验结果提交实验报告。

四.实验内容

1.在数据库EDUC中实现一下查询:

1)求选修了高等数学的学生学号和姓名;

2)求C1课程的成绩高于张三的学生学号和成绩;

3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);

4)求其他系中比计算机系学生年龄都小的学生信息;

5)求选修了C2课程的学生姓名;

6)求没有选修C2课程的学生姓名;

7)查询选修了全部课程的学生的姓名;

8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。

2.提高操作实验

建立“工程-零件”数据库及如下4个表,并输入实验数据,用SQL语句实现如下三个查询:

1)求供应项目j4红色零件的供应商号及名称

2)求没有上海供应商生成的零件的项目号

3)至少使用了供应商S5所供应全部零件的项目号。

表结构如下:

供应商(S):

列名

类型

长度

是否可为空

供应商代码

Char

5

姓名

Char

50

所在城市

Char

20

联系电话

Char

20

工程(J):

列名

类型

长度

是否可为空

工程代码

Char

5

工程名

Char

50

负责人

Char

10

预算

Char

8

零件(P):

列名

类型

长度

是否可为空

零件代码

Char

5

零件名

Char

50

规格

Char

10

产地

Char

20

颜色

Char

10

供应零件(SPJ):

列名

类型

长度

是否可为空

供应商代码

Char

5

工程代码

Char

5

零件代码

Char

5

数量

Int

4

要求:

①供应商表:

供应商代码为主码

②工程表:

工程代码为主码

③零件表:

零件代码为主码

④供应零件表:

供应商代码、工程代码、零件代码为联合主码;

供应商代码为外码,参照表、列是供应商表的供应商代码列;

工程代码为外码,参照表、列是工程表的工程代码列;

零件代码为外码,参照表、列是零件表的零件代码列

实验数据如下:

供应商:

供应商代码

姓名

所在城市

联系电话

S1

北京供应商

北京

010*******

S2

天津供应商

天津

022*******

S3

重庆供应商

重庆

023*******

S4

上海供应商1

上海

021*******

S5

广州供应商

广州

020*******

S6

上海供应商2

上海

021*******

工程:

工程代码

工程名

负责人

预算

J1

工程1

丁一

200000

J2

工程2

赵二

60000

J3

工程3

张三

70000

J4

工程4

李四

80000

J5

工程5

王五

150000

零件:

零件代码

零件名

规格

产地

颜色

P1

螺丝

济南

红色

P2

主板

集成

深圳

绿色

P3

显卡

独立

香港

蓝色

P4

声卡

集成

天津

红色

P5

网卡

100M

上海

黑色

P6

鼠标

无线

上海

黑色

供应零件:

供应商代码

工程代码

零件代码

数量

S1

J2

P4

50

S1

J3

P5

100

S2

J2

P6

500

S4

J1

P3

150

S4

J5

P1

200

S5

J4

P6

100

S6

J4

P2

90

五.实验指导——子查询

1.在数据库EDUC中实现一下查询:

1)求选修了高等数学的学生学号和姓名;

2)求C1课程的成绩高于张三的学生学号和成绩;

3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);

4)求其他系中比计算机系学生年龄都小的学生信息;

5)求选修了C2课程的学生姓名;

6)求没有选修C2课程的学生姓名;

7)查询选修了全部课程的学生的姓名;

8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。

2.步骤1:

按照实验四的方法建立数据库“工程_零件”,建立表“S”“J”“P”“SJP”

步骤2:

右键点击表“S”选择“打开表”,填入供应商信息

同理将信息填入表“J”“P“SPJ”

3.提高操作实验:

1)求供应项目j4红色零件的供应商号及名称

代码:

SELECT供应商代码,姓名

FROMS

WHERE供应商代码IN(

SELECT供应商代码

FROMSPJ

WHERE工程代码=’J4’AND零件代码IN(

SELECT零件代码

FROMP

WHERE零件颜色=‘红色‘);

(注意将可用数据库选择为“工程_零件”)

2)求没有上海供应商生成的零件的项目号

3)至少使用了供应商S5所供应全部零件的项目号。

请自己完成

实验九使用子句的SELECT语句

一.实验目的

1.熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

2.进一步掌握SQLServer查询分析器的使用,加深对SQL语言的嵌套查询语句的理解。

二.实验准备

1.了解SELECT语句的GROUPBY和ORDERBY子句的作用。

2.了解统计函数和分组统计函数的使用方法。

3.熟悉查询分析器的运行环境。

三.实验要求

1.在实验之前做好准备。

2.完成实验,并验收实验结果提交实验报告。

四.实验内容

所有查询都全部用SQL语句实现

1.在数据库EDUC中实现如下查询

1)求学生的总人数。

2)求选修了课程的学生人数。

3)求课程的课程号和选修该课程的人数。

4)求选修课超过3门课的学生学号

2.提高操作实验

建立“图书_读者”数据库及如下3个表,并输入实验数据,用SQL语句实现如下五个查询:

1)查找这样的图书类别:

要求类别中最高的图书定价不低于全部按类别分组的图书的平均定价的2倍。

2)求机械工业出版社出版的各类图书的平均定价,分别用GROUPBY和GROUPBYALL

表示。

3)列出计算机类图书的书号、名称及价格,最后求出册数和总价格。

4)列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最后求出全部册书和总价格。

5)查询计算机类和机械工业出版社出版的图书。

表结构如下:

图书:

列名

类型

长度

是否可为空

书号

char

10

类别

char

12

出版社

char

50

作者

char

20

书名

char

50

定价

money

8

读者:

列名

类型

长度

是否可为空

编号

char

10

姓名

char

8

单位

char

50

性别

char

2

电话

char

15

借阅:

列名

类型

长度

是否可为空

串号

char

10

书号

char

10

读者编号

char

10

借阅日期

datetime

8

要求:

①图书表:

书号为主码

②读者表:

编号为主码;

性别只能是“男”或“女”的CHECK约束

③借阅表:

串号为主码;

书号为外码,参照表、列是图书表的书号列;

读者编号为外码,参照表、列是读者表的编号列;

书号和读者编号的联合UNIQUE约束

实验数据:

图书:

书号

类别

出版社

作者

书名

定价

1001

计算机

机械工业出版社

王民

数据结构

80

1002

计算机

机械工业出版社

张建平

计算机应用

20

1003

计算机

电子工业出版社

王敏

数据库技术

15

1004

计算机

电子工业出版社

谭浩强

C语言

25

1005

英语

中国人民大学出版社

张锦芯

应用文写作

25

1006

管理

高等教育出版社

Robison

管理学

15

1007

管理

机械工业出版社

Fayol

工业管理

70

1008

数学

机械工业出版社

李平

线性代数

50

1009

管理

机械工业出版社

Durark

公司的概念

14

1010

数学

机械工业出版社

徐新国

统计学

15

读者:

编号

姓名

单位

性别

电话

1001

丁一

数学院

81234567

1002

赵二

经济学院

82234567

1003

张三

管理学院

83234567

1004

李四

文学院

84234567

1005

王五

历史文化学院

85234567

1006

孙六

物理学院

86234567

1007

周七

生命科学院

87234567

1008

徐八

化学院

88234567

1009

宋九

信息学院

89234567

1010

刘十

计算机学院

80234567

借阅:

串号

书号

读者编号

借阅日期

01

1001

1003

2000-1-1

02

1002

1005

2002-3-5

03

1003

1008

1998-6-18

04

1004

1003

1997-12-8

05

1005

1010

2001-5-4

06

1006

1001

2005-7-25

07

1007

1010

997-11-3

08

1008

1009

2004-2-1

09

1009

1004

1996-9-1

10

1010

1008

2000-6-4

五.实验指导——使用子句的SELECT语句

要求:

①图书表:

书号为主码

②读者表:

编号为主码;

性别只能是“男”或“女”的CHECK约束

步骤1:

右键点击性别“CHECK约束”

步骤2:

“添加”-在表达式栏目中填入“性别in('男','女')”

③借阅表:

1串号为主码;

2书号为外码,参照表、列是图书表的书号列;

步骤1:

右键点击“书号”,选择“关系”

步骤2:

点击“添加”,将选择外键为“书号”

3读者编号为外码,参照表、列是读者表的编号列;(参照2)

4书号和读者编号的联合UNIQUE约束

步骤1:

选中“书号”和“读者编号”右键点击“索引/键”

步骤2:

将唯一性改为“是”,关闭并保存

实验十创建视图

一.实验目的

1.掌握创建视图的SQL语句的用法。

2.掌握使用企业管管理器创建视图的方法。

3.掌握使用创建视图向导创建视图的方法。

4.掌握查看视图的系统存储过程的用法。

5.掌握修改视图的方法。

二.实验准备

1.了解创建视图方法。

2.了解修改视图的SQL语句的语法格式。

3.了解视图更名的系统存储过程的用法。

4.了解删除视图的SQL语句的用法。

三.实验要求

1.用不同的方法创建视图。

2.提交实验报告,并验收实验结果。

四.实验内容

1.创建视图

(1)使用企业管理器创建视图

①在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学生”的视图。

在使用该视图时,将显示“student”表中的所有字段.

再点击“关闭”,

(2)使用SQL语句创建视图

①在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE;

②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;

2.修改视图

(1)使用企业管理器修改视图

在企业管理器中将视图COMPUTE_AVG_GRADE中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。

 

(2)使用SQL语句修改视图

①在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。

3.删除视图

(1)使用企业管理器删除视图

用企业管理器删除视图“V_计算机系学生”

(2)使用SQL语句删除视图

用SQL语句删除视图COMPUTE_AVG_GRADE;

五.实验指导——创建视图

4.创建视图

(2)使用企业管理器创建视图

①在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学生”的视图。

在使用该视图时,将显示“student”表中的所有字段.

步骤1:

展开EDUC子目录-右键点击“视图”-选择”新建视图”

步骤2:

选择添加student

步骤3:

选择student所有字段,关闭保存为“V_计算机系学生”,右键点击视图“V_计算机系学生”,选择打开视图

(2)使用SQL语句创建视图

①在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE;

步骤1:

视图-模板资源管理器-VIEW-CreateView-

步骤2:

根据模板输入代码:

USEEDUC

GO

IFobject_id(N'S_C_GRADE','V')ISNOTNULL

DROPVIEWS_C_GRADE

GO

CREATEVIEWS_C_GRADEAS

SELECTstudent.sno,sname,cname,score

FROMstudent,course,student_course

WHEREstudent.sno=student_course.sno

②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;

由学生自己独立完成

 

5.修改视图

(1)使用企业管理器修改视图

在企业管理器中将视图COMPUTE_AVG_GRADE中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。

步骤:

右键点击视图名称,选择“修改”

 

(2)使用SQL语句修改视图

在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。

步骤:

新建查询-输入:

sp_renameV_计算机系学生,V_计算机系男生

6.删除视图

(3)使用企业管理器删除视图

用企业管理器删除视图“V_计算机系学生”

步骤:

右键点击所要删除的视图名称,选择“删除”

(4)使用SQL语句删除视图

用SQL语句删除视图C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1