数据库应用实训_第1页
数据库应用实训_第2页
数据库应用实训_第3页
数据库应用实训_第4页
数据库应用实训_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库应用实训任务书一、实训目的1培养学生运用所学开发语言和大型数据库(SQL Server 2005)的理论知识和技能,分析解决计算机的实际应用问题的能力;2培养学生调查研究,查阅技术文献,资料;3通过实训,掌握数据库系统综合开发的方法与技能;二、实训对象信息管理与信息系统(本科)1-2班。要求参加实训的学生具有以下几方面的知识与技能:1、能够较熟练地使用SQL Server 2005开发环境。2、懂得基本的数据库设计知识。3、掌握常用的SQL语句(创建,删除,查询等),以及简单的存储过程的使用。三、实训内容本次实训所包含的主要内容和学生本次实训要完成的主要任务:1用SQL Server 2

2、005实现一个管理信息系统的数据库设计内容包括:(1) 简单的需求分析(2) 数据库的概念设计和逻辑设计(重点)(3) 数据库和数据表的创建(4) 数据查询(5) 数据库的备份(6)数据的导入与导出2 编写实训报告,写出实训完成的过程。四、实训要求通过本次实训,学生应达到以下几方面的要求:1、素质要求以积极认真的态度对待本次实训,遵章守纪,团结协作。善于发现问题、分析问题,解决问题,努力培养自己的独立工作能力。2、知识要求熟练掌握数据库标准语言SQL中常用语句的功能、用法;可以通过在存储过程中设置流程控制语句,来完成较复杂的数据处理功能。3、能力要求学生应具有一定的项目分析能力、任务分解能力、

3、组织实施能力。学生应具有一定的查阅教材、各类相关资料及工具书的能力,进而养成自我学习的习惯。五、实训进度表本次实训课程为时一周,拟采用教师指导与学生上机实训同步进行的方式,具体进度安排如下:时间实训内容备注周一1)明确课题任务与涉及的要求 2)完成指定复习内容(见实训具体步骤1)周二1)确定所选课题(可从学校图书管理系统,人事管理系统,仓库管理系统中选取一个来实现),进行简单的需求分析,并开始写实训报告2)进行概念结构设计,画出所有的E-R图周三1)进行逻辑结构设计(把概念结构中E-R图中的实体,关系转换为关系数据库中的关系模式和关系)2)环境设置,建立数据库,并创建逻辑结构中的所有关系周四1

4、)实践数据导入与导出,在数据库中添加数据,完成数据库,并添加完整性约束2)完善系统,尽量添加触发器,存储过程等所学内容3)完成10个难度适中的查询题目,并给出答案周五完善实训报告,并提交作业六、实训具体步骤1实训开始首先复习下列指定内容:实验一SQL Server常用管理工具的使用实验目的理解服务的概念,掌握SQL Server服务的启动、暂停和停止。熟悉SQL Server数据库结构,掌握企业管理器的基本操作。理解查询分析器的作用,掌握查询分析器的常用用法。实验二 创建数据库实验目的:掌握使用企业管理器创建SQL Server数据库的方法。掌握使用SQL语言创建SQL Server数据库的方

5、法。掌握附加和分离数据库的方法。实验内容: (本次实验所创建数据库存放位置都为“F:SQLServer”)1用企业管理器创建数据库实验内容1:使用SQL Server企业管理器创建一个数据库,具体要求如下:l数据库名称为Test1。l主要数据文件:逻辑文件名为Test1Data1,物理文件名为Test1Data1.mdf,初始容量为1MB,最大容量为10MB,递增量为1MB。l次要数据文件:逻辑文件名为Test1Data2,物理文件名为Test1Data2.ndf,初始容量为1MB,最大容量为10MB,递增量为1MB。l事务日志文件:逻辑文件名为Test1Log1,物理文件名为Test1Log

