数据库系统架构设计:从模式到关系表的全面解析
创作时间:
作者:
@小白创作中心
数据库系统架构设计:从模式到关系表的全面解析
引用
CSDN
1.
https://blog.csdn.net/han1202012/article/details/146376333
数据库系统是软件开发和数据管理的核心组成部分,其架构设计直接影响到系统的性能、安全性和可维护性。本文将从数据库系统的知识点概述、数据库模式以及关系表的类型等方面,深入探讨数据库系统的设计原理和实践要点。
数据库系统知识点概述
数据库系统的设计是一个复杂而精细的过程,涉及多个阶段和多种技术手段。以下是数据库系统设计的关键知识点:
- 数据库模式:数据库的总体结构,分为外模式、概念模式和内模式。
- 外模式:用户与数据库交互的视图,如SQL查询界面。
- 概念模式:全局逻辑结构,包括表、字段和关系等。
- 内模式:物理存储细节,如文件和索引结构。
- 分布式数据库:数据分布在多个物理节点中,通过网络协同工作。
- 数据库设计阶段:
- 需求分析:明确用户需求。
- 概念设计:使用ER模型描述数据关系。
- 逻辑设计:将ER模型转换为关系模型。
- 物理设计:确定存储结构与索引。
- 实施与维护:建库、调优与优化。
- 概念结构设计 - ER模型:将需求抽象为可视化模型,包括实体(矩形)、属性(椭圆)和联系(菱形)。
- 逻辑结构设计 - 关系模型:将ER模型转换为关系模型,核心是设置主键、外键和完整性约束。
- 关系代数:
- 选择(σ):筛选行。
- 投影(π):筛选列。
- 连接(⋈):合并相关表。
- 其他操作:并、差、笛卡尔积等。
- 规范化理论:通过分解关系模式,消除冗余和异常(插入/删除/更新异常),确保数据的一致性和完整性。
- 并发控制:通过锁(共享锁S、排他锁X)、时间戳、多版本控制等手段解决脏读、不可重复读、幻读问题。
- 数据库安全性:用户认证,GRANT/REVOKE授权,传输/存储加密,审计日志。
- 数据库备份与恢复技术:完全备份、增量备份、差异备份,日志恢复(UNDO回滚、REDO重做),检查点恢复(快速恢复点)。
- 数据库性能优化:通过索引优化避免全表扫描,通过查询优化分析执行计划,通过结构优化实现分库分表、读写分离,通过设置缓存减少磁盘I/O。
数据库模式体系
数据库模式体系是数据库系统的核心架构,采用三级模式结构和两层映射关系实现数据独立性和安全性。
1. 数据库系统三级模式
- 外模式:又称子模式或用户模式,是用户与数据库系统的交互接口。外模式的数据来源是概念模式,对应用户视图级别,使用者是程序员和用户应用程序。每个用户都对应一个外模式,实现逻辑数据独立性,即概念模式修改不影响外模式。
- 概念模式:数据库的逻辑结构,描述所有实体、属性、关系及约束。组成部件包括实体关系模型(ER模型)、关系模式和完整性约束(主键、外键、CHECK约束)。概念模式的数据来源是内模式,对应DBA(数据库管理员)级别,使用者是数据库管理员和程序员。概念模式是数据库体系的核心,基本表就是在概念模式中。
- 内模式:物理存储结构,描述数据在存储介质上的组织方式,对应的是数据库的存储文件。内模式对应的使用者是数据库的开发者。
2. 数据库系统两层映射关系
- 外模式-概念模式映射:该映射保证了数据库的"逻辑独立性",允许修改表结构而不影响应用程序。外部应用程序与数据库的逻辑基本表是相互独立的,数据库表逻辑结构发生变化时,应用程序不需要随时发生改变,只需要修改二者之间的映射关系即可。
- 概念模式-内模式映射:该映射保证了数据库的"物理独立性",允许调整存储结构而不修改逻辑模式。概念模式与内模式之间的对应关系是相互独立的,数据库迁移后,不需要修改数据库表的结构,自然更不需要修改程序结构。
关系表类型
数据库基本表都是针对关系数据库来说的,因此基本表又称为"关系表"。
1. 关系表的三种类型 - 基本表、查询表、视图表
- 基本表:又称为"基本关系",是数据库中实际存储数据的逻辑表示,是用户直接创建和管理的实体表。使用SQL语句
CREATE TABLE TABLE_NAME
创建的表就是基本表。 - 查询表:查询结果对应的表,执行
SELECT
查询语句后返回的结果集,是临时性的数据集合。仅在查询执行期间存在,不持久存储,数据内容基于当前数据库状态生成,可能随基表数据变化而变化。 - 视图表:由一个或多个基本表(或视图)导出的虚拟表,仅存储查询逻辑,不存储实际数据,又称为"虚表"。数据来源于基表,访问视图时动态计算生成结果。安全性方面,可隐藏基表细节,提供数据访问权限控制。使用
CREATE VIEW
语句定义查询逻辑,例如:CREATE VIEW AdultStudents AS SELECT Name FROM Student WHERE Age > 18;
2. 关系表的三种类型对比
对比维度 | 基本表 | 查询表 | 视图表 |
---|---|---|---|
存储方式 | 物理存储实际数据 | 不存储,临时生成结果集 | 仅存储查询定义的逻辑结构 |
生命周期 | 永久存在,需手动删除 | 查询执行后立即失效 | 依赖视图定义,删除视图后失效 |
是否可修改 | 支持增删改(DML操作) | 不可直接修改 | 部分可更新*(需满足条件) |
用途 | 持久化存储核心业务数据 | 临时数据分析或中间结果展示 | 简化复杂查询、数据权限控制、逻辑抽象 |
3. 数据库视图的优缺点
- 数据库视图概念:由一个或多个基本表(或视图)导出的虚拟表,仅存储查询逻辑,不存储实际数据,只存储查询视图的SQL语句,又称为"虚表"。
- 数据库视图缺点:由于数据库视图是临时查询出来的临时数据,其效率和性能比较低。
- 数据库视图优点:
- 简化用户操作:数据库视图是从某个视角,从若干个基本表或其它视图中选取某些数据,不再需要关联多个表格对比查询数据。
- 多种角度观察数据:数据库视图可以令用户以多种角度观察同一数据。
- 逻辑独立性:数据库视图对重构数据库提供了逻辑独立性支持,关系表发生变化时,不需要修改程序代码,只需要调整视图与概念模式的映射关系即可。
- 安全保护:数据库视图只能读,不能写,提供了对机密数据的安全保护。
4. 物化视图
物化视图不再是虚拟视图,不再是虚表,而是实体化的视图,物化视图本身会存储数据。当基本表(原始表)中的数据更新时,物化视图中的数据也会随之更新。
热门推荐
什么是跨境电商运营?新手如何做好跨境电商运营,手把手教学。
干燥、炎症还是玫瑰痤疮?一文读懂鼻子两侧发红真相!
百万医疗险理赔需要什么材料
文玩核桃怎么挑选,从以下4个方面做选择
AI技术助力新闻事件总结:提升撰写效率与内容质量
深圳个人缴纳社保几号扣款
伺服电机的电子齿轮比
毛周角化症需要治疗吗
白血病分几种类型哪个最严重
春晚公益广告:亲情暖人间,烟火幸福年
领导当面冷淡背后表扬,这背后的心理学原理你懂吗?
盘点2024年乐山文旅的八个“高光时刻”
地平类降压药联用沙坦,或是联用洛尔,哪个方案更好?
摩托车拉缸的常见原因是什么?这种问题如何进行有效处理?
摩托车拉缸故障的原因有哪些?如何有效预防和解决摩托车拉缸问题?
匈奴的婚姻习俗:父妻子继与种姓维系
无主之地2敌人等级是否可提升全面解析与攻略推荐
股权转让锁定期:概念、时长与年限详解
英语学习:高兴的英语表达知多少?
共赏共鉴桂味美食盛宴 展示广西餐饮文化魅力
肠炎的症状及饮食注意事项
所有人都易感!且会重复感染!警惕:诺如病毒进入高峰期
如何有效放弃继承房产及办理房产继承公证
茄红素的功效与食用指南:从天然食物到保健食品的全面解析
天津适合种植哪种竹子
冥想是睡覺嗎?深入探討冥想與睡眠的關系
从 FC、NFC 到 HPP 果汁,它们有什么区别?
获取美国绿卡的完整申请流程与步骤概览
心脏超声检查费用详解:影响因素与注意事项
AH溢价持续走低!知名机构:“是时候实施‘A计划’”!