ChⅠ-数据库系统概论

ChⅠ-数据库系统概论

数据库特点

  • 数据不重复存放
  • 可支持多个应用并发访问
  • 数据结构独立于应用程序
  • 对数据的增、删、查、改均由数据库系统管理软件进行管理和控制。

数据模型

数据模型是指描述事物对象数据特征及其结构的形式化表示,包含数据结构、数据操作、数据约束 3 个部分组成。

  • 数据结构: 用于描述事物对象的静态特征,包括事物对象的数据组成、数据类型、数据性质等。
  • 数据操作:用于描述事物对象的动态特征,包括数据的插入、修改、删除和查询等访问操作。
  • 数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则等。

层次数据模型

Pros: 1)层次清晰 2)结点更新容易 3)检索查询效率高
Cons: 1)结构单一 2)相同信息多次存储、数据冗余大 3)不适合于具有拓扑空间的数据组织

网状数据模型

Pros 1)容易表达数据间的复杂关系 2)冗余小
Cons 1)结构复杂、定位难 2)需要定位指针

关系数据模型

Pros

  • 数据结构简单、操作灵活
  • 支持关系与集合运算操作
  • 支持广泛使用的 SQL 数据库操作语言标准
  • 容易实现与应用程序的独立性

Cons

  • 只用于结构化数据的组织与存储管理
  • 支持的数据类型较简单
  • 难以支持互联网广泛应用的非结构化数据和复杂数据管理

Others

其它数据模型,如对象数据模型、键值对数据模型、列式数据模型、文档数据模型、图形数据模型等

数据库系统

数据库系统(Database Systems)是一类基于数据库进行数据管理与信息服务的软件系统。

数据库系统由用户、数据库应用程序、数据库管理系统和数据库四个部分组成。

  • 数据库用户(Users)是指数据库系统的使用人员。
  • 数据库应用程序(Database Applications) 是一种在 DBMS 支持下对数据库中数据进行访问处理的应用程序。
  • 数据库管理系统(Database Manage System,DBMS )——是一种专门用来创建数据库、管理数据库、维护数据库,并提供外部对数据库进行访问的系统软件。
  • 数据库(Database)是一种依照特定数据模型组织、存储和管理数据的文件集合。

关系数据库数据内容:用户表(用户数据),系统表(元数据、索引数据、运行数据)

关系数据库对象组织

  • 用户表:存储用户的应用数据
  • 系统表:存储数据库系统自身数据
  • 视图:通过虚拟表实现数据查询处理
  • 索引:通过目录数据结构支持快速的数据查询
  • 约束:对关系表及其数据施加规则
  • 存储过程:在数据库内部实现特定功能程序的数据处理
  • 触发器:在数据库内部实现数据操作事件触发自动执行的过程程序

数据库系统生命周期

  1. 需求分析
    系统分析人员与用户交流,利用软件工程方法获取系统数据需求信息,并采用需求模型定义系统数据组成,及其数据字典
  2. 系统设计
    系统设计人员根据系统功能和性能需求,对系统数据库进行设计,包括系统概念数据模型 CDM、系统逻辑数据模型 LDM 和系统物理数据模型 PDM 设计
  3. 系统实现
    按照系统设计方案进行数据库创建与应用编程实现,主要包括 DBMS 安装部署、数据库创建、数据对象创建、应用编程实现等方面的工作。
  4. 系统测试
    系统测试人员将测试数据上载到数据库中,对数据库对象进行测试操作访问,实现数据库功能和性能测试。
  5. 系统运行与维护
    系统运维人员在信息系统投入运行过程中,对数据库系统进行定期维护和优化,以保证数据库系统正常地、高效地运行。

数据库管理系统 DBMS 类型

  1. 按用途分类
    • 通用 DBMS 支持公共领域数据库应用,如 SQL server
    • 专用领域 DBMS 支持专用领域数据库应用,如嵌入式领域的 SQLite,
  2. 按用户数分类。
    • 单用户 DBMS 仅支持单用户访问,如 miniSQL。
    • 多用户 DBMS 可支持多用户并行访问,如 MySQL
  3. 按系统部署分类
    • 集中式 DBMS 数据库集中部署在单一物理机器中,如 Access
    • 分布式 DBMS 数据库可分布在不同位置物理机器,如 0racle Database
  4. 按使用场景分类
    • 桌面级 DBMS 适用于微小型的信息服务应用,如 Access,SQLite 等
    • 企业级 DBMS 适用于中大型的企业级应用,如 DB2,ORACLE Database ,Sybase ASE 等
  5. 按软件版权分类
    • 产品 DBMS 数据库厂商拥有版权的数据库软件,如 SQL server 、Oracle Database 等
    • 开源 DBMS 开源组织提供的数据库软件,如 MySQL,PostgreSQL 等

FAQ

NoSQL 数据库和 NewSQL 数据库有何区别?

NoSQL

NoSQL 将数据库归类为描述性数据库,如“No-SQL”。NoSQL 是一个全面的数据库类别,旨在克服 SQL 数据库产生的问题。它们被称为无模式文档,它们以文档、图形、键值和非有序方式存储数据。

Pros

  • 当需要动态行为时,它们比传统系统更好地扩展。
  • 这些系统针对非关系数据进行了更好的优化。
  • 允许执行写入时架构操作。

Cons

  • 使用 NoSQL 构建的系统基本上是非事务性的。
  • 创建的数据量巨大,不提供任何传统的数据库功能。
  • 当同时执行多个事务时,它不遵循一致性。

NewSQL

NewSQL 对数据库进行分类,这些数据库是关系模型与可扩展性的进步,数据类型的灵活性的组合。这些数据库专注于 NoSQL 中不存在的功能,这提供了强大的一致性保证。这涵盖了两层数据,一层关系数据和键值存储。

Pros

  • 它为传统的关系数据库引入了新的实现。
  • 它汇集了 SQL 和 NoSQL 的优势。
  • 在用户的类型和需求之间迁移很容易。

Cons

  • 它们提供对丰富传统系统的部分访问。
  • 它可能会导致内存中体系结构出现问题,以超过数据量。
  • 这种数据库的核心基础是关系系统,这使得理解变得棘手。

为什么关系数据库不适合大数据应用处理?

关系数据模型局限:只用于结构化数据的组织与存储管理 支持的数据类型较简单 难以支持互联网广泛应用的非结构化数据和复杂数据管理

Author

Efterklang

Posted on

2024-03-01

Updated on

2024-09-18

Licensed under

Comments