ORACLE数据库开发基础第一章数据库基础.doc

上传人:bao****ty 文档编号:132084085 上传时间:2020-05-12 格式:DOC 页数:36 大小:99KB
返回 下载 相关 举报
ORACLE数据库开发基础第一章数据库基础.doc_第1页
第1页 / 共36页
ORACLE数据库开发基础第一章数据库基础.doc_第2页
第2页 / 共36页
ORACLE数据库开发基础第一章数据库基础.doc_第3页
第3页 / 共36页
ORACLE数据库开发基础第一章数据库基础.doc_第4页
第4页 / 共36页
ORACLE数据库开发基础第一章数据库基础.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《ORACLE数据库开发基础第一章数据库基础.doc》由会员分享,可在线阅读,更多相关《ORACLE数据库开发基础第一章数据库基础.doc(36页珍藏版)》请在金锄头文库上搜索。

1、Oracle数据库管理员基础第一章 Oracle 数据库基础Oracle 的SQL*PLUS 是设计所有应用系统的基础工具。要想将应用系统设计成一个健壮的、性能优越的系统。最关键的是要理解RDBMS 的真正含义和结构,理解OracleSQL*PLUS 的特点和核心,弄清关系数据库与桌面数据库的差别。比如理解数据的完整性、一致性、索引、视图等。只有这样才能设计出符合Oracle 特点的应用系统。从而保证系统在提供使用后不会出现一致性、性能等问题。1.1 理解关系数据库系统(RDBMS)CODASYL(数据系统语言协会)是数据库任务组(Database Task Group,DBTG)创建的一种数

2、据库标准,这是一种基于COBOL 的网络数据库标准。1.1.1 关系模型一个描述两个集合的元素如何相互联系或如何一一对应的数学概念,对于数据库来说,关系只是一个带有一些特殊属性的表。所以有:数据的基础项是关系在这些表上的操作只产生关系一个关系表必须符合某些特定条件,才能成为关系模型的一部分储存在单元中的数据必须是原子的。每个单元只能存储一条数据,叫信息原则(InformationPrinciple)。如果存储多条则违反信息原则。特舒情况下可能需要违反信息原则。储存在列下的数据必须具有相同的数据类型。每一行是唯一的(没有完全相同的行)。列没有顺序。行没有顺序列有一个唯一性的名称。关系模型的另一个

3、是完整性原则。它包括实体完整性原则(Entity integrity rule)和引用完整性原则( Referential integrity rule ),如:主键( Primary key )是能唯一标识行的一列或一组列的集合。由多个列构成的主键称为连接键(Concatenated key)、组合键(Compound key ),或称作为复合键(Composity key )。另外就是外部键(Foreign key )是一个表中的一列或一组列,它们在其它表中作为主键而存在。一个表中的外部键被认为是对另外一个表中主键的引用。实体完整性原则简洁地表明主键不能全部或部分地空缺或为空,引用完整性原

4、则简洁地表明一个外键必须为空或者它所引16用的主键当前存在值相一致。1.1.2 Codd 十二法则Oracle 数据库系统是一个完美的完全符合数据库技术的关系数据库系统。要想你的应用设计按照数据库原理来进行,最重要的就是理解Oracle 的结构、语句和命令。Codd 提出的十二条法则在Oracle 系统中都可以找到:1)信息法则。2)授权存储法则,每一个数据项都通过“表名+行主键+列名”的组合形成访问。3)必须以一致的方法使用空值。4)一个活跃的、在线数据字典应作为关系型表被储存5)必须提供数据存取语言进行存取访问。6)所有能被更新的视图应当是可被更新的。7)必须有集合级的插入、更新和删除。8

5、)物理数据的独立性。即应用不依赖物理结构。9)逻辑数据的独立性。如果一个表被分成两个部分,则应用视图连接在一起,以便不会对应用产生影响。10) 完整性的独立性。完整性规则应该储存在数据字典中。11) 分布独立性。一个数据库即使被分布,也应该能工作。12) 非破坏性原则。如果允许低级存取,一定不能绕过安全性和完整性原则。1.2 关系数据库系统(RDBMS)的组成RDBMS 由两部分组成,即数据库系统内核(软件)和数据字典(内核用于管理数据库系统的数据结构)两部分。1.2.1 RDBMS 内核RDBMS 就是用来控制数据访问的操作系统。它的任务是按照一定的规则存储数据、检索数据及保护数据。1.2.

