ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

数据库绪论全解:CS-Xmind-Note 408 数据库开篇——数据管理演进、数据模型与三级模式体系

数据库绪论全解:CS-Xmind-Note 408 数据库开篇——数据管理演进、数据模型与三级模式体系 文档教程知识库【免费下载链接】CS-Xmind-Note计算机专业课408思维导图和笔记计算机组成原理第五版 王爱英数据结构王道计算机网络第七版 谢希仁操作系统第四版 汤小丹项目地址https://gitcode.com/gh_mirrors/cs/CS-Xmind-Note点击查看免费下载本文基于开源仓库 CS-Xmind-Note 中 数据库绪论 思维导图笔记整理而成面向 408 计算机统考与数据库入门读者。文章系统梳理数据管理的三个阶段、数据库基本术语、数据模型与概念模型、三种基本数据模型层次网状关系以及数据库系统三级模式—两级映象体系结构并对照仓库内 关系模型、数据库设计 等相邻章节做纵深补充。读完本文你将掌握数据库绪论的全部考点能区分概念模型与数据模型、讲清数据独立性的实现原理并为后续学习关系代数与 SQL 打下基础。该笔记对应的完整思维导图与 XMind 源文件位于 数据库/1数据库绪论 目录仓库总览见 数据库/数据库.md。一、数据管理的三个阶段数据库技术不是凭空产生的它的发展脉络可以归纳为三个阶段人工管理阶段、文件系统阶段、数据库系统阶段。理解三个阶段各自的背景、数据特征与局限性是理解数据库系统为何出现的起点。1.1 人工管理阶段人工管理阶段处于计算机应用早期这一阶段的基本特征如下数据不长期保存计算机主要用于科学计算数据随程序运行而进、随程序结束而亡一般不需要将数据长期保存在外存上应用程序自己管理数据没有专门的数据管理软件数据的管理包括存储结构、存取方式、输入输出完全由程序员在应用程序中设计数据不共享数据面向单个应用程序一组数据只对应一个程序程序之间存在大量数据冗余数据不具有独立性数据的逻辑结构与物理结构高度耦合一旦存储结构发生变化程序必须随之修改。1.2 文件系统阶段文件系统阶段20 世纪 50 年代后期到 60 年代中期出现了专门管理数据的文件系统软件特征与局限包括数据可以长期保存数据以文件形式存放在磁盘等外存上可反复进行查询、修改、插入、删除等操作由文件系统管理数据文件系统负责数据的逻辑结构与物理结构之间的转换应用程序与文件之间通过文件系统衔接数据共享性差文件仍基本面向某个或某些应用文件之间相互独立、彼此孤立数据冗余度大数据独立性差文件系统中的数据虽有了逻辑结构与物理结构的区分但文件记录的结构一旦改变仍需修改应用程序且文件之间缺乏整体结构文件记录内部有结构、记录之间没有联系文件系统的管理粒度是文件级无法精细地描述现实世界中实体之间的复杂联系。1.3 数据库系统阶段数据库系统阶段20 世纪 60 年代后期以来真正解决了数据管理中的核心矛盾其基本特征与后续各节的基本术语一一对应数据结构化数据库中的数据不再面向某个应用而是面向整个系统按照某种数据模型组织不仅描述数据本身还描述数据之间的联系数据共享性高、冗余度低数据集中管理可被多个用户、多个应用共享同一数据重复存储的冗余程度显著下降数据独立性高通过三级模式—两级映象体系结构见第九节实现了数据的逻辑独立性与物理独立性统一管理与控制数据库管理系统DBMS提供数据的安全性Security、完整性Integrity、并发Concurrency控制和数据库恢复Recovery四方面能力保证数据正确、安全、可靠。1.4 三阶段对比速查对比维度人工管理阶段文件系统阶段数据库系统阶段数据保存不保存随程序消亡可长期保存于外存长期保存在外存存储器管理软件应用程序自身文件系统数据库管理系统DBMS数据共享不共享程序私有共享性差冗余大共享性高冗余度低数据独立性无独立性逻辑物理结构有区分但独立性差逻辑独立性与物理独立性数据结构化程度无记录内有结构、整体无结构整体结构化并描述联系二、数据库基本术语这一节是全书的概念基石仓库笔记给出了各术语的精确界定本节逐条展开并补充理解要点。2.1 数据Data数据是计算机用来描述事物的记录包括文字、图形、图像、声音等符号记录关键点数据的形式本身并不能完全表达其内容必须经过语义解释semantics。也就是说数据与其语义是不可分的。例如2026001这个字符串单独看没有意义只有结合学号这一语义它才成为一条有意义的数据。2.2 数据库DatabaseDB数据库是长期存储在计算机内的、有结构的、大量的、共享的数据集合四个限定词缺一不可长期存储区别于临时数据有结构强调按数据模型组织大量体现数据规模共享体现多用户可复用数据库中的数据按某种数据模型组织与描述具有较小的冗余度、较高的数据独立性和易扩展性。2.3 数据库管理系统DBMSDBMS 是位于用户与操作系统之间的一层数据管理软件数据库在建立、运用和维护时由 DBMS 统一管理、统一控制DBMS 是数据库系统的核心软件其职能包括数据定义DDL、数据操纵DML、数据库的运行管理安全性、完整性、并发控制、恢复以及数据库的建立与维护。2.4 数据库系统DBS数据库系统是指在计算机系统中引入数据库后的系统构成它一般由四部分构成数据库DB、数据库管理系统DBMS及其开发工具、应用系统、数据库管理员DBA和用户注意区分三组概念数据库DB是数据的集合数据库管理系统DBMS是管理数据的软件数据库系统DBS是包含数据库与软件、人员的完整系统——这是考试常考的辨析点。2.5 数据冗余度指同一数据重复存储时的重复程度冗余度过高会浪费存储空间、造成数据不一致更新异常但零冗余也未必最优适当的冗余可以换取更高的查询性能数据库设计时需要在冗余与效率之间权衡。2.6 数据的安全性Security数据的安全性是指保护数据防止不合法使用数据造成数据的泄密和破坏目标是使每个用户只能按规定对某些数据以某些方式进行访问和处理即通过授权与权限控制实现该看的能看、不该看的看不到。2.7 数据的完整性Integrity数据的完整性指数据的正确性、有效性和相容性具体表现将数据控制在有效的范围内如学生成绩在 0100 之间或要求数据之间满足一定的关系如某班人数与该班学生记录数一致安全性与完整性的区别安全性防止非法用户的非法操作完整性防止合法用户的不合法数据。2.8 并发Concurrency控制当多个用户的并发进程同时存取、修改数据库时可能发生相互干扰而得到错误结果并使数据库的完整性遭到破坏因此 DBMS必须对多用户的并发操作加以控制和协调。并发控制涉及的丢失修改、不可重复读、读脏数据等问题在仓库 并发控制 章节中有系统展开。2.9 数据库恢复Recovery计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏都可能影响数据库中数据的正确性甚至造成部分或全部数据的丢失因此 DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态也称为完整状态或一致状态的功能恢复的实现技术数据转储与日志文件详见仓库 数据库恢复技术 章节。三、数据库的三要素从物理构成角度一个数据库系统离不开三要素数据描述事物的符号记录是数据库里面存储的内容存储器外存一般是硬盘是数据库的载体数据库管理系统DBMS数据库的管理软件。三要素之间的关系可以概括为数据存储在存储器上由 DBMS 统一管理供应用系统与用户使用。四、数据模型4.1 模型与数据模型模型是现实世界特征的模拟和抽象数据模型也是一种模型它是现实世界数据特征的抽象用来表示实体以及实体间的联系更形式化的定义数据模型是一个用于描述数据、数据间关系、数据语义和数据约束的概念工具的集合。4.2 两级模型的抽象概念模型与数据模型数据建模过程通常经过两次抽象形成两级模型概念模型也称信息模型用于信息世界建模按用户的观点来对数据和信息建模主要用于数据库设计强调语义表达能力能较方便、直接地表达应用中的各种语义知识要求概念简单、清晰、易于用户理解是用户和数据库设计人员之间进行交流的语言典型代表是 E-R 图。数据模型如层次、网状、关系模型用于机器世界按计算机系统的观点对数据建模主要用于DBMS 的实现通常需要严格的形式化定义并加上一些限制或规定以便于机器实现通常还有一组严格定义了语法和语义的语言人们使用它来定义、操纵数据库中的数据。两级抽象之间的桥梁是设计阶段先用概念模型描述现实世界再将其转换为机器可实现的数据模型。4.3 数据模型的三要素一个完整的数据模型由三要素构成这是数据库理论中的核心考点数据结构Data Structure数据结构是所研究的对象类型Object Type的集合这些对象是数据库的组成部分可分为两类一类与数据类型、内容、性质有关如网状模型中的数据项、记录关系模型中的属性、关系等另一类与数据之间的联系有关如网状模型中的系型Set Type等数据结构描述的是系统的静态特性。数据操作Data Manipulation数据操作是指对数据库中各种对象型的实例值允许执行的操作的集合数据库主要有**检索查询和更新插入、删除、修改**两大类操作数据操作描述的是系统的动态特性。数据的约束条件Integrity Constraints数据的约束条件是完整性规则的集合完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则用以限定符合数据模型的数据状态以及状态的变化保证数据的正确、有效、相容。一句话总结数据结构刻画是什么数据操作刻画能做什么数据约束刻画必须满足什么条件。五、概念模型的基本术语概念模型用于信息世界的建模其最基本的术语包括术语英文定义示例实体Entity客观存在并可相互区别的事物可以是具体的人、事、物也可以是抽象的概念或联系学生、部门、课程、银行帐户、选课、订货、演出、比赛属性Attribute实体所具有的某一特性学生实体的学号、姓名、性别、出生年月、系、入学时间码关键字Key唯一标识实体的最小的属性集学生实体的码是学号域Domain属性的取值范围学号的域为 8 位整数姓名的域为字符串集合性别的域为 {男女}实体型Entity Type用实体名及其属性名集合来抽象和刻划同类实体学生学号姓名性别出生年月系入学时间实体集Entity Set同型实体的集合全体学生就是一个实体集联系Relationship事物内部以及事物之间的联系在信息世界中反映为实体型内部的联系和实体型之间的联系属性之间的联系、不同实体集之间的联系注意辨析实体型是型结构描述实体集是值具体实例的集合这与后文关系模式是型、关系是值的区分一脉相承。六、实体间联系的种类现实世界中实体间的联系可归为三类在概念模型中分别记为 1:1、1:n、m:n6.1 一对一联系1:1定义若对于实体集 A 中的每一个实体实体集 B 中至多有一个实体与之联系反之亦然则称实体集 A 与实体集 B 具有一对一联系记为1:1实例一个班级只有一个班长一个班长只属于一个班级一个系只有一个系主任一个系主任只领导一个系。6.2 一对多联系1:n定义若对于实体集 A 中的每一个实体实体集 B 中有n 个实体n≥0与之联系反之对于实体集 B 中的每一个实体实体集 A 中至多只有一个实体与之联系则称实体集 A 与实体集 B 具有一对多联系记为1:n实例一个班级有多名学生而一个学生只属于一个班级班级 1:n 学生。6.3 多对多联系m:n定义若对于实体集 A 中的每一个实体实体集 B 中有 **n 个实体n≥0**与之联系反之对于实体集 B 中的每一个实体实体集 A 中也有 **m 个实体m≥0**与之联系则称实体集 A 与实体集 B 具有多对多联系记为m:n实例一名学生选修多门课程一门课程被多名学生选修学生 m:n 课程。补充三种联系之间可以互相转化多对多联系在关系数据库中通常需要拆解为两个一对多联系并通过中间关系实现这一思想在仓库 数据库设计 的E-R 图向关系模式转换部分有具体规则。七、概念模型的表示方法E-R 图E-R 图Entity-Relationship Diagram是概念模型最经典的表示方法由 P. P. Chen 于 1976 年提出。绘制规则如下长方形表示实体型框内写上实体名椭圆表示实体的属性并用无向边把实体和属性连接起来菱形表示实体间的联系菱形框内写上联系名用无向边把菱形分别与有关实体相连接在无向边旁标上联系的类型1:1、1:n 或 m:n若实体之间联系也具有属性则把属性和菱形也用无向边连接上。典型示例学生选课 E-R 图——学生实体属性学号、姓名、性别与课程实体属性课程号、课程名通过菱形选修联系相连边旁标注 m:n选修联系自身带有属性成绩。仓库 数据库设计 对 E-R 图还有更深入的补充可作为本节的延伸阅读要点重申长方形—实体、椭圆—属性、菱形—联系无向边连接E-R 图集成的三类冲突属性冲突属性域冲突值的类型、取值范围或取值集合不同、属性取值单位冲突命名冲突同名异义、异名同义一义多名结构冲突同一对象在不同应用中抽象不同如教材在某应用中是实体、在另一应用中是属性、同一实体在不同局部视图中的属性集合或次序不同、实体间联系在不同局部视图中呈现不同类型。八、三种基本数据模型按计算机系统观点建模的数据模型主要有三种仓库笔记逐一给出了其数据结构与特点。8.1 层次模型Hierarchical Model最早使用的一种模型典型代表是 1968 年 IBM 的 IMS 系统数据结构是一棵有向树特点有且仅有一个结点无双亲该结点称为根结点其他结点有且只有一个双亲局限性只能直接表示一对多联系对多对多联系需要借助冗余结点或虚拟结点间接表示。8.2 网状模型Network Model数据结构是一个有向图特点允许有一个以上的结点没有双亲允许结点有多于一个的双亲优点能表示实体之间的多种复杂联系如多对多联系可以自然、直接地表示缺点是结构复杂用户不易掌握数据操纵语言也较繁琐。8.3 关系模型Relational Model关系模型是用二维表格结构来表示实体及实体之间的联系的模型数据结构是一个**二维表框架组成的集合**优点概念简单、清晰用户易懂易用有严格的数学基础正因为这些优点大多数数据库系统都是关系型的如 MySQL、Oracle、SQL Server、PostgreSQL 等。关系模型的主要术语术语含义关系一个关系对应于我们平常讲的一张表元组表中的一行称为一个元组属性表中的一列称为属性每列的名称为属性名主码表中的某个属性组它们的值唯一的标识一个元组域属性的取值范围分量元组中的一个属性值关系模式对关系的描述用关系名属性名1属性名2…属性名n来表示关系模型的三个特点概念单一实体或实体之间的联系都用关系表表示在用户观点里数据的逻辑结构就是表关系必须是规范化的关系每一个关系模式要满足一定的规范条件其最基本的要求是每一个分量是一个不可分的数据项即不允许表中还有表用户对数据的检索操作不过是从原来的表中得到一张新的表无论是原始数据还是结果数据都是同一种数据结构——二维表数据操作是集合操作操作对象和操作结果都是若干元组的集合而非非关系模型中单记录的操作方式同时把存取路径向用户隐藏起来提高了数据的独立性。关系模型的纵深补充仓库 关系模型 章节对关系模型做了完整展开核心内容包括关系模型组成的三要素关系数据结构、关系操作集合、关系完整性约束基本关系的六大性质列是同质的Homogeneous——每一列中的分量是同一类型的数据来自同一个域不同的列可出自同一个域——其中的每一列称为一个属性不同属性要给予不同的属性名列的顺序无所谓——列的次序可以任意交换如 ORACLE 增加新属性时永远插至最后一列也有产品如 FoxPro 仍区分属性顺序任意两个元组的候选码不能完全相同——候选码是能唯一标识一个元组的属性或属性组有多个候选码时选一个作为主码行的顺序无所谓——行的次序可以任意交换分量必须取原子值——每一个分量都必须是不可分的数据项。关系模型中的三类完整性约束实体完整性、参照完整性外码 Foreign Key、用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件被称作关系的两个不变性应由关系系统自动支持。九、数据库系统的体系结构三级模式与两级映象数据库系统的体系结构是绪论中最重要的考点其核心思想是三级模式结构 两级映象功能最终目的是保证数据的独立性。9.1 三层模式外模式External Schema又称用户模式是数据库用户和数据库系统的接口是数据库用户的数据视图描述数据库用户可以看见和使用的局部数据的逻辑结构和特征一个数据库通常有多个外模式一个应用程序只能使用一个外模式但同一外模式可为多个应用程序所用。模式Schema可细分为概念模式和逻辑模式是所有数据库用户的公共数据视图是数据库中全部数据的逻辑结构和特征的描述一个数据库只有一个模式模式不但要描述数据的逻辑结构还要描述数据之间的联系、数据的完整性、安全性要求。内模式Internal Schema又称存储模式是数据库物理结构和存储方式的描述是数据在数据库内部的表示方式一个数据库只有一个内模式内模式并不涉及物理记录也不涉及硬件设备即它仍属于逻辑—存储层描述不直接面向具体磁盘设备。三层模式的关系数据库模式是数据库的核心和关键外模式通常是模式的子集。数据按外模式的描述提供给用户按内模式的描述存储在硬盘上模式介于外、内模式之间既不涉及外部的访问也不涉及内部的存储从而起到隔离作用有利于保持数据的独立性。内模式依赖于全局逻辑结构但可以独立于具体的存储设备。9.2 两层映象映象是一种对应规则说明映象双方如何进行转换。体系结构中有两层映象外模式/模式映象作用把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来逻辑独立性当模式改变时只要对外模式/模式映象做相应的改变使外模式保持不变则以外模式为依据的应用程序不受影响从而保证了数据与程序之间的逻辑独立性。模式/内模式映象作用把描述全局逻辑结构的模式与描述物理结构的内模式联系起来物理独立性当内模式改变时如存储设备或存储方式有所改变只要对模式/内模式映象做相应的改变使模式保持不变则应用程序不受影响从而保证了数据与程序之间的物理独立性。9.3 体系结构速查表层次 / 映象描述对象数量独立性贡献外模式用户可见的局部数据逻辑结构多个与应用程序直接相关模式全部数据的全局逻辑结构一个数据库的核心与关键内模式数据的物理存储结构一个不涉及物理记录与硬件外模式/模式映象局部逻辑 ↔ 全局逻辑多个保证逻辑独立性模式/内模式映象全局逻辑 ↔ 物理存储一个保证物理独立性十、学习路径与仓库导览数据库绪论是整个数据库知识体系的地基。在 CS-Xmind-Note 仓库中本篇之后的知识模块按如下路径递进可在 数据库/数据库.md 总览中快速跳转数据建模概念模型E-R 图→ 关系模型 → 规范化理论1NF/2NF/3NF/BCNF见 数据库设计、关系模型、关系数据库设计理论数据操作关系代数与 SQL 语言见 关系代数、数据库语言SQLDBMS 三大核心机制并发控制、完整性约束、恢复技术分别对应 并发控制、完整性约束、数据库恢复技术性能优化查询优化见 查询优化。建议学习者配合各章节目录下的 XMind 源文件与 PNG 思维导图如本文首图进行整体记忆再用本笔记做逐点精读即可高效拿下数据库绪论及后续全部章节。赞分享文档教程知识库【免费下载链接】CS-Xmind-Note计算机专业课408思维导图和笔记计算机组成原理第五版 王爱英数据结构王道计算机网络第七版 谢希仁操作系统第四版 汤小丹项目地址https://gitcode.com/gh_mirrors/cs/CS-Xmind-Note点击查看免费下载相关推荐GeneratedHydrator实战案例处理复杂对象的高效方案GeneratedHydrator实战案例处理复杂对象的高效方案 GeneratedHydrator是一个专为PHP开发人员设计的高性能对象水合器库能够快速开发工具Hivemind技能卸载指南unpull命令的5种高级用法Hivemind技能卸载指南unpull命令的5种高级用法 Hivemind是一款强大的AI代理协作平台通过 unpull 命令可以轻松管理和卸载已安装的技人工智能AI AgentAgent 记忆AI 技能RAGMCP 服务如何轻松备份你的微信聊天记录3种格式完整导出指南如何轻松备份你的微信聊天记录3种格式完整导出指南 你是否担心手机丢失或更换时那些珍贵的微信对话会永远消失是否曾想将重要的工作沟通或温馨的家庭聊天永久保存上一篇图像比对工具diffimg高效指南3个技巧掌握像素级对比技术下一篇bertimbau-large-lener_br-openmind葡萄牙语命名实体识别终极指南 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表