数据库系统原理实验指导任务书Word格式.docx
- 文档编号:19648492
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:8
- 大小:19.14KB
数据库系统原理实验指导任务书Word格式.docx
《数据库系统原理实验指导任务书Word格式.docx》由会员分享,可在线阅读,更多相关《数据库系统原理实验指导任务书Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
逻辑名称student、物理文件名:
C:
\Data\student.mdf、初始大小:
8MB、最大空间:
UNLIMITED、空间增加量:
1MB、属于文件组primary,一个次数据文件:
逻辑名称secondsc、物理文件名:
\mydb\secondsc.ndf、初始大小:
3MB、最大空间:
50MB、空间增加量:
1MB、属于文件组group1,一个日志文件:
逻辑名称student_log、物理文件名:
\Log\student_log.ldf、始初大小:
1MB、最大空间:
20MB、空间增加量:
10%。
2.向数据库Studentcourse中添加一个名为group2的文件组,并在该文件组中添加一个名为Studentcourse2、路径为默认的次数据文件,初始值大小为2MB,最大值为50MB,文件以1MB增长;
再添加一个名为Studentcourse_Log2的日志文件,初始值大小为1MB,最大值为100MB,文件以10%增长。
3.对数据库中Studentcourse2文件重命名为Studentcourse_2,最后把该文件从数据库中移除。
4.删除studentcourse数据库,并验证其对应文件消失。
三、实验总结体会
1.数据库包括几种文件类型?
其物理名称中的扩展名有什么区别?
2.数据库管理的操作包括哪些?
二、数据库表的创建和管理
1.掌握创建、修改及删除数据表的方法;
2.掌握在数据表中插入、更新、删除数据的操作。
3.掌握创建及删除数据表索引的方法;
4.熟悉索引的优势和作用。
1.在数据库studentcourse中创建一个“学生”表S,它由学号char(4)、姓名char(8)、性别char
(2)、年龄smallint、系char(20)、电话char(11)六个属性组成,其中学号为主码、姓名允许为空、性别的默认值为‘男’、电话要有CHECK约束;
2.在数据库studentcourse中创建一个“课程”表C,包括课程号char(4)、课程名char(20)、学分smallint、教师char(8)四个属性,要求建立主键课程号,课程名非空;
3.在数据库studentcourse中建立“选课”表SC,包括学号char(4)、课程号char(4)、成绩smallint三个属性,要求建立主键及与S及C表联接的外键;
4.在SC表中增加一列“任课教师”;
5.删除SC表中“任课教师”一列;
6.将S表的姓名一列允许空值的属性更改成不允许为空,将列姓名的长度由char(8)改为char(10);
7.将SC表的成绩列增加一个约束要求成绩>
0并且成绩<
=100;
8.建立一个临时表,再将其删除。
9.将学生“张华”,学号‘S111’、年龄20、系“计算机系”的信息插入表S;
10.将张华同学的系属性值改为“机电工程”;
11.删除张华同学的信息。
12.在数据库“studentcourse”的数据表S中,关于“学号”建立聚集索引,关于“姓名”建立非聚集索引;
13.在数据库“studentcourse”的数据表C中,根据“课程名”降序创建唯一索引“IN_课程名”;
14.删除数据库“studentcourse”的数据表c中的索引名为“IN_课程名”的索引;
15.查看“studentcourse”数据库中的数据表S上索引的类型。
1.建立外键约束的目的是什么?
有几种方式?
2.当在表中删除属性列的数据时应该注意什么?
3.一般对于表中的哪些属性列创建索引?
三、数据查询
1.本实验可充分体会SQL语言的结构化查询功能,让学生充分体会SQL语言的灵活多变,功能强大。
2.掌握简单查询、连接查询、嵌套查询、子查询等的查询操作。
1.简单查询:
(1)查询全体学生的学号和姓名。
(2)查询全体学生的详细记录。
(3)查询全体学生的姓名和出生年。
(4)查询选修了课程的学生的学号。
(5)查询计算机系的学生的姓名。
(6)查询年龄在20岁以下的计算机系的学生的学号和年龄。
(7)查询年龄在20—22岁的学生的学号。
(8)查询信息系、计算机系和外语系的学生的信息。
(9)查询姓“王”的学生的信息。
(10)查询选修了’C3’号课程的学生的学号及成绩,结果按分数的降序排列。
(11)查询学生总人数。
(12)查询选修’C1’号课程的学生的最高分。
(13)查询选修了3门以上课程的学生的学号。
2.连接查询
(1)查询每个学生及其选修课程的情况。
(2)查询选修’C2’号课程且分数在90分以上的所有学生。
(3)查询每个学生的学号、姓名、选课名及成绩。
3.嵌套查询
(1)查询与“张三”在同一系的学生。
(2)查询选修了课程名为“数据库”的学生学号和姓名。
(3)求选修了高等数学的学号和姓名。
(4)求’C1’课程的成绩高于刘晨的学生学号和成绩。
(5)求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)。
(6)求其他系中比计算机系学生年龄都小的学生。
(7)求选修了’C2’课程的学生姓名。
(8)求没有选修’C2’课程的学生姓名。
(9)查询选修了全部课程的学生姓名。
(10)求至少选修了学号为“S001”的学生所选修全部课程的学生学号和姓名。
4.EXISTS查询
(1)查询没有选修’C1’号课程的学生的姓名。
(2)查询选修了所有课程的学生的姓名。
SELECT语句的一般格式是什么?
四、数据更新五、视图设计
1.本实验用SQL语言进行增、删、改以及视图的创建及管理,让学生充分体会SQL语言的其他功能。
2.掌握SQL语言增、删、改操作。
3.掌握SQL语言创建视图。
1.增加一条学生记录“S100,张三,男,20,计算机”
2.增加一条课程记录“C100,英语”。
3.删除“物理系”的学生记录。
4.删除选修“英语”的学生的选修记录。
5.把“计算机”系的学生的成绩加5分。
6.创建一个视图studentview,用于显示管理信息系所有学生的学号和姓名。
7.建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生。
8.建立信息系选修了’C1’号课程的学生视图。
9.建立信息系选修了’C1’号课程且成绩在90分以上的学生视图。
10.创建一个视图clanguageview用于显示所有选修了‘C语言’课程的学生的学号、课程名和成绩,并按成绩从高到低排列。
11.修改视图clanguageview用于显示所有选修了‘C语言’课程,并且是‘管理信息系’的学生的学号、课程名、成绩和所在系,并按成绩从高到低排列。
12.定义一个反映学生出生年份的视图。
13.删除视图clanguageview。
1.视图的用途是什么?
六、Transact-SQL
一、实验目的:
1.理解局部变量与全局变量的概念。
2.理解函数的概念及使用方法。
3.掌握使用系统函数和全局变量检索系统信息的方法。
4.掌握SQLServer中流程控制语句的使用。
二、实验内容及步骤
1.定义一个tinyint的整型变量,分别赋值45、345观察执行结果。
2.定义一个长度为9的可变长型字符变量,分别赋值”WelcometoBeijing”及”Beijing”观察执行结果。
3.返回当前SQLServer服务器的版本。
4.使用SUBSTRING函数从字符串'
中国河南新乡学院’中返回字符串’新乡’,并用REVERSE函数将将’新乡’逆序返回。
5.使用getdate函数返回系统当前年、月、日。
6.用PRINT语句在屏幕上显示“IAMASTUDENT”。
7.用IF语句判断,如果STUDENT数据库S表中存在学号为”S1”的学生,就显示“库中有此学生”,否则显示“库中无此学生”。
8.用WHILE语句求1—100的和。
9.设计一个游标的使用。
1、常见的T-SQL语句有哪些?
七、存储过程与触发器
1.掌握存储过程设计、执行和管理操作;
2.掌握触发器的设计、执行和管理操作;
3.熟悉存储过程和触发器的优点和作用。
1.创建一个存储过程proc_student1用于显示学号为“s1”的学生基本信息(包括学生学号、姓名、性别、系)。
2.执行刚才创建好的存储过程proc_student1,显示学号为“s1”的学生基本信息(包括学生学号、姓名、性别、系)。
3.修改存储过程proc_student1,用于显示指定学号的学生各门课程的最高成绩,执行该存储过程返回学号为‘s1’的学生的最高成绩。
4.建立存储过程sc_look_delete,查询某个同学的所有课程成绩,如果存在不及格课程,则删除不及格成绩记录,否则显示所有课程成绩。
5.删除存储过程proc_student1。
6.在学生选课表sc上创建一个触发器trigger_student1,该触发器被INSERT操作触发,当用户向sc表插入一条新记录时,判断该记录的学号在学生基本信息表s中是否存在,如果存在插入成功,否则插入失败。
7.创建触发器sinsert,当向S表添加一名学生信息时,则触发向sc表增加一条记录。
学号为新增学号,课程号为C01。
8.在数据库学生选课中创建触发器check_trig,当向sc表插入一条记录时,检查该记录的学号在s表中是否存在,检查课程号在c表中是否存在,若有一项为否,则不允许插入。
9.创建一触发器check_delete,删除s表中的记录时,同时删除sc表中的相应记录。
10.修改触发器trigger_student1,该触发器被INSERT操作触发,当用户向sc表插入一条新记录时,判断该记录的学号在学生基本信息表s中是否存在,如果存在插入成功,否则插入失败;
同时判断该记录的课程号在课程表C中是否存在,如果存在插入成功,否则插入失败.
11.删除触发器trigger_student1。
1.什么时候设计使用存储过程?
2.触发器的主要作用是什么?
八、数据的完整性与恢复
九、数据的安全性控制
1.本实验用SQL语言进行完整性控制,掌握主键、外键以及check约束。
2.掌握数据的常用恢复策略。
3.掌握数据的安全性控制。
1.用SQL语言对“学生”表S的主键学号约束、电话进行CHECK约束;
2.用SQL语言对“选课”表SC,建立主键及与S表联接的外键约束;
3.创建studentcourse的完全备份数据库文件studentcoursebackup.bak。
4.将studentcoursebackup.bak备份文件中的备份号为1的完整备份恢复到数据库studentcourse中。
5.先修改S表中记录,创建studentcourse库的差异备份。
6.创建studentcoursel库的事物日志备份。
7.创建studentcoursel库的文件和文件组备份。
8.从SQLServer实例分离数据库studentcourse。
9.附加数据库studentcourse到SQLServer服务器中。
10.为用户“王明”创建一个SQLServe登录帐户,密码为“chocolate”,默认数据库为studentcourse。
11.删除Windows用户“zy\systeachers”的登录帐号。
12.向数据库中添加名为“教师”的自定义数据库角色。
13.删除SQLServer角色“教师”。
14.将对表S的所有操作权限赋予用户“王明”。
15.收回“王明”对表S的所有操作权限。
1.数据库备份的方法和策略是怎样的?
2.我们应该怎样提高系统的安全性?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 实验 指导 任务书