oracle数据库应用与开发总结

2019-03-03 11:06

Oracle数据库开发与应用总结

第一章关系型数据库及oracle 10g介绍

1.Oracle数据库的发展(了解): 1977年6月,(Software Development Laboratories,SDL)的计算机公司(Oracle公司的前身)开发出第一款Oracle。

1979年,SDL更名为关系软件有限公司(Relational Software,Inc.,RSI) Oracle产品(第二版) 。

1983年3月,RSI发布了Oracle第三版,并RSI公司再次更名为Oracle公司 。 1984年10月,Oracle发布了第四版产品。 1999年2月,Oracle正式发布了Oracle 8i 。 2001年6月,正式发布了Oracle 9i 。

2004年2月,Oracle公司正式发布了Oracle10g(标准版,企业版,个人版)。

2.Oracle数据库的系统结构:Oracle分布式数据库系统结构;Oracle客户/服务器系统结构;Oracle浏览器/服务器系统结构 。 3.检验安装是否成功(4种) :

查看已安装产品;查看程序组 ;查看服务;查看注册表;尝试运行oracle工具。 4.Oracle数据库的默认用户 :

(1)SYS:该用户被默认创建并授予DBA角色,它是Oracle数据库中权限最大的管理员账号。

(2)SYSTEM:被默认创建并授予DBA角色权限仅次于SYS。该用户创建和管理数据库中可显示管理信息的表或视图,以及被Oracle数据库应用和工具使用的各种数据库对象。 (3)SYSMAN:该用户是企业管理的超级管理员账号,该账号能够创建和修改其他管理员账号,同时也能管理数据库实例。

(4)DBSNMP:是Oracle数据库中用于智能代理(Intelligent Agent)的用户,用来监控和管理数据库相关性能。如果停止该用户,则无法提取相关的数据库信息。 5.熟练掌握SQL*plus的使用:例1.2 以system用户登录数据库。 SQLPLUS

SQLPLUS system

SQLPLUS system/abcdef SQLPLUS system/abcdef@orcl 例1.3 以sys用户登录数据库。 SQLPLUS sys/abcdef AS SYSDBA

SQLPLUS sys/abcdef@orcl AS SYSOPER

例1.4 不使用已定义的主机字符串,直接指定要连接的主机名、端口号和数据库实例。 SQLPLUS system/abcdef@localhost:1521/orcl 6.STARTUP命令启动数据库:

STARTUP [NOMOUNT|MOUNT|OPEN][pfile=<初始化参数文件名及路径>] pfile:指出创建Oracle实例需要的初始化参数文件及路径,该参数可省略。 NOMOUNT:表示只启动一个Oracle实例。

MOUNT:启动一个Oracle实例并打开控制文件。

OPEN:启动一个Oracle实例,并依次打开控制文件、数据文件和重作日志文件。 例:在命令行中输入:start nomount; 7.2.SHUTDOWN命令关闭数据库:

SHUTDOWN [NORMAL|IMMEDIATE|TRANSACTIONAL|ABORT] 其中各参数的意义如下:

NORMAL:这是数据库关闭命令的缺省选项。

IMMEDIATE:这是使用频率最高的关闭数据库的方式。当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。

第二章 oracle数据库的体系结构

1.物理存储结构:

(1)数据文件:数据文件是Oracle数据库用来存储各种数据的地方,如表中的记录、索引数据、系统数据和临时数据等。

一个数据库有一个或多个数据文件,但一个数据文件只能属于一个数据库。

数据文件中存储了各种系统和用户的数据,但它和数据库中的表没有一对一的关系。 数据文件的扩展名是.dbf。 可以通过以下方式查看:

静态数据字典视图DBA_DATA_FILES和DBA_TEMP_FILES 动态数据字典视图v$datafile和v$tempfile

(2)日志文件 :日志文件记录了用户对数据库的修改信息(如增加、删除、修改),名字通常为REDO*.LOG格式。

日志文件也叫重做日志文件或重演日志文件(Redo Log Files)。 ★在Oracle中,数据库有两种工作模式: ?归档日志模式(archivelog): 适用于系统投入使用后

当日志组写满后,将日志信息保存到归档日志文件中,然后再循环使用。 ?非归档日志模式(noarchivelog): 适用于开发环境和测试环境中

日志组写满后不会归档到归档日志文件中,直接被新的日志信息覆盖。

(3) 控制文件:是Oracle数据库的物理文件之一,是一个很小的二进制文件,它记录了: 数据库的名称;表空间等信息

数据文件和联机日志文件的名称及位置

当前的日志序列号(Log Sequence Number)

