当前位置: 首页 > news >正文

数据库系统总结

数据库系统概述

数据库系统(Database System, DBS)是用于高效管理、存储和检索数据的软件系统。

数据库系统的组成包括:数据库、硬件、软件、人员。

三级模式-两级映像

内模式:管理如何存储物理的数据,对数据的存储方式、优化、存放等。

模式:又称为概念模式,就是我们通常使用的表这个级别,根据应用、需求将物理数据划分为一张张表。

外模式:对应数据库中的视图这个级别,将表进行一定的处理后再提供给用户使用,例如,将用户表中的用户名和密码组成视图提供给登录模块使用,而用户表中的其他列则不对该模块开放,增加了安全性。

数据库设计

ER模型
实体-关系模型用于概念设计,包含实体、属性和关系。

规范化理论
减少冗余,避免异常。常用范式:

  • 第一范式(1NF):属性不可再分。
  • 第二范式(2NF):满足1NF且非主属性完全依赖主键。
  • 第三范式(3NF):满足2NF且消除传递依赖。

SQL语言

数据定义语言(DDL)
创建或修改数据库结构,如CREATE TABLEALTER TABLE

数据操作语言(DML)
增删改查数据,如INSERTUPDATEDELETESELECT

数据控制语言(DCL)
权限管理,如GRANTREVOKE

事务管理

ACID特性

  • 原子性(Atomicity):事务全部执行或全部回滚。
  • 一致性(Consistency):事务前后数据状态合法。
  • 隔离性(Isolation):并发事务互不干扰。
  • 持久性(Durability):事务提交后数据永久保存。

隔离级别

  • 读未提交(Read Uncommitted)
  • 读已提交(Read Committed)
  • 可重复读(Repeatable Read)
  • 序列化(Serializable)

索引与优化

索引类型

  • B树索引:平衡树结构,适合范围查询。
  • 哈希索引:精确匹配高效,不支持范围查询。
  • 全文索引:文本内容检索。

优化策略

  • 避免全表扫描,合理设计索引。
  • 使用EXPLAIN分析查询计划。
  • 规范化与反规范化权衡。

分布式数据库

CAP理论
在一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)中最多满足两项。

常见技术

  • 分片(Sharding):水平拆分数据。
  • 复制(Replication):数据多副本存储。

数据库安全

措施

  • 权限控制:角色与用户分级授权。
  • 数据加密:传输加密(SSL)与存储加密。
  • 审计日志:记录关键操作。

新兴趋势

  • 云数据库:如AWS RDS、Azure SQL Database。
  • NewSQL:结合SQL与NoSQL优势,如Google Spanner。
  • 时序数据库:专用于时间序列数据,如InfluxDB。
http://www.lqws.cn/news/522163.html

相关文章:

  • cocos2 实现全局音量管理
  • 51c嵌入式~CAN~合集2
  • 数据文件写入技术详解:从CSV到Excel的ETL流程优化
  • 使用AkShare获取股票报表
  • [省选联考 2025] 推箱子
  • Java 的强制类型转换
  • Sortablejs动态同类型穿插
  • npm 报错:“无法加载文件 ...npm.ps1,因为在此系统上禁止运行脚本” 解决方案(附执行策略说明)
  • 创新让生活更美好丨“鑫亘科技亮相2025上海CMEF,创新医疗材料引领未来!”
  • 【Docker基础】Docker容器管理:docker pause、stop、kill区别
  • Gemini 2.5 Pro vs Claude 4:2025年高考物理真题实战对比评测(国内直接使用)
  • 【Java高频面试问题】JVM篇
  • python接口测试参数multipart/form-data格式不能有多余的空格或 tab 缩进
  • 逆向入门(8)汇编篇-rol指令的学习
  • Windows下Zookeeper客户端启动缓慢问题分析与解决方案
  • oracle物化视图
  • Jenkins JNLP与SSH节点连接方式对比及连接断开问题解决方案
  • 强化学习概述
  • 【Python】图像+点云 结合显示
  • Linux 内存管理之page cache
  • 【PyTorch】保存和加载模型
  • 【cursor实战】分析python下并行、串行计算性能
  • <六> k8s + promtail + loki + grafana初探
  • 深度学习入门--(二)感知机
  • 利用代理IP爬取Shopee网页数据
  • C/C++中调用Java实现
  • keil5 cannot copy license file to “Download“ folder
  • 阿里云Web应用防火墙3.0使用CNAME接入传统负载均衡CLB
  • 量学云讲堂王岩江宇龙2025年第58期视频 主课正课系统课+收评
  • 【EDA软件】【应用功能子模块网表提供和加载编译方法】