《Oracle数据库系统综合设计实验》实验指导书(2016版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库原理及应用》Oracle数据库系统综合设计实验指导书
陆鑫
电子科技大学信息与软件工程学院
2016年5月
目录
第一部分: 预备知识 (4)
第一章数据库系统分析与设计建模 (4)
1.1 概念数据模型概述 (4)
1.2 实体、属性及标识符的定义 (4)
1.3 实体、属性及标识符的表达 (5)
1.4 概念数据模型创建 (5)
1.5 定义属性的标准检查约束 (9)
1.6 如何定义实体的主、次标识符 (11)
1.8 联系的定义及使用 (13)
1.7 定义数据项 (19)
第二章 Oracle数据库介绍 (21)
2.1 Oracle Database 12c数据库简介 (22)
2.2 Oracle Database 12c数据库基本体系结构 (25)
2.3 SQL Plus、 SQL Developer与Web版企业管理器简介 (28)
第二部分: 上机实验 (33)
实验一在线图书销售系统CDM/LDM数据模型设计 (33)
1. 实验目的 (33)
2. 实验内容与要求 (33)
3. 实验开设方式 (33)
4. 实验环境 (34)
5. 实验步骤 (34)
6. 实验过程数据及结果分析 (34)
7. 实验报告要求 (40)
实验二在线图书销售系统物理数据模型设计及数据库实现 (41)
1. 实验目的 (41)
2. 实验内容与要求 (41)
3. 实验开设方式 (41)
4. 实验环境 (41)
5. 实验步骤 (42)
6. 实验过程数据及结果分析 (42)
7. 实验报告要求 (46)
实验三在线图书销售系统数据库操作 (47)
1. 实验目的 (47)
2. 实验内容与要求 (47)
3. 实验开设方式 (47)
4. 实验环境 (47)
5. 实验步骤 (48)
6. 实验过程数据及结果分析 (48)
7. 实验报告要求 (58)
实验四在线图书销售系统数据库管理 (60)
1. 实验目的 (60)
2. 实验内容与要求 (60)
3. 实验开设方式 (60)
4. 实验环境 (60)
5. 实验步骤 (61)
6. 实验过程数据及结果分析 (61)
7. 实验报告要求 (77)
实验五在线图书销售系统数据库WEB应用访问 (78)
1. 实验目的 (78)
2. 实验内容与要求 (78)
3. 实验开设方式 (78)
4. 实验环境 (78)
5. 实验步骤 (79)
6. 实验过程数据及结果分析 (79)
7. 实验报告要求 (89)
前言
随着计算机技术与软件工程技术的发展,Oracle数据库技术已成为信息社
会中对大量数据进行组织与管理的重要技术手段。

数据库技术是信息系统及软件处理数据的基础。

它不仅有完整的理论基础,而且随着计算机软硬件技术的飞快发展,它的应用也越来越广泛。

本实验指导书通过一个综合性的数据库应用开发实例,循序渐进地引导学生掌握Oracle Database 12c数据库设计、数据库创建、数据库管理、数据库访问、以及数据库应用编程的开发技能,并通过上机实践完成一个典型在线图书销售系统的数据库应用系统开发。

根据实验教学大纲,我们编排了五个实验,每个实验又分了七个部分内容:实验目的、实验内容与要求、实验开设方式、实验环境、实验步骤、实验报告要求、注意事项。

在实验操作之前,由教师对实验相关技术作一定的指导讲解,让学生掌握实验工作需要的技术方法,明确实验目的和要求。

在实验中,学生根据实验要求内容进行设计与操作实践,完成实验任务。

在实验结束后,学生按要求完成实验报告。

整个Oracle数据库系统综合设计上机实验中,我们推荐采用Oracle Database 12c作为实验工具环境,强调学生通过主流数据库工具产品培养动手实践能力,掌握数据库设计、管理、维护和编程访问方法。

第一部分: 预备知识
第一章数据库系统分析与设计建模
1.1 概念数据模型概述
针对数据库系统开发,一个很重要的工作就是建立该系统的数据模型。

所谓数据模型是指现实世界中数据对象特征、数据对象关系及其约束的描述形式。

数据模型一般由数据结构、数据操作、数据约束三部分组成。

数据库应用开发需要建模的数据模型有三个层次:
1)概念数据模型——面向用户的业务数据对象及其联系
2)逻辑数据模型——面向设计者的系统数据对象逻辑表示及其联系
3)物理数据模型——面向开发者的系统数据对象存储结构形式
概念数据模型(CDM,Concept Data Model)也称信息模型。