(4) 参数文件:参数文件分为:文本参数文件(pfile);服务器参数文件(spfile) ★数据库启动时,各个物理文件使用的顺序:

?首先从初始化参数文件中获得控制文件的名称及位置,然后打开控制文件。 ?再从控制文件中读取数据文件和联机日志文件的信息及其他相关信息。 ?最后打开数据库 。 2.逻辑存储结构 :

(1)表空间 :表空间(tablespace)是Oracle数据库中最大的逻辑存储结构 。

★数据库中的一个表空间至少包含一个或多个数据文件,而一个数据文件只能属于一个表空间。

?一个表空间的大小就等于它包含的所有数据文件大小之和。 (2) 段 :一个表空间可以被划分为若干个段(segment),一个段又可以被划分为若干个盘区。 段(segment)是以盘区为单位获得磁盘空间的一个段内的盘区在磁盘上不一定是连续的。 段可以分为以下几种类型: 数据段 ;索引段 ;临时段 ;回滚段 ;LOB段。

(3)盘区:盘区(extent)是逻辑存储结构中的一个重要概念,因为它是Oracle最小的磁盘空间分配单元。

(4) 数据块:数据块是Oracle最小的逻辑存储单元,是最基本的数据存取单位。 数据块中可以存储表(table)、索引(index)或簇表(clustered data)。

3.数据库实例结构:Oracle实例是由内存空间(系统全局区)和Oracle 进程两部分组成。 一个完整的Oracle数据库包括两个部分:数据库和数据库实例。

(1)进程结构:是操作系统的基本执行单元,它是具有独立数据处理功能的正在执行的程序,是一系列操作步的集合,有时也被称为作业(job)或任务(task)。 ▲Oracle系统的进程包括三种类型:

1)用户进程:用户进程负责与Oracle服务器建立连接和会话并向服务器发出数据处理请求,得到处理结果后再输出给用户。

2)服务进程:服务进程负责在用户进程和Oracle实例之间调度请求和响应 ★数据库通常有两种工作模式:

?专用服务器模式:是用户创建数据库时的默认方式,也是多数数据库管理员运行数据库的方式,它为用户进程和服务进程之间提供了一种一对一的映射关系。

?共享服务器模式:当数据库启动时首先创建几个共享服务进程,这些服务进程可以为多个用户进程提供服务,他们是一对多的关系。 3)后台进程:

●常见的后台进程包括:数据写进程:日志写进程;检查点进程 ;系统监控进程 ;进程监控进程; 归档进程 ;恢复进程 ;调度进程 。 (2)内存结构: ?系统全局区(System Global Area,SGA):数据缓存区;重做日志缓冲区;共享池;Java 池(Java pool);大型池;(理解组成)

?程序全局区(Program Global Areas,PGA):私有 SQL 区 ;游标及 SQL 区 ;会话内存 4 Oracle网络配置 :服务器端:listener.ora文件

客户端:tnsnames.ora文件和sqlnet.ora

第三章 用户、方案的创建与管理

1.方案:方案是一系列逻辑数据结构或对象的集合,可以理解为命名空间或包。

2.用户与方案的关系:一个方案只能够被一个数据库用户拥有,并且方案的名称与这个用户的名称相同,当创建新用户时,系统自动创建该用户的方案。 3用户:Oracle用户,通俗的讲就是访问Oracle数据库的“人”。 每个用户都有一个口令和相应的权限

4.方案对象:方案对象是指属于某个用户中的数据库对象(表、索引、索引表、簇、触发器、PL/SQL包、序列、同义词、视图和存储函数与存储过程、Java类与其他Java资源)。

5.非方案对象:不属于任何方案的数据库对象,而属于整个数据库(用户、角色、概要文件) 6.使用SQL命令创建新用户:给用户分配口令,加锁,解锁,授权,修改密码,配额,密码(是否)过期

例3.1 创建新用户zhangsan,密码为abcdef,命令如下。 CREATE USER zhangsan IDENTIFIED BY abcdef; 例3.2 创建新用户lisi,密码为abcdef,表空间为users,并且在users表空间上可以使用10M的磁盘空间。

CREATE USER lisi IDENTIFIED BY abcdef

DEFAULT TABLESPACE users QUOTA 10M ON users;

例3.3 创建新用户allen,密码为abcdef,并且设置密码已过期,用户的状态为加锁。 CREATE USER allen IDENTIFIED BY abcdef PASSWORD expire ACCOUNT lock;

7.为新用户授予和数据库建立会话的系统权限: GRANT CREATE SESSION TO user_name; 为新用户授权和数据库建立连接的角色:GRANT CONNECT TO user_name;