6、1.ldf,初始容量为1MB,大容量为5MB,递增量为512KB。 实验内容2:创建用于员工考勤的数据库,数据库名为YGKQ,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名均采用默认值。2用SQL语言创建数据库实验内容3:使用查询分析器新建一个数据库,名称为“图书”,其主要数据文件大小为2M,最大文件大小为10M,每次增长2M;次要数据文件大小为1M;日志文件大小为1M;三个文件的文件名自定,上述没有说明的选项都采用默认值。提示:在查询分析器中输入如下SQL脚本:CREATE D

7、ATABASE 图书 ON ( NAME = data1, FILENAME = d: SQLServerdata1.mdf, SIZE = 2, MAXSIZE = 10, FILEGROWTH = 2 ),( NAME =data2, FILENAME = d: SQLServerdata2.ndf, SIZE = 1 )LOG ON ( NAME =log, FILENAME = d: SQLServerlog.ldf, SIZE = 1 )实验内容4:用T-SQL语句创建一个名为BOOK的数据库,它由5MB的主数据文件、2MB的次数据文件和1MB的日志文件组成。并且主数据文件以2MB的

8、增长速度增长,其最大容量为15MB;次数据文件以10%的增长速度增长,其最大容量为10MB;事务日志文件以1MB增长速度增长,其最大日志文件大小为10MB,存放位置都为“D:”,上述没有说明的选项都采用默认值。提示:在查询分析器中输入如下SQL脚本:CREATE DATABASE BOOK On(name=book1,filename=d:book1.mdf,size=5,maxsize=15,filegrowth=2),(name=book2,filenamed:book2.ndf,size=5,maxsize=10,filegrowth=10%)log on(name=book_log,f

9、ilename=d:book_log.ldf,size=1,maxsize=10,filegrowth=1)4数据库的分离与附加实验内容5:将“图书”数据库与服务器分离。实验内容6:将已分离的“图书”数据库附加到服务器上。实验三 数据库的管理实验目的:掌握使用企业管理器或存储过程查看SQL数据库属性的方法。掌握附加和分离数据库的方法。熟悉数据库的收缩。(简单了解)熟悉数据库的更名。掌握数据库的删除。掌握使用企业管理器或sp_dboption存储过程修改数据库选项的方法。实验内容: 1查看和修改数据库属性可以使用企业管理器或SQL语言来查看或修改数据库的属性。使用企业管理器的方法是右击数据库名称

10、,在快捷菜单中选择“属性”,然后数据库属性对话框中就可以查看或修改数据库的属性。也可以使用sp_helpdb、sp_spaceused、sp_helpfile和sp_helpfilegroup等存储过程查看和数据库有关的属性。修改数据库属性可以使用ALTER DATABASE命令。实验内容1:使用sp_ helpdb存储过程查看student数据库的信息,然后企业管理器将student数据库的事务日志文件的增长大小改为按1MB字节增长,再使用sp_ helpdb存储过程查看student数据库的信息。实验内容2:使用ALTER DATABASE命令为student数据库添加一个新的数据文件,文

11、件逻辑名为student_data3,初始大小为2MB,增长值为1MB,其他属性默认。 2数据库的分离与附加可以使用企业管理器或SQL语言对数据库进行分离和附加的操作。分离数据库的存储过程是sp_detach_db,附加数据库的存储过程是sp_attach_db。实验内容3:使用企业管理器将student数据库分离,然后再使用sp_attach_db存储过程将student数据库附加进来。3数据库的收缩数据库收缩可以缩小数据库的空闲空间。可以使用企业管理器或SQL语言对数据库进行收缩工作。收缩数据库使用的SQL语言是DBCC SHRINKDATABASE命令。也可以使用ALTER DATABA

12、SE的SET子句或sp_dboption将数据库设为自动收缩。实验内容4:将student数据库设为自动收缩。提示:在查询分析器中输入如下SQL脚本:CREATE DATABASE BOOK On(name=book1,filename=d:book1.mdf,size=5,maxsize=15,filegrowth=2),(name=book2,filenamed:book2.ndf,size=5,maxsize=10,filegrowth=10%)log on4数据库的更名更改数据库的名称应使用sp_renamedb存储过程。实验内容5:将student数据库改名为stu。5数据库选项的配