该模型主要以实体-联系(Entity-RelationShip,简称E-R)理论为基础,采用E-R模型图来描述应用系统的数据对象和数据关系,主要用于数据库系统分析建模。

CDM有一组严格定义的模型元素集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。

1)数据结构表达为实体和属性;
2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作;
3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等)。

1.2 实体、属性及标识符的定义
实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。

例如,学校中的每个学生,医院中的每个手术。

每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干个属性来描述。

如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。

实体集(EntitySet)是具体相同类型及相同性质实体的集合。

例如学校所
有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。

实体类型(EntityType)是实体集中每个实体所具有的共同性质的集合,例如“患者”实体类型为:患者{门诊号,姓名,性别,年龄,身份证号.............}。

实体是实体类型的一个实例,在含义明确的情况下,实体、实体类型通常互换使用。

实体类型中的每个实体包含唯一标识它的一个或一组属性,这些属性称为实体类型的标识符(Identifier),如“学号”是学生实体类型的标识符,“姓名”、“出生日期”、“信址”共同组成“公民”实体类型的标识符。

有些实体类型可以有几组属性充当标识符,选定其中一组属性作为实体类型的主标识符,其他的作为次标识符。

1.3 实体、属性及标识符的表达
实体、属性及标识符表示如图1-1所示。

图1-1 实体表示
1.4 概念数据模型创建
1、新建概念数据模型
1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型。

如图1-2所示。

图1-2 新建概念数据模型
2)完成概念数据模型的创建。

对当前的工作空间进行简单介绍,见图1-3所示。

图1-3 模型工作空间
3)选择新增的CDM模型,右击,在弹出的菜单中选择“Properties”属性项,弹出图1-4所示对话框。

在“General”标签里可以输入所建模型的名称、代码、描述、创建者、版本以及默认的图表等等信息。

在“Notes”标签里可以输入相关描述及说明信息。

当然再有更多的标签,可以点击"More>>"按钮,这里就不再进行详细解释。

图1-4 模型命名
2、创建新实体
1)在CDM的图形窗口中,单击工具选项版上的Entity工具,再单击图形窗口的空白处,在单击的位置就出现一个实体符号。

点击Pointer工具或右击鼠标,释放Entitiy工具。

如图1-5所示。

图1-5 实体图标
2)双击刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。

图1-6 实体属性框
3、添加实体属性
1)在上述窗口的“Attribute”选项标签上可以添加属性,如图1-7所示。

图1-7 实体属性设置窗口
注意:
数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中
DataItem的Uniquecode和Allowreuse选项有关。

P列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M 列表示该属性是否为强制的,即该列是否为空值。

如果一个实体属性为强制的,那么,这个属性在每条记录中都必须被赋值,不能为空。

2)在上图所示窗口中,点击插入属性按钮,弹出属性对话框,如图1-8所示。

图1-8 属性定义
1.5 定义属性的标准检查约束
标准检查约束是一组确保属性有效的表达式。

在实体属性的特性窗口,打开如图1-9所示的检查选项卡。

图1-9 标准检查约束定义
在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如表1-1所示。

