数据库全解析:从DBMS核心功能到数据模型
·
1.数据库安全与风险
1.1微软程序的安全问题:基于微软编写的程序存在安全隐患,容易被黑客修改,不具备安全性。
1.2数据库类型与应用生成
- SQL、DB2、Oracle 等数据库提供应用生成功能,采用嵌入式开发方式,即使用提供的编程语言编写数据部分,再嵌入到高级程序语言中。
- 此类数据库可处理密集型应用,如 CQ Server 用于运营数据库,处理一笔一笔的业务。
2.数据库管理系统功能
2.1数据管理子系统:负责管理全局性或环境全局的杂物,包括备份与恢复、安全性管理、查询优化、并发管理和变更管理。
2.2备份与恢复
- 周期性备份数据库信息,制作副本存储在其他地方。当系统出现故障时,选择最近的备份副本进行恢复,利用日志文件可将数据损失降至最小。
- 重要数据应遵循三备份原则,如本地计算机一份、另一块硬盘一份、云盘一份。
2.3安全性管理
- 通过授权和撤销权利来保证数据安全,授予权利用 grant,撤销权利用 revoke。
- 对用户的访问权限进行精细化管理,明确谁有访问哪些信息的权利以及能够执行哪些特定操作。
2.4查询优化
- 不同的 SQL 语句执行效率差异较大,DBMS 会自动进行查询优化,但并非万能。
- 建议使用嵌套查询而非连接查询,以提高执行效率。
2.5并发管理
- 当两人同时试图修改相同信息时,采用加锁机制,谁先锁定数据谁就有修改权限,避免数据冲突。
- 安全系统存在漏洞,即使关闭权限,只要连接互联网,数据仍可能被入侵。可采用数据摆渡车的方式,使用 U 盘拷贝数据,并安装扫描系统记录操作日志,发现可疑情况及时报警。
2.6变更管理
- 对数据库结构进行变更时,可能会造成灾难性后果,因此需要具备撤销功能。
- 例如,插入、删除或改变列的属性时,可能会影响数据的正常使用,可通过撤销操作恢复到之前的状态。
3.数据系统构成与关系
3.1数据系统的组成
- 数据系统由数据库、DBMS、应用系统和数据库管理员组成。
- 数据库是存储数据的容器,DBMS 负责管理数据库,应用系统基于数据库和 DBMS 开发,数据库管理员负责管理数据库。
3.2数据系统各部分的关系
- 数据由 DBMS 管理,应用系统通过向 DBMS 发送请求来获取数据。
- 操作系统是计算机软硬件系统的大管家,DBMS 作为软件受操作系统管理,因此在 DBMS 和数据库之间增加了一级操作系统。
3.3应用开发工具
- 为提高开发效率,可使用各种应用开发工具,如 IBM 的 Rose 系统,以及低代码开发工具。
- 人工智能也可用于程序开发,如 GitHub 的 Copilot 可通过语音或文字指挥生成代码。
4.数据管理技术的发展与数据库类型
4.1数据管理技术的发展过程:数据管理技术经历了人工管理阶段、文件系统阶段,目前正朝着分布式数据库、数据仓库、NoSQL 数据库和向量数据库等方向发展。
4.2不同类型的数据库
- 分布式数据库:将数据分布在多台服务器上,数据之间可以彼此交换和协作。
- 数据仓库:用于支持数据挖掘和 OLAP 分析,存储历年数据,用于分析决策,不用于实时业务管理。
- NoSQL 数据库:适用于互联网发展,可处理各种类型的数据。
- 向量数据库:与人工智能结合,通过向量表示事物之间的关系,便于判断事物之间的联系程度。
- 文档型数据库:保存 word、Excel 等文档,存储半结构化数据,方便数据交换,机器和人都适用。
- 键值数据库:通过键值对存储数据,可提高某些场景的查询速度,如 Redis 基于内存进行数据存储和应用,速度极快。
- 图数据库:处理复杂的数据类型,适用于特定行业。
- 搜索引擎数据库:互联网公司用于抓取和存储数据,具有强大的全球搜索能力。
- 分布式 MySQL:在正常数据库基础上增加新能力,可同时处理 OLTP 和 OLAP 系统。
5.数据系统的特点
5.1数据结构化
- 数据之间的关系和联系规则清晰,同一表内字段之间、不同表之间都存在制约关系。
- 数据结构用数据模型描述,是经过理论证明和实践检验的有效数据组织方式。
5.2数据共享性高、冗余度低、易扩充
- 数据库可被多个用户共享,冗余度低,但为满足参照要求,表之间至少有一列相同。
- 增加数据对象时,可通过增加列或表来实现,行的增加称为插入或新增。
5.3数据独立性高
- 数据与程序彼此独立,包括物理独立性和逻辑独立性。
- 物理独立性指数据存储位置的变化不影响程序,逻辑独立性指数据结构的变动不影响程序。
- 数据独立性通过 DBS 的两级映像来保证。
5.4数据由 DBMS 统一管理控制
- DBMS 负责管理数据和数据库的各个方面,包括安全性、完整性等。
- 安全性通过授权和访问控制来保证,完整性通过一组机制来控制数据质量,确保数据的准确性和一致性。
6.数据模型
6.1数据模型的分类
- 数据模型分为概念模型、逻辑模型和物理模型。
- 概念模型是人对数据之间关系的认识,与机器无关,可通过 ER 图等方式表达。
- 逻辑模型与数据模型有关,与具体的 DBMS 产品无关,由数据库设计人员完成数据组织。
- 物理模型与具体的 DBMS 产品有关,涉及数据在计算机内部的表示和存取方式。

6.2数据模型的要素
- 数据结构:是数据之间关系的静态描述,如学号决定姓名、年龄等。
- 数据操作:是在数据结构之上施加的动态处理,包括四则运算、关系运算、插入、修改、删除等。
- 完整性约束条件:是一组规则,保证数据库中数据模型和数据操作的质量,分为实体完整性、参照完整性和用户自定义完整性。
6.3数据与信息的关系
- 数据比信息低一层,信息是数据加元数据。
- 数据模型应满足真实模拟现实、容易被人理解、便于在计算机上实现的要求。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)