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. 使用

           

          

 

posted @ 2020-06-22 09:13  萌萌哥的春天  阅读(1548)  评论(0编辑  收藏  举报