表1-1 约束参数
参数说明
Minimum 属性可接受的最小数
Maximum 属性可接受的最大数
Default 属性不赋值时,系统提供的默认值
Unit 单位,如公里、吨、元
Format 属性的数据显示格式
Lowercase 属性的赋值全部变为小写字母
Uppercase 属性的赋值全部变为大写字母
Cannotmodify 该属性一旦赋值不能再修改
ListOfValues 属性赋值列表,除列表中的值,不能有其他的值
Label 属性列表值的标签
定义属性的附加检查:
当Standardchecks或Rules不能满足检查的要求时,可以在AdditionalChecks选项卡的Server子页上,通过SQL语句中使用%MINMAX%、%LISTVAL%、%RULES%、%UPPER%、%LOWER%几个变量来定义Standard和Rule,如图1-10所示
图1-10定义属性的附加检查
%MINMAX%、%LISTV AL%、%UPPER%、%LOWER%
在StandardCheck中定义的Minimum和Maximum、Listvalues、uppervalues、lowervalues
%RULES%
在Rules特性窗口Expression选项卡中定义的有效性规则表达式
1.6 如何定义实体的主、次标识符
1、标识符
标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。

要强调的是,CDM中的标识符等价于PDM中的主键或候选键。

每个实体都必须至少有一个标识符。

如果实体只有一个标识符,则它为实体的主标识符。

如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符了。

2、定义主、次标识符
1)选择某个实体双击弹出实体的属性对话框。

在Identifiers选项卡上可以进行实体标识符的定义。

如图1-11所示。

图1-11 标识符定义框
2)选择第一行“主标识符”,点击属性按钮或双击第一行“主标识符”,弹出属性对话框,如图1-12所示。

图1-12 标识符名称定义
3)选择"Attributes"选项卡,再点击“AddAttributes”工具,弹出如图1-13所示窗口,选择某个属性作为标识符就行了。

图1-13 选择标识符
1.8 联系的定义及使用
1、联系
联系(Relationship)是指实体集这间或实体集内部实例之间的连接。

实体之间可以通过联系来相互关联。

与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。

联系和联系集在含义明确的情况之下均可称为联系。

按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONETOONE)联系、一对多(ONETOMANY)联系、多对一(MANYTOONE)联系和多对多联系(MANYTOMANY)。

2、建立联系
在CDM工具选项板中除了公共的工具外,还包括如图1-18所示的其它对象产生工具。

图1-18 关联定义图标
在图形窗口中创建两个实体后,单击“实体间建立联系”工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建了联系,右键单击图形窗口,释放Relationship工具。

如图1-19所示。

图1-19 实体关联
3、四种基本的联系
即一对一(ONETOONE)联系、一对多(ONETOMANY)联系、多对一(MANYTOONE)联系和多对多联系(MANYTOMANY)。

如图1-20所示。

图1-21 基本关联
4、其他几类特殊联系
除了4种基本的联系之外,实体集与实体集之间还存在标定联系(IdentifyRelationship)、非标定联系(Non-IdentifyRelationShip)和递归联系(RecursiveRelationship)。

1)标定联系
每个实体类型都有自己的标识符,如果两个实体集之间发生联系,其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时,这种联系则称为标定联系,也叫依赖联系。

反之称为非标定联系,也叫非依赖联系。

注意:
在非标定联系中,一个实体集中的部分实例依赖于另一个实例集中的实例,在这种依赖联系中,每个实体必须至少有一个标识符。

而在标定联系中,一个实体集中的全部实例完全依赖于另个实体集中的实例,在这种依赖联系中一个实体必须至少有一个标识符,而另一个实体却可以没有自己的标识符。

没有标识符的实体用它所依赖的实体的标识符作为自己的标识符。

换句话来理解,在标定联系中,一个实体(选课)依赖一个实体(学生),那么(学生)实体必须至少有一个标识符,而(选课)实体可以没有自己的标识符,没有标标识符的实体可以用实体(学生)的标识符作为自己的标识符。

