(ORACLE)PL/SQL 数据库的概念
数据库的概念
数据库就是存放数据的仓库,是按照数据的结构来组织,管理,存储的仓库,是对数据持久化的工具,数据库(本质就是一个软件),它能有效的管理数据,数据库是衡量一个程序员水平的重要指标。
数据库与应用程序的关系
1、客户端向服务递交请求。
2、服务器访问数据库
3、在数据库获取查询数据的结果。
4、由服务器将数据库获取的结果返回给客户端。
数据库的发展历史
1、萌芽阶段—文件系统记载数据库
使用磁盘做为记录载体
特点:数据冗余一致性差,安全性差,文件数据不支持并发,文件数据独立,文件数据无法实现数据的完整性操作和原子性。
2、初级阶段—网状,层次型数据库
DBMS的诞生,IBM的IDS,IMS数据库
特点: 编程复杂,基本单位是记录,面向过程,实现比较低效,而且有点麻烦,关于树和图的理论基础不完善,部分类型问题描述相当困难。
3、现阶段—关系对象型数据库
SQL的诞生、加强了数据存储的依赖
特点:处理速度快,安全级别高,支持快闪以及完美的回复,即使硬件坏了,也可以恢复到故障发生前1秒。几台数据库做负载数据库,可以做到30s以内故障转移。网格控制,以及数据仓库方面也非常强大
常用的数据库
1、Oracle
2、SQL Server
3、DB2
4、MySQL
5、Accese
6、。。。。。。
数据库的分类
小型数据库
Access foxbase
负载量在百人以内
成本在千元以内
对安全性要求不高
中型数据库
MySQL SQL server
负载量以日访问在5000-15000人次
成本在万元以上的项目
如电子商务网站、企事业单位网站
大型数据库
SyBase Oracle DB2
负载可以处理海量数据,
以三个数据库在海量数据处理能力上
SyBase<Oracle<DB2
什么是SQL
SQL(Structured Query Language)
(Structured Query Language)结构化查询语句,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理的关系型数据库
SQL语言包括4个部分
DDL(Data Definition Language) 数据定义语言 如数据表的建立修改删除等
DML(Data Manipulation Language) 数据操作语言 如对数据的增删改
DQL(Data Query Language)数据查询语言 对数据的查询
DCL(Data Control Language)数据控制语言 如事物的提交回滚,权限控制
什么是PL/SQL
PL/SQL(Procedural/Structured Query Language) 过程化SQL语言
PL/SQL是Oracle对SQL语言的扩展,在普通SQL中加入了编程语言的特点,列如:变量的使用和流程控制语句等
PL/SQL是Oracle对标准数据库语言的扩展,oracle公司已经将PL/SQL整合到Oracle服务器和其他工具中,利用PL/SQL语言可以建表、查询、添加、删除数据以及处理事务
PL/SQL是一种高性能的机遇事务处理的语言,能运用在任何Oracle环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素
DBMS(Data Management System)数据库管理系统
DBMS数据库管理系统,负责对数据库进行统一的管理和操作,确保数据操作的安全性和完整性
用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护,它可以使多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改和询问数据库。
大部分DBMS提供数据定义语言DDL和数据操作语言DML,供用户定义数据库的模式结构与权限约束,实现对数据的追加删除等操作。
数据库中数据的存储
关系型数据使用数据表来存储数据,通过对表与表的完整性实施,实现表关系的维护
用户名|年龄|性别|邮箱
每行数据就是写入表中的实体
数据库是以2维表的方式记录数据的
Oracle数据库包含的结构
1、客户端应用程序
2、服务器端
3、数据库实例
4、数据库服务
5、数据库监听
Oracle的运行及运行原理
监听器:listener是一个重要的数据库服务组件,在整个Oracle体系结构中,扮演着重要的作用
1、监听客户端请求。
2、为客户请求分配Server Process。
3、注册实列服务。
4、错误转移faiilover。
5、负载均衡衡量。
##数据库服务:在数据库服务器上启动Oracle实列。
1、Oracle服务器是由oracle数据库和oracle实列组成的。
2、Oracle数据库是一个数据的集合,存放在数据文件里,该集合被视为一个逻辑单元、
3、Oracle 实列由管理数据库的后台进程和内存结构所构成
数据库实列
1、Oracle实列是内存结构和后台进程的集合
2、启动Oracle实列的过程,即:分配内存、启动后台进程
3、Oracle实列的内存包括SGA和PGA
当启动实列的时候分配SGA;
当服务器进程建立时分配PGA;
一般情况下SGA:PGA = 8:1;
4、Oracle实列的后台进程包括SMON、PMON、DBWR、LGWR、ARC、CKPT等。
表空间
表空间即存放数据表的空间,是Oracle存储关系数据的物理空间,DBMS提供对表空间中数据的逻辑映射。表空间由统一磁盘的一个或多个数据文件构成,这些文件称为DATA FILE,一个数据文件只能属于一个表空间
每个数据库实例中必须有一个表空间(默认是SYSTEM)
表空间的相关操作
新建表空间
create tablespace 表空间名 datafile 存放路径 size 文件大小 autoextend on;
存放路径 ‘E:\MYSPACE.dbf’
Oracle创建表时如何指定将表创建到哪个表空间
create table tableName() tablespace tabsName;
删除表空间
drop tablespace 表空间
drop tablespace 表空间名 including contents