论坛首页 综合技术论坛

Oracle学习(一)——15天Oracle入门

浏览 4704 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-07   最后修改:2010-04-09

     *一点废话
      前些天我分享一篇毕业后自学java与Oracle的文章,希望能给即将毕业或立志进入IT的人一点帮助。很多学弟发邮件问我应该怎么自学Oracle,趁现在项目进入尾期有点空闲时间的机会。复习一下Oralce的基础,同时做了点笔记,还望能给有需要的同仁杯水车薪。
      同时申明一下:我这里所说的只是入门的基础知识,但只要学懂了也足以满足做项目的一般需要。如果你想朝DBA等方面发展,这只能说是万里长城的第一步。对技术我通常定义为:入门,理解,熟悉,精通。中国现在绝大数PG(当然更包括我)都处与入门与理解的边缘。真希望你们能后来者居上,不久的将来能在这方面我们能超过India,赶上America

                                                      Oracle入门(一) 不可不知的专业术语


1:SQL(Structured Query Language) 结构查询语句.

 

2:事物(Transaction):指作为单个逻辑工作单元执行的一系列操作.且事务必须具有的四个特性:

         <1>: 原子性 (atomic):事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行.
         <2>:一致性 (consistent):事务在完成时,必须使所有的数据都保持一致状态.

         <3>: 隔离性 (insulation):由并发所作事务的修改必须与任何其它并发所作事务的修改隔离

         <4>: 持久性 (Duration):事务完成之后,它对于系统的影响是永久性的

2:DML,DDL,DCL,TCL操作(按SQL的功能的划分):
        (1):数据库操作语句:DML (Data Manipulation Language) ——包括:SELECT, INSERT,UPDATE,DELETE,
              MERGE,CALL,EXPLAIN PLAN,LOCK TABLE.
        (2):数据库定义语句:DDL (Data Definition Language ) ——包括:CREATE, ALTER,DROP,TRUNCATE,
              COMMENT,RENAME.
        (3):数据库控制语句:DCL (Data Control Language)——包括:GRANT,REVOKE
        (4):事务控制语句:TCL(Transaction Control)——包括:COMMIT,SAVEPOINT, ROLLBACK,
              SET TRANSACTION。(有些书上会把TCL操作归入DML操作内).

3:数据库存储结构:物理存储结构与逻辑存储结构.
     (1):物理存储结构主要分为:<1>扩展名为.DBF的数据文件(Data File);
                                         <2>扩展名为>.LOG的日志文件(Redo Log File);
                                         <3>扩展名为.CTL的控制文件(Control File);


    (2):逻辑存储结构: 数据库块(DATA BLOCKS),盘区(EXTENT),段(SEGMENT),表空间(TABLE SPACES)。 

                                数据库块:Oracle 用来管理存储空间的最基本单位,也是最小逻辑存储单元.

                                盘区:一系列上物理上连续的块构成的存储结构,它是磁盘最小单元。

                                段:是一个独立的逻辑存储结构,按特征可划分为:数据段,索引段,回退段,LOB段,临时段.

                                表空间:ORACLE中用户可使用的最大逻辑储存结构。

4:内存结构(SGA).

         SGA 结构为:

         数据高速缓冲区       重做日志缓冲区       共享池       大的共享池(可选)

         数据字典缓冲区       其它数据缓冲区

 

5:Oracle的实例(instance):内存区域与进程合称为一个Oracle实例.其同样可以分为单进程实便与多进程实例(MTS).

 

6:数据字典(DATA  DICTIONARY )是由Oracle中一系例的只读的基础表与视图组成,并保存了所有对像的基本信息。

 

7:范式(normal form)理论:1NF,2NF3NF,BCNF

          第一范式(1NF):最简单定义就是无重复的列.

          第二范式(2NF):简单定义就是属性完全依赖于主键。

          第三范式(3NF):简单定义就是属性不依赖于其它非主属性。

          BCNF范式(BCNF):3NF的变更,简单定义没有非主属性依赖于平凡函数。

        这样讲可能有一部分的同仁除了第一,二范式能理解外,3NF,BCNF不能理解的可以去看一下书的实际例子。个人觉得只要掌握 1NF,与2NF就够了。在实际项目中很少有达到3NF与BCNF的,实际中我们常常会牺牲存储空间而去追求DML操作的效率与方便。

 

8: 脏(灰)数据块(Dirty data block)

     存放在内存中的原始数据已被修改,而修改后的数据还未写入数据库中。

 

9:热数据块(Hot data block)

    存放着那些经常被修改数据叫热数据块。

 

10:数据库基本数据对像(Data Object):表,视图,序列,同义词,触发器,数据库链及程序包,过程和函数

      (1):表(Table)——DB中数据基本存储结构.

      (2):视图(View)——视图是存储在数据库中的查询的SQL 语句,他产生原因:安全原因, 视图可以隐藏一些数据

      (3):序列(Sequence)——列是用于产生唯一数码的数据库对象,序列创建时带有初始值,增量值,最大值等,最大可达38 位整数

      (4):同义词(synonym)——是指向其它数据库表的数据库指针。他有两种类型:私有(private)和公共(public)。私有的同义词是在指定的模式中创建并且只创建者使用的模式访问。公共同义词是由public 指定的模式访问,所有数据库模式(用户)都可以访问它。

      (5):触发器(trigger)——特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发(如DML操作)

      (6):数据库链及程序包(database link)——是与远程数据库连接的存储定义,用于查询分布数据库环境的远程者

      (7):过程(Procedure)——是一个 PL/SQL 语句块,它存储在数据字典中并可被应用程序调用,使用存储过程一个好处就是能够实施数据的安全性。可以使不授权用户直接应用程序中的一些表,而授权用户执行这些表的一个过程。

      (8):函数(Function)——与过程一样,函数也带有参数,是存储在数据库中的代码块。其差别在于函数可以把值返回调用程序,可以在 SQL 语句中调用它们。

 

      以上这些都是我们会经常听到的专业术语,学习Oracle我们必须得知道别人说"Segment,DDL操作等"指的是什么,要不会给人很业余的感觉。以至于以下这些我们能记住就记住,只要不是一些DBA类的人谈工作,一般是不会用的:

 

   数据库写 (DBW0 或DBWn);日志写 (LGWR);检测点 (CKPT);  系统监视 (SMON);进程监视 (PMON);归档 (ARCn) ; 恢复 (RECO); 锁(LCK0);工作队列 (SNPn); 队列监视 (QMNn);       发布(Dispatcher Dnnn) 服务器 (Snnn); 脏的区(Dirty Buffers);自由区(Free Buffers);自由区(Free Buffers);保留区(Pinned Buffers)……


                                          
   

 

   发表时间:2010-04-13  
嘻嘻,关注关注!!
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics