Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境

上传人:E**** 文档编号:89374517 上传时间:2019-05-24 格式:PPT 页数:78 大小:904KB
返回 下载 相关 举报
Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境_第1页
第1页 / 共78页
Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境_第2页
第2页 / 共78页
Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境_第3页
第3页 / 共78页
Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境_第4页
第4页 / 共78页
Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境》由会员分享,可在线阅读,更多相关《Oracle数据库SQL和PL SQL实例教程 高继民 第1章 关系数据库与SQL语言环境(78页珍藏版)》请在金锄头文库上搜索。

1、第1章 关系数据库与SQL语言环境,1.1 关系数据库的基本概念 1.2 SQL*Plus环境 1.3 Oracle的应用开发工具TOAD 1.4 操作准备 1.5 阶段训练 1.6 练习,1.1 关系数据库的基本概念,1.1.1 数据库和数据库管理系统 数据库是在计算机上组织、存储和共享数据的方法,数据库系统是由普通的文件系统发展而来的。数据库系统具有较高的数据独立性,即不依赖于特定的数据库应用程序;数据库系统的数据冗余小,可以节省数据的存储空间;另外数据库系统还很容易实现多个用户的数据共享。,数据库系统成熟的标志就是数据库管理系统的出现。数据库管理系统(DataBase Managerme

2、nt System,简称DBMS)是对数据库的一种完整和统一的管理和控制机制。数据库管理系统不仅让我们能够实现对数据的快速检索和维护,还为数据的安全性、完整性、并发控制和数据恢复提供了保证。数据库管理系统的核心是一个用来存储大量数据的数据库。,一个真正的数据库系统由硬件和软件两个方面构成。比如我们要使用Oracle数据库,需要安装Oracle公司提供的数据库服务器软件和一台用于安装数据库管理系统的高性能的计算机服务器。 数据库系统的发展经历了层次模型、网状模型及关系模型几个阶段。当今应用最普遍的是关系型数据库管理系统。目前,市场上流行的几种大型数据库,如Oracle、DB2、Sybase、MS

3、 SQL Server等都是关系型数据库管理系统。Oracle数据库是一种面向对象的关系型数据库管理系统(ORDBMS),是基于标准SQL语言的数据库产品。,数据库和数据库管理系统实现了信息的存储和管理,还需要开发面向特定应用的数据库应用系统,以完成更复杂的信息处理任务。典型的数据库应用有C/S(客户/服务器)和B/S(浏览器/服务器)两种模式。C/S模式由客户端和服务器端构成,客户端是一个运行在客户机上的数据库应用程序,服务器端是一个后台的数据库服务器,客户端通过网络访问数据库服务器。B/S模式是基于Internet的一个应用模式,需要一个WEB服务器。客户端分布在Internet上,使用通

4、用的网页浏览器,不需要对客户端进行专门的开发。应用程序驻留在WEB服务器或以存储过程的形式存放在数据库服务器上,服务器端是一个后台数据库服务器。,例如一个有代表性的信息检索网站,通常都是一个典型的基于大型数据库的WEB应用。很多这样的网站都采用Oracle的数据库服务器,以获得优越的性能。图1-1给出了典型的WEB数据库应用系统的结构示意图。,图1-1 WEB数据库应用示意图,1.1.2 实体关系模型 在数据库的设计阶段,需要创建逻辑模型。关系数据库的逻辑模型叫做实体关系模型。实体模型化最常用的工具是实体关系图,简称ER(EntityRelationship)图,它是一种简单的图形技术,用来定

5、义数据库中需要的表、字段和关系。它用于数据库设计的第一步,与我们使用的具体的数据库管理系统无关。实体关系模型的优点是:, 有效地搜集和表示组织的信息需求。 提供一个容易理解的系统描述图。 易于开发和提炼。 明确定义了信息需求的范围。 将业务需求信息与业务执行活动分开。 根据业务说明或描述创建实体关系图。,典型的实体关系模型有以下三个要素: 实体:客观存在并可以相互区分的事物称为实体,包括有意义的人、地方或事物,如学生、教师、课程、成绩等。 属性:实体所具有的某一特性称为属性,一个实体可以用若干属性来刻画,如学生实体具有学号、姓名、性别等属性。 关系:两个实体之间的相关性,如学生与课程之间的关系

