2024软件设计师备考讲义——(7)

数据库技术

一、数据库基础

1.数据库系统

  • DB、DBS、DBA、DBMS

2.三级模式两级映像

  • 内模式

    • 物理存储
  • 概念模式

    • 基本表
  • 外模式

    • 用户使用应用程序,视图级别
  • 外模式-概念模式的映像

    • 表和视图之间的映射
    • 若表中数据变化,只要修改映射,不用改程序
  • 概念模式-内模式的映像

    • 表和物理数据之间的映射
    • 若改了数据存储方式,只要改映射,不用改程序

3.数据库设计

  • 需求分析:数据流图、数据字典、需求说明书(文档)
  • 概念结构设计:E-R图
  • 逻辑结构设计:将E-R图转换成关系模式
  • 物理设计

4.数据模型

  • 三要素:数据结构、数据操作、数据的约束条件
  • E-R图:椭圆形(属性)、长方形(实体)、菱形(联系)、连线
  • 联系分类:1对1、1对多、多对多

5.关系代数

表与表的逻辑运算

  • 笛卡尔积RxS
  • 投影
  • 选择
  • 自然连接
    • 显示全部列,重复只显示一次
    • 显示所有属性相同且值相同的记录
  • RxS与自然连接的等价关系表达式
    • π投影列,σ选择行的条件,∧并且,∪或者

二、规范化和并发控制

1.函数依赖

  • A-->B A决定B,B依赖于A
  • 部分依赖
  • 传递依赖
  • 依赖公理

2.键与约束

  • 超键:能唯一标识此表的属性组合
  • 候选键:超键中去掉冗余属性,剩下的
  • 主键:在候选键中任选一个
  • 外键:其他表中的主键
  • 主属性:候选键中的属性为主属性,其他属性为非主属性
  • 实体完整性:主键
  • 参照完整性:外键
  • 自定义完整性:自定义表达式约束

3.范式

  • 第一范式1NF
  • 第二范式2NF,消除非主属性对于主属性的部分依赖
  • 第三范式3NF,消除传递依赖
  • BC范式BCNF,进一步消除主属性对于码的部分依赖和传递依赖

    每种情况每个依赖的左边决定因素都必然包含候选键

4.模式分解

  • 保持依赖的分解
    • 分解出来的多个关系模式保持原来的依赖集不变(要消除冗余依赖)
  • 无损分解
    • 分解后的关系模式能够还原出原关系模式
    • 对于两个关系模式的分解则有 R1∧R2 -> (R1-R2)或(R2-R1)

5.并发控制

  • 事务的特性:原子性、一致性、隔离性、持久性
  • 并发控制的问题:丢失更新、不可重复读、读脏数据

6.封锁协议

  • 排他锁X(写锁)
    • 不可再加其他任何锁
  • 共享锁S(读锁)
    • 可以继续加共享锁,不可加排他锁
  • 三级封锁协议

三、数据库新技术

1.数据库安全

  • 措施

    • 用户标识和鉴定
    • 存取控制(各种权限授权)
    • 密码存储的传输(远程终端信息)
    • 视图保护(视图授权)
    • 审计(记录操作)
  • 故障与解决

    • 事务本身可预期故障,在程序中预设rollback语句
    • 事务本身不可预期故障,通过日志恢复撤销事务
    • 系统故障,停止运转,检查点法
    • 介质故障,使用日志重做业务
  • 备份

    • 静态转储(冷备份),停机
    • 动态转储(热备份),不停机
    • 完全备份、差量备份、增量备份

2.分布式数据库

3.数据仓库

  • 面向主题、集成的、非易失的(稳定)、随时间变化(历史变化)的数据集合
  • 结构层次:数据源、数据的存储和管理、OLAP(联机分析处理)服务器、前端工具
  • 商业智能BI
    • 数据预处理ETL
    • 建立数据仓库
    • 数据分析
    • 数据展现

4.反规范化技术

  • 含义
    • 牺牲规范化来提高性能
    • 好处:降低连接操作的需求、降低外码索引数目,减少表,提高查询效率
    • 问题:数据重复存储,浪费磁盘空间;数据完整性问题;增加维护复杂性,降低修改速度
  • 具体方法
    • 增加冗余列
    • 增加派生列
    • 重新组表
    • 水平分割表
    • 垂直分割表