13、置可以使用 ALTER DATABASE 语句的 SET 子句、sp_dboption 系统存储过程,或者在某些情况下使用 SQL Server 企业管理器设置数据库选项。实验内容6:使用企业管理器将stu数据库设为只读。 实验内容7:使用sp_dboption存储过程取消stu数据库的只读设置。6数据库的删除删除数据库可以使用企业管理器或DROP DATABASE命令。实验内容8:使用DROP DATABASE命令将stu数据库删除。实验四 表的操作实验目的:掌握使用企业管理器和T-SQL语句创建表。掌握使用企业管理器和T-SQL语句修改表的结构。掌握使用企业管理器和T-SQL语句实现对数据

14、的操作。实验内容: 1使用企业管理器按下表结构创建表表名:Course属性名称属性描述数据类型字节数空否备注CourseID课程号int4否主键,标识列CourseName课程名称varchar20否Category课程类别char8Period学时数smallint2Credit学分tinyint12使用T-SQL语句按下表结构创建表表名:Student属性名称属性描述数据类型字节数空否备注StudentNum学号char9否主键StudentName姓名varchar8否Sex性别bit1Birthday出生日期smalldatetime4ClassID班级号int43使用企业管理器修改表

15、的结构使用企业管理器将第1题所建立的Course表中的Category字段修改为varchar(20),为Period和Credit字段默认值为0。提示:在查询分析器中输入如下SQL脚本:CREATE DATABASE BOOK On(name=book1,filename=d:book1.mdf,size=5,maxsize=15,filegrowth=2),(name=book2,filenamed:book2.ndf,size=5,maxsize=10,filegrowth=10%)log on4使用T-SQL语句修改表的结构使用T-SQL语句为Student表添加Nation(民族)字

16、段和Stature(身高)字段,字段数据类型自定。5使用企业管理器实现对数据的操作使用企业管理器按下表向Course添加数据。课程号课程名称课程类别学时数学分1哲学公共 3622实用英语(1)公共 7233实用英语(2)公共 7234计算机应用基础公共 10255C语言程序设计专业基础10256关系数据库技术基础专业基础10256使用T-SQL语句实现对数据的操作(1)使用INSERT语句向Course表中添加记录:(计算机网络,专业基础,72,4)(2)使用UPDATE语句将Course表中的“计算机应用基础”课的学时数修改为106。(3)使用DELETE语句将Course表中的公共课全部删

17、除。实验五 表的完整性实验目的:理解数据完整性的概念和SQL Server实现数据完整性的机制。掌握使用企业管理器和T-SQL语句定义数据完整性,重点掌握主键、外键、检查、唯一和默认值等约束的定义和使用。实验内容: 1使用T-SQL语句按下表结构创建表(在创建表时定义约束)表名:Grade属性名称属性描述数据类型字节数空否约束备注StudentNum学号char9否主键CourseID课程号int4否主键DailyGrade平时成绩decimal5,1不小于0且不大于20PracticeGrade实践成绩decimal5,1不小于0且不大于30TestGrade期末成绩decimal5,1不小

18、于0且不大于50Grade总评由平时成绩(20%)、实践成绩(30%)和期末成绩(50%)计算而来2使用T-SQL语句修改表的结构(1)为班级表ClassInfo添加入学时间EnrollDate字段,并定义入学时间不小于2001年9月1日。(2)为班级表ClassInfo定义主键约束,定义班级号ClassID为主键。3使用企业管理器定义约束(1)为学生表Student定义外键约束,使ClassID参照班级表ClassInfo中的ClassID,并为约束设置级联更新。(2)为班级表ClassInfo的ClassName定义唯一约束。4 默认值对象的创建与使用(1)使用T-SQL语句创建名为DF_

19、GRADE的默认值对象,值为0。(2)使用企业管理器将DF_GRADE绑定到成绩表Grade中的DailyGrade、PracticeGrade和TestGrade字段上。(3)使用sp_unbindefault存储过程将DF_GRADE从DailyGrade、PracticeGrade和TestGrade字段上解除。(4)删除DF_GRADE默认值对象。实验六 简单查询实验目的:熟悉SELECT语句的基本语法,掌握各子句的基本用法。能使用SELECT语句进行简单查询。实验内容:1、从教师数据表Teacher查询出所有教师的教师编号,姓名,性别和出生日期,并使用中文列标题。2、查询学生表Stu

