`

oracle基础一

阅读更多

主码、外码

关系型数据:是以关系数学模型来表示的数据。它以二维表的形式来描述数据

关系型数据库系统:硬件(客户机、服务器)、操作系统、关系型数据库管理系统和数据库、关系型数据应用系统、用户

什么是数据仓库

什么是联机分析

什么是数据挖掘

什么是集群技术

oracle2种工作模式:C/S和B/S

数据库服务器体系结构

进程结构(用户进程、服务器进程)

内存结构(系统全局区SGA(用户进程和服务器进程共用),程序全局区PGA(用户进程私用))

数据库逻辑结构(数据库、表空间、逻辑对象(表、索引、视图)、数据段(数据段、索引段、临时段、回滚段)、数据区间、数据块)

数据存储结构(数据库、物理文件(数据文件、控制文件、日志文件)、物理块)

注:

数据块 Data  Block

数据区间 Data Extent

数据段 Data Segment

逻辑对象 Logic Object

表空间 TableSpace

数据库发展历史

网状数据库、层次数据库、关系数据库。

 

关系数据库的3个含义

1.在关系数据库中,信息被存放在二维结构表中

2.这些表之间是相互关联的

3.数据库不仅仅包含表,而且还包含了其他数据库对象

 

关系数据库的特点

关系(二维表)

元组(记录)

属性(字段)

域(属性的取值范围)

候选码(关系中能唯一标识元组的最小的属性集合)

主码(一组可以唯一标识元组的属性)

关系模式(指对关系的描述,通常称为表结构)

 

完整性

域完整性(字段属性的约束)

实体完整性(记录的唯一性)

参照完整性(对外键的约束)

 

数据库范式

第一范式(每一列不可分割)

第二范式(非主属性要完全依赖主属性,所谓完全依赖是指不能存在仅依赖主关键字一部分的属性(复合主键),如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。)

第三范式(非主属性之间不能相互依赖,属性不依赖于其它非主属性[消除传递依赖] )

 

 

 

关系数据库

通常包括:客户端应用程序、数据库服务器、数据库

 

数据库

一系列物理文件(数据文件、控制文件、联机日志)的集合或与之对应的逻辑结构(表空间、段等)被称为数据库

 

 

表空间

数据库结构提供对数据文件的逻辑映射,允许不同类型的数据分开存储,这些逻辑划分称做表空间。

 

数据库实例

SGA(System Global Area)存储结构,用来存储最近从数据库中查询的数据。

数据块缓存区和sql共享池是SGA最大的组成部分。

数据库实例也叫服务器,是用来访问数据库文件集的存储结构及后台进程的集合。在oracle并行服务器选项下,一个数据库可以被多个实例访问。

 

 sql子语言

数据定义语言(Data Definition Language)DDL

数据查询语言(Data Query Language)DQL

数据操纵语言(Data Manipulation Language)DML(增加修改删除等操作)

数据控制语言(Data Control Language)DCL(设置或者更改数据库用户或角色权限的语句)

事务控制语言(Transaction Control Language)TCL

 

PL/SQL基本语法

PL/SQL不区分大小写

所有保留字都采用大写、用户定义的基本采用骆驼命名法。

分隔符(一句可以分多行)

引用字符串(注意:数字不用单引号,以及单引号转义) 

括号

 

 

PL/SQL数据类型

标量、复合、引用、LOB

 

》标量类型

1.数字类型

NUMBER(p,s)

NUMBERIC(p,s)

FLOAT

DEC

DECIMAL

INT/INTEGER

BINARY_INTENER

PLS_INTEGER

SMALLINT

SIMPLE_INTEGER

REAL

DOUBLE_PRECISION

BINARY_DOUBLE

BINARY_FLOAT

2.字符类型

CHAR(size) 最大2000B

NCHAR(size) 最大1000B

VARCHAR2(size) 最大4000B

NVARCHAR2(size) 最大2000B

LONG

RAW(size)

LONG RAW

3.日期类型

DATE(定义日期和时间)

TIMESTAMP(定义日期和时间,不仅显示日期还会显示时间和上下午标记)

INTERVAL(存储2个TIMESTAMP之间的时间差异)

4.行标识符

ROWID(支持物理行标识,不支持逻辑行标识)和UROWID (支持物理行标识,也支持逻辑行标识)

5.布尔类型BOOLEAN

值有:TRUE、FALSE、NULL

(注意:它是PL/SQL数据类型,不支持表列数据类型)

》复合类型

PL/SQL记录、PL/SQL集合

其中PL/SQL集合包含:联合数组、嵌套表、VARRAY(变长数组)   3种复合数据类型

 

PL/SQL记录语法

TYPE name IS RECORD(定义成员列表)

 

联合数组

TYPE  table_type_name  IS TABLE OF scalar_type  INDEX BY index_datatypes;

 

嵌套表

TYPE table_name IS TABLE OF  table_type [NOT NULL]

 

 VARRAY(变长数组)

 

TYPE type_name IS [VARRAY | VARYING ARRAY] (max size) OF element_type [NOT NULL]

 

 

》引用类型

REF CURSOR类型、REF类型

 

》LOB类型

CLOB 存储单字节字符数据

BLOB 存储非结构化的二进制数据

NCLOB 存储定宽Unicode多字节字符数据

BFILE 存储大型二进制文本的指针

 

 PL/SQL基本结构

声明部分、执行部分(必需的部分)、异常处理部分 

 

 变量

 

 变量名 类型标识符 [NOT NULL]:=值

TYPE%

ROWTYPE%

 

常量

 

常量名 CONSTANT 类型标识符 [NOT NULL]:=值

 

 

 表达式

 

 数值表达式:+ ,-, *, /, **(乘方)

 

字符表达式: ||(链接运算符)

 

关系表达式:<,>,=,<=,>=,!=,ALL,

ANY,SOME,

BETWEEN,

EXISTS

IN

IS

LIKE

 

逻辑表达式:NOT、AND,OR ,优先次序为 NOT、AND,OR

 

集合运算符:INTERSECT、MINUS、UNION、UNIONALL

 

行运算符:ALL,DISTINCT、PRIOR

 

流程控制

 

 

IF condition THEN

......

END IF

 

IF...THEN...ELSE

 

IF...THEN...ELSEIF

 

CASE(有2种)

 

LOOP 语句 END LOOP

其中包含EXIT或EXIT ...WHRN 跳出2种方式

循环标签(增强可读性)

 

WHTN...LOOP

 

FOR...LOOP

 

FOR i IN 1...3 LOOP

执行语句体

END LOOP

注意:i不能被赋值(即计数器不能被赋值)

注意:REVERSE反转

注意:循环的边界可以是文字,变量,表达式,但它们必须都是数字。否则PL/SQL会抛出预定义异常。

 

GOTO语句,要设置标签名(略)

 

NULL语句,本身并不做什么,只是简单地将控制权转交给下一个语句而已。

 

PL/SQL常用语句

DDL,DQL,DML,DCL,TCL

其中DCL用于实现权限授予(GRANT)和撤销(REVOKE)

PL/SQL常用的部分权限

CREATE USER

DROP USER

SELECE ANY TABLE

CREATE ANY TABLE

DROP ANY TABLE

CREATE VIEW

CREATE SEQUENCE

CREATE PROCEDURE

 

如:GRANT CREATE ANY TABLE TO USER1

REVOKE CREATE ANY TABLE FROM USER1

 

 

TCL事务控制语句

1.提交事务COMMIT

出现以下情况时会自动提交事务

执行DDL语句,执行DCL语句,退出SQL*PLUS

2.设置事务回滚点(也叫事务保存点)SAVEPOINT

如SAVEPOINT A;或EXEC DBMS_TRANSACTION.SAVEPOINT('A');

3.回滚事务(ROLLBACK)

指定回滚到某个事物保存点

ROLLBACK TO A或EXEC DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('A');

回滚全部事务

ROLLBACK或EXEC DBMS_TRANSACTION.ROLLBACK

 

游标、过程、函数(与过程类似,但必须有一个返回类型)

 

包:DBMS_OUTPUT,DBMS_TRANSACTION等

 

集合:即是前面介绍的联合数组,嵌套表,可变数组

 

EXCEPTION:分为编译时错误和运行时错误

引发异常有2种方法

发生ORACLE错误自动触发

RAISE显式地触发异常

注意:OTHERS子句

PL/SQL异常又分:预定义异常和非预定义异常(标准的异常和程序员定义的异常需要使用raise显式触发)

注意:使用Raise_Application_Error

 

如Raise_Application_Error(-20001,‘表中已经存在该记录’)

其中-20001必须在-20000到-20999之间,防止与oracle的任何错误码发生冲突,后一个参数不超过2KB

 

注意在WHEN OTHERS中使用:SQLCODE或SQLERRM

 

 

 

 常用开发工具SQL*PLUS和SQL Developer

设置执行格式、显示格式(略)

 

 在Oracle内部,每个数据表都有一个伪列ROWID,用于存放ROWID类型的二进制值。每个ROWID代表了一行数据的存储地址。物理ROWID 能够标识普通数据表中的一行信息,而逻辑ROWID能够标识索引组织表(index-organized table)中的一行信息。其中ROWID类型只能存储物理内容,而UROWID(universal rowid)类型可以存储物理或者逻辑ROWID。

  建议:只有在旧的应用程序中,为了兼容性我们才使用ROWID数据类型。对于新的应用程序,应该使用UROWID数据类型。

 

 

 

    水平分区将表分为多个表。每个表包含的列数相同,但是行更少。例如,可以将一个包含十亿行的表水平分区成 12 个表,每个小表表示特定年份内一个月的数据。任何需要特定月份数据的查询只需引用相应月份的表。

 

    而垂直分区则是将原始表分成多个只包含较少列的表。

 

    表散列与水平分割相似,但没有水平分割那样的明显分割界限,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    oracle基础教程

    oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 1.1.2 基本概念 3 1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 ...

    Oracle基础1.ppt

    推荐的学习资源包括THOMAS KYTE的几本著作,以及Oracle的官方文档和asktom.oracle.com网站,这些都是深入了解Oracle基础知识的重要途径。通过深入学习和实践,可以更好地掌握Oracle数据库的使用和管理,从而在项目中...

    oracle 基础oracle 基础oracle 基础oracle

    1. **自动诊断与修复**:Oracle Database 11g 引入了自动诊断资源管理器(ADDM),这是一种强大的工具,能够自动检测并报告数据库运行时的问题。此外,它还支持自我修复特性,能够在某些情况下自动修复问题。 2. *...

    Oracle基础教程

    Oracle 基础教程 Oracle 是一款流行的关系型数据库管理系统,由 Oracle 公司开发和...Oracle 基础教程 涵盖了 Oracle 数据库的安装、数据库概念和优化等方面的内容,为读者提供了一个系统的 Oracle 数据库知识体系。

    oracle基础知识入门

    对于初学者来说,掌握Oracle基础知识是进入数据库领域的第一步。本文将深入浅出地介绍Oracle数据库的一些核心概念和基本操作,帮助你快速入门。 一、Oracle数据库系统概述 Oracle数据库是由美国Oracle公司开发的,...

    oracle基础知识.PDF

    以下是对Oracle基础知识的详细解析: **1. Oracle数据库概述** Oracle数据库是一个关系型数据库管理系统(RDBMS),它以数据表的形式存储和管理数据,每个表由列定义,数据以行的形式存储。Oracle 8i及以上版本还...

    oracle基础的语句教程

    一、Oracle基础SQL语句 SQL(Structured Query Language)是用于管理和操作数据库的语言。在Oracle中,主要的SQL语句包括: 1. SELECT语句:用于从数据库中检索数据,是最常用的SQL命令。你可以通过指定列名、表名...

    oracle基础教程ppt

    通过本Oracle基础教程PPT,你将逐步了解并掌握这些概念,为你的Oracle学习之路打下坚实基础。随着对Oracle的理解加深,你还可以进一步探索高级主题,如数据仓库、分布式数据库、RAC集群等。学习Oracle不仅是技术的...

    ORACLE基础学习文档

    数据库的能力 sqlserver -&gt; ORACLE 数据结构 训练编程思维方式 实际问题到计算机问题的转化 linux 熟悉一种新的操作系统 软件工厂 学到的知识 去做一个项目 课程安排 linux操作系统 4天 数据结构 5天 ...

    Oracle数据库基础ppt

    首先,"第1章 Oracle 11g简介"介绍了Oracle 11g的主要特性,包括数据存储、性能优化、安全管理等方面,以及它在企业级解决方案中的角色。Oracle 11g引入了许多新功能,如自动存储管理(ASM)、实时应用集群(RAC)等,...

    oracle基础知识考试题_答案.zip

    这个"oracle基础知识考试题_答案.zip"压缩包文件包含了关于Oracle数据库的基础知识学习材料,特别是针对初学者或者准备Oracle相关资格考试的人员。 首先,Oracle数据库的核心概念包括SQL(结构化查询语言)的使用,...

    ORACLE基础培训文档

    这篇“Oracle基础培训文档”旨在为初学者提供一个全面了解Oracle数据库的平台,帮助大家掌握其基本概念、操作和管理技巧。 首先,我们从基础开始,Oracle数据库的核心是SQL(结构化查询语言),它是用于管理和处理...

    oracle基础知识回顾与练习.zip

    本资料“oracle基础知识回顾与练习.zip”是针对Oracle数据库的基础知识进行整理,采用纯SQL语句的形式,适合初学者及需要巩固基础的用户进行学习和实践。 1. SQL基础 SQL(Structured Query Language)是用于管理...

    Oracle数据库基础教程课后习题答案

    "Oracle数据库基础教程课后习题答案" Oracle数据库基础教程课后习题答案是《Oracle数据库基础教程》的配套习题答案,涵盖Oracle 10g的基础知识点。本资源对Oracle数据库的逻辑结构、物理结构、内存结构、事务处理...

    oracle基础教程.pdf

    总的来说,"Oracle基础教程.pdf" 是一个全面的学习资源,无论你是数据库新手还是希望巩固基础知识的开发者,都能从中受益。通过系统学习这21章的内容,你将能够熟练掌握Oracle数据库,并为实际工作中的数据管理和...

    Oracle基础第三版 Oracle Essentials

    《Oracle基础第三版 Oracle Essentials》是一本专门为Oracle数据库初学者和爱好者编写的指南,它深入浅出地介绍了Oracle的核心概念和技术。Oracle,作为全球广泛使用的数据库管理系统,是企业级数据存储和管理的重要...

    Oracle教程(一) 基础 教程

    ### Oracle教程(一)基础知识概览 #### 一、引言与背景介绍 在现代信息技术领域,数据库管理系统(DBMS)是不可或缺的一部分,尤其对于大型企业和组织来说更是如此。Oracle数据库作为业界领先的DBMS之一,其功能强大...

    Oracle 基础知识 -大全- 原创整理.pdf

    以下将详细讲解Oracle基础知识,包括数据库管理、表的创建与维护、SQL查询技巧、权限管理以及PL/SQL编程等方面。 1. **Oracle数据库优势** Oracle数据库因其高性能、高可用性和安全性而受到青睐。它支持大规模并发...

    oracle基础文档

    本基础文档旨在为初学者提供一个全面的Oracle学习框架,从数据库的基础概念到核心功能,再到应用开发,逐步深入理解Oracle的强大之处。 一、Oracle数据库简介 Oracle数据库系统由美国Oracle公司开发,它是一个基于...

    oracle基础资料

    本文将基于"Oracle基础资料"这一主题,结合提供的压缩包文件"Oracle8i_9i数据库基础.doc",深入探讨Oracle数据库的基础知识,包括其核心概念、数据类型、SQL语句、表的创建以及备份恢复策略。 首先,Oracle数据库的...

Global site tag (gtag.js) - Google Analytics