数据库系统工程师——数据库技术基础相关笔记

第七章 数据库技术基础
    数据库(DB)是指长期存储在计算机内的,有组织的,可共享的数据集合
    数据库系统(DBS)有数据库、硬件、软件和人员组成
    数据库技术的发展
        1、人工管理阶段
        2、文件管理阶段
        3、数据库系统阶段(有较高的数据独立性)
    数据模型的三要素
        1、数据结构
        2、数据操作
        3、数据的约束条件
    对数据操作的有
        DDL语言(CREATE/ALTER/DROP/完整性约束)
        DML语言(SELECT/INSERT/DELETE/UPDATE)
        DCL语言:对权限的操作
    数据模型分为
        概念数据模型(E-R模型)
        基本数据模型
        目前提出的对象模型
    实体属性
        1、简单属性(不可再分)和复合属性(可分,如地址(省份、市))
        2、单值属性(只有一个值)和多值属性(如电话号码可以有多个)
        3、NULL属性(没有或未知)
        4、派生属性(从其他属性可推出来)
    E-R法的构件
        
    扩充的E-R模型
        1、弱实体(要依赖另一个实体而存在)
        2、特殊化
    数据库系统的体系结构
        1、三级模式结构(三层两映射)
            1、数据物理独立性
            2、数据逻辑独立性
        2、集中式数据库系统
            两段提交协议:
                封锁阶段(扩展阶段)和解锁阶段(收缩阶段)
        3、客户/服务器数据库体系结构
        4、并行数据库(多个CPU)
            1、共享内存式多处理器
            2、无共享式并行体系结构
        5、分布式数据库系统
            两段提交协议
                表决阶段和执行阶段
        web数据库
    全码:指关系模型中所有的属性组是这个关系模式的候选键
    数据库的控制功能
        1、事务管理(不可分割的逻辑工作单位)
            1、原子性:要么都做,要么什么都不做
            2、一致性:只包含成功提交的是事务
            3、隔离性:多个事务并发执行时是相互隔离的
            4、持久性:一旦事务成功提交,则永久的反映到数据库中
        2、故障恢复
            1、事务内部故障
            2、系统故障
            3、介质故障
            4、计算机病毒
            恢复方法
                1、静态转存和动态转存
                2、海量转存、增量转存,日志文件
            事务恢复的步骤
                反向扫描文件日志
                对事务的更新操作执行逆操作
                继续反向扫描日志文件
                知道事务开始的标志
            数据库镜像
        3、并发控制
            1、并发操作带来的问题:带来数据的不一致性(丢失更新、不可重复读和脏读数据);破坏了数据的隔离性
            2、并发控制技术:封锁,排他锁(X锁)和共享锁(S锁)
            3、三级封锁协议
                1、解决丢失更新
                2、解决脏读数据
                3、解决不可重复读
            4、并发调度的可串行性:可串行化是并发事务正确性准则,当且仅当可串行化时才是正确的并发调度
            5、封锁粒度:封锁的范围
            6、事务是不可嵌套的,因为违背了事务的原子性,当且仅当当前没有实物执行时才能开始执行事务
        4、安全性和授权
            1、安全性违规(未经授权读取、修改、破坏数据)
            2、授权
                1、read:允许读取,不许修改
                2、insert:允许插入不许修改
                3、update:允许修改不许删除
                4、delete:允许删除
                5、index:允许创建或删除索引
                6、resource:允许创建新关系
                7、alteration:允许添加或删除关系中的属性
                8、允许删除关系
    事务的执行状态
        1、活动状态:事务的初始状态
        2、部分提交状态:全部执行完
        3、失败状态:由于硬件或逻辑上的错误,使事务不能再继续进行,处于失败状态的事务必须回滚。
            然后事务进入终止状态
        4、终止状态:事务回滚并数据库恢复到开始执行前的状态
        5、提交状态:当事务成功完成后,事务处于提交状态,只有事务属于提交状态,才能说明事务已经提交了
    事务的隔离级别(高到低)
        1、可串行化(读幻影):SERIALIZABLE——对同一事务两次读取满足相同条件的记录(WHER子句的条件未变),而读取到的记录不一样,原因在于:两次读取中间涉及WHERE条件的属性值被其他事务修改,或者其他事务插入、删除
了满足Where条件的记录

        2、可重复读:(repeatable read )REPEATABLE READ——两次读取同一事务而读取的结果不一样,因为两次读的之间该数据被其他事务修改了


        3、读提交数据:READ COMMITTED


        4、可以读未提交数据(读脏):read uncommitted——读到了未提交的数据,而该数据后来因为执行了事务回滚而无效。


        5、SQL语句定义:SET RANSACTION SOLATION LEVEL 1/2/3/4


    数据仓库
        DW的基本特性:面向主题的,数据是集成的,数据是相对稳定的,数据是反映历史变化的(时限一般是5~10年)
        数据模式——事实表,多维数据模式包括(星型模式,雪花模式,事实星型模式)
        数据仓库体系结构
            通常采用:数据仓库服务器,OLAP(联机分析处理),前端服务器
            从结构的角度:企业仓库,数据集市,虚拟仓库
    数据仓库的设计
        1、数据仓库的数据模型与操作行数据库的区别
            1、不包含纯操作型的数据
            2、扩充了码结构,增加了时间属性作为码的一部分
            3、增加了一些导出数据
        2、数据仓库的物理设计
            主要提高I/O性能,通过粒度划分和数据分割来提高系统的性能
    数据挖掘技术
        海量数据搜集,强大的多处理计算机和数据挖掘算法
    数据挖掘的常用技术
        人工神经网络,决策树,遗传算法,近邻算法和规则推倒
    数据挖掘的应用过程
        1、确定挖掘对象
        2、准备数据(数据挖掘工作量的60%),包括
            1、数据选择
            2、数据预处理(清洗)
            3、数据转换
        3、建立模型
        4、数据挖掘
        5、结果分析
        6、知识应用
    数据转储:DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程
        1、动态转储:指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行
        2、静态转储:在系统中无运行事务时进行转储操作
        3、增量转储:指每次只转储上一次转储后更新过的数据
        4、海量转储:每次转储全部数据库
        5、从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来会更加方便些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用有效
    OLAP(联机分析处理):通常用对数据仓库进行数据挖掘;
        OLTP(联机事务处理)是面向事物程序的执行,通常对应密集型更新事物的程序,应用于对数据库的操作
        OLAP没有严格的时间要求,OLTP是面向业务的,对时效要求比较高。
        OLAP用于数据挖掘以提供决策支持,OLTP用于具体的业务

展开阅读全文

没有更多推荐了,返回首页