6、,教师与课程之间的关系。,实体之间的关系有三种类型: 一对一:表示一个实体中的一种情况只与另一个实体中的一种情况有关系。比如:学生与学生证,一个学生只对应一个学生证,一个学生证只对应一个学生。 一对多:表示一个实体中的一种情况与另一个实体中的多种情况有关系。比如:班级与学生,一个班级可有多个学生,而一个学生只能属于某一个班级。 多对多:表示一个实体中的一种情况与另一个实体中的多种情况有关系,而第二个实体中的一种情况也与第一个实体中的多种情况有关系。比如:教师与学生,一个学生有多个教师为其上课,一个教师要为多个学生上课。 以上三种关系可用图1-2来表示。,图1-2 实体之间的关系,在ER模型图中

7、,用实线表示实体之间必须有关系,用虚线表示实体之间是可选的关系,用三角表示一对多关系。 在实体的属性中,在属性前用“*”表示必须有的属性,用“#”表示惟一属性,小写字母“o”代表可选属性。在每一实体上,要定义一个惟一表示该实体的标识符,称为UID(UNIQUE IDENTIFIER),UID是属性之间的组合。图1-3表示了三个实体之间关系的ER图,其中系部ID、专业ID和教师ID分别是三个实体的UID。,图1-3 实体之间关系的ER图,规范化的意义在于可以从实体中删除冗余信息,通过修改数据模型达到可以惟一地表示实体的每一种情况为止。 规范化是降低或消除数据库中冗余数据的过程。尽管在大多数的情况

8、下冗余数据不能被完全清除,但冗余数据降得越低,就越容易维护数据的完整性,并且可以避免非规范化的数据库中数据的更新异常。数据库的规范化通过范式来验证,但是一味地考虑满足范式,也会对数据库性能产生影响,并给实际的实施带来困难。所以实际的情况是采取折衷的方法。 规范化设计的规则有三个,分别称作第一范式、第二范式和第三范式:,第一范式(1NF):实体的所有属性必须是单值的并且不允许重复。 第二范式(2NF):实体的所有属性必须依赖于实体的惟一标识。 第三范式(3NF):一个非惟一标识属性不允许依赖于另一个非惟一标识属性。 在数据库的设计中,一般都采用第三范式,以保证数据的冗余最小,提高数据的完整性。,

9、图1-4是实际设计的两张表和表间关系的示意图。教师表由教师ID、姓名和系部ID等列构成;系部表由系部ID、系部名称和地点等列构成。其中,教师ID和系部ID分别是这两张表的主键。教师表的系部ID和系部表的系部ID之间建立了外键联系,即教师表的系部ID必须是系部表的某个系部ID。,图1-4 表的结构和表间关系示意,1.1.5 开发数据库应用系统的步骤 下面列出了常见的数据库应用系统的开发步骤: 系统需求分析。 设计数据库表。 规划表中的字段。 确定表与表之间的关系。 优化表和表中字段的设计。 输入数据,检测表的设计,如果需要改进可以再次优化表的设计。, 创建查询、存储过程、触发器以及其他的数据库对

10、象。 使用数据库分析工具来分析和改进数据库的性能。 设置数据库安全性。,1.2 SQL*Plus环境,1.2.1 SQL*Plus的登录和环境设置 1登录SCOTT账户 在登录和使用SQL*Plus的同时,要以数据库用户的身份连接到某个数据库实例。在Oracle数据库创建过程中,选择通用目的安装,会创建一个用于测试和练习目的的账户SCOTT。其中保存了一些数据库表的实例,主要的两个表是雇员表EMP和部门表DEPT通过登录SCOTT账户就可以访问这些表。 SCOTT账户的默认口令是TIGER。,我们假定Oracle数据库已经安装在局域网中的一台基于Windows操作系统的服务器上,服务器的名称为

11、ORACLE,数据库实例的名称为MYDB。管理客户端和开发工具安装在其他基于Windows操作系统的客户机上,并且该机器通过网络能够访问到Oracle数据库服务器。这时,我们就可以使用管理客户端中的SQL*Plus工具来进行登录了。登录前一般要由管理员使用Oracle的网络配置工具创建一个网络服务名,作为客户端连接名。为了方便记忆,连接名可以与数据库实例名相重。我们假定创建的网络连接服务名为MYDB,则登录过程如下。,【训练1】 使用SQL*Plus工作表,以SCOTT账户登录数据库。 步骤1:启动SQL*Plus。在开始菜单中,找到Oracle菜单目录的“Application Develo