图1-22 标定关联与非标定关联
2)递归联系
递归联系是实体集内部实例之间的一种联系,通常形象地称为自反联系。

同一实体类型中不同实体集之间的联系也称为递归联系。

例如:在“职工”实体集中存在很多的职工,这些职工之间必须存在一种领导与被领导的关系。

又如“学生”实体信中的实体包含“班长”子实体集与“普通学生”子实体集,这两个子实体集之间的联系就是一种递归联系。

创建递归联系时,只需要单击“实体间建立联系”工具从实体的一部分拖至该实体的别一个部分即可。

如图1-23所示。

图1-23 递归关联
5、定义联系的特性
在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图1-24所示。

图1-24 关联特性
6、定义联系的角色名
在联系的两个方向上各自包含有一个分组框,其中的参数只对这个方向起作用,RoleName为角色名,描述该方向联系的作用,一般用一个动词或动宾组表。

如:“学生to课目”组框中应该填写“拥有”,而在“课目To学生”组框中填写“属于”。

(在此只是举例说明,可能有些用词不太合理)。

7、定义联系的强制性
Mandatory表示这个方向联系的强制关系。

选中这个复选框,则在联系线上产生一个联系线垂直的竖线。

不选择这个复选框则表示联系这个方向上是可选的,在联系线上产生一个小圆圈。

8、有关联系的基数
联系具有方向性,每个方向上都有一个基数。

举例,“系”与“学生”两个实体之间的联系是一对多联系,换句话说“学生”和“系”之间的联系是多对一联系。

而且一个学生必须属于一个系,
并且只能属于一个系,不能属于零个系,所以从“学生”实体至“系”实体的基数为“1,1”,从联系的另一方向考虑,一个系可以拥有多个学生,也可以没有任何学生,即零个学生,所以该方向联系的基数就为“0,n”,如图1-25所示。

图1-25 多对多联系
1.7 定义数据项
1、数据项
数据项(DataItem)是信息存储的最小单位,它可以附加在实体上作为实体的属性。

注意:模型中允许存在没有附加至任何实体上的数据项。

2、新建数据项
1)使用“Model”--->DataItems菜单,在打开的窗口中显示已有的数据项的列表,点击“AddaRow”按钮,创建一个新数据项,如图1-14所示。

图1-14 新建属性数据项
2)当然您可以继续设置具体数据项的Code、DataType、Length等等信息。

这里就不再详细说明了。

3、数据项的唯一性代码选项和重用选项
使用Tools--->ModelOptions->ModelSettings。

在DataItem组框中定义数据项的唯一性代码选项(UniqueCode)与重用选项(AllowReuse)。

如图1-15所示。

注意:
如果选择UniqueCode复选框,每个数据项在同一个命名空间有唯一的代码,而选择Allowreuse,一个数据项可以充当多个实体的属性。

图1-15 属性取值唯一约束
4、在实体中添加数据项
1)双击一个实体符号,打开该实体的属性窗口。

2)单击Attributes选项卡,打开如图1-16所示。

图1-17 添加数据项
注意:
AddaDataItem与ReuseaDataItem的区别在于
AddaDataItem情况下,选择一个已经存在的数据项,系统会自动复制所选择的数据项。

如果您设置了UniqueCode选项,那系统在复制过程中,新数据项的Code会自动生成一个唯一的号码,否则与所选择的数据项完全一致。

ReuseaDataItem情况下,只引用新增,就是引用那些已经存在的数据项,作为新实体的数据项。

第二章 Oracle数据库介绍
Oracle数据库有4个不同的版本,它们分别是个人版、企业版、标准版和开发版。

本文就Oracle数据库的使用特点进行介绍。

2.1 Oracle Database 12c数据库简介
一、Oracle Database 12c的简介
Oracle数据库DBMS产品是美国甲骨文公司提供的大型企业级数据库软件产品,它是目前全球市场中使用最为广泛的大型数据库管理系统。