5.大数据

  • 特点:大量化、多样化、价值密度低、快速化
  • 与传统数据对比
    比较维度传统大数据
    数据量GB或TBPB或以上
    分析需求现有数据分析检测深度分析(关联分析/回归分析)
    硬件平台普通/高端服务器集群平台
  • 大数据处理系统特征
    • 高可扩展、高性能、高容错
    • 持异构环境、较短分析延迟
    • 易用且开放接口
    • 成本较低、向下兼容性

四、SQL语言

DDL

  • 建表
  • 删表
  • 修改表
  • 建索引
  • 建视图

DML

  • 插入
  • 删除
  • 修改/更新

DQL

  • 条件查询
  • 连接查询
  • 聚合函数查询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/578245.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink学习(一)-flink 本地部署

1,安装 jdk 官网推荐 jdk11 版本。我用 17也可以跑起来 2,下载 flink-1.19 的版本并解压 下载 release 1.19.0 并解压。 tar -xzf flink-1.19.0-bin-scala_2.12.tgz cd flink-1.19.0 3,启动 ./bin/start-cluster.sh 4,访问…

吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.9-3.11

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第三周:浅层神经网络(Shallow neural networks)3.9 神 经 网 络 的 梯 度 下 降 ( Gradient descent for neural networks) 第一门课:神经网络和…

HN热帖|替换Redis的一场赛跑

3 月 21 日, Redis Ltd. 宣布了一项重大决定:Redis “内存数据存储”项目从 Redis 7.4 版本开始将以非自由的、源代码可用的许可证发布。这一消息并不受欢迎,但也并非完全意外。这次的变化的不同寻常之处是市面上已经有了多个 Redis 替代品可…

2024最新软件测试20个基础面试题及答案

什么是软件测试? 答案:软件测试是指在预定的环境中运行程序,为了发现软件存在的错误、缺陷以及其他不符合要求的行为的过程。 软件测试的目的是什么? 答案:软件测试的主要目的是保证软件的质量,并尽可能大…

在哪买国外服务器便宜?

在哪买国外服务器便宜?在寻找便宜且可靠的国外服务器商家时,我们需要考虑多个因素,包括价格、性能、可靠性、技术支持和扩展性等。下面是一些备受推崇的便宜国外服务器商家。 Amazon Web Services (AWS)。作为全球最大的云服务提供商之一&am…

【Qt】常用控件(标签类)

目录 一、QLabel二、LCDNumber三、ProgressBar四、Calender Widget 一、QLabel QLabel用来显示文本和图片 属性说明textQLabel中的文本textFormat文本格式 Qt::PlainText 纯文本 Qt::RichText 富文本  Qt::markdown 格式 Qt::AutoText根据文本内容自动决定文本pixmapQLabel…

【threejs】较大物体或shape的贴图较小问题处理方法

问题 有的场景内相对体型差距过大的物体(如山地 海洋等)由于尺寸问题,加载贴图过于小,同时shader也无法完全展示,如图 我们可以获取物体的uv,进行缩放使得贴图可以完全展开 如果uv是乱的 可以用xyz坐标最…

HarmonyOS实战开发-使用Flex容器组件,实现弹性布局效果。

介绍 本篇Codelab是基于Flex容器组件,实现弹性布局效果。弹性布局的特点是页面元素的宽度按照屏幕分辨率进行适配调整,但整体布局不变。 相关概念 Flex组件:以弹性方式布局子组件的容器组件。Search组件:搜索框组件,…

电商搬家上货软件分享,官方授权API接口,一键铺货更安全!

最近不少地方气温回暖,不少卖家开始布局春夏款产品,首先需要解决的就是货源和上货问题。 当我们看到市面上某款产品很有市场,想要复制到自己店铺来卖,如何操作呢? 按照之前的玩法,是直接借助工具从别人店…

五年前端的面试之旅

哈喽我是树酱,最近整理了下前端面试相关的知识题库,借此分享给各位小伙伴,帮助小伙伴早日拿到钟意的offer! 前言 最近就业市场不景气,跟大环境较差也有关,确实给我们也会带来一定的挑战。在招聘网站投简历的…

竞赛 python+大数据校园卡数据分析

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于yolov5的深度学习车牌识别系统实现 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分工作量:4分创新点:3分 该项目较为新颖&am…

【面试题】http与https相关面试题(持续收录)

1.http与https的区别? HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是用于在客户端和服务器之间传输数据的通信协议。它们之间的主要区别在于安全性和数据传输的加密方式&#xff1…