设为首页 加入收藏

TOP

sql&plugs(一)
2014-11-24 02:52:24 来源: 作者: 【 】 浏览:15
Tags:sql&plugs

Oracle的SQL*PLUS是设计所有应用系统的基础工具。要想将应用系统设计成一个健壮的、性能优越的系统。最关键的是要理解RDBMS的真正含义和结构,理解Oracle SQL*PLUS 的特点和核心,弄清关系数据库与桌面数据库的差别。比如理解数据的完整性、一致性、索引、视图等。只有这样才能设计出符合Oracle特点的应用系统。从而保证系统在提供使用后不会出现一致性、性能等问题。

§1.1 理解关系数据库系统(RDBMS)

CODASYL(数据系统语言协会)是数据库任务组(Database Task Group,DBTG)创建的一种数据库标准,这是一种基于COBOL的网络数据库标准。

§1.1.1关系模型

一个描述两个集合的元素如何相互联系或如何一一对应的数学概念,对于数据库来说,关系只是一个带有一些特殊属性的表。所以有:

l 数据的基础项是关系

l 在这些表上的操作只产生关系

一个关系表必须符合某些特定条件,才能成为关系模型的一部分

l 储存在单元中的数据必须是原子的。每个单元只能存储一条数据,叫信息原则(Information Principle)。如果存储多条则违反信息原则。特舒情况下可能需要违反信息原则。

l 储存在列下的数据必须具有相同的数据类型。

l 每一行是唯一的(没有完全相同的行)。

l 列没有顺序。

l 行没有顺序

l 列有一个唯一性的名称。

关系模型的另一个是完整性原则。它包括实体完整性原则(Entity integrity rule)和引用完整性原则(Referential integrity rule ),如:

l 主键( Primary key )是能唯一标识行的一列或一组列的集合。

l 由多个列构成的主键称为连接键(Concatenated key)、组合键(Compound key ),或称作为复合键(Composity key )。

另外就是外部键(Foreign key )是一个表中的一列或一组列,它们在其它表中作为主键而存在。一个表中的外部键被认为是对另外一个表中主键的引用。实体完整性原则简洁地表明主键不能全部或部分地空缺或为空,引用完整性原则简洁地表明一个外键必须为空或者它所引用的主键当前存在值相一致。

§1.1.2Codd十二法则

Oracle数据库系统是一个完美的完全符合数据库技术的关系数据库系统。要想你的应用设计按照数据库原理来进行,最重要的就是理解Oracle的结构、语句和命令。Codd提出的十二条法则在Oracle系统中都可以找到:

1) 信息法则。

2) 授权存储法则,每一个数据项都通过“表名+行主键+列名”的组合形成访问。

3) 必须以一致的方法使用空值。

4) 一个活跃的、在线数据字典应作为关系型表被储存

5) 必须提供数据存取语言进行存取访问。

6) 所有能被更新的视图应当是可被更新的。

7) 必须有集合级的插入、更新和删除。

8) 物理数据的独立性。即应用不依赖物理结构。

9) 逻辑数据的独立性。如果一个表被分成两个部分,则应用视图连接在一起,以便不会对应用产生影响。

10) 完整性的独立性。完整性规则应该储存在数据字典中。

11) 分布独立性。一个数据库即使被分布,也应该能工作。

12) 非破坏性原则。如果允许低级存取,一定不能绕过安全性和完整性原则。

§1.2 关系数据库系统(RDBMS)的组成

RDBMS由两部分组成,即数据库系统内核(软件)和数据字典(内核用于管理数据库系统的数据结构)两部分。

§1.2.1RDBMS 内核

RDBMS就是用来控制数据访问的操作系统。它的任务是按照一定的规则存储数据、检索数据及保护数据。

§1.2.2数据字典概念

数据自动存放数据库中所有对象(如表,索引,视图等)所需的信息。Oracle 8i 的数据字典是存放数据库系统信息的一组表,从数据字典中的信息可以确认数据库中数据对象的基本信息及存放位置。

§1.3 SQL、SQL*Plus及PL/SQL

下面用简单的语言解释Oracle的常用产品所包含的SQL*PLUS和PL/SQL的关系。

§1.3.1SQL和SQL*PLUS的差别

SQL是标准结构查询语言,而SQL*PLUS实际是包括标准的SQL和Oracle公司的一些命令组成的产品,因而Oracle公司将其取名为SQL*PLUS。下面是它们的解释。

1. SQL(Structured Query Language)

SQL有许多关键字,以下语句是常用于开头的语句:

Alter Insert

Audit Lock

Commit Noaudit

Comment Rename

Create Revoke

Delete Select

Drop Update

Grant Validate

注:

1.Oracle的SQL缓冲区一次只能存放一条SQL命令;

2.Validate (使生效) 在oracle 中跟Enable 一起用,但可以省去Validate,所以许多资料都不介绍Validate 的用法。其语法如:

Enable{[Validate][Novalidate]} { [UNIQUE][PRIMARY KEY]... } ...

2. SQL*PLUS

除SQL外,SQL*PLUS还包括称为SQL*PLUS命令的附加命令,这些命令主要用于形成复杂报表,编辑SQL命令,提供帮助信息,维护系统等。SQL*PLUS包括的命令如下:

@Connect

Host Set

# Copy

Input Show

$ Define

List Spool

/ Del

Newpage Sqlplus

Accept Describe

Pause Start

Append Disconnect

Quit Timing

Break Document

Remark Ttitle

Btitle Edit

Prompt Undefine

Chang Execute

Print Save

Clear Exit

Run Column

Get Runform

Compute Help

3. DDL(Data Define Language)

对于结构查询语言(有时称SQL命令),可以将它们分成两组,一组是数据定义语言(DDL);另一组是数据操纵语言(DML)。其中用于数据定义的语言如下:

Alter procedure 重编译过程

Alter table 修改表的属性

Analyze 统计数据库对象性能值

Alter table add Constraint 对已有的表加约束

Create table 建立表结构

Create index 建立索引

Drop table 删除表实体及相关的索引

Drop index 删除索引

Grant 授权给用户或角色

Truncate 删除表中的所有行

Revoke 从用户或角色收回权限

4.DML(Data Manipulation Language)

对于结构查询语言的另一组是数据操纵语言(DML)。DML其中用于数据操纵的命令如下:

Insert

Delete

Update

Select

Commit work

Rollback

§1.3.2 PL/SQL语言

PL/SQL是Oracle RDBMS (Oracle 6 之后版本)的一个组成部分,PL 是“过程化语言(Procedure Language )”的缩写。PL/SQL语言是在S

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇存储过程或视图的字符串查询 下一篇第四章、PL/SQL基础

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)
·Linux 常用命令集合 (2025-12-24 09:52:51)
·socket 编程如何实现 (2025-12-24 09:20:41)
·Python创建简易的Soc (2025-12-24 09:20:39)