第一部分:数据库的系统概论
1,数据库的四个基本概念
数据Data:描述事物的符号记录,可以是数字文字图片等多种形式;数据的含义为数据的语义,故数据和其语义不可分割。
数据库DB:存放数据的仓库(长期储存在计算机内有组织,可共享的大量数据集合)
数据库管理系统DBMS:位于用户与操作系统之间的数据管理软件【主要功能:数据库的建立;数据定义,组织,存储,管理,操纵功能;数据库的事务管理和运行管理功能;数据库的维护等其他功能】
数据库系统DBS:引入数据库后的计算机系统(一般是指有数据库,数据库管理系统及其应用开发工具,应用系统和数据库管理员组成的存储,管理,处理和维护数据的系统)
2,数据库管理技术的产生和发展
产生:为满足数据管理需要而产生。
发展(三个阶段):人工管理阶段,文件系统阶段,数据库系统阶段。
对比项 | 人工管理阶段 | 文件系统阶段 | 数据库系统阶段 |
数据面向对象 | 某一应用程序 | 某一应用 | 现实世界 |
数据共享程度 | 不共享,冗余度高 | 共享性弱,冗余度高 | 共享性强,冗余低且易扩充 |
数据独立性 | 不独立,完全依赖应用程序 | 独立性弱 | 较强 |
数据结构化 | 无结构 | 记录内有结构,整体无结构 | 整体结构化,用数据模型描述 |
综上:数据库是长期储存在计算机内的有组织,可共享的大量数据的集合。它可以供各种用户共享,具有最小的冗余度和较强的数据独立性。数据库管理系统在数据库建立,运维时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
3,数据模型
数据模型是对现实世界数据特征的抽象(也就是说,数据模型是用来描述数据,组织数据和对数据进行操作的)
需满足条件:能够比较真实的模拟现实世界,容易为人所理解,便于在计算机上实现。
数据模型是数据库的核心和基础。
数据建模:把现实世界中的具体事务抽象,组织为某一数据库管理系统支持的数据模型。
可以分为两步:建立概念模型(概念模型用于信息世界的建模,表示方法为E-R图实体联系模型),将概念模型转换成数据模型。
信息世界中的基本概念:实体entity,属性attribute,码key,实体类型entity type,实体集entity set,联系relatationship。
数据模型的三要素:数据结构(描述数据库的组成对象以及对象之间的关系),数据操纵(指对数据库中各种对象型实例允许执行的操作的集合,包括造作以及有关的操作规则),完整性约束(是一组完整性规则)。
目前比较成熟的在数据库系统中的数据模型有:
层次模型:在层次模型中实体用记录表示,实体的属性对应记录的字段或数据值。基本层次联系指的是两个记录以及其之间的一对多(包括一对一)的联系。层次模型是用树形结构表示各类实体与实体之间的联系。
层次模型需满足的条件:1有且只有一个结点没有双亲结点,这个结点称为根结点;2跟以外的其他结点有且只有一个双亲结点。
层次模型优缺点:优点1,层次模型的数据结构比较简单清晰;2,层次数据库的查询效率高;3,层次数据模型提供了良好的完整性约束支持。缺点:非层次性,数据冗余,编写较复杂,查询必须通过双亲结点,层次命令趋于程序化。
网状模型:须满足条件 1,允许一个以上的结点无双亲结点;2一个节点可以有多于一个的双亲结点。
网状模型可以表示多对多的关系。
网状模型优缺点:有点能够更直接的描述现实世界,具有良好的性能,存取效率高。缺点:结构比较复杂,语言复杂,用户不容易使用。
关系模型:关系模型要求必须是规范化的。关系的每一个分量必须是一个不可分的数据项。
关系模型的优缺点:优点1,建立在严格的数学基础上;2关系模型的概念单一;3关系模型的存取路径对用户隐蔽;缺点:用户查询效率不高。
4,数据库系统的三级模式结构
数据库系统内部的体系结构。
模式:模式是所有用户的公共数据视图。
外模式:(又称子模式或用户模式),它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征描述。
内模式:(又称为物理模式或储存模式),一个数据库只有一个内模式,它是对数据物理结构和存储方式的描述,是数据在数据库内部的组成方式。
5,数据库系统的组成
数据库系统指的是已经引入了数据库后的计算机系统,一般由数据库,数据库管理系统,应用系统和数据库管理员组成。
硬件平台(数据库存放在计算机存储设备中),软件平台(支持数据库系统的软件),人员(数据库管理员,系统分析员,数据库设计人员,应用程序员和最终用户)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?