• Oracle知识点详解


    一:概述

        一、简介

           1. 概念:Oracle 数据库是 ORACLE 公司提供的以分布式数据库为核心的一组软件产品,是使用最为广泛的大型数据库管理系统

           2. 特点

               1. 开放性:Oracle能在所有主流平台上运行(包括Windows),完全支持所有的工业标准,采用完全开放策略,可以使客户选择最适合的解决方案,对开发商全力支持。

               2. 可伸缩性,并行性:Oracle的并行服务器通过使一组结点共享同一簇中的工作来扩展Windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果WindowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。

               3. 性能优越:Oracle几乎是性能最高的关系型数据库,保持开放平台下的TPC-D和TPC-C的世界记录。

               4. 客户端支持及应用模式:Oracle支持多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。

              5. 操作性:Oracle相对于其他RDBMS来讲较复杂,同时提供GUI和命令行,在WindowsNT和Unix下操作相同。

              6. 使用性:Oracle具有相当长时间的开发经验,完全向下兼容。得到广泛的认可与应用,完全没有风险。

              7. 安全性:Oracle获得了最高认证级别的ISO标准认证。它提供多层安全性,包括用于评估风险、防止未授权的数据泄露、检测和报告数据库活动,以及通过数据驱动的安全性在数据库中实施数据访问控制的控制。

           3. 架构体系

               

               1. 数据库实例(instance):指数据库服务器的内存及相关处理程序,是Oracle 的心脏,包括两个部分:

                   1. SGA(System Global Area,即系统全局区活共享内存区),性能核心,包括三个部分:

                       1. 数据缓冲区:可避免重复读取常用的数据;

                       2. 日志缓冲区:提升了数据增删改的速度,减少磁盘的读写而加快速度;

                       3. 共享池:使相同的SQL语句不再编译,提升了SQL的执行速度;

                   2. 后台进程:系统监控、进程监控、数据读写、日志读写、检验点进程,配合完成数据库管理任务;

               2. 数据库文件

                   1. 数据文件(.dbf):存放数据库的数据,保存信息的物理存储位置;

                   2. 控制文件(.ctl) :存放数据库的基本信息,告诉数据库到哪里找到数据文件和重做日志文件等;

                   3. 日志文件(.log):记录日志信息

                   4. 参数文件(.ora):数据库启动时读取的属性

           4. 逻辑结构 

               

               1. 表空间(tablespace):最高级的逻辑存储结构,数据库是由多个表空间组成,表空间对应于若干个磁盘文件,即表空间是由一个或多个磁盘文件构成的。

                   1. 系统表空间:默认的表空间,用于保存数据字典,保存所有的PL/SQL程序的源代码和解析代码,包括存储过程、函数、包、数据库触发器等,保存数据库对象(表、视图、序列)的定义;

                   2. 数据表空间:用于存储用户数据的普通表空间;

                   3. 临时表空间:存储SQL执行过程中产生的临时数据; 

                   4. 回滚表空间:用于存放回滚段,每个实例最多只能使用一个撤销表空间;

               2. 数据段(Segment):是由多个数据区构成的(可以不连续),它是为特定的数据库对象(如表段、索引段、回滚段、临时段)分配的一系列数据区。

                    1. 数据段:保存表中的记录。当创建一个表时,系统自动创建一个以该表的名字命名的数据段。

                   2. 索引段:索引中的索引条目。一旦建立索引,系统自动创建一个以该索引的名字命名的索引段。

                   3. 临时段:在执行查询等操作时,Oracle可能会需要使用到一些临时存储空间,用于临时保存解析过的查询语句以及在排序过程中产生的临时数据。

                   4. 回滚段:保存回滚数据。当一个事务开始处理时,系统为之分配回滚段,回滚段可以动态创建和撤销。

               3. 数据区(Extent):一组连续的数据块,用来保存特定数据类型的数据。

               4. 数据块(Blocks):Oracle用来管理存储的最小单元,也是最小的逻辑存储结构,块中存放表的数据和索引的数据。

                   1. 块的结构:由块头、表目录、行目录、空余空间、行数据五部分组成。

                       1. 块头(header/Common and Variable):存放块的基本信息,如:块的物理地址,块所属的段的类型。

                       2. 表目录(Table Directory):存放表的信息。

                       3. 行目录(Row Directory):存放行数据信息。

                       4. 空余空间(Free Space):块中未使用的区域,这片区域用于新行的插入和已经存在的行的更新。

                       5. 行数据(Row Data):真正存放表数据和索引数据的地方。这部分空间是已被数据行占用的空间。

                   2. 块的存储区:主要包含空闲空间和已经使用的空间。

                       1. PCTFREE参数:指定块中必须保留的最小空闲空间比例。当块中的空闲存储空间减少到PCTFREE所设置的比例后,Oracle将块标记为不可用状态,新的数据行将不能被加入到这个块。

                       2. PCTUSED参数:制定一个百分比,当块中已经使用的存储空间降低到这个百分比只下时,这个块才被重新标记为可用状态。

           6. 数据类型

               

        二、安装部署(Windows)

           1. 官网下载(https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

                

           2. 解压并运行setup.exe进行安装

              

              

              

           3. 配置监听(Net Configuration Assistant 和 listener.ora)

               

               

            4. 配置服务(客户端)(Net Configuration Assistant 和 tnsnames.ora)

                

                

    二:Shell 操作

        一、数据定义语言(DDL)

           

        二、数据操作语言(DML)

          

                

        三、数据查询语言(DQL)

          

           1. 单表

               1. 条件查询

                   1. 条件判断

                      

                   2. 逻辑判断

                      

                   3. 范围查找

                       

                   4. 模糊查找

                       

               2. 分组

                  

               3. 排序

                   

               4. 分页

                   

           2. 多表

               1. 表与表之间的关系

                   1. 一对一:唯一外键对应/主键对应

                   2. 一对多:多方创建外键对应一方的主键

                   3. 多对多:创建中间表,至少有两个字段分别作为外键指向多对多双方的主键。

               2. 连接查询

                   1. 方言:过滤的笛卡尔积

                      

                   2. 自然连接:属性相同的元组对

                       

                   3. 内连接:等值连接

                      

                   4. 外连接:注意空值

                      

               2. 子查询:嵌套查询(select中包含select)

                     

        四、数据控制语言(DCL)

           

        五、完整性约束

           1. 作用:DBMS自动按照一定的约束条件对数据进行监测,防止不符合规范的数据进入数据库,以确保数据库中存储的数据正确、有效、相容。

           2. 实体完整性

               1. 概念:主键的值不能为空或部分为空的约束条件称为实体完整性。

               2. 作用:表示每一行数据不重复。

               3. 分类(所有的INT改为NUMBER,VARCHAR改为VARCHAR2)

                   1. 主键约束(PRIMARY KEY):指定该列的值可以唯一地标识该列记录且不能为空

                       

                   2. 唯一约束(UNIQUE):指定某列或者几列组合不能重复。

                       

           3. 域完整性

               1. 概念:域完整性指列的值域的完整性。

               2. 作用:保证表中某些列不能输入无效的值。

               3. 分类(所有的INT改为NUMBER,VARCHAR改为VARCHAR2)

                   1. 非空约束(NOT NULL):指定某列不能为空

                   2. 默认约束(DEFAULT):设置默认值

                  

           4. 参照完整性

               1. 概念:外键约用来在两个表之间建立连接,一对多关系中一方的主键。

               2. 作用:保持数据的一致性,完整性

                  

         六、视图

            1. 概念:视图是从一个或多个表中导出的一个虚拟表,用户对视图的各种操作都不会影响源数据,保障数据库系统的安全。

            2. 作用:简化用户对数据的操作,屏蔽真实表结构变化的影响,保护数据库数据安全。

            3. 使用

               

              

  • 相关阅读:
    关于String和StringBuilder、StringBuffer的一个简单性能测试
    HTML网页BODY中如何设置背景图拉伸的最有效方法
    JS鼠标事件大全
    去除链接虚线框的推荐方法
    CSS实现文字颠倒旋转效果
    三种方法解决IE6下png透明失效的问题
    js获取节点 dom操作
    IE HACK
    javascript作用域(Scope)
    RGB配色表
  • 原文地址:https://www.cnblogs.com/mh20131118/p/12322651.html
Copyright © 2020-2023  润新知