数据库原理及应用实验指导书 16目 录第1章 概述 41.1课程简介 41.2 实验类型 41.3 实验环境选择 51.3.1 Oracle简介 51.3.2 Oracle的体系结构 5第2章 实验要求 132.1 实验过程要求 132.2考核及评分标准 13第3章 实验内容 153.1实验1 建立数据库 153.1.1实验类型 153.1.2实验目的 153.1.3基础知识 153.1.4实验内容 153.1.5实验步骤 163.2实验2 数据查询 203.3.1实验类型 203.3.2实验目的 203.3.3基础知识 213.3.4实验内容 213.3.5实验步骤 213.4实验4 视图和索引 233.4.1实验类型 233.4.2实验目的 233.4.3基础知识 233.4.4实验内容 243.4.5实验步骤 243.4.6实验分析与思考 253.5实验5 数据库的安全性控制 263.5.1实验类型 263.5.2实验目的 263.5.3基础知识 263.5.4实验内容 293.5.5实验步骤 293.5.6实验分析与思考 313.6实验6 数据库的完整性控制 323.6.1实验类型 323.6.2实验目的 323.6.3基础知识 323.6.4实验内容 333.6.5实验步骤 333.6.6实验分析与思考 383.7实验7 存储过程 393.7.1实验类型 393.7.2实验目的 393.7.3基础知识 393.7.4实验内容 403.7.5实验步骤 403.7.6实验分析与思考 403.8实验8 事务 413.8.1实验类型 413.8.2实验目的 413.8.3基础知识 413.8.4实验内容 423.8.5实验步骤 423.8.6实验分析与思考 433.9.实验9 数据库备份与恢复 443.9.1实验类型 443.9.2实验目的 443.9.3基础知识 443.9.4实验内容 453.9.5实验步骤 453.9.6实验分析与思考 473.10数据库应用系统设计 483.10.1实验类型 483.10.2实验目的 483.10.3实验内容 48附录A 实验报告格式 51附录B 设计报告格式 53参考文献 55第1章 概述1.1课程简介随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。
它不仅有完整的理论基础,而且随着硬件技术与软件技术的飞快发展,它的应用也越来越广泛,为此各高校纷纷开设了《数据库原理及应用》这门专业课,以适应社会信息化的需求《数据库原理及应用》这门课程含16学时实践课程通过有针对性的实验,能使学生更深层次地理解数据库系统的体系结构,掌握数据库系统的基本理论、技术和方法,培养学生运用所学理论知识,独立解决现实问题的能力实验体系见表1.1《数据库原理及应用》实验体系表1.1 《数据库原理及应用》实验体系序号学时实验名称实验类型选题要求要求完成情况12实验一 建立数据库(表,完整性,索引,数据更新)设计型必做代码22实验二 数据查询验证型必做代码32实验三 存储过程设计型必做代码42实验四 触发器设计型必做代码51实验五 数据库的备份及恢复验证型必做文字提示61实验六 数据库安全性验证型必做文字提示72实验七 使用PD创建概念模型设计型必做模型84实验八 数据库应用系统的设计设计型必做文字提示1.2 实验类型实验按照性质的不同可以分为:验证型实验、设计型实验、综合型实验本课程涉及到的实验类型为:验证型实验和设计型实验验证型实验验证型实验作为一种重要的实验形式,主要培养学生对设备、开发工具的操作能力,加深对理论的理解。
实验设计者给出较为详细的实验步骤,旨在减少实验者摸索的过程,争取在较短的时间内掌握基本的操作技术验证型实验的实验方法:1. 明确实验题目、实验目的和实验要求;2. 熟悉实验背景知识;3. 按照实验内容进行实验;4. 分析实验结果书写实验报告设计型实验设计型实验可以培养学生的设计能力和独立工作的能力,在基本训练的基础上,提出一些有利于启发思维,有应用价值的实验课题,让学生进行设计型实验题目描述,以提出任务、要求和阐述应用背景为宜,而如何解决问题,解决问题的原理、方法和所用仪器等由同学们自行提出并实践目的是使学生运用所学的理论知识和实验技能,在实验方法的考虑、使用工具的选择、测试方法的确定等方面受到比较系统的训练设计型实验的方法:1. 了解题目要求,明确任务;2. 查阅有关资料,画出必要的原理图,寻求各种解决问题的方法从原理、方法和使用工具等多方面提出完成课题任务的依据及实验步骤;3. 做实验;4. 测试结果评价,总结分析并书写设计报告1.3 实验环境选择实验环境:Oracle 企业版 1.3.1 Oracle简介Oracle是一种关系型数据库系统Oracle是“神谕”的意思,取自Oracle Bone Inscriptions的第一个单词。
Oracle公司由Larry Ellison于1977年创办,目前已发展为全球最大的企业软件公司数据库是Oracle的固有强项,至今在世界保持第一的市场占有率一、Oracle发展l 1979年 Oracle 1l 1999年 Oracle 8il 2001年 Oracle 9il 2003年 Oracle 10gl 2007年 Oracle 11g二、 Oracle特点l 高性能:伸缩性l 安全性:角色、权限、用户l 并发控制:表锁定、行锁定l 海量数据:表空间、空间数据构件、TB级l 数据完整性:日志、回滚段l 分布式数据库:数据库连接1.3.2 Oracle的体系结构为了能使Oracle数据库管理系统满足商业用户的要求,Oracle引入了如图1.1所示的复杂的体系结构图1.1 Oracle体系结构示意图体系结构主要包括Oracle服务器(server)(而服务器又是由Oracle实例(instance)和Oracle数据库(database)组成),还包括一些其他的关键文件、用户进程和服务器进程等Oracle服务器(server)由Oracle实例(instance)和Oracle数据库(database)两大部分组成。
它是一个数据库管理系统,提供了一致、开放和多样的信息管理的方法和途径服务器中的一些结构并不在处理SQL语句时使用,它们是为了改进数据库系统的效率或数据的恢复等而设计的一、Oracle服务器(server)Oracle服务器(server)可以有以下3种安装方式1. 基于主机方式:在此种配置下,用户直接在安装了数据库的计算机上登录Oracle数据库2. 客户端-服务器(client-server)(两层模型)方式:数据库和客户终端分别安装在不同的计算机上,用户通过网络从个人计算机(客户端)上访问数据库3. 客户端-应用服务器-服务器(client- application server-server)(三层模型):用户首先从自己的个人计算机登录应用服务器,再通过应用服务器访问真正的数据库二、Oracle实例(instance)Oracle实例(instance)是一种访问数据库的机制,它是由内存结构和一些后台进程组成的它的内存结构也称为系统全局区(system global area,SGA)系统全局区是实例的最基本的部件之一实例的后台进程中有5个是必需的,即这5个后台进程中的任何一个没有启动,实例将自动关闭。
这5个后台进程分别是SMON、PMON、DBWR、LGWR和CKPT在OCP考题中有时可能会问哪些后台进程是可选的?除了这5个都是可选的实例一启动就分配系统全局区和启动所需的后台进程这里应该指出的是,每个实例只能操作一个数据库,而且它不可以操作其他的数据库但是反过来是不成立的,因为一个数据库可以同时被几个实例操作(在Oracle集群中)系统全局区(SGA)中包含了以下几个内存结构:共享池(shared pool)、数据库高速缓冲区(database buffer cache)、重做日志缓冲区(redo log buffer)和其他的一些结构(如锁和统计数据)等三、Oracle数据库Oracle数据库是数据的一个集合,Oracle把这些数据作为一个完整的单位来处理Oracle数据库也叫做物理(外存)结构,它为数据库信息提供了真正的物理存储,它是由以下3类操作系统文件组成的1. 控制文件(control files):包含了维护和校验数据库一致性所需的信息2. 重做日志文件(redo log files):包含了当系统崩溃后进行恢复所需记录的变化信息3. 数据文件(data files):包含了数据库中真正的数据。
四、Oracle其他的关键文件除了以上3类数据库文件之外,Oracle服务还需要其他的一些文件,这些文件不属于数据库其中包括:l 初始化参数文件(parameter files):定义了实例的特性,如系统全局区中一些内存结构的大小、DBWR的个数l 密码文件(password files):包含了数据库管理员或操作员用户在启动和关闭实例时所需的密码虽然Oracle数据库提供了相当完善的安全管理机制,但是在Oracle数据库没有开启时如何验证要启动数据库的人是真正的数据库管理员或操作员呢?这就是Oracle引入密码文件的原因l 归档重做日志文件(archived redo log files):是重做日志文件的脱机备份在系统崩溃后进行恢复时可能需要这些文件五、服务器进程当Oracle创建一个服务器进程的同时要为该服务器进程分配一个内存区,这个内存区称为程序全局区(program global area,PGA)与SGA不同,PGA是一个私有的内存区,是不能共享的,是只属于一个进程的它随着进程的创建而被分配,随着进程的终止而被回收在专用服务器进程的配置情况下,程序全局区包括了以下结构:1. 排序区(sort area):用于处理SQL语句所需的排序。
2. 游标状态区(cursor state):用于指示会话当前所使用的SQL语句的处理状态3. 会话信息区(session information):包括了会话的用户权限和优化统计信息4. 堆栈区(stack space):包括了其他的会话变量如果是共享服务器进程或多线程的配置,以上这些结构除了堆栈区外大部分将存在SGA中如果有large pool,它们就会被存在large pool,否则它们就会被存在共享池中六、共享池(shared pool)SGA中的共享池(shared pool)是由库高速缓存(library cache)和数据字典高速缓存(data dictionary cache)两部分所组成服务器进程将SQL(也可能是PL/SQL)语句的正文和编译后的。