6、2 数据字典概念数据自动存放数据库中所有对象(如表,索引,视图等)所需的信息。Oracle 8i 的数据字典是存放数据库系统信息的一组表,从数据字典中的信息可以确认数据库中数据对象的基本信息及存放位置。171.3 SQL、SQL*Plus 及 PL/SQL下面用简单的语言解释Oracle 的常用产品所包含的SQL*PLUS 和PL/SQL 的关系。1.3.1 SQL 和SQL*PLUS 的差别SQL 是标准结构查询语言,而SQL*PLUS 实际是包括标准的SQL 和Oracle 公司的一些命令组成的产品,因而Oracle 公司将其取名为SQL*PLUS。下面是它们的解释。1. SQL(Stru

7、ctured Query Language)SQL 有许多关键字,以下语句是常用于开头的语句:Alter InsertAudit LockCommit NoauditComment RenameCreate RevokeDelete SelectDrop UpdateGrant Validate注:1.Oracle 的SQL 缓冲区一次只能存放一条SQL 命令;2.Validate (使生效) 在 oracle 中跟 Enable 一起用,但可以省去 Validate,所以许多资料都不介绍Validate 的用法。其语法如:EnableValidateNovalidate UNIQUEPRIM

8、ARY KEY. .2. SQL*PLUS除SQL 外,SQL*PLUS 还包括称为SQL*PLUS 命令的附加命令,这些命令主要用于形成复杂报表,编辑SQL 命令,提供帮助信息,维护系统等。SQL*PLUS 包括的命令如下: ConnectHost Set# CopyInput Show$ DefineList Spool/ DelNewpage SqlplusAccept DescribePause StartAppend Disconnect18Quit TimingBreak DocumentRemark TtitleBtitle EditPrompt UndefineChang Ex

9、ecutePrint SaveClear ExitRun ColumnGet RunformCompute Help3. DDL(Data Define Language)对于结构查询语言(有时称SQL 命令),可以将它们分成两组,一组是数据定义语言(DDL);另一组是数据操纵语言(DML)。其中用于数据定义的语言如下:Alter procedure 重编译过程Alter table 修改表的属性Analyze 统计数据库对象性能值Alter table add Constraint 对已有的表加约束Create table 建立表结构Create index 建立索引Drop table 删

10、除表实体及相关的索引Drop index 删除索引Grant 授权给用户或角色Truncate 删除表中的所有行Revoke 从用户或角色收回权限4.DML(Data Manipulation Language)对于结构查询语言的另一组是数据操纵语言(DML)。DML 其中用于数据操纵的命令如下:InsertDeleteUpdateSelectCommit workRollback191.3.2 PL/SQL 语言PL/SQL 是Oracle RDBMS (Oracle 6 之后版本)的一个组成部分,PL 是“过程化语言(Procedure Language )”的缩写。PL/SQL 语言是在

11、SQL 语言中结合了结构化过程语言成分的准第四代语言。使用 PL/SQL 的目的:由于大多数 PL/SQL 是在服务端来运行,这样可减少由客户端运行程序时所需的网络数据流量。可以使用PL/SQL 的地方:PL/SQL 可以单独进行程序的编写,完成一般的处理功能;在高级语言中可嵌入 PL/SQL 块;在 4GL 中可以嵌入PL/SQL 块;在 PL/SQL 程序中可以嵌入 HTML 和XML。1.4 登录到SQL*PLUS我们创建任何对象,如创建表、索引等都需要连接到Oracle 中,这里用“登录”主要是Oracle 的界面提供的是Login 这样的叫法。其实就是连接的意思。在Client/Se

12、rver 结构下,Oracle 提供两种方式连接SQL*PLUS,其中SQL*NET V2.x 版本(目前版本不再使用SQL*NETV2.x)提供在字符方式下连接到 SQL*PLUS,SQL*NET V2. x 版本提供在图形方式(Window)使用,目前版本的 ORACLE8/8i 都使用 NET8 连接.(NET8 不再支持字符终端)1.4.1 UNIX 环境在 UNIX 下,要确保客户端或服务器端与Oracle 服务器系统进行连接,必须保证tnsnames.ora 和listener.ora 两个参数文件的正确配置。详细的配置解释在DBA 章节里解释。下面是tnsnames.ora 和l

13、istener.ora 两个参数文件的内容显示。1. tnsnames.ora 参数文件:INST1_HTTP =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = dbsvr)(PORT = 1521)(CONNECT_DATA =(SERVER = SHARED)(SERVICE_NAME = s450)(PRESENTATION = http:/admin)20)EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL =

14、 IPC)(KEY = EXTPROC)(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)S450 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = dbsvr)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = s450)2. listener.ora 参数文件:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =

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

当前位置:首页 > 办公文档 > 总结/报告

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