《数据库原理实验教学大纲.docx》由会员分享,可在线阅读,更多相关《数据库原理实验教学大纲.docx(7页珍藏版)》请在第一文库网上搜索。
1、数据库原理实验教学大纲一、课程基本信息课程名称(中文)数据库原理课程名称(英文)DataBasePrincip1e课程类型专业必修课学分4总学时34+34适用对象信息与计算科学专业GK科)考核方式闭卷笔试与上机考试相结合、其中平时成绩占10%s实验成绩占30%、期末笔试成绩占60%先修课程C程序设计后继课程面向对象设计,安卓开发二、实验课程简介本课程是结合理论课程数据库原理安排的实践课程,目的是通过本课程的实践与操作,加深理论课程中数据结构与算法的理解。通过本课程的教学,使学生在实践中理解关系数据库的相关理论基础,掌握常用的SQ1语句,加深对实体完整性、参照完整性以及用户自定义完整性的概念,通
2、过实验初步了解数据库的编程方法。本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。本课程的主要内容包括:绪论,关系数据库,关系数据库SQ1SerVer基础,数据库管理,数据表的管理,数据查询,视图,数据库设计,数据的安全性,数据的完整性,数据库编程等。三、实验目的使学生理解软件工程原理、方法,掌握常用的管理、设计工具,初步了解和掌握软件工程开发的方法和技巧基本要求:1、了解和掌握数据库系统概念、数据模型2、存储过程、触发器、游标的的使用3、数据库并发控制和恢复技术、数据库安全性与完整性、分布式数据库系统、数据依赖及关系模式的规范化、4、数据库设计和管理、5、了解数据库应用及发
3、展。四、实验内容与要求(-)数据库基础管理1 .实验目的掌握数据库创建与修改的基本方法,熟悉数据导入与导出的方法。掌握数据库分离与附加的操作方法。掌握数据类型自定义的用途与操作方法C掌握数据表结构的创建与修改方法。掌握数据添加与更新的操作方法。熟悉索引的类型和用途。掌握索引的创建与修改方法。2.实验内容一、数据库的创建1、使用MicrosoftSQ1ServerManagementStudio创建数据库“teachingDataA,要求将数据库存放在D盘的teachingmanagement目录下。2、使用CREATEDATABASE命令创建数据库4,teachingDataB,要求将数据文件
4、和日志文件均存放在D盘的“teachingmanagement中C思考题:如果出于对数据库的安全考虑,在上题中希望将数据库的数据文件名和日志文件的逻辑文件名分别指定为teaching一Data1和teaching_Data2,而数据文件和日志文件名分别指定为Myco11ege_Data.mdf,MyCo1Iegeogdf,问:如何创建数据库文件teaching_DataB?二、数据库的修改1、使用MicrosoftSQ1ServerManagementStUdiO修改数据库teachingDataA,将自动增长方式修改为2M,并添加次要数据文件teachingDataA3.ndf,其数据增长也
5、设置为2Mo2、使用A1TERDATABASE命令进行修改数据库teachigDataB,将自动增长方式修改为2M,并添加次要数据文件teachingData3.ndf1其数据增长也设置为2Mo三、数据的导入1、在MicrosoftSQ1ServerManagementStudio中将Access数据库文件coursedata.mdb中的表course导入到数据库teachingDataA中。四、数据的导出将teachingDataA数据库中的表course导出到Exce1表中,要求将表存在D盘teachingmanagement文件夹中,保存为CoUrSe.x1s(3五、数据库的分离1、使用
6、MicrosoftSQ1ServerManagementStudio将数据库teachingDataA分离C2、使用T-SQ1命令语句将数据库teachingDataB分离。3、附加数据库teachingDataA六、自定义数据类型1、打开数据库teachigDataA1要求使用MicrosoftSQ1ServerManagementStudio仓IJ建自定义数据类型my1D为Char(6),不允许为空启定义数据类型myName1为Nvarchar(IO)1不允许为空。2、打开数据库teachigDataA,要求使用T-SQ1语句来创建自定义数据类型myName2为Char(20),不允许为空
7、;自定义数据类型myDept为Char(50),允许为空。七、创建表1、使用MicrosoftSQ1ServerManagementStudio在teachingDataA数据库中建立T1nfo表。2、使用TSQ1命令在teachingDataA数据库中创建表SInfO表、C1nfo和SCore1nf0。八、用T-SQ1命令语句按下列要求修改表结构1、修改表S1nfo表的表结构,设置IDCardN。值为唯一的。2、修改表SCOre1nf。的表结构,设置term值只能为1或2,默认值为1。3、在表S1nfo中添加一字段EntrData(即入学曰期),要求该输入范围在1900-1-1至2099-1
8、-1o之间。4、修改表S1nfo的表结构,要求删除其中的Bithday字段。5、修改表T1nfo表的表结构,其中的字段homeTe1只允许为数字,且第1位数不能为0,o九、添加与更新数据思考题:某学生在建立了以上三个数据表后开始添加数据,他首先在表SCOreInf。中添加数据,但系统总是出现报错提示,不让他添加数据,为什么?在MiCrOSOftSQ1ServerManagementStudio中打开表T1nfo1输入如下表所示的数据。利用T-SQ1命令语句在表T1nfo中输入数据J1020061宁伟:男。利用T-SQ1命令语句在表TInfo中输入数据,当T1D大于101000,且小于IO199
9、9,时,其所在部门DePt为信息管理,当TID大于102000,且小于1029991W,其所在部门DePt为电子商务。十、创建索引1、利用T-SQ1命令为表TInf。按教师工号(TID)升序建立一个聚集索引C1Uid。2、利用T-SQ1命令为表T1nfo中的Dept和Name两个字段创建一个简单的复合索引ix-dptnm03、利用T-SQ1命令为表T1nfo中的HomeTeI字段创建一个唯一索引unq.homete104、利用T-SQ1命令为表T1nfo中的TName字段创建降序的非聚集索引。(二)数据的查询1 .实验目的本实验的目的是使学生掌握SQ1Server查询分析器的使用方法,加深对S
10、Q1和SQ1语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询2 .实验内容(-)基本查询1、查询TCh1nfo表中教师的工号TID、姓名TName和职称Tit1e,要求查询结果列将TID、TName和TitIe字段分别显示为工号、姓名和职称。2、查询TChInfO表中教师的全部信息。3、查询TCMnf。表前6行数据。4、查询TChInfO表中前50%的数据。(二)条件查询1、在表StUInf。中查询05级、专业为计算机科学的学生姓名、性别和所在系。2、查询StU1nfO中出生年月介于1984年9月1日到1985年8月31日的学生信息C3、查询职称为副教授和教授的教师的信息
11、。4、在表StUIr1fO中查询所有学号为4051开头学生的姓名SName和专业MajOr。()排序与分组查询Is查询表Score1nfo中选修了“000000Or课程的学生的学号和学生成绩,并按成绩进行降序排列。2、通过查询表TChInfc)查询各院系的讲师数?3、通过表scoreinfo查询各门课程的平均成绩,要求显示列名为课程代码和平均成绩。(四)联结查询查询选修了高等数学课程且成绩在70分以上的所有学生的姓名、成绩。(五)嵌套查询查询与张小红同学在同一个班同一个年级的学生姓名。()视图1 .实验目的掌握视图的基本概念,熟悉视图的相关操作。2 .实验内容本实验的主要内容是:1 .完成PP
12、T中所有的例题操作。2、在teachigData数据库中建立视图scorejop,要求在该视图中显示各门学科的CID和SCOre_max(即学科的最高分)。3、利用teachingData数据库中的相关的数据表和视图Scorejop新建一视图top_stu,要求在该视图中显示各门学科的学科名came,取得最高分的学生名same和成绩SCore。4、要求用T-SQ1语句新建一视图St11COmp,要求该视图中只包括计算机系学生的学号SicI、姓名Sname、年龄Sage和班级CIaSS视图。5、试用T-SQ1语句修改视图StI1Comp,要求该视图中只包括05级计算机系学生的学号sid、姓名Sn
13、ame、年龄sage、班级CIaSSo6、建立成绩低于60分的学生的学号、姓名、班级、课程名和成绩的视图Sti1faII。(四)数据库编程1实验目的2 .掌握变量的声明、赋值及调用方法。3 .掌握函数的定义和调用方法。4 .掌握T-SQ1编程流程批处理及控制语句。5 .掌握触发器的操作方法及其应用技巧。6 .掌握存储过程的操作方法及其应用技巧。7 .掌握常用函数、变量等的综合运用技巧。08 .实验内容1 .定义变量iIame为VarChar(20),使用常量直接将其赋值为“上海商学院,并输出。2 .定义两个变量人丫9_$8出为it,将Score1nfo表中的平均分赋给这个变量,并输出。3 .将
14、所有选修“高等数学”且成绩低于60分的同学全部增加5分,并roWCoUr1t变量来检测是否存在发生更改的记录,如不存在符合要求的学生则显示“没有学生需要加分”。4 .显示当前日期,要求以某年某月某日格式显示,如2010年1月16日。5 .创建一个触发器CIDRpdate,要求当表(COUrSe1nfo)中的CID字段值被修改时,该字段在另一张表(Score1nfo)中的对应值也做相应的修改。6 .创建一个触发器stu/ount,要求当表StU1nf。中相同年级中的任一班级的人数达到45人时,不允许继续在这个班级插入新的记录。7 创建一个触发器Tch,t2,实现禁止删除表Tch1nfo中职称为教
15、授的记录的功能。8 .创建一个存储过程sc-unpass,其功能是输入某一门学课的课程名后,即可查看某一门课程不及格学生的学号、姓名、班级及任课教师9 .创建一个存储过程tch_dept,其功能是输入某一个院系(Dept)名后,即可查看该系中教师的姓名、性别、年龄和职称。10 .创建一个存储过程pass_state,其功能是输入某一个学生姓名和课程名,查看该学生成绩,如果其成绩低于60分,则在一列中显示“很遗憾F+学生姓名+课程名+“未及格”;如果其成绩大于等于60分,则在一列中显示“很高兴,”+学生姓名+课程名+已合格”。(五)数据库安全性1实验目的本实验的目的是通过实验使学生加深对数据安全性的理解,并掌握SQ1Server中有关用户,角色及操作权限的管理方法。11 实验内容1SQ1SerVer服务器上,创建tch_admin登录帐号,密码为SbSSbS的,默认数据库为teachigData02 .在TeachingData数据库中,创建一个tch_admin登录帐号下的uUser1n用户。3 .利用T-SQ1命令禁用tch_admin登录帐号。4