1、数据库系统原理 DBMS 实验报告 SQL 学生实验报告册课程名称:数据库系统原理 专业班级: 计算机科学与技术 学生学号: 9999999999 学生姓名: 所属院部: 信息技术学院 指导教师: 20 99 20 99 学年 第 9 学期大学教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。填写注意事项(1)细致观察,及时、准确、如实
2、记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。实验项目名称: 熟悉SQL Server 2000环境及数据库文件管理 实验序号: 1 实验学时: 2 学生姓名: 实验成绩: 实验
3、地点: A210 实验日期: 2099-99-99 批改教师: 批改时间: 一、实验目的1、掌握登录SQL Server 2000的方法,熟悉SQL Server实用工具的使用 ;2、了解SQL Serve数据库的存储结构,掌握估算数据库大小技术;3、掌握创建数据库技术,掌握扩大和压缩数据库技术; 4、掌握使用企业管理器工具和T-SQL语句及系统存储过程对数据库进行管理。二、实验要求1、熟悉SQL Server 2000的工作环境,了解SQL Server主要管理工具的用途和使用方法。2、掌握在SQL Server 2000环境下,利用企业管理器和T-SQL语言创建和管理数据库的方法。三、实验
4、设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中文版四、实验步骤1、分析题意,重点分析题目要求并给出解决方法;2、创建以自己学号命名的文件夹;3、根据题目要求启动SQL Server管理工具;4、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;5、提交完成的实验结果。五、实验内容(一) 熟悉SQL Server 2000管理工具1、企业管理器(Enterprise Manager)2、查询分析器(Query Analyzer)3、服务管理器(Service Manager)4、事件探查器(
5、Profiler)5、导入和导出数据(Import and Export Data)6、SQL Server其他管理工具(二) 数据库文件管理1、数据库的创建和删除。 在企业管理器中建立一个图书读者库。图书读者数据库中将包括一个数据文件和一个日志文件,各文件的属性见表1-1。表1-1图书读者数据库中各列的属性(下表中*为学号)参数参数值数据库名图书读者库逻辑数据文件名Readbook_dat操作系统数据文件名*readbook_dat.Mdf数据文件的初始大小2MB数据文件的最大大小10MB数据文件增长幅度原来的15%日志逻辑文件名Readbook_log操作系统日志文件名*readbook_
6、log.Ldf日志文件初始大小1MB,且文件增长不受限制日志文件增长幅度2MB 删除上题所建的数据库然后用T-SQL语句重新创建。2、修改数据库 查看图书读者数据库的属性及数据文件和日志文件的空间使用情况。 在企业管理器中,首先扩大图书读者数据库的主数据文件的大小,然后查看扩大后的数据库属性,接着收缩主数据文件到定义时的大小。 用T-SQL语句为图书读者数据库添加一个大小为2MB的次数据文件。六、阅读、讨论及思考题1、仔细阅读实训教程第一、二章2、思考:(1)数据库包括哪些数据库对象?各对象的主要作用是什么?(2)数据库文件和日志文件的异同点是什么?(3)文件组的作用是什么?(4)简述SQL
7、Server的4个系统数据库及其作用?七、问题解答及实验结果(1)数据库包括哪些数据库对象?各对象的主要作用是什么?数据库对象定义了数据库内容的结构。它们包含在数据库项目中,数据库项目还可以包含数据生成计划和脚本。在“解决方案资源管理器”中,数据库对象在文件中定义,并在数据库项目中的“架构对象”子文件夹下根据类型分组。使用数据库对象时,可能会发现使用名为“架构视图”的数据库对象视图会更加直观。在“架构视图”中,可以看到按类别划分的数据库对象。(2)数据库文件和日志文件的异同点是什么?文件和文件组 SQL 2000使用一组操作系统文件映射数据库。数据库中的所有数据和对象(如表、存储过程、触发器和
8、视图)都存储在下列操作系统文件中: 主要 该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主要数据文件。 次要 这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。 事务日志 这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件。文件只能是一个文件组的成员。 数据和事务日志信息不能属于同一文件或文件组。 事务日志文件不能属于任何文件组。(3)文件组的作用是什么?件组可以把数据库拆分成多个文件存储,
9、然后文件分别放在不同的盘里面,这样读取数据的时候速度快,可并行读取。另外,文件组可以使文件的组织更加有序, 这样的组织就能让数据的读取更加有效率,而且便于管理(4)简述SQL Server的4个系统数据库及其作用?(1)用来组织和管理空间信息,并挖掘空间信息资源(2)帮助数据使用者查询所需空间信息。(3)组织和维护一个机构对数据的投资。 (4)用来建立空间信息的数据目录和数据交换中心。通过数据目录和数据交换中心等提供的空间元数据内容,用户可以共享空间信息、维护数据结果,以及对它们进行优化等。 八、实验体会(遇到的问题及其解决方法,心得体会)通过本次实验,掌握了登录SQL Server 2000
10、的方法,熟悉SQL Server实用工具的使用 ,了解SQL Serve数据库的存储结构,掌握估算数据库大小技术,掌握创建数据库技术,扩大和压缩数据库技术,使用企业管理器工具和T-SQL语句及系统存储过程对数据库进行管理。锻炼和培养了实际操作技能和动手能力,通过上机实验,加深对课堂所学理论的理解,最终达到综合锻炼和提高的目的。实验项目名称: 表和表数据的操作 实验序号: 2 实验学时: 2 学生姓名: 实验成绩: 实验地点: A210 实验日期: 2099-99-99 批改教师: 批改时间: 一、实验目的掌握在SQL Server 2000环境下,利用企业管理器和T-SQL语言创建和管理表的方
11、法。二、实验要求1、掌握利用“企业管理器”创建数据表的方法;2、学会利用TSQL语句建立自定义数据类型;3、掌握使用TSQL语句建立数据表的方法;4、掌握数据表的修改及删除方法(界面方式及语句方式);5、使用“企业管理器”进行各种有关记录数据的操作;6、掌握TSQL中的INSERT、UPDATE及DELETE语句的使用方法;三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中文版四、实验步骤1、分析题意,重点分析题目要求并给出解决方法;2、创建以自己学号命名的文件夹;3、根据题目要求启动SQL Server管理工
12、具;4、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;5、提交完成的实验结果。五、实验内容(一) 创建数据库利用“企业管理器”创建学生成绩管理数据库,Stuscore_dat.mdf,2MB-10MB,按10%增长;Stuscore_log.ldf,1BM,按2MB增长。(二) 创建数据表1、用“企业管理器”或查询分析器建立stuscore数据库中的学生表(Student)、班级表(Class)、课程表(Course)及成绩表(Grade),结构如下:(a) Student表的结构为:字段名类型中文名备注SNOChar(8)学号主键SNameVarchar(10)
13、姓名SexChar(2)性别男、女ClsNOChar(6)班级班级的编号,参照表ClassStuAddrVarchar(20)住址描述性说明BirthdaySmallDate出生年月HeightDEC(4,2)身高以米为单位表示学生的身高。(b) Class表的结构为:字段名类型中文名备注ClsNOChar(6)班号主键ClsNameVarchar(16)班名对班级的描述信息DirectorVarchar(10)辅导员班级的辅导员SpecialtyVarchar(30)专业(c) Course表的结构为:字段名类型中文名备注CNOChar(4)课程号主键CNameVarchar(16)课程名课
14、程的名称PCNOchar(4)先修课程先修课程的课程号CreditTinyint学分(d) Grade表的结构为:字段名类型中文名备注SNOChar(8)学号学号,参照Student,与CNO组成主键CNOChar(4)课程号课程号,参照CourseScorceNumber(4,1)成绩2、用“企业管理器”或系统存储过程sp_addtype创建用户自定义数据类型:studentNo,char(8),和courseNo,char(4)3、修改学生成绩管理数据库中的各表,学号和课程号应用自定义的数据类型。4、将表Student增加一列Department(系别)Char(12)。(三) 表数据的操
15、作1、向表(Student)中插入数据SNOSNameSexClsNOStuAddrBirthdayHeight19920101王军男CS01下关40#1976.12.211.7619920102李杰男CS01江边路96#1974.5.241.7219920306王彤女MT04中央路94#1977.3.181.6519940107吴杪女PH08莲化小区74#1979.4.81.60插入数据之后使用命令:Select * from Student; 检查插入数据的正确性2、向表(Class)中插入数据ClsNOClsNameDirectorSpecialtyCS01计算机一班王宁计算机应用MT0
16、4数学四班陈晨数学PH08物理八班葛格物理插入数据之后使用命令:Select * from Class; 检查插入数据的正确性3、向表(Course)中插入数据CNOCNamePCNOCredit0001数学Null60003计算机基础000130007物理00014插入数据之后使用命令:Select * from Course; 检查插入数据的正确性4、向表(Grade)中插入数据SNOCNOScore199201010001901992010100078619920102000187199201020003761992030600018719920306000393199401060007
17、85插入数据之后使用命令:Select * from Grade; 检查插入数据的正确性5、使用Delete语句删除表中数据(1) Delete from Grade where SNo=19920101(2) 删除数据之后使用命令: Select * from Grade;(3) 检查仍存在数据的正确性六、阅读、讨论及思考题1、仔细阅读实训教程第三章2、思考:(1)SQL Server2000提供了哪些基本的数据类型?(2)SQL Server2000有哪些方法来保证数据的完整性约束?(3)DROP TABLE语句在使用时应该注意什么问题?七、问题解答及实验结果(1)SQL Server20
18、00提供了哪些基本的数据类型?数值型,字符型,文本型,日期型,逻辑型,浮点型(2)SQL Server2000有哪些方法来保证数据的完整性约束?sql server 2000中数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点(3)DROP TABLE语句在使用时应该注意什么问题?DROP TABLE语句删除由 CREATE TABLE语句创建的表。表将从数据库结构和磁盘文件中完全删除,且不能恢复。该表的所有索引也同时被删除。DROP TABLE语句在缺省模式下不减小数据库文件的大小。空间
19、会留给后来的INSERT语句使用。要释放删除产生的空间,可以使用 VACUUM 命令。若AUTOVACUUM模式开启,则空间会自动被DROP TABLE释放。若使用可选的IF EXISTS子句,在删除的表不存在时就不会报错。八、实验体会(遇到的问题及其解决方法,心得体会)通过本次实验,掌握了利用“企业管理器”创建数据表的方法,学会利用TSQL语句建立自定义数据类型,掌握了使用TSQL语句建立数据表的方法,数据表的修改及删除方法,使用“企业管理器”进行各种有关记录数据的操作和TSQL中的INSERT、UPDATE及DELETE语句的使用方法。锻炼和培养了实际操作技能和动手能力,通过上机实验,加深
20、对课堂所学理论的理解。实验项目名称: 关系、索引和视图 实验序号: 3 实验学时: 2 学生姓名: 实验成绩: 实验地点: A210 实验日期: 2099-99-99 批改教师: 批改时间: 一、实验目的1、掌握关系图的创建方法。2、掌握创建索引、查看索引和删除索引的操作和方法。3、掌握创建、查询、更新、修改和删除视图的操作和方法。二、实验要求1、掌握在SQL Server 2000环境下,利用企业管理器创建关系图,理解关系数据库中表间关系的参照引用完整性;2、掌握在SQL Server 2000环境下,利用企业管理器创建、查看和管理视图;3、掌握在SQL Server 2000环境下,利用企
21、业管理器创建、查看和管理索引。三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中文版四、实验步骤1、分析题意,重点分析题目要求并给出解决方法;2、创建以自己学号命名的文件夹;3、根据题目要求启动SQL Server管理工具;4、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;5、提交完成的实验结果。五、实验内容(一) 创建关系图根据实际情况,为学生成绩库(stuscore)创建关系图。试比较在 “对 INSERT 和 UPDATE 强制关系”选项选中或不选中情况下,对外键表中数据插入
22、、更新有何影响?(二) 索引的创建、查看和删除1、利用SQL Server企业管理器,为学生情况(xsqk)表创建一个基于总学分(total)和学号(xh)的索引IX_total_xh,其中总学分(total)按降序排列,当学号总学分相同时,按学号(xh)升序排列,填充因子为80%。2、利用查询分析器为学生情况(xsqk)表创建一个基于系别(dept)和班级(class)的索引IX_dept_class,其中按系别升序、班级降序排列,填充因子为70%。3、利用索引管理器查看索引。4、删除索引IX_total_xh。利用索引管理器(1)中的索引。(三) 视图的创建、查询、修改和删除1、为学生情况
23、(xsqk)表创建一个视图V_xsqk,以显示学生的学号、姓名、性别和出生年月等基本信息。2、创建一个视图V_XSCJ,以显示“101”号课程的学生成绩信息,如学号、姓名、课程名称、成绩和学分等。3、分别利用视图V_xsqk和V_XSCJ作查询和更新操作。4、利用企业管理器,修改V_xsqk视图的定义,为其增加一个条件,使得该视图只显示“计算机0203”班的学生的基本信息。六、阅读、讨论及思考题1、仔细阅读实训教程第五章2、思考:(1)SQL Server 2000数据库中表之间的关系主要分为哪几类?(2)视图的更新和修改有什么区别?如何进行相应的操作?(3)SQL Server 2000数据
24、库中的索引可以分为哪几种?七、问题解答及实验结果属性的表间关系有四种类型:一对一、一对多,多对一和多对多。 表的参照完整性,是主外键关系。 如果是某些数据库操作上的相关性,则是级联关系。数据库之间的关系的作用可以使多个表联系起来,使它们有一定的关系,然后在以后的操作更为方便快捷八、实验体会(遇到的问题及其解决方法,心得体会)实验项目名称: T-SQL程序设计 实验序号: 4 实验学时: 4 学生姓名: 实验成绩: 实验地点: A210 实验日期: 2099-99-99 批改教师: 批改时间: 一、实验目的1、掌握TSQL中运算符和表达式的使用。2、通过对Select的使用,掌握Select语句
25、的结构及其应用。3、掌握TSQL中几个常用流程控制语句的使用。4、掌握系统内置函数的概念及其应用。5、通过定义和使用用户自定义函数,掌握自定义函数的概念及其应用二、实验要求掌握在SQL Server 2000环境下,利用企业管理器和查询分析器进行SQL数据查询。学习使用Select语句进行数据库的检索,掌握在Select语句中使用where子句、order by子句、group by子句以及between、like关键字。学习TSQL语言的几个常用语句、系统内置函数和用户自定义函数的使用方法。三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、
26、SQL SERVER 2000中文版四、实验步骤1、分析题意,重点分析题目要求并给出解决方法;2、创建以自己学号命名的文件夹;3、根据题目要求启动SQL Server管理工具;4、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;5、提交完成的实验结果。五、实验内容(一) 使用SQL查询分析器,对Pubs数据库完成如下查询操作:1、简单查询(1)查询所有作者的作者号、姓名信息;(authors表)(2)查询所有作者的姓名和作者号信息,并在每个作者的作者号前面显示字符串“身份证号:”表明显示信息是身份证信息;(authors表)(3)改变显示列名。显示所有作者的姓名信息
27、和作者号信息,要求用“名”和“姓”来区别fname和lname,“作者编号”来区分作者号;(authors表)(4)查询所有书在价格提高10%后的价格和书名信息;(titles表)(5)查询所有书的书号和税后价格。(titles表,royalty列表示税率);(6)查询所有作者的姓和“名的第一个字符”以及作者号;(authors表,SUBSTRING函数)(7)查询邮政编码大于9000的作者姓名和电话信息;(authors表)(8)查询在CA州的作者姓名和城市;(authors表)(9)查询出版日期在1/1/1991到12/31/1991之间的书名(书名限制为38个字符)和出版日期;(titl
28、es表,SUBSTRING函数)(10)查询书的类型是mod_cook或trad_cook的书名和它的类型;(titles表)(11)查询店名中包含Book的店的信息;(stores表);(12)查询所有无价格的图书;(titles表)(13)查询书名以T开头或者出版号为0877,且价格大于16美元的书的信息;(titles表)(14)查询所有作者的所在城市和州名,要求没有重复信息;(authors表)(15)按照类型的升序和价格的降序显示书的信息;(titles表)2、生成汇总数据(1)计算多少种书已被定价;(titles表)(2)计算每本书的书号及它的售书总量;(sales表)(3)求销售
29、量大于30的书号及销售数量;(sales表)(4)显示在1994年1月1日到1994年10月31日间,每本书的销售总额;(sales表)3、连接查询(1)求每本杂志上刊登的文章;(titles, publishers表)(2)求某书店销售某书的数量;(titles, stores, sales表)(3)查询所有合著的书及其作者。(4)显示所有已销售的书名。4、子查询(1)查询有销售记录的所有书信息,包括书的编号、书名、类型和价格;(2)求已销售的书的信息;(二) 使用SQL查询分析器,对学生成绩管理(Student-Course)数据库完成如下查询:1、在学生成绩库中查询出生年月在“1981-01-01”至“1982-05-01”之间的男生情况,并以出生年月按降序排列。2、统计“信息管理”专业的人数。3、统计每个学生每个学期的最低分、最高分及平均分。(三) 流程控制语句1、Student表中若存在学号为“02020101”的学生,则显示已存在的信息,否则插入该学生的记录。然后从Student表中删除学号为“02020101”的学生记录,重新执行该程序,观察与上次有何不同。2、使用While语句求1到100之间的累加和,输出结果。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1