12、pment” 子菜单,找到其下的“SQL*Plus WorkSheet”命令。 步骤2:为其在桌面上创建一个快捷方式并启动,出现如图1-5所示的登录界面。,图1-5 SQL*Plus的登录对话框,步骤3:在登录对话框中选择直接连接到数据库,并输入其他必要的参数。 用户名为SCOTT。 口令为TIGER。 服务为MYDB,其中MYDB为由系统管理员创建的网络服务名。 连接身份选为Normal。 点击“确定”按钮即可进行数据库连接了。 在输出区输出结果为: 已连接。,连接成功后,出现如图1-6所示的SQL*Plus工作表的工作窗口,在输出区的信息“已连接”表示数据库连接成功。如果显示登录失败信息,

13、则需要重新检查输入的连接参数是否正确。,图1-6 SQL*PLUS工作表,窗口界面可划分成如下几个区域:菜单区、按钮区、输入区和输出区。通过拖动输入区和输出区中间的分隔线可以调整两个区的大小。输入区为一文本编辑区,可以在其中进行命令的输入和编辑,可以使用通用的文本编辑命令,如“选择”、“剪切”、“复制”和“粘贴”等进行操作。在输入区中可以输入SQL命令或PL/SQL程序。输出区为一只读文本区,显示命令的输出结果。 SQL*Plus可以同时运行多个副本,连接相同或不同的账户,同时进行不同的操作。 在本书的训练中,如果没有指明登录的账户,则都默认为SCOTT账户。,Oracle数据库的很多对象,都

14、是属于某个模式(Schema)的,模式对应于某个账户,如SCOTT模式对应SCOTT账户。往往我们对模式和账户不做区分。数据库的表是模式对象中的一种,是最常见和最基本的数据库模式对象。一般情况下,如果没有特殊的授权,用户只能访问和操作属于自己的模式对象。比如以SCOTT账户登录,就只能访问属于SCOTT模式的表。所以通过以不同的用户身份连接,可以访问属于不同用户模式的表。,如果需要重新连接另外一个账户,可以点击“连接”按钮,则重新出现连接对话框,在该对话框中输入新的账户名、口令和其他参数进行连接即可。任何时刻,如果需要运行输入区中的命令,可以点击“执行”按钮。用户可以在输入区中输入和编辑任何命

15、令,在编辑完成后通过点击“执行”按钮(或按F5快捷键)来执行输入区中的命令脚本。,还有一种以命令方式进行重新连接的方法更为便捷,重新进行连接的命令是CONNECT。 以下是该方法的训练。 【训练2】 输入和执行CONNECT命令重新连接数据库。 步骤1:在输入区域清除原有命令,输入新命令。 CONNECT SCOTT/TIGERMYDB 步骤2:点击“执行”按钮(或按F5快捷键)执行该命令。 显示结果为: 已连接。,说明:SCOTT为账户名, TIGER为口令,账户名和口令之间用“/”分隔。“”后面的字符串称为网络服务名或称为连接字符串。 注意:以上方法的口令是显式的,容易被其他人窃取。 要关

16、闭或退出SQL*Plus,可以在输入区域直接输入“EXIT”或“QUIT”命令并执行,或执行“文件”菜单下的“退出”命令。,2环境设置命令 在SQL*Plus环境下,可以使用一系列的设置命令来对环境进行设置。如果不进行设置,系统会使用默认值。通过SHOW ALL命令可以查看SQL*Plus的环境参数。设置命令的格式为 SET 参数 ON|OFF|值 通常需要对输出的显示环境进行设置,这样可以达到更理想的输出效果。显示输出结果是分页的,默认的页面大小是14行80列。以下的训练是设置输出页面的大小,用户可以比较设置前后的输出效果。,【训练3】 设置输出页面的大小。 步骤1:输入并执行以下命令,观察显示结果: SELECT * FROM emp; 步骤2:在输入区输入并执行以下命令: SET PAGESIZE 100 SET LINESIZE 120 或 SET PAGESIZE 100 LINESIZE 120 步骤3:重新输入并执行以下命令,观察显示结果: SELECT *

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号