数据库的基本对象

URML 2020-07-04

数据库基本概念

数据库和数据库实例

数据库

  物理操作系统文件或者磁盘数据块的集合(如数据文件、索引文件、结构文件)

数据库实例

  操作系统中一系列的进程以及为这些进程所分配的数据块

  数据库实例是访问数据库的通道,一般来说,一个数据库实例对应一个数据库

多实例

  利用多实例操作,可充分的利用硬件资源,让服务器性能最大化

分布式集群

  集群是一组相互独立的服务器,通过高速的网络组成一个计算机系统

数据库连接

  物理层面的通信连接,指的是一个通过网络建立的客户端和专有服务器或者调度器的一个网络连接

  建立连接的时候指定连接的参数,如服务器主机名或者IP、端口号、连接用户名

数据库会话

  客户端和数据库之间通信的逻辑概念

数据库连接池

数据库连接的复用

  ·负责分配管理和释放数据库连接,允许应用程序重复使用一个现有的数据库连接

  ·数据库连接可以得到高效、安全的复用

Schema

是数据库形式语言描述的一种基本结构,是对象的集合

  ·允许多个用户使用一个数据库,不干扰对方

  ·把数据库对象组成为逻辑组,便于管理

  ·形成命名空间,避免对象的名字冲突

  ·Schema包含表及其他数据库对象,数据类型、函数、操作符

6.2表空间

由一个或者多个数据文件组成,系统预定义6个表空间

6.3表

  在关系数据库中,数据库表就是一系列二维数组的集合。用来代表和存储对象之间的关系

记录

  表的每一行称之为记录,由若干个字段组成

字段

  也称为域,表中每一列称为一个字段

  每个字段包含两个属性:列名&数据类型

临时表(会话级临时表、事务级临时表)

  用来保存一个会话或者一个事务中所需要的数据

  临时表中的数据是临时的、过程性的

表的存储方式

行存储表

  ·点查询(返回记录少、基于索引简单的查询)

  ·适合OLTP,这种轻量级事务、大量写操作、数据增删改比较多的场景

列存储表

  ·统计分析类查询

  ·适合OLAP、数据挖掘等大量查询的应用查询

NOLOGGING

指定该关键字,或者指定NOLOGGING表空间

  `不记录Redo日志

  `日质量减少提高数据写性能

  `没有日志,出现故障数据库重启后无法重演恢复

  `适用于:可靠性要求不高的非核心数据

数据分布

高斯数据库分布式数据库的数据表是分散在所有数据节点上的,所以创建表的时候需要创建分布列。

数据库的基本对象

数据类型

基本数据类型:

  ·数值类型

  ·字符类型

  ·二进制类型

  ·日期/时间类型

  ·布尔类型

  ·枚举类型

  ·复合数据类型

  ·序列号类型

  ·集合类型

数据库的基本对象

字段设计原则  

  ·尽量使用高效数据类型

  ·尽量使用执行效率比较高的数据类型

  ·尽量使用短字段的数据类型

  ·使用一致的数据类型

  ·当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型,并指定最大长度。

  ·对于字符串数据,建议使用变长字符串数据类型,并指定最大长度

6.6视图

  与基本表不同,不是物理上实际存在的,是一个虚表。

视图作用

  简化了操作;安全性提高(用户只能查询、修改能够看到的数据);逻辑上的独立性

  性能问题:查询可能很简单,但是封装视图的语句很复杂

  修改限制:对于复杂视图,用户不能通过视图修改基表数据

6.7索引

索引指向存储在表中指定数据列的值的指针,加快查询速度

参考:

数据库的基本对象

有效索引

  ·创建索引 ≠ 索引一定被使用

  ·索引创建成功后,系统会自动判断何时引用索引

  ·索引创建成功后,必须和表保持同步,以保证能够准确的找到新数据

  ·需要定期删除无用的索引

判断方法:

  通过执行explain语句查看执行计划来判断是否使用索引

索引方式:

  唯一索引:用于约束索引属性值的唯一性,或者属性组合值的唯一性。

  多字段索引:一个索引可以定义在表中多个属性上

  部分索引:建立在一个表的子集上的索引,这种索引方式只包含满足条件表达式的元组

  表达式索引:索引建立在一个函数或者从表中一个或者多个属性计算出来德表达式上。

6.8约束

  ·数据的完整性指的是数据的正确性和一致性,可以通过定义表时定义完整性约束

  ·完整性约束是一种规则;本身不占用数据库空间

  ·完整性约束和表结构定义一起保存在数据字典中

常见的约束类型

  ·唯一性(UNIQUE)

  ·主键约束(PRIMARY KEY)

  ·外键约束(FOREIGN KEY)

  ·非空约束(NOT NULL)

  ·检查约束(CHECK)

  `默认约束(DEFAULT)

6.9事务

  事务是用户定义的数据操作序列,这些操作作为一个完整的工作单元执行

事务结束标记

  `正常结束,COMMIT(提交事务)

  `异常结束,ROLLBACK(回滚事务)

事务处理模型

  `显示事务:事务由显示的开始和结束的标记

  `隐式事务:每一条数据操作语句都自动的生成一个事务

事务特征

  `原子性:事务是数据库的逻辑工作单位

  `一致性:事务的执行结果必须是使数据库从一个一致性的状态转到另外一个一致性的状态

  `隔离性:数据库中一个事务的执行不能被其他事务干扰

  `持久性:事务一旦提交对数据库的改变是永久的

事务隔离级别:

数据库的基本对象

 

 

相关推荐