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数据与信息的关系

  • 数据比信息低一层,信息是数据加元数据。
  • 数据模型应满足真实模拟现实、容易被人理解、便于在计算机上实现的要求。
Logo

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

更多推荐