数据库试验答案Word格式文档下载.docx

上传人:b****3 文档编号:6429652 上传时间:2023-05-06 格式:DOCX 页数:29 大小:53.11KB
下载 相关 举报
数据库试验答案Word格式文档下载.docx_第1页
第1页 / 共29页
数据库试验答案Word格式文档下载.docx_第2页
第2页 / 共29页
数据库试验答案Word格式文档下载.docx_第3页
第3页 / 共29页
数据库试验答案Word格式文档下载.docx_第4页
第4页 / 共29页
数据库试验答案Word格式文档下载.docx_第5页
第5页 / 共29页
数据库试验答案Word格式文档下载.docx_第6页
第6页 / 共29页
数据库试验答案Word格式文档下载.docx_第7页
第7页 / 共29页
数据库试验答案Word格式文档下载.docx_第8页
第8页 / 共29页
数据库试验答案Word格式文档下载.docx_第9页
第9页 / 共29页
数据库试验答案Word格式文档下载.docx_第10页
第10页 / 共29页
数据库试验答案Word格式文档下载.docx_第11页
第11页 / 共29页
数据库试验答案Word格式文档下载.docx_第12页
第12页 / 共29页
数据库试验答案Word格式文档下载.docx_第13页
第13页 / 共29页
数据库试验答案Word格式文档下载.docx_第14页
第14页 / 共29页
数据库试验答案Word格式文档下载.docx_第15页
第15页 / 共29页
数据库试验答案Word格式文档下载.docx_第16页
第16页 / 共29页
数据库试验答案Word格式文档下载.docx_第17页
第17页 / 共29页
数据库试验答案Word格式文档下载.docx_第18页
第18页 / 共29页
数据库试验答案Word格式文档下载.docx_第19页
第19页 / 共29页
数据库试验答案Word格式文档下载.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库试验答案Word格式文档下载.docx

《数据库试验答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库试验答案Word格式文档下载.docx(29页珍藏版)》请在冰点文库上搜索。

数据库试验答案Word格式文档下载.docx

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

4、实验步骤

1.创建数据库userdb1。

2.根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,并建立数据库EDUC.

createdatabaseEDUC

on

(name=EDUC_data,--数据文件的逻辑名称,注意不能与日志逻辑同名

filename='

E:

\sql_data\student_data.mdf'

--物理名称,注意路径必须存在

size=10,--数据初始长度为M

maxsize=50,--最大长度为M

filegrowth=5%)--数据文件每次增长M

logon

(name=EDUC_log,

\sql_data\student_log.ldf'

size=2,

maxsize=5,

filegrowth=1)

3.用SQL语句删除步骤1建立的数据库userdb1。

dropdatabaseuserdb1;

五、实验总结

掌握了用SQL语句创建和删除数据库,对SQLServer都有了进一步的认识和了解,发现其实SQL语句还是挺好用的。

实验三分别用向导和SQL语句创建和删除表

1.了解表的结构特点。

2.了解SQLServer的基本数据类型。

3.学会使用T-SQL语句创建表。

二.实验要求

1.完成SQL语句创建和删除基本表。

三.实验内容

在数据库EDUC中,创建如下几个表:

表3.1class表(班级信息表)

字段名称

类型

允许空值

主键

说明

ClsNO

Char(6)

NOTNULL

班号

ClsName

Varchar(16)

班名

Director

Varchar(10)

NULL

辅导员

Specialty

Varchar(30)

专业

表3.2student表(学生信息表)

Sno

Char(8)

学号

Sname

姓名

Sex

Char

(2)

性别:

男、女

班级的编号,(外键)参照表Class

Saddr

Varchar(20)

住址

Sage

numeric(3,0)

年龄,大于10,但小于30岁

Height

Decimal(4,2)

身高

表3.3course表(课程信息表)

Cno

Char(4)

主键

Cname

课程的名称

Cpno

char(4)

先修课程的课程号(外键),参照cno

Ccredit

Tinyint

学分

表3.4sc表(学生选课成绩表)

学号,参照Student,与Cno组成主键

CNO

课程号,参照Course

grade

Numeric(4,1)

成绩

四.实验步骤

1.打开查询窗口,输入创建基本表的sql语句。

(1)student表:

