级《数据库系统原理》实验讲义.doc
《级《数据库系统原理》实验讲义.doc》由会员分享,可在线阅读,更多相关《级《数据库系统原理》实验讲义.doc(10页珍藏版)》请在冰豆网上搜索。
实验一:
SQLServer2005数据库的操作
实验题目:
SQLServer2005基本管理工具的使用与数据库的创建及其操作
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
1.掌握数据库服务器的启动、登录
2.了解使用EnterpriseManager进行数据库的创建及其其它操作
3.掌握使用SQL语句(QueryAnalyzer)进行数据库的创建及其其它操作
实验要求:
1.启动、登录SQLServer数据库服务器
2.使用EnterpriseManager进行数据库的创建及其其它操作
3.直接使用SQL语句(QueryAnalyzer)进行数据库的创建及其其它操作
实验内容:
1.启动SQLSERVER数据库服务器和登录SQLServer数据库服务器的操作过程
2.使用EnterpriseManager进行数据库的创建的操作过程
3.使用SQL语句(QueryAnalyzer)创建学生—选课数据库的及其它操作的语句脚本
问题与总结:
实验二:
数据库中基本表的定义及其操作
实验题目:
创建、修改基本表和索引
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
1.掌握SQLServer的数据类型
2.了解使用EnterpriseManager进行基本表的定义及其操作
3.掌握使用SQL语句(QueryAnalyzer)创建、修改和删除基本表、索引
4.了解设定键码约束、外码约束、非空约束、唯一约束、核查约束等各种约束
实验要求:
1.使用EnterpriseManager创建、修改和删除基本表、索引
2.直接使用SQL语句(QueryAnalyzer)创建、修改和删除基本表、索引
实验内容:
1.使用EnterpriseManager创建、修改和删除基本表、索引的操作过程
2.使用SQL语句(QueryAnalyzer)创建四个基本表(包括索引、各种约束)的语句脚本:
●专业设置表(国标专业代码,专业编号,院/系名称,专业名称,所属学科,培养层次,学制),专业编号是4位数字字符。
●学生情况表(学号,姓名,性别,出生日期,入学年份,是否在校,学籍状态,异动情况,异动原因,专业编号),学号是12位数字字符,其中:
第1∽4位是入学年份;第5位表示学制,如4表示本科,3表示专科;第6∽9位是专业编号;第10位是班序号;第11∽12位是班内序号。
●课程设置表(级别,课程类别,课程性质,课程代码,课程名称,学分数,理论学时数,实验学时数,上机学时数,考核方式,开课学期,专业编号),课程编号是8位数字字符;学分数不超过6学分。
●学生选课(专业编号,级别,学年,学期,学号,课程代码,综合成绩,备注),成绩按百分制。
问题与总结:
实验三:
数据库中数据的插入和更新
实验题目:
基本表中数据的插入和更新
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
基本的插入、更新、删除SQL语句
实验要求:
掌握插入、更新、删除的SQL语句
实验内容:
向实验二所定义的基本表中插入数据、以及进行数据的更新、删除。
各种操作命令的脚本。
●利用从学校教务处获得并经过教师整理后的数据(Excel表格式)分别导入到所定义的各个基本表中,为后续的各种查询操作进行数据准备。
问题与总结:
实验四:
数据库中数据的基本查询
实验题目:
数据的基本查询操作
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
1.掌握基本的查询、复杂条件连接查询、嵌套子查询
2.掌握统计函数的使用。
实验要求:
1.熟练掌握基本的查询、复杂条件连接查询、嵌套子查询
2.体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为综合应用打下良好的基础。
实验内容:
给出下列查询操作的操作命令的脚本。
●查询学生情况表中所有记录的学号、姓名和性别,并且改变查询结果中显示的列名分别为:
学号、姓名,性别。
●查询某个专业中由其他专业转入的全部学生的学号、姓名和性别,并且改变查询结果中显示的列名分别为:
学号、姓名,性别。
所谓由其他专业转入指的是现在的专业编号和学号中的第6∽9位不同,学号中的第6∽9位是原来的专业编号。
●查询选修了指定课程的所有学生的学号、姓名和性别,并且改变查询结果中显示的列名分别为:
学号、姓名,性别。
指定课程包括学年、学期和课程编号分别由局部变量提供。
●查询选修了指定课程的学生人数、最高成绩、最低成绩、平均成绩,并且改变查询结果中显示的列名分别为:
人数、最高成绩、最低成绩、平均成绩。
指定课程包括学年、学期和课程编号分别由局部变量提供。
●查询选修了指定课程名称且成绩在60到80之间的所有学生的学号、姓名、性别、成绩,并且改变查询结果中显示的列名分别为:
学号、姓名、性别、成绩。
课程名称由局部变量提供。
●查询选修了指定课程名称且成绩是前10名的所有学生的学号、姓名、性别、成绩,并且改变查询结果中显示的列名分别为:
学号、姓名、性别、成绩。
课程名称由局部变量提供。
●查询平均成绩是前30%且没有不及格成绩所有学生的学号、姓名、性别、专业、平均成绩,并且改变查询结果中显示的列名分别为:
学号、姓名、性别、专业、成绩。
说明:
后两个查询要求需要在查询语句SELECT的select子句中使用关键字TOP,详细的使用方法请参见SQLServer2005的相关资料。
问题与总结:
实验五:
数据库中数据的高级查询
实验题目:
数据的高级查询
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
1.掌握相关子查询、内连接和外连接查询。
实验要求:
1.掌握相关子查询、内连接和外连接查询。
2.体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为综合应用打下良好的基础。
实验内容:
给出下列查询操作的操作命令的脚本。
●查询没有选修指定课程号的学生的学号、姓名、性别、出生日期和级别。
课程号由局部变量提供。
●查询至少选修了某个指定学生选修的全部课程的学生的学号、姓名、性别和级别。
指定学生的学号由局部变量提供。
●查询选修了指定课程号且成绩在80分(含80分)以上的学生的学号、姓名、性别、课程名、年龄、成绩。
课程号由局部变量提供。
要求用内连接查询实现。
●查询还没有学生选修的全部课程的课程号、课程名称、学时、学分。
●查询出所有课程都及格的学生的学号,姓名,最高成绩,最低成绩,平均成绩。
要求使用派生关系和自然连接查询实现。
问题与总结:
实验六:
视图的定义及通过视图的查询
实验题目:
视图的定义及通过视图的查询
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
1.理解数据库的外模式及在实际的DBMS中的实现。
2.熟练掌握视图的定义及其操作。
3.熟练掌握通过视图的数据查询。
实验要求:
1.熟练掌握视图的定义及其操作。
2.熟练掌握通过视图的数据查询,为综合应用打下良好的基础。
实验内容:
给出下列视图的定义及其操作的操作命令脚本。
●定义一个查询学生的学号、姓名、系名、专业、学年、学期、最高成绩、最低成绩、平均成绩的视图student_score。
●定义一个查询选修课程的课程号、课程名称、学年、学期、学分、最高成绩、最低成绩、平均成绩的视图course_score。
●通过视图student_score查询最高成绩在90分以上(含90分)且没有不及格成绩的学生学号、姓名、系名、专业。
●通过视图course_score和其它的表,查询没有不及格成绩的课程号、课程名称、学分及选修这些课程的学生的学号、姓名、系名、专业。
并且改变查询结果中显示的列名分别为:
学号、姓名、系名、专业、课程号、课程名、学分。
问题与总结:
实验七:
数据库安全性
实验题目:
数据库安全性
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
1.了解SQLServer的安全机制
2.掌握SQLServer的账号管理的方法
3.掌握SQLServer的角色管理的方法
4.掌握SQLServer的权限管理的方法
实验要求:
1.熟练掌握建立、删除账号的方法
2.掌握服务器角色成员的变更,自定义数据库角色变更
3.熟练掌握权限管理方法(授权、拒绝、取消)
4.分别用T-SQL和企业管理器完成
实验内容:
下列3操作的过程,4、5操作的命令脚本
1服务器账号管理
基于Windows组成员或用户账号创建登陆账号Market\000005。
基于SQLServer创建新的登陆账号dgut。
删除Market\00005登陆账号
2服务器角色管理
将登陆账号stest添加到ServerAdministrators组中,并观察其权限。
从ServerAdministrators组中删除dgut账号。
3自定义数据库角色
在你所定义的数据库下添加数据库用户dgut_user1,dgut_user2。
在你所定义的数据库下创建角色myrole,并将dgut_user1加入到该角色中。
4数据库对象的权限管理
更改角色myrole的权限,使之具有创建表、创建视图、创建SP的权限,但不允许创建默认、创建规则。
5语句及对象授权
授权用户dgut2创建数据库,然后授权角色myrole创建默认。
授权用户dgut2对表tblSelCourse进行插入和更新操作,然后授权角色myrole对表tblCourse进行插入和更新操作。
问题与总结:
实验八:
数据库的完整性
实验题目:
数据库的完整性
实验环境及学时安排:
1.SQLServer2005
2.学时:
2学时
实验目的:
1.掌握SQLServer中的约束类型
2.掌握各种约束的实施方法
实验要求:
1.掌握表自身的完整性实施方法
2.掌握表间完整性的实施方法
3.加深对数据完整性的理解
实验内容:
1.主键约束:
l试着将选课表中的某条记录的课程号字段改为空,体会主键约束的作用。
l试着将学生情况表中的两条记录的学号字段改为相同的值,体会主键约束的作用。
2.惟一型约束:
l对专业设置表表中的院系名称字段施加惟一约束,并在该表中添加一条新纪录。
其中,新纪录中的系名字段为NULL,体会与主键约束的不同。
3.外键约束:
4.默认约束:
l创建默认sdefault为‘男’。
l将sdefault绑定到学生表的性别列。
5.规则约束: