当前位置:Gxlcms > 数据库问题 > MySQL 理论

MySQL 理论

时间:2021-07-01 10:21:17 帮助过:22人阅读

DBMS

     层次模型

    网状模型

    关系模型

RDBMS

    

文件:
    数据冗余

    不一致性

    数据访问困难

    数据孤立

    完整性问题

    原子性问题

    并发访问异常

    安全性问题

文件:

    表示层

    逻辑层

        文件系统:存储引擎

    物理层

        元数据

        数据:数据块

E-R :实体关系模型


关系模型

    ----实体,关系模型

    ---对象关系模型

    ---半结构化数据模型


关系:关系代数运算



SQL: structure Query Language


ANSI:ansi-sql


DML :数据操作语言

    INSERT DELETE SELECT UPDATE

DDL: 数据定义语言

    CREATE

DCL: 数据控制语言

    GRANT


RDB对象:

    库,表,索引,试图,用户,存储过程,触发器,时间调度器

    约束

        数据类型的约束

        外键约束:引用完整性约束

        主键约束:不允许为空,唯一标示所属的实体

        唯一健约束:不允许相同值,可以为空

        检查性约束: age<150


    constraint


关系型数据库

    表示层: 表

    逻辑层

        存储引擎

    物理层:数据文件



数据库存储和查询

    存储管理器

        --权限及完整性管理

        --事物管理器

        --文件管理器

        --缓冲区管理器

    查询管理器

        --DML解释器

        --DDL解释器

        查询执行引擎

mysql---

    单进程 

    多线程        

        守护线程

        应用线程


        线层重用


32bit

  2.7G

64bit

  smp:对称多处理器。 一个语句只能在一个处理器执行


关系运算:

   投影:只输出指定属性

   选择:只输出符合条件的行

   自然连接: 具有相同名字的属性上所有取值相同的行。

   笛卡尔积: (a+b)*(c+d) = ac+ad+bc+bd

    并: 集合运算


SQL-86

SQL-89

SQL-92

SQL-99

SQL-03

SQL-08


SQL语言的组成部分

  DDL

  DML

  完整性定义语言:DDL的一部分

  试图定义

  事物控制:

  嵌入式SQL和动态SQL

  授权DCL



使用程序设计语言如何跟RDBMS交互:

    嵌入SQL: 与动态SQL类似,但其语言必须程序编译时,完全确定下来

        ODBC

    动态SQL:程序设计语言使用函数(mysql_connect )或者方法与RDBMS服务器建立连接,并进行交互:通过连接向SQL服务器发送查询语句,并将结果保存至变量中而进行处理。

     JDBC





Mysql插件式存储引擎


5.5.8 MyISAM (默认)


5.5.8后 innoDB(默认)



表管理器:负责创建,读取或修改表定义文件:维护表描述符高速缓存:管理表锁。

      表结构定义文件

表修改模块:表创建,删除,重命名,移除,更新或插入之类的操作:

表维护模块:检查,修改,备份,恢复,优化(碎片整理)

        

文件中记录组织:

    堆文件组织:一条记录可以放在文件中的任何地方

    顺序文件组织:根据“搜索吗”值顺序存放:

    散列文件组织:



表空间: table space


数据字典:关系的元数据

        关系名字

        字段名字

        字段的类型和长度

          试图

        约束

        用户名字,授权,密码


缓冲区管理器

   置换策略

   被钉住的块














MySQL 理论

标签:mysql基础理论

人气教程排行