专栏首页cwl_Java软考分类精讲-数据库系统

软考分类精讲-数据库系统

三级模式—两层映射
数据库设计过程
E-R模型

集成的方法

  • 多个局部E-R图一次集成。
  • 逐步集成,用累加的方式一次集成两个局部E-R。

集成产生的冲突及解决办法

  • 属性冲突:包括属性域冲突和属性取值冲突。
  • 命名冲突:包括同名异义和异名同义。
  • 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图 中所包含的属性个数和属性排列次序不完全相同。
关系代数

转成笛卡尔积

规范化理论—价值与用途

非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、 插入异常、删除异常

规范化理论—函数依赖
规范化理论—键
规范化理论—求候选键
  • 将关系模式的函数依赖关系用“有向图”的方式表示
  • 找入度为0的属性,并以为该属性集合为起点,尝试遍历有向图,若能正常遍历图中 所有结点,则该属性集即为关系模式的候选键
  • 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间点(既有入 度,也有出度的结点)并入入度0的属性集中,直至该集合能遍历所有结点,集合为 候选键
规范化理论—范式
规范化理论—第一范式

第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即 每个属性都是不可再分的数据项,则称关系模式R是第一范式。

规范化理论—第二范式

第二范式(2NF):当且仅当实体E是第一范式(1NF),且每一个非主 属性完全依赖主键(不存在部分依赖)时,则称实体E是第二范式。

规范化理论—第三范式

第三范式(3NF):当且仅当实体E是第二范式(2NF),且E中没有非主属 性传递依赖于码时,则称实体E是第三范式。

规范化理论—BC范式

BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且 仅当其中F中每个依赖的决定因素必定包含R的某个候选码。

规范化理论—无损分解

保持函数依赖分解

设数据库模式ρ={R1,R2,…,RK}是关系模式R的一个分解,F是R上的函数依赖集,ρ 中每个模式Ri上的FD集是Fi。如果{F1,F2,…,Fk}与F是等价的(即相互逻辑蕴涵), 那么称分解ρ保持FD。

无损分解

有损:不能还原。 无损:还可以还原。

并发控制—基本概念
并发控制—存在的问题示例
并发控制—封锁协议
  • 一级封锁协议。事务T在修改数据T之前必须先对其加X锁,直到事务结束才释放。可防止丢 失修改
  • 二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S 锁。可防止丢失修改,还可防止读“脏”数据
  • 三级封锁协议。一级封锁协议加上事务T在读取数据T之前先对其加S锁,直到事务结束才释 放。可防止丢失修改、防止读“脏”数据与防止数据重复读
  • 两段锁协议。可串行化的。可能发生死锁
数据库安全性
数据备份
  • 冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来
  • 热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出 来。
数据备份
  • 完全备份:备份所有数据
  • 差量备份:仅备份上一次完全备份之后变化的数据
  • 增量备份:备份上一次备份之后变化的数据

日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作, 并将记录结果保存在独立的文件中

数据库故障与恢复
分布式数据库-体系结构
分布式数据库-各种概念
  • 分布透明性
    • 分片透明性
      • 水平分片
      • 垂直分片
      • 混合分片
    • 位置透明性
    • 局部数据模型透明性
  • 分布式数据库管理系统-组成
    • LDBMS
    • GDBMS
    • 全局数据字典
    • 通信管理(CM)
  • 分布式数据库管理系统-结构
    • 全局控制集中的DDBMS
    • 全局控制分散的DDBMS
    • 全局控制部分分散的DDBMS
数据仓库与数据挖掘
联邦数据库

联邦数据库系统(FDBS)是一个彼此协作却又相互独立的成员数据库(CDBS)的集合,它将成员 数据库系统按不同程度进行集成,对该系统整体提供控制和协同操作的软件叫做联邦数据库管理系统 (FDBMS)

联邦数据库特征

  • 分布性
  • 异构性
  • 自治性
  • 透明性

联邦数据库分类

  • 紧耦合
  • 松耦合
NoSQL

NoSQL(Not-only SQL):随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心了,暴露了很多难以克服的 问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展

  • 成熟度不够,大量关键特性有待实现
  • 开源数据库产品的支持力度有限
  • 数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库
  • NoSQL数据库专家较少,大部分都处于学习阶段
  • SQL+NoSQL = MoreSQL/NewSQL
  • Redis、MongoDB、Flare、Cassandra、CouchDB、Oracle NoSQL Database、Tokyo Cabinet
反规范化

由于规范化会使表不断的拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高 了增、删、改的速度 但会增加查询的工作量。系统需要进行多次连接,才能进行查询操 作,使得系统的效率大大的下降

技术手段

  • 增加派生性冗余列
  • 增加冗余列
  • 重新组表
  • 分割表
内存数据

内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数 据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速 度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即 活动事务只与实时内存数据库的内存拷贝打交道 常见的内存数据库包括:Redis、eXtremeDB、TT、FastDB、SQLite、Microsoft SQL Server Compact 、 MySQL的MEMORY存储引擎等。

大数据

大数据处理系统应该具有的重要特征

  • 高度可扩展性
  • 高性能
  • 支持异构环境
  • 较短的分析延迟
  • 易用且开放的接口
  • 较低成本
  • 向下兼容性

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快速学习Redis-基本概念

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    cwl_java
  • 数据库-基本操作

    cwl_java
  • 系统架构师论文-论异构数据库的集成

    本文讨论了某数据集市项目的数据集成方法与过程。该系统在2008年12月启动,在2009年5月正式上线使用。该系统是以oracle系统为主要的数据库,同时集成DB...

    cwl_java
  • Enterprise Library 4 数据访问应用程序块

    Enterprise Library 数据访问应用程序块简化了实现常规数据访问功能的开发任务。应用程序可以在各种场景中使用此应用程序块,例如为显示而读取数据、传...

    张善友
  • 达到年薪 40W 必需掌握的技术。

    很多人在问我,程序员如何拿高薪,如何做到年薪40W+,其实总结出来还是一句话,你的技术决定你的能力已经薪资。

    Java技术栈
  • 12亿网民信息遭黑客攻破!全文检索最大服务商4TB数据,无需密码谷歌云上查看

    人类历史上,可能是第二大个人信息泄露事故发生了!12亿网民的隐私信息,正在毫无遮掩的暴露在互联网上。

    新智元
  • Confluence 6 PostgreSQL 输入你的数据库细节

    在 Confluence 的设置安装向导中,将会指导你 Confluence 如何连接到你的数据库。请确定选择 "My own database"。

    HoneyMoose
  • 服务器端口怎么查 云服务器端口修改

    我们使用iis的时候会出现端口占用的情况,这种情况我们总是需要打开注册表来查看哪些端口被占用,但是既麻烦又容易出错。那么我们应该如何修改或者查看端口呢? 1、修...

    it妹
  • 掌握MySQL数据库这些优化技巧,事半功倍!

    一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇文章主要谈谈MySQL数据库在发展周期中所面临的...

    lyb-geek
  • 【优秀题解】1168题【简单计算】题解

    题目描述 有一个n+2个元素a[0], a[1], ..., a[n+1] (n <= 3000, -1000 <= a[i] <=1000)构成的数列. 已...

    编程范 源代码公司

扫码关注云+社区

领取腾讯云代金券