createtablestudent(

snochar(8)NOTNULLprimarykey,--学号

snamevarchar(10)NOTNULL,--姓名

sexchar

(2)check(sex='

女'

orsex='

男'

),--性别:

clsnochar(6),--班级编号,(外键)参照表class

foreignkey(clsno)referencesclass(clsno),

sadrrvarchar(20),--住址

sagenumeric(3,0),--年龄,大于,但小于岁

heightdecimal(4,2)--身高

(2)class表

createtableclass(

clsnochar(6)NOTNULLprimarykey,--班号

clsnamevarchar(16)NOTNULL,--班名

directorvarchar(10)NULL,--辅导员

specialtyvarchar(30)NULL--专业

(3)course表

createtablecourse(

cnochar(4)NOTNULLprimarykey,--主键

cnamevarchar(16)NOTNULL,--课程名称

cpnochar(4),--先修课程的课程号(外键),参照cno

ccredittinyint--学分

(4)sc表

createtablesc(

snochar(8)NOTNULL,--学号,参照Student,与Cno组成主键

cnochar(4)NOTNULL,--课程号,参照Course

gradenumeric(4,1)NULL,--成绩

primarykey(sno,cno),

foreignkey(sno)referencesstudent(sno),

foreignkey(cno)referencescourse(cno),

通过本次试验,基本掌握了用sql语言创建数据库表的基本方法。

实验四数据更新操作

一.实验目的

1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作;

2.能将这些更新操作应用于实际操作中去;

二.实验要求

1.完成下面的实验内容,并提交实验报告;

2.在实验报告中附上相应的代码;

三.实验内容

(1)向表(Student)中插入数据

Ssex

王军

CS01

下关40#

20

1.76

李杰

江边路96#

22

1.72

20090306

王彤

MT04

中央路94#

19

1.65

吴杪

PH08

莲化小区74#

18

1.60

插入数据之后使用命令:

Select*fromStudent;

检查插入数据的正确性

insertintostudent

values(,'

王军'

'

cs01'

下关#'

20'

1.76'

);

李杰'

江边路#'

22'

1.72'

王彤'

MT04'

中央路#'

19'

1.65'

吴杪'

PH08'

莲化小区#'

18'

1.60'

select*fromstudent;

(2)向表(Class)中插入数据

计算机一班

王宁

计算机应用

CS02

计算机二班

数学四班

陈晨

数学

物理八班

葛格

物理

Select*fromClass;

insertintoclass

values('

计算机一班'

王宁'

计算机应用'

cs02'

计算机二班'

数学四班'

陈晨'

数学'

物理八班'

葛格'

物理'

select*fromclass;

(3)向表(Course)中插入数据

Credit

0001

高等数学

Null

6

0003

计算机基础

3

0007

4

Select*fromCourse;

insertintocourse

0001'

高等数学'

NULL,'

6'

0003'

计算机基础'

3'

0007'

4'

select*fromcourse;

(4)向表(SC)中插入数据

SNO

Grade

90

20090101

86

87

76

93

19940106

85

insertintosc

values(,'

90'

86'

87'

76'

93'

85'

select*fromsc;

(5).对于student表,将所有班级号为‘CS01’的,并且年龄小于20岁的学生的班级号改为‘CS02’。

updatestudent

setclsno='

whereclsno='

and

sage<

20;

select*fromstudent;

(6).对于student表,删掉所有年龄大于20岁,并且专业号为‘CS02’的学生的记录。

‘CS01’。

由于表student数据较少,因而添加数据,用来满足要求:

黄磊'

1.78'

李超'

陈明飞'

delete

fromstudent

wheresage>

20and

clsno='

;

insertintostudent(sno,sname,ssex,sage,clsno)

张三'

(7).对于student表,将年龄最小的学生的家庭地址去掉。

setsadrr=null

wheresage=(selectMIN(s.sage)

fromstudents);

(8).对于student表,将平均年龄最小的一个班级编号改为‘GL01’

由于给定的class表中数据不足,因而添加数据以用来满足要求。

gl01'

计算机班'

王'

计算应用'

updatestudent

setstudent.clsno='

wherestudent.clsno=

(selectt1.clsno

from(selects1.clsno,avg(s1.sage)afromstudents1groupbys1.clsno)t1,(selectMIN(t2.a1)mfrom(selects.clsno,avg(s.sage)a1fromstudentsgroupbys.clsno)t2)t3

wheret1.a=t3.m);

通过本次试验,懂得了用sql语言来插入数据,以及一些简单的数据更新操作,也对sqlserver有了更多的了解。

在实验的过程中,也遇到许多的问题,并在实验的过程中解决。

比方说,在往表中插入数据时,先插的student表的数据,结果就发现出现错误,原来是student表中的clsno是class表的外码,需要先插入class表,student表内容才能插进去;

还有在数据更新的过程中,比方说“对于student表,将平均年龄最小的一个班级编号改为‘GL01’”,由于class表中没有班号位“gl01”,因而出错,这是没有违反完整性约束条件,在插入一组班号为“gl01”时,该更新操作就能正确的运行。

实验五创建和删除索引

1.了解索引的类型和应用。

2.学会用SQL语句对表创建和删除索引

1.了解索引类型并比较各类索引的不同之处

2.完成索引的创建和删除,并提交实验报告。

三.实验内容

1.用SQL语句分别建立以下索引

(1)在student表的Sname列上建立普通降序索引Stusname。

(2)在course表的Cname列上建立唯一索引Coucname。

(3)在sc表的Sno(升序),Cno(升序)和grade(降序)三列上建立一个普通索引SCno。

2.用SQL语句删除索引

Student表的Stusname索引。

(1)在student表的sname列上建立普通降序索引Stusname。

createindexstusname

onstudent(snamedesc);

(2)在course表的cname列上建立唯一索引Coucname。

createuniqueindexcoucname

oncourse(cname);

createindexscno

onsc(sno,cno,gradedesc)

2.删除索引

删除Student表的Stusname索引。

dropindexstusnameonstudent;

通过本次试验,学会了用sql语言为基本表创建索引和删除索引。

实验六数据查询

一.实验目的

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

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

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

二.实验要求

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

三.实验内容

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

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

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

1)查询计算机应用专业的学生学号和姓名;

2)查询选修了课程的学生学号;

3)查询选修课程0001且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.75输出;

4)查询计算机应用和数学专业的姓“张”的学生的信息。

5)查询“0001”课程的成绩高于张三的学生学号和成绩;

6)查询没有选修“0002”课程的学生姓名;

四.实验步骤

打开查询窗口,输入SQL查询语句,点击“执行”按钮,查看查询结果。

selectsno,sname

fromstudent,class

wherestudent.clsno=class.clsnoand

class.specialty='

selectsno

fromsc

wheresnoisnotnull;

selectsno,grade*0.75

wherecno='

and

gradebetween80and90;

select*

fromstudent,class

wheresnamelike'

张__'

student.clsno=class.clsnoand

(specialty='

or

specialty='

selectstudent.sno,grade

fromstudent,sc

wherecno='

student.sno=sc.snoand

gradein(selectgrade

fromstudent,sc

wheresname='

student.sno=sc.sno

selectdistinctsname

wherestudent.sno=sc.snoandcno!

='

0002

通过本次试验,复习用sql语言处理数据查询的一些方法,更好的掌握数据的查询。

实验七使用聚集函数的SELECT语句

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

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

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

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

在数据库EDUC中用SQL语句实现如下查询:

1)求学生的总人数。

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

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

4)求选修课程超过2门课的学生学号。

四.实验步骤

1)求学生的总人数.

selectCOUNT(*)

fromstudent;

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

selectCOUNT(distinctsno)

fromsc;

selectCOUNT(cno)

groupbycno;

selectsno

fromsc

groupbysno

havingCOUNT(*)>

1;

5、实验总结

通过本次试验对聚集函数的SELECT语句使用更加熟悉。

实验八视图的定义与使用

1.熟悉和掌握对数据表中视图的查询操作和SQL命令的使用;

2.熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系;

3.学习灵活熟练的进行视图的操作,认识视图的作用。

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

2.实验之后提交实验报告,思考视图和基本表的区别

三.实验内容

1.定义视图

在EDUC数据库中,已Student、Course和SC表为基础完成一下视图定义:

1)将Student,Course和SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_SC_G;

2)定义一个反映学生出生年份的视图V_YEAR;

3)将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G;

4)将各门课程的选

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2