数据库基本知识+关系型数据库的基本操作+安装(rpm+编译安装)

数据库:
    程序=指令 + 数据
    数据结构:变量,数组


    I/O    :
        提供数据,保存数据
        文件,交互式输入
        持久存储

    文件:
        数据冗余和不一致性
        数据访问困难
        数据孤立
        原子性问题
        并发访问异常
        安全性问题    
    DBMS:
        层次型:倒装型
        网状型:不易于开发,管理,都在一块混着
        关系型:二维数据表(字段,记录)

    RDBMS:关系型管理工具
        Sybase + Microsoft
            SQL Server
        Informix --> IBM
            DB2
        Oracle <--- SUN
            MySQL

    MySQL --- > MariaDB
        percona公司:---> xtradb(增强版的innodb)-->用于MariaDB


        webscaledb -——>为web产生的web数据库

        PsotgreSQL ,pgsql(性能优秀,但是市场决定一切)


    C/S架构:
        mysql --> mysqld
            (mysql协议)
        sqlite:(工作有本地的,关系型数据库接口,引擎,把数据组织成表格形似

    数据库使用:
        1、直接使用交互式接口;
        2、使用开发程序软件:
            可调用的客户端:API

        sqlite:客户端和服务器端在一块,不需要C/S通信了,数据保存在一个lib中,包括元数据等信息,同时又可以加载用以自己理解的形式查看


        dbm:把数据保存成散列形式(哈希)

    SQL:structure query language
        DDL:定义
            CREATE,DROP,ALTER
        DML:操作语言
            INSERT,UPDATE,DELETE
        DCL:控制
            GRANT,REVOKE
        DQL:查询
            SELECT

    事务:
        ACID
            A:原子性 ---> 要不执行,要不都执行 ,整个事务中的所有操作要么全部成功执行,要么全部失败后回滚
            C:一致性 ---> 数据库总是从一个一致性状态转换为另一个一致性状态
            I:隔离性 ---> 一个事务的所有修改操作在提交之前对其它事务是不可见的
            D:持久性 --->  一旦事务得到提交,其所做的修改会永久有效

            提交:持久
            未提交:提交,回滚


        隔离:隔离级别
            read uncommitted 读未提交
            read committed 读提交
            repeatable read :可重读
            serializable:串行化

    MySQL:存储引擎:
        MyISAM:无事务
            分离索引:数据和索引分开

        InnoDB:事务型
            聚簇索引:数据和索引放一块


    机械式硬盘:(对内存来讲,两种读写都是一样的)
        随机读写:慢,磁盘指针转动需要时间
        顺序读写:

    SQL:支持xml,可以输出为xml文件
        规范:ANSI定义
            SQL-86,89,92,99,03

    关系数据库的约束:
        主键约束,外键,唯一键,条件约束,非空约束

        约束:constraint,向数据表提供的数据要遵守的限制;
                    主键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;必须提供数据,即NOT NULL; 
                        一个表只能存在一个
                    惟一键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;允许为NULL;
                        一个表可以存在多个
                    外键:一个表中的某字段可填入数据取决于另一个表的主键已有的数据;
                    检查性:字段值在一定范围内

                索引:将表中的一个或多个字段中的数据复制一份另存,并且此些需要按特定次序排序存储;

                关系运算:
                    选择:挑选出符合条件的行(部分);
                    投影:挑选出需要的字段;
                    连接:表间字段的关联
        数据抽象:
            物理层:决定数据的存储格式,即RDBMS在磁盘上如何组织文件;
            逻辑层:描述DB存储什么数据,以及数据间存在什么样的关系;
            视图层:描述DB中的部分数据;

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

    DBA:
        开发:
            数据库设计
            代码设计 :存储过程,存储函数,触发器
        管理:
            连接管理及优化
            备份及还原
            数据库设计
            基本语句优化
            用户即权限管理
            安全管理
            数据库软件安装和升级
            配置优化

    MySQL:
        高性能,完全多线程,查询缓存(小规模)
        支持复制(伸缩性)

    Product Family:
        MySQL server(mysqld,mysql)
        MySQL Cluster
        MySQL Proxy 
        MySQL Adminitrator
        MySQL Query Browser
        MySQL Workbench

    MySQL Arch:
        真正执行SQL的是优化器之后的存储引擎,所以一个库支持一个引擎
  




  




  
MySQL安装: rpm 源码编译 通用二进制(已经编译好的) 版本: GA: RC: 即将变为GA beta:共测 alpha:内侧 rpm安装:client , server, shared, shared
-compat

猜你喜欢

转载自www.cnblogs.com/JerryZao/p/9846827.html
今日推荐