第四章 表的创建于管理

创建表(简单的数据表)熟悉掌握三种基本数据类型。 1.字符:CHAR(n):用于存储长度为n的定长字符串,最大长度为2000字节,未指定长度时默认为1。 VARCHAR2(n):用于存储长度为n的变长字符串,最大长度为4000字节,该类型没有默认长度,使用时必须指定。 2.数值:NUMBER(p,s):其中p是精度,表示总的有效数字的个数;s是小数位数。 NUMBER(p):精度为p的整数。

NUMBER:如果没有指明精度和小数位数,则表示精度为38的浮点数。

3.日期:DATE:用于存储日期和时间格式的数据。可以使用函数SYSDATE获得当前的日期和时间。通常为DD-MON-YY格式表示。

4.使用SQL命令创建表:例4.1 在当前方案中创建一个名为student的表,包括学号(studentID)、姓名(name)、性别(sex)、出生日期(birthday)四个字段。

CREATE TABLE student(studentID CHAR(6),name VARCHAR2(8),sex CHAR(2),birthday DATE) TABLESPACE users; 5.基于已有的表创建新表 :

例4.2 将scott方案下的emp表复制到当前方案中的emp_new表。 CREATE TABLE emp_new AS SELECT * FROM scott.emp;

例4.3 在当前方案中创建新的雇员表,包括雇员编号、姓名、工作三个字段,内容来源于scott方案中的emp表的empno、ename、job三个字段。

CREATE TABLE 雇员(编号,姓名,工作) AS SELECT empno,ename,job FROM scott.emp; 6.使用DESCRIBE命令查看表结构:显示student表的表结构:DESC student; 7.向表中插入、修改和删除数据 (1)插入多行数据:

(2)例4.8 创建employee1表,包含三个字段empidID、empname和empjob。将例4.3雇员表中的所有雇员信息插入到employee1表中。 CREATE TABLE employee1

(empID NUMBER(4),empname VARCHAR2(10),empjob CHAR(9)); INSERT INTO employee1 SELECT * FROM 雇员;

(2) 修改数据 :例4.9 将scott方案下的emp表中编号为7369的雇员的工作修改为SALESMAN。

UPDATE scott.emp SET job='SALESMAN' WHERE empno=7369;

例4.11 将scott方案下的emp表中工作为SALESMAN的雇员工资都增加5%。 UPDATE scott.emp SET sal=sal+(sal*0.05) WHERE job='SALESMAN';

(3) 删除数据:DELETE命令是逻辑删除,只是将要删除的行加上删除标记,被删除后可以使用ROLLBACK命令回滚,删除操作时间较长;TRUNCATE TABLE命令是物理删除,将表中的数据永久删除,不能回滚,删除操作快。

●DELETE命令包含WHERE子句,可以删除表中的部分行;TRUNCATE TABLE命令只能删除表中的所有行。例:TRUNCATE TABLE 雇员; 8.修改表:

例4.14 向student表中添加所在系sdept字段。

ALTER TABLE student ADD sdept VARCHAR2(10);

例4.15 向employee表中添加性别sex,年龄age,工资salary三个字段。 ALTER TABLE employee ADD(sex CHAR(2),age INT,salary NUMBER(5,2)); 例4.17 删除employee表中的年龄和工资字段。 ALTER TABLE employee DROP (age,salary);

例4.18 修改student表中所在系sdept字段的长度改为30。 ALTER TABLE student MODIFY sdept VARCHAR2(30);

例4.19 修改student表中所在系sdept字段的字段名为new_sdept。 ALTER TABLE student RENAME COLUMN sdept TO new_sdept; 例4.21 将new_student表删除。 DROP TABLE new_student;

9.定义数据完整性 :数据完整性是指数据的正确性、一致性和安全性

主要包括:

主键约束(PRIMARY KEY):定义为主键的一列或多列的组合值在任意两行上都不能相同,即不能有重复值,并且任一个主属性都不能为空。 一个表中只能定义一个主键约束 例4.22 在当前方案中创建一个名为student的表,包括学号(studentID)、姓名(name)、 性别(sex)、出生日期(birthday)四个字段。其中学号(studentID)为主键。 CREATE TABLE student

( studentID CHAR(6) PRIMARY KEY,name VARCHAR2(8), sex CHAR(2),birthday DATE); 例4.23 在当前方案中创建一个名为score的表,包括学号(studentID)、课程号(courseID)、分数(grade)三个字段。其中学号(studentID)与课程号(courseID)的组合为主键。


oracle数据库应用与开发总结.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:漳州七中2012-2013学年第一学期期中考试 七

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: