网络数据库实训报告.doc
《网络数据库实训报告.doc》由会员分享,可在线阅读,更多相关《网络数据库实训报告.doc(21页珍藏版)》请在冰点文库上搜索。
教学管理实训报告
题目名称:
网络数据库实训
系部:
专业班级:
学生姓名:
某某某
学号:
1234567891
指导教师:
完成日期:
教学管理实训评定意见
实训题目教学管理数据库实训
系部__管理工程系_____专业班级
学生姓名__某某某______学生学号1234567891
评定意见:
评定成绩:
指导教师(签名):
年月日
(此页背书)
评定意见参考提纲:
1、学生完成的工作量与内容是否符合任务书的要求。
2、学生的勤勉态度。
3、设计或说明书的优缺点,包括:
学生对理论知识的掌握程度、实践工作能力、表现出的创造性和综合应用能力等。
计算机工程系(部)教学管理实训任务书
2013-2014学年第一学期2014年1月3日
专业
电子商务
班级
12-6班
课程名称
网络数据库
实训题目
教学管理数据库的设计与实现
指导教师
起止时间
周数
1周
实训地点
实训目的:
1.熟悉数据库设计与开发的一般过程。
2.理解概念设计、逻辑设计、物理设计的意义和方法。
3.掌握表内约束和表间约束的作用和实现方法。
4.掌握数据查询设计的方法。
实训任务或主要技术指标:
1.用SQL语句完成数据库和表的设计。
2.表中的记录数应该能满足数据测试的要求。
3.实体的属性和约束设计合理,实体间的外键约束满足系统要求。
4.能够实现系统要求的数据操纵和数据控制操作,其中包括:
索引、视图、存储
过程及SQL语句的设计。
实训进度与要求:
第1天:
收集资料,上机建库、建表、建关联、输入数据。
第2~3天:
完成数据使用及查询。
第4天:
调试代码,整理实验数据和结果,撰写设计报告。
第5天:
进行答辩,报成绩。
主要参考书及参考资料:
1.SQLServer教程郑阿奇清华大学出版社
2.SQLServer数据库项目案例导航刘大玮清华大学出版社
3.SQLServer高级开发指南精英科技中国电力出版社
教研室主任(签名)系(部)主任(签名)
摘要
此次实训的内容是关于网络数据库的实训。
对于此次实训主要进行的是教学管理数据库的设计与实现;是参照学过的课本上的知识做了数据库与表的设计和SQL语句设计。
数据库与表的设计主要包括(数据库设计、用SQL语句建立数据库;表的设计、建立表间关系);SQL语句设计主要包括(数据完整性设计、索引的设计、视图的设计、存储过程的设计、SELECT语句的设计)。
对于这些设计,此次实训主要是利用在课堂上学习的知识来编写数据库语句在SQLSERVER软件中编写运行这些语句,然后再执行,来验证语句的对错以及运行语句得出的结果。
最后通过截图方式把实训的内容移到文档,完成此次SQLSERVER数据库的设计与实现。
关键词:
数据库与表的设计;SQL语句设计;SQLSERVER软件;数据库语句
目录
1.数据库与表的设计 1
1.1数据库设计 1
1.1.1用SQL语句建立数据库 1
1.2表的设计 2
1.2.1SQL语句创建表 2
1.2.2SQL语句创立主键 3
1.2.3建立表间关系 3
2.SQL语句设计 4
2.1数据完整性设计 4
2.1.1SQL语句建立约束 4
2.2索引的设计 6
2.2.1SQL语句建立索引 6
2.3视图的设计 7
2.3.1SQL语句建立视图 7
2.4存储过程的设计 8
2.4.1SQL语句建立存储过程 8
2.5SELECT语句的设计 9
2.5.1SQL语句建立查询语句 9
总结 14
参考文献 15
1.数据库与表的设计
1.1数据库设计
1.1.1用SQL语句建立数据库
建立数据库题目如下:
(1)在SQLServer2005下创建名字为销售数据库‘教学管理’,该数据库有一个名字为教学管理.mdf的主数据文件和名字为教学管理_Log.ldf的事务日志文件。
主数据文件容量为4MB,日志文件容量为2MB,数据文件和日志文件的最大容量为10MB,文件增长量为1MB。
SQL语句如下:
CREATEDATABASE教学管理
ON
PRIMARY(NAME=Sale,
FILENAME='C:
\教学管理.mdf',
SIZE=4,
MAXSIZE=10,
FILEGROWTH=1)
LOGON
(NAME=Sale_Log,
FILENAME='C:
\教学管理_Log.ldf',
SIZE=2,
MAXSIZE=10,
FILEGROWTH=1)
GO
(2)显示‘教学管理’数据库的信息
SQL语句如下:
SP_HELPDB教学管理
GO
(3)使用MANAGEMENTSTUDIO将‘教学管理’数据库名改为‘教学管理1’
步骤如下:
第一步:
点击‘教学管理’教学管理数据库名字;第二部:
右击;第三部点击重命名把名字修改为‘教学管理1’
(4)使用sp_renamedb系统存储过程将‘教学管理1’数据库名重新修改为‘教学管理’。
SQL语句如下:
SP_RENAMEDB'教学管理1',‘教学管理'
GO
(5)配置‘教学管理’数据库为只读
SQL语句如下:
SP_DBOPTION'教学管理','READONLY','TRUE'
GO
1.2表的设计
1.2.1SQL语句创建表
‘教学管理‘数据库中建立两个表的SQL语句如下:
1)利用SQL语句建立一个class_info表
SQL语句如下:
use教学管理
go
createtableclass_info
(class_nointnotnull,
class_namechar(20)notnull,
directorchar(10)null,
professionchar(4)null)
go
2)利用SQL语句建立一个result_info表
SQL语句如下:
use教学管理
go
createtableresult_info
(exam_nochar(10)notnull,
student_idintnotnull,
course_nochar(10)null,
resultfloatnull)
Go
1.2.2SQL语句创立主键
建立两个表的主键如下:
1)利用SQL语句建立一个class_info表的主键
SQL语句如下:
altertableclass_info
addconstraintpk_class_infoprimarykey(class_no)
2)利用SQL语句建立一个student_info表的主键
SQL语句如下:
altertablestudent_info
addconstraintpk_student_infoprimarykey(student_id)
1.2.3建立表间关系
表间关系如下图:
2.SQL语句设计
2.1数据完整性设计
2.1.1SQL语句建立约束
(1)根据你的理解,简述‘教学管理’数据库需要设置哪些主键SQL语句。
SQL语句如下:
1)altertableclass_info
addconstraintpk_class_info
primarykey(class_no)
2)altertablestudent_info
addconstraintpk_student_info
primarykey(student_id)
3)altertableresult_info
addconstraintpk_result_info
primarykeyclustered(student_id,course_no)
4)altertablecourse_info
addconstraintpk_course_info
primarykey(course_no)
(2)在开发时需要保证student_info表与result_info表之间的参照完整性,即向result_info表录入或修改产品编号student_id时,它必须在student_info表中存在。
SQL语句如下:
altertableresult_info
addconstraintstudent_id_fkforeignkey(student_id)
referencesstudent_info(student_id)
(3)根据你的理解,简述‘教学管理’数据库还需要设置哪些外键
SQL语句如下:
1)altertableresult_info
addconstraintcourse_no_fkforeignkey(course_no)
referencescourse_info(course_no)
2)altertablestudent_info
addconstraintclass_no_fkforeignkey(class_no)
referencesclass_info(class_no)
(4)在course_info上对数量course_score列的值进行限制,使其值>=2时有效
SQL语句如下:
altertablecourse_info
addconstraintck_course_scorecheck(course_score>=2)
2.2索引的设计
2.2.1SQL语句建立索引
(1)用户需要按照student_name(学生姓名)查询学生信息
SQL语句如下:
use教学管理
go
createnonclustered
indexix_student_nameonstudent_info(student_name)
(2)用户需要按照course_name(课程名称)查询课程信息
SQL语句如下:
use教学管理
go
createunique
indexix_course_nameoncourse_info(course_name)
2.3视图的设计
2.3.1SQL语句建立视图
(1)创建视图v_student_info,显示student_sex为男。
SQL语句如下:
use教学管理
go
createviewv_student_info
as
select*
fromstudent_info
wherestudent_sex='男'
Go
(2)创建视图v_result_info,显示result大于等于85。
SQL语句如下:
use教学管理
go
createviewv_result_info
as
select*
fromresult_info
whereresult>=85
Go
2.4存储过程的设计
2.4.1SQL语句建立存储过程
(1)创建存储过程p_student_info,显示class_no为200002和student_sex为男。
SQL语句如下:
use教学管理
go
createprocedurep_student_info
as
select*
fromstudent_info
whereclass_no='200002'andstudent_sex='男'
Go
(2)创建存储过程p_student_info00,以输出参数的形式,显示class_no为
200002和student_sex为男。
SQL语句如下:
createprocedurep_student_info00
@class_noint,@student_sexchar
(2)
as
select*fromstudent_infowhereclass_no=@class_noandstudent_sex=@student_sex
Go
2.5SELECT语句的设计
2.5.1SQL语句建立查询语句
(1)查询学生李菲的地址和电话。
SQL语句如下:
selecttele_number,address
fromstudent_info
wherestudent_name='李菲'
(2)向class_info表中插入一条记录,class_no为“006”。
SQL语句如下:
insertclass_info
values('200006','','','')
select*fromclass_info
(3)将course_info表中“专业课”更新为“选修课”。
SQL语句如下:
updatecourse_info
setcourse_type='选修课'
wherecourse_type='专业课'
select*fromcourse_info
(4)向class_info表中加入性别字段
SQL语句如下:
altertableclass_info
addsexnvarchar
(2)null
(5)生成按地址划分的student_info表,“北京市student_info”和“武汉市student_info”。
SQL语句如下:
1)select*
into北京市student_info
fromstudent_info
whereaddresslike'北京市%'
2)select*
into武汉市student_info
fromstudent_info
whereaddresslike'武汉市%'
(6)查询result_info表中成绩最高的和最低的学生信息。
SQL语句如下:
select*
fromresult_info
whereresult='89.0'orresult='45.0'
(7)查询学生总数
SQL语句如下:
selectstudent_id
fromstudent_info
(8)查询出销售表中产品的result,要求显示student_id和result,并按result降序排序。
SQL语句如下:
selectstudent_id,result
fromresult_info,student_info
whereresult_info.student_id=student_info.student_id
orderbyresultdesc
(9)试写出一个查询语句,查询student_id等于'20000102'与course_no
SQL语句如下:
selectstudent_info.student_id,course_info.course_no
fromcourse_info,result_info,student_info
wherecourse_info.course_no=result_info.course_noandstudent_info.student_id=result_info.student_idandstudent_id='20000102'
(10)计算result_info表中的平均成绩。
SQL语句如下:
select'平均成绩'=avg(result)
fromresult_info
总结
通过此次实训让我深刻的领略到团队精神,让我感受到人多力量大的真正含义。
同时通过此次实训让我们同学们的友情更近一步。
此次网络数据库实训是很有意义的。
更重要的是把平时所学的东西用到实际上。
让我们学会了做任何决定之前都需要先做好充分的准备。
此次同学的配合、相处,以及自身的动脑努力,都是以后工作中需要的。
我认为这个收获应该是相当大的。
对于此次实训老师让我们主要对于课堂上学习的网络数据库知识充分运用到此次实训中来,使我们对于学习的这门专业课知识熟练掌握。
对于此次实训所遇到的难题,老师和同学们是随时陪在我们身边随时为我们解惑,这样以便我们耽误太多不必要时间和精力,又属于自己亲自操作,增加知识印象。
此次实训在查询书本上的知识和老师同学的帮助下顺利完成了此次实训,对于这门课程通过这次实训让我们熟记于心。
参考文献
[1]曾长军,SQLSERVER数据库原理及应用教程,人民邮电出版社,2009,2009年10月
第一次印刷
[2]曾建华,徐人凤,SQLSERVER2005数据库及应用,高等教育出版社,2007,2013年
1月第十二次印刷
[3]李国彬,赵丽娟,SQLSERVER2000应用基础与实训教程,西安电子科技大学出版社
2004,2004年5月第一次印刷
14