《数据库系统原理》课程基本实验设置(3)
实验五 数据库完整性与安全性实验 实验目的
1. 通过对完整性规则的定义实现,熟悉了解kingbase中完整性保证的规则和实现方法,加
深对数据完整性的理解。
2. 通过对安全性相关内容的定义,熟悉了解kingbase中安全性的内容和实现方法,加深对
数据库安全性的理解
实验内容
完整性实验:
(1) 分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约
束;
CREATE TABLE sc (
sno varchar(6) NOT NULL, cno varchar(3) NOT NULL, grade int(11) DEFAULT NULL, PRIMARY KEY (sno,cno) ) DEFAULT CHARSET=gbk
Create Table student (
sno varchar(6) NOT NULL,
sname varchar(6) DEFAULT NULL, sex varchar(2) DEFAULT NULL, bdate datetime DEFAULT NULL, dept varchar(8) DEFAULT NULL, classno varchar(3) DEFAULT NULL, PRIMARY KEY (sno) ) DEFAULT CHARSET=gbk
Create Table course (
cno varchar(3) NOT NULL,
cname varchar(12) DEFAULT NULL, lhour int(11) DEFAULT NULL, credit int(11) DEFAULT NULL,
semester varchar(2) DEFAULT NULL, PRIMARY KEY (cno) ) DEFAULT CHARSET=gbk
(2) 分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,
验证其实体完整性约束;
(3) 向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;
(4) 删除学生表中的所有数据,验证参照完整性约束;
(5) 定义存储过程,完成查询某个学生的选课情况,并执行。
存储过程存放在服务器端数据库中,是经编译过的能完成特定功能的Transact-SQL语句的集合,是作为一个单元来处理的。用户可以像使用函数一样重复调用这些存储过程,实现它所定义的操作。
存储过程在第一次执行时进行语法检查和编译,执行后它的执行计划就驻留在高速缓存中,用于后续调用。存储过程可以接收和输出参数、返回执行存储过程的状态值,还可以嵌套调用。
存储过程的优点 实现了模块化编程。
存储过程具有对数据库立即访问的功能,使用存储过程可以加快程序的运行速度。 使用存储过程可以减少网络流量。
使用存储过程可以提高数据库的安全性。 语句 输入、返回结果 视图 只能是SELECT语句 不能接受参数,只能返回结果集 多个表格的连接查询 存储过程 可以包含程序流、逻辑以及SELECT语句 可以有输入输出参数,也可以有返回值 典型应用 完成某个特定的较复杂的任务 用CREATE PROCEDURE 命令创建存储过程 创建存储过程前,应该考虑下列几个事项:
①不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批处理中。每一个批处
理就是一个go语句段.
②创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。
③存储过程是数据库对象,其名称必须遵守标识符规则,应避免使用sp_前缀,以免和系统存储过程相混淆.
④只能在当前数据库中创建存储过程。 ⑤一个存储过程的最大尺寸为128M。
(6) 定义触发器,当向学生表插入新的一条记录时,将所有学生出生日期加1;并对其
进行测试。
(7) 用sql完成以上操作。
安全性实验内容
(1) 定义一新的登陆帐号、数据库用户,并授予其访问学生数据库的读权限;
(2) 分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;
(3) 创建数据库角色,并授予访问学生数据库的读、写权限; (4) 将角色赋予(1)中定义的用户,建立用户和角色联系;
(5) 再次用此用户访问学生数据库,并对其中的学生表数据进行修改。 (6) 用SQL语句分别完成以上内容。
实验六 数据查询分析实验 实验目的
通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解kingbase中查询分析器的使用,并进一步提高编写复杂查询的SQL 程序的能力。
实验内容
1.索引对查询的影响
(1) 对结果集只有一个元组的查询分三种情况进行执行(必如查询一个具体学生的信
息):
不建立索引,(学号上)建立非聚集索引,(学号上)建立聚集索引。 用查询分析器的执行步骤和结果对执行进行分析比较。
(2) 对结果集中有多个元组的查询(例如查看某门成绩的成绩表)分类似(1)的三种情
况进行执行比较。
(3) 对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情
况)分类似(1)的三种情况进行执行比较,注意系统处理的选择。
(4)索引代价。在有索引和无索引的情况下插入数据(例如在选课情况表SC 上插入数据),比较插入的执行效率。
2 对相同查询功能不同查询语句的执行比较分析 (1) group by select avg(grade) from sc
group by cno having cno =100
select avg(grade) from sc
where cno = 100
有和没有group by,比较其查询效率,并分析。
(2)
select sno,sname,age from student s1 where age = (select max(age) from student s2
where s1.dept = s2.dept )
另一个:
select dept ,max(age) as maxAge into tmp from student group by dept;
select sno, sname , age from student,tmp
where student.age = tmp.maxAge and tmp.dept=student.dept drop table tmp;
重写后的查询一定比原始查询更优吗?通过执行分析结果。
(3)对下面两个查询进行比较 select sname,age from student
where dept != 10 and age > all (select age
from student where dept = 10 ) 另:
select sname ,age from student
where dept != 10 and age > ( select max(age) from student where dept = 10 )
3 查询优化
除了建立适当索引,对SQL 语句重写外,还有其他手段来进行查询调优,例如调整缓冲区大小,事先建立视图等。设计实现下列查询,使之运行效率最高。 写出你的查询形式,以及调优过程;并说明最优情况下的运行时间。
(1)查找选修了每一门课的学生,其成绩等于该课程的平均分。先按照课程升序排序,再按照学号升序排序。
(2) 查找至少选修了课程数据库原理和操作系统的学生的学号。
实验七 数据库的事务创建与运行实验 实验目的
通过实验,了解kingbase数据库系统中各类数据库事务的定义机制和基于锁的并发控制机制,掌握kingbase数据库系统的事务控制机制。
实验内容
1.定义三种模式的数据库事务 2.察看事务的锁信息和隔离级别
3.利用SQL语句和数据库API函数控制事务
4.利用事务调试语句,查看事务相关信息,调试事务
实验八 数据库的备份和恢复实验 实验目的
结合课堂所学知识,了解kingbase的数据备份和恢复机制,通过面向具体应用领域数据库的 …… 此处隐藏:2223字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