Oracle数据库产品在数据库领域的集群技术、高可用性、商业智能、安全性、系统管理等方面都处于技术领先水平。

甲骨文公司自1977年推出Oracle数据库产品以来,先后推出多个数据库DBMS软件版本。

目前,最新版本为Oracle Database 12c。

该版本引入一种新的多租户架构,可轻松地快速整合多个数据库并将它们作为一个云服务加以管理。

Oracle Database 12c 还包括内存中数据处理功能,可提供突破性的分析性能,其技术创新将数据库处理的效率、性能、安全性和可用性提升至新的水平。

二、Oracle Database 12c的特点
1.自助式管理与自动化功能
Oracle Database 12c具有先进的自助式管理和自动化功能,可帮助企业满足服务等级协议的要求。

例如,对于需要定期升级数据库和操作系统并改变硬件和系统的企业来说,Oracle Database 12c的实时应用测试组件非常适用。

这一功能使Oracle数据库Database 12c成为有史以来第一个能够帮助企业以可控和经济的方法迅速测试并管理IT环境变化的数据库。

此外,Database 12c还将帮助客户降低系统管理成本,同时提高客户数据库应用的性能、可扩展性、可用性和安全性。

Oracle Database 12c新的管理功能包括:自动SQL和存储器微调;新的划分向导组件自动向管理员建议,如何对表和索引分区以提高性能;增强的数据库集群性能诊断功能。

另外,Oracle Database 12c还具有新的支持工作台组件,界面向管理员呈现与数据库健康有关的差错以及如何迅速消除差错的信息。

2.更经济有效的管理能力
Oracle Database 12c的数据防卫组件可帮助客户使用备用数据库,以提高生产环境的性能,并保护生产环境免受系统故障和大面积灾难的影响。

数据防卫组件可以同时读取和恢复单个备用数据库,这种功能是业界独一无二的。

因此数据防卫组件可用于对生产数据库的报告、备份、测试和滚动升级。

通过将工作量从生产系统卸载到备用系统,数据防卫组件还有助于提高性能。

Oracle Database 12c还具有数据划分和压缩功能,可实现更经济的信息生命周期管理和存储管理。

Database 12c以成熟的数据压缩功能为基础,可在交易处理、数据仓库和内容管理环境中实现先进的结构化和非结构化数据压缩。

采用Database 12c中先进的压缩功能,所有数据都可以实现2至3倍甚至更高的压缩比。

3.大幅度提高信息可用性
在保护数据库应用免受计划停机和意外影响方面,甲骨文一直领先于业界。

Oracle Database 12c进一步增强了这种领先地位,数据库管理员现在可以更轻松地达到用户的可用性预期。

新的可用性功能包括:Oracle闪回事务处理,可以轻松撤销错误的事务处理以及任何相关事务处理;并行备份和恢复功能,可改善非常大数据库备份和存储性能;热修补功能,不必关闭数据库就可以进行数据库修补,提高了系统可用性。

另外,Oracle Database 12c数据恢复顾问软件可自动调查问题,智能地确定恢复计划并处理多种故障情况,从而极大地缩短数据恢复所需的停机时间。

4.更加快速的功能
Oracle Database 12c具有在数据库中存储下一代大型对象的功能,这些对象包括图像、大型文本对象及一些高级数据类型,如XML、医疗成像数据和三维对象。

Oracle快速文件组件使数据库应用的性能完全比得上文件系统的性能。

通过存储更广泛的企业信息并迅速轻松地检索这些信息,企业可以对自己的业务了解得更深入,并更快地对业务做出调整以适应市场变化。

在Oracle Database 12c中, XML DB的性能获得了很大的提高。

它增加了对二进制XML数据的支持,客户可选择适合自己特定应用及性能需求的XML 存储选项。

XML DB还可以通过业界标准接口来操作XML数据。

