• 软考-系统架构师-计算机与网络基础知识-数据库系统基础知识


    1.关系数据库基础

    数据库: 是指长期存储在计算机内的、有组织的、可共享的数据集合
    数据库管理系统: 是一种操作和管理数据库的大型软件,用于建立使用维护数据库。
    数据库管理系统主要的功能有:数据定义、数据库操作、数据库运行管理、数据组织存储和管理数据库的建立与维护及其他功能。
    数据库管理系统主要分为三类:关系型数据库、面向对象的数据库系统、对象关系数据库系统。
    数据库系统采用三级模式结构,模式/内模式映像、外模式/模式映像来保证数据库中数据具有较高的逻辑独立性和物理独立性。

    1.1关系型数据库基础

    1.1.1数据库的结构与模式

    • 数据库的基础是数据模型,用来描述数据的一组概念和定义。
    • 数据模型的三要素是数据结构数据操作和数据的约束条件。
    • 常见的数据模型有概念数据模型、基本数据模型、面向对象模型。
    • 在这里插入图片描述

    1.1.2实体联系E-R模型

    概念模型中最常用的方法为书体-联系法简称E-R方法主要组成是实体、联系、属性。
    在这里插入图片描述
    重点: E-R模型强调的是语义,与现实世界的问题密切相关。扩充的E-R模型包括弱实体、特殊化、概括和聚集等。

    1.1.3数据的规范化

    规范化理论研究的是关系模式种各属性之间的依赖关系及对关系模式性能的影响。关系数据库设计理论的核心是数据之间的函数依赖,衡量的标准是关系规范化的程度及分解的无损连接和保持函数依赖性。

    数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间联系和约束的抽象,是数据内在的性质,是语义的体现。

    函数依赖是一种最重要的最基本的数据依赖,包括函数依赖、非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖、传递依赖、码、主属性和非主属性、外码值依赖定义、函数依赖的公理系统。

    范式是关系模型满足的确定约束条件。范式有1NF(第一范式)、2NF(第二范式)、3NF(第三范式)、BCNF(巴克斯范式)、4NF(第四范式)、5NF。其中1NF级别最低5NF最高。

    关系模型的规范化是指把一个低一级范式的关系模式转换成若干个高一等级范式的关系模式过程。关系数据库设计的方法之一就是设计满足适当范式的模式,并通过判断分解后的模式达到第几范式来评价模式规范化的程度。

    1.1.4事务管理

    事务是一个操作序列,这些操作“要么都做要么不做”,是位于是数据库环境中不可分割的逻辑工作单位,事务和程序是两个不同的概念,一般一个程序可包含多个事务。

    事务的四个特性,原子性、一致性、隔离性、持久性,这四个也就是事务的ACID性质。

    在SQL语言中事务定义的语句有三条:事务开始、提交、回滚。

    1.1.5并发控制

    并发操作是指再多用户共享的系统中,用户可能同时对同一数据进行操作。并发操作会带来脏读、幻读、不可重复读的问题,这就要考虑到数据库使用的隔离级别去解决这些问题

    隔离级别脏读不可重复读幻读
    读取未提交
    读取已提交×
    可重复读××
    可串行化×××

    并发控制的主要技术是封锁。封锁的类型有排他锁(简称X锁或写锁)和共享锁(简称S锁或读锁)。并发控制还与三级封锁协议、活锁与死锁、并发调度的可串行性、两段封锁协议、封锁的粒度、事务的嵌套等有关。

    以下基于mysql:
    数据库的锁可以分为三大类,表级锁和行级锁、页锁
    表级锁又分为两类
    一般MyISAM使用表锁(不支持行锁),所以不支持事务

    • 表共享读锁,大家都可以读写不行,不是互斥锁
    • 表独占写锁,只能有锁的进行操作,其他不行,互斥

    INNODB支持表和行锁,默认是行锁,并且支持事务

    • 共享锁(S锁、读锁):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。即多个客户可以同时读取同一个资源,但不允许其他客户修改。
    • 排他锁(X锁、写锁):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的读锁和写锁。写锁是排他的,写锁会阻塞其他的写锁和读锁。
    • 意向共享读锁(数据库内部使用)和表共享读锁一样但需要先获取意向锁
    • 意向独占写锁(数据库内部使用)和表独占写锁但需要先获取意向锁

    页锁

    • 类似于行锁,锁住很多行

    1.1.6数据库的备份和恢复

    数据库的4类故障是事务故障、系统故障、介质故障、计算机病毒
    事务故障恢复一般有两个操作:撤销、重做
    介质故障比较严重,需要管理员先装入数据库副本或者日志文件副本,然后系统执行撤销和重做。
    一般出现问题两种是同时采用。

    2.关系数据库设计

    2.1数据库设计的特点

    • 从数据结构(数据模型)开始并且一数据模型为核心展开,这是数据库设计的一个主要的特点
    • 静态结构设计与动态行为设计分离
    • 试探性
    • 反复性和多步性

    2.2数据库的设计方法

    直观设计法、规范设计法、计算机辅助设计法、自动化设计法

    2.3数据库设计的基本步骤

    需求分析》概念结构设计》逻辑结构设计》物理结构设计》应用程序设计》运行维护
    在这里插入图片描述

    3.分布式数据库系统

    3.1分布式数据库的概念

    分布式 数据库通俗的来讲就是不受单体物理机限制,可以分散到多个物理机器自治性的数据库。
    特点是:数据的集中控制性、数据独立性、数据冗余可控性、场地自治性、存取有效性。

    3.2分布式数据库的体系结构

    抽象为四层的结构模式
    全局外层》全局概念层》局部概念层》局部内层
    在这里插入图片描述

    4. 商业智能

    4.1基本概念

    智能商业系统主要将原始业务数据转换为企业决策信息的过程,主要是四个阶段数据预处理》建立数据仓库》数据分析》数据展现。
    三大组成部分是数据仓库》分析处理》数据挖掘

    4.2数据仓库

    在这里插入图片描述

    4.3 数据分析处理(大数据方向)及数据挖掘

    内容太多了,举几个例子自行学习,现在比较流行的hadoop、spark
    基本上是面对海量数据根据某些关键因子生成出来的数据模型进行分析识别应用。

    5.常见的数据库管理系统

    关系型的 oracle、mysql、sqlServer
    非关系型 mongo、redis

    所有图片来自于网络,如果有侵权,我立刻删除。

  • 相关阅读:
    蓝牙耳机仓设计的单芯片解决方案
    Mac电脑音视频播放器: Infuse for Mac中文
    Hiding Images within Images[精读]
    【跟小嘉学 PHP 程序设计】一、PHP 开发环境搭建
    Java面试突击(一)Java基础考点--第一板块
    在c++项目中你必须真正使用的15个c++特性
    2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)
    springboot-自动配置
    神秘的锦衣卫
    1.基于Springboot对SpringEvent初步封装
  • 原文地址:https://blog.csdn.net/zhaohan___/article/details/128021544