20、dent的姓名StudentName中所有姓王的学生的基本信息。3、查询学生表Student的姓赵、钱、孙、李的学生的基本信息。4、查询学号StudentNum是或或或的学生的基本信息。5、从成绩表Grade中查询所有成绩不及格学生的学号和对应课程号。6、查询出学习20号课程的成绩前10名同学的学号和总评。实验七 高级查询实验目的:1掌握多表查询、分组查询、联合查询和嵌套查询的使用。2掌握使用企业管理器进行查询的方法。实验内容:1、查询成绩表Grade中每位学生的学号StudentNum和各科的总成绩,并按总成绩降序排列。2、查询专业为计算机应用的学生的学号、姓名和专业代码(用两种方法实现)。

21、3、查找课程表中没有学生选修的课程的课程号和课程名称(用两种方法实现)。4、查询课程名称中含有数据的课程的课程号、课程名称以及学习该课程的学生的学号和成绩。5、查询成绩在6080之间,或者课程号为03的学生的学号、姓名、性别和班级。实验八 视图的使用实验目的:理解视图的基本概念,掌握视图的创建、修改和删除。掌握对视图进行查询和更新。实验内容:1、使用企业管理器创建一个名为“view_1”的视图,内容是显示学生表Student中计用061班的学生的学号、姓名、性别和专业名称。2、使用查询分析器创建一个名为“view_2”的视图,内容是显示学生表中没有选修课程的学生的学号、姓名和班级。3、使用查询

22、分析器修改名为“view_1”的视图,内容修改为显示学生表中男生的学号、姓名、性别和班级,并且以后所有对该视图的更新操作都必须符合所设定的条件。 4、查询视图“view_1”中班级为通信051的所有信息。5、向视图“view_1”中的所有字段插入一条记录。实验九 索引实验目的:理解索引的概念,掌握索引的创建。理解索引的优缺点,掌握索引的管理和维护。实验内容:使用企业管理器为学生表Student创建一个以StudentNum为索引关键字的惟一聚簇索引。将上一步所建立的索引名称修改为new_index。将前述所建立的new_index索引删除。使用T-SQL语句为教师表Teacher创建一个名为T

23、eacher_Index的惟一非聚簇索引,索引关键字为教师编号,升序,填充因子为80%。使用T-SQL语句为学生表Student创建一个名为Student_Index的惟一非聚簇复合索引,索引关键字为学号,升序,填充因子为50%。使用T-SQL语句将教师表中的Teacher_Index删除。实验十 存储过程实验目的:理解存储过程的概念,掌握各种存储过程的创建方法。掌握查看、修改和删除存储过程的方法。掌握执行存储过程的方法。实验内容:1、创建一个名为“proc_1”的存储过程,用于查看学生表的所有信息。然后调用该存储过程。2、创建一个名为“proc_2”的存储过程,用于向学生表的所有字段添加一条

24、记录,记录内容由调用时决定。然后调用该存储过程。3、创建一个名为“proc_3”的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定。然后调用该存储过程。4、修改存储过程“proc_3”,用于查询不小于指定成绩的学生的基本信息,具体成绩由调用时决定。5、创建一个名为“proc_4”的存储过程,用于求一个3位整数的反序数。例如123的反序数为321。实验十一 触发器实验目的:理解触发器的概念与类型。掌握创建、修改和删除触发器的方法。掌握使用触发器维护数据完整性的方法。实验内容:1、创建一个名为“trig_1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。2、创建一

