note_21.4.2_DB

mariadb(mysql):

数据管理模型:层次模型、网状模型、关系模型

数据分类:结构化数据、半结构化数据、非结构化数据

关系模型:

  数据库:一个方案、一个项目
  二维关系:
    表:row, column
    索引:index
    视图:view

SQL接口:Structured Query Language

  类似于OS的shell接口;也提供编程功能;

  ANSI: SQL标准,SQL-86, SQL-89, SQL-92, SQL-99, SQL-03, ...
  PL-SQL,T-SQL,...

  DDL:Data Defined Language
    CREATE, ALTER, DROP、SHOW
  DML: Data Manapulating Language
    INSERT, DELETE, UPDATE, SELECT

编程接口:选择、循环;

SQL代码:

存储过程:procedure
存储函数:function
触发器:trigger
事件调度器:event scheduler

例程:routine

用户和权限:

  用户:用户名和密码;
  权限:管理类、程序类、数据库、表、字段

DBMS:DataBase Management System
  RDBMS:Relational

MySQL:单进程,多线程

  插件式存储引擎:存储引擎也称为表类型;
  用户连接:通过线程来实现;
    线程池:

AliSQL:MySQL的衍生版;
MariaDB:

PostgreSQL:PostgreSQL is an advanced Object-Relational database management system (DBMS).

Sqlite:SQLite is a C library that implements an SQL database engine. A large subset of SQL92 is supported. A complete database is stored in a single disk file. The API is designed for convenience and ease of use.

事务(Transaction)

组织多个操作为一个整体,要么全部都成功执行,要么失败回滚;
“回滚”, rollback

一个存储系统是否支持事务,测试标准:
ACID:
A:原子性atomicity;
C:一致性consistency;
I:隔离性isolation;
D:持久性durability;


数据库:数据集合

表:为了满足范式设计要求,将一个数据集分拆为多个;

  • 约束:constraint,向数据表插入的数据要遵守的限制规则;
    主键:一个或多个字段的组合,填入主键中的数据,必须不同于已存在的数据;而且不能为空;一个表只能有一个Primary KEY;
    外键:一个表中某字段中能插入的数据,取决于另外一张表的主键中的数据;
    惟一键:一个或多个字段的组合,填入惟一键中的数据,必须不同于已存在的数据;可以为空;一个表可存在多个Unique Key;
    检查性约束:取决于表达式的要求;

  • 索引:将表中的某一个或某些字段抽取出来,单独将其组织一个独特的数据结构中;
    常用的索引类型:
    B+ Tree:Balance Tree
    hash:

    注意:有助于读请求,但不利于写请求;

  • 关系运算:
    选择:挑选出符合条件的行;
    投影:挑选出符合需要的列;
    连接:将多张表关联起来;

  • 数据抽象:
    物理层:决定数据的存储格式,即如何将数据组织成为物理文件;
    逻辑层:描述DB存储什么数据,以及数据间存在什么样的关系;
    视图层:描述DB中的部分数据;

  • 关系模型的分类:
    关系模型
    实体-关系模型
    基于对象的关系模型
    半结构化关系模型


MariaDB(mysql):

可用版本:
MariaDB
Percona-Server
AliSQL
TiDB

MariaDB: mariadb.org

MariaDB的特性:
插件式存储引擎:存储管理器有多种实现版本,彼此间的功能和特性可能略有区别;用户可根据需要灵活选择;

存储引擎也称为“表类型”;

  1. 更多的存储引擎;
    MyISAM:不支持事务,表级锁,崩溃后不保证安全恢复;
    MyISAM --> Aria
    InnoDB --> XtraDB :支持事务,行级锁,外键,热备;
  2. 诸多扩展和新特性;
  3. 提供了较多的测试组件;
  4. truly open source;

安装和使用MariaDB:

安装方式:

  1. rpm包;
    (a) 由OS的发行商提供;
    (b) 程序官方提供;
  2. 源码包;
  3. 通用二进制格式的程序包;

你可能感兴趣的:(note_21.4.2_DB)