5.透明加密和嵌入OLAP
Oracle数据库Database 12c进一步增强了Oracle数据库的安全性。

它增强了透明数据加密功能,将这种功能扩展到了卷级加密之外。

Oracle数据库Database 12c具有表空间加密功能,可用来加密整个表、索引和所存储的其他数据。

存储在数据库中的大型对象也可以加密。

Oracle数据库Database 12c在数据仓库方面也引入了创新。

开发人员可以用业界标准SQL实现数据查询,同时仍然受益于OLAP行列所具有的高性能。

新的连续查询通知组件在数据库数据发生重要变化时,会立即通知相关的应用软件,不会出现由于不断轮询而加重数据库负担的情况。

6.连接汇合和结果缓存
Oracle数据库Database 12c中各项提高性能和可扩展性的功能可帮助企业维护一个高性能和高度可扩展的基础设施,以向企业的用户提供高质量的服务。

通过高速缓存和重用经常调用的数据库查询的功能,Database 12c的查询结果高速缓存功能也改善了应用的性能和可扩展性。

数据库驻留连接汇合功能通过为非多线程应用提供连接汇合,提高了Web系统的可扩展性。

此外,Oracle数据库Database 12c还提供多种开发工具供开发人员选择,它提供的简化应用开发流程可以充分利用Oracle数据库Database 12c的关键功能。

这些关键功能包括:客户端高速缓存、提高应用速度的二进制XML、XML处理以及文件存储和检索。

另外,Oracle数据库Database 12c还具有新的Java实时编译器,可以更快地执行数据库Java程序;为开发在Oracle平台上运行的.NET应用,实现了与Visual Studio 2005的集成;与Oracle快捷应用配合使用的Access迁移工具;SQL Developer可以轻松建立查询,以快速编制SQL和PL/SQL例程代码。

三、Oracle Database 12c数据库产品版本
1.企业版
企业版提供了有效的、可靠的、安全的数据管理功能以应对关键的企业业务和在线事务处理应用,复杂查询的数据仓库或者WEB2.0 应用。

企业版就没有SOCKET限制,单机或者集群都可以使用。

2.标准版
标准版是个空前强大,易用、性价比非常好的工作组级软件。

可以支持
单机或者集群服务器,在最高容量4个处理器的单机或者总计4处理器的集群上使用。

购买了标准版,就已经内含了 Oracle的RAC而无需额外付费。

3.个人版
个人版是为个人开发部署使用,它和Oracle标准版,企业版功能上是全面兼容的。

2.2 Oracle Database 12c数据库基本体系结构
Oracle数据库包含物理结构与逻辑存储结构。

一、Oracle数据库物理结构
每一个Oracle数据库都有一个或多个物理的数据文件,数据库信息(结构,数据)都保管在这些数据文件中,并且这些文件也只Oracle才能够解释与维护这些存储。

Oracle数据文件具有以下一些特征:
1)一个数据文件仅仅关联一个数据库,数据文件与数据库之间对应联络是一对一联络,当然反过数据库与数据文件是一对多联络。

2)数据文件能够自动扩展,当数据存储须要更多存储空间时,数据文件能够自动增长,以满足数据存储须要。

3)一个或多个数据文件组成一个逻辑单元,称之为表空间.数据文件与表空间之间对应联络也是一对一联络,当然反过表空间与数据文件对应联络是一对多的联络。

1.控制文件
每一个Oracle数据库都有一个控制文件。

这个控制文件是Oracle能够正常工作的前提。

控制文件有三个作用:1)记载着物理硬盘上信息。

2)记载Oracle数据库自身逻辑结构。

3)起到一个全局监管作用。

当数据库启动时,控制文件中记载数据文件与日志文件必需要被Oracle进程所读取。

数据库结构改变也随时记载在控制文件中。

控制文件对Oracle恢复也起着十分大作用。

2.重做日志文件。

相关文档
最新文档