25、个名为“trig_2”的触发器,当试图向学生表添加、修改或删除记录时,该触发器自动显示如下信息:“对不起,你无权进行更新操作!”。3、修改“trig_2”的触发器,当向学生表修改记录时,该触发器自动显示修改前和修改后的记录。4、创建一个名为“trig_3”的触发器,当向学生表删除记录时,该触发器自动删除成绩表中与之相关的所有记录。5、创建一个名为“trig_4”的触发器,当向成绩表添加记录时,该触发器自动显示与该记录相关的学生的学号、姓名和班级。(本题要求创建之前先判断该触发器是否存在)实验十二 数据库的备份与恢复(此部分了解即可)实验目的:理解备份的基本概念,掌握各种备份数据库的方法。掌握如

26、何从备份中恢复数据库。实验内容:1、使用企业管理器创建一个名为“stubak”的备份设备(文件路径及文件名自定),然后把“学生信息”数据库完全备份到该备份设备中。备份完毕后使用备份对该数据库进行恢复。2、使用企业管理器在以上数据库完全备份的基础上对该数据库进行差异备份,并且追加到上述备份设备中。然后使用备份对该数据库进行恢复。3、使用T-SQL语言创建一个名为“pubsbak”的备份设备,该设备在硬盘中所对应的完整文件名为“D:SQLpubs.bak”。4、使用T-SQL语言把“NorthWind”数据库备份到“D:SQLnorth.bak”文件中。5、使用T-SQL语言把上题的备份恢复到“N

27、orthWind”数据库。6、把xueji数据库中的student和course转换到Excel数据库中。2按照数据库设计的步骤进行数据库的设计和实训报告的撰写:(实例如下:)1 需求描述以前超市大多数管理员主要使用传统的手工记账工具,经常要翻阅各种大量的台账,运用计算器等辅助工具进行计算、统计、制作报表。采用这种工作方式工作量大、效率低、易出错、准确性差、及时性差,而且有很多报表需要存档,查找繁琐。同时,这种方式提供的信息量不够大,且比较单一,不能满足现代管理工作对大量数据和信息进行分析的需求。本系统在上述背景下,建立一个针对超市管理的小型网络平台,本系统具有速度快、精度高、存储信息量大的特

28、点,能够提高管理人员的工作效率,降低成本和管理费用,使管理人员从大量的繁琐的手工劳动中解脱出来。还可以对数据和信息进行规范化处理,从而实现了信息资源的有效利用和学校内部数据信息的共享,实现网络化管理和电子管理。2 数据库概念设计分析前面的系统要求,需要一个表来储存商品信息,使系统能够接受超市进货,销售时输入的各项数据,以实现数据录入、查询或统计商品数量信息等功能。商品信息表是本系统的第一个实体。为了实现查询和统计商品的销售情况和进货情况,必须有一个表来记录以上信息。进货单为第二个实体,销售明细为第三个实体。进货单为第四个实体。进货单进货ID货商ID商品ID商品名进货单价进货数量货商联系人商品名

29、货商ID地址商品商品号商品名类别计价单位零售单价库存量销售明细单价折扣商品编号金额销售数量提供NM供货MN销售产生11商品管理系统E-R图数量提供时间最低库存最高库存3 实体属性列表如下:实体属性进货单进货ID货商ID商品ID商品名进货单价进货数量商品信息商品号商品名类别计价单位零售单价库存量最低库存最高库存货商信息联系人商品名货商ID地址销售明细单价商品编号销售数量折扣金额4 数据库逻辑结构设计商品(商品ID,商品名,类别,计价单位,零售单价,最低库存,最高 库存,库存量 )货商(括货商ID,货商名,联系人,地址)进货(进货ID,货商ID,商品ID,商品名,进货单价,进货数量 )销售明细(单

30、价,商品编号,销售数量,折扣,金额) 5 商品信息表格表中列名数据类型可否为空说明commodityIDcharnot null商品ID(主键) c_namecharnot null商品名 category_name charnot null类别 unit charnull 计价单位salepricenumericnot null 零售单价mimstorintnull 最低库存 maxstorint null最高库存storageAmount intnull 库存量货商信息表表中列名数据类型可否为空说明 HSIDcharnot null货商ID(主键) companycharnot null 货商名personcharnot null 联系人citychar null 地址进货信息表表中列名数据类型可否为空说明进货ID int not null 进货ID(主键)

温馨提示

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

评论

0/150

提交评论