数据模型概述与数据库基础

简介: 数据模型是描述现实世界数据对象结构的形式化、真实和易理解的表示。分为概念模型(信息模型)和数据模型,前者面向用户,后者关注计算机实现。数据库是结构化、共享、低冗余的数据集合,提供数据独立性。数据库管理系统(DBMS)负责数据的存储、访问和管理,而数据库系统(DBS)包括数据库、DBMS、应用系统、DBA和用户。数据库系统开发涉及需求分析、系统设计(概念设计、逻辑设计、物理设计)、系统实现和运行维护(数据更新、备份、分析等)。

数据模型概述

什么是数据模型 <>

数据模型是用于抽象、表示和处理现实世界数据对象结构的一种描述方式,是对客观世界的模拟。它应满足以下要求:

  • 形式化:以书面形式表达,能够清晰反映客观世界。
  • 真实性:尽可能准确地体现真实情况。
  • 易理解性:便于人们理解和计算机实现。

两类模型 <>

模型分为两个层次:

  1. 概念模型(信息模型)
  • 从用户的角度对数据和信息建模,不涉及太多计算机专业知识。
  • 直接面向客观世界建模。
  1. 数据模型
  • 包括网状模型、层次模型、关系模型、对象模型等。
  • 从计算机系统的角度对数据建模,关注实际的计算机实现。

客观对象的抽象过程:

  1. 现实世界对象抽象为概念模型。
  2. 将概念模型转化为特定DBMS支持的数据模型。

概念模型的重要性:

  • 是现实到机器世界间的桥梁。
  • 分离业务模型与计算机实现,降低复杂性,提高成功率。

数据概念

数据是数据库中存储和管理的基础:

  • 数据定义:描述事物的符号记录。
  • 数据种类:数字、文字、图形、图像、声音等。
  • 数据特点:数据与其语义紧密相关,通常需满足特定语义约束。

为什么需要数据库

数据库用于存储和管理大量数据,供应用程序进一步处理,提取有用信息:

  • 数据库定义:长期储存在计算机中,有组织、可共享的大规模数据集合。
  • 特性
  • 组织结构化。
  • 多用户共享。
  • 冗余度低。
  • 数据独立性高(逻辑和物理独立性)。
  • 易于扩展。

数据库管理系统 (DBMS)

DBMS是用户与操作系统间的软件,提供多种接口,管理的数据可供外部应用程序使用:

  • 用途
  • 科学组织和存储数据。
  • 高效数据访问和维护。
  • 提供数据定义语言 (DDL) 和数据操纵语言 (DML)。
  • 管理数据安全性、完整性和并发使用。
  • 实现故障恢复和数据库维护。

数据库系统 (DBS)

DBS是在计算机系统中引入数据库后的整体构成,包括数据库、DBMS、应用系统、DBA和用户:

  • 构成
  • 数据库。
  • DBMS及其开发工具。
  • 应用系统。
  • DBA和用户群体。

数据库系统开发的主要过程: <>

Step1: 需求分析

需求文档

  • 功能需求(功能需求说明书):用例图 + 时序图
  • 数据需求(数据需求说明书):用例图 + 时序图

Step2: 系统设计

总体设计与详细设计

  • 系统功能设计
  • 数据结构设计
  • 概念设计:建立概念模型(如E-R模型,与DBMS无关)
  • 逻辑设计:建立逻辑模型(如关系模型,与DBMS密切相关)
  • 还包括
  • 数据结构优化设计
  • 数据完整性设计
  • 数据安全设计
  • 数据存储设计
  • 物理设计:建立物理存储模型

Step3: 系统实现

  • 数据库实现
  • 创建数据库
  • 分布式数据库
  • 并行数据库
  • 应用开发
  • 程序代码(访问数据:SQL、编程SQL)

Step4: 系统运行与维护

  • 运行系统
  • 数据维护
  • 数据更新
  • 结构修改
  • 数据备份
  • 数据分析
  • 数据仓库
  • 数据挖掘
  1. 数据库开发主要过程:
    数据需求 → (概念设计 → 逻辑设计 → 物理设计) → 数据库实现 → 数据维护 → 数据分析
目录
相关文章
|
4月前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
119 5
|
7月前
|
存储 机器学习/深度学习 搜索推荐
深入解析矢量数据库的数据模型与索引机制
【4月更文挑战第30天】本文深入探讨了矢量数据库的数据模型和索引机制。向量数据库以高维向量表示数据,采用稀疏或密集向量形式,并通过数据编码和组织优化存储与检索。索引机制包括基于树的(如KD-Tree和Ball Tree)、基于哈希的(LSH)和近似方法(PQ),加速相似性搜索。理解这些原理有助于利用矢量数据库处理大规模高维数据,应用于推荐系统、图像搜索等领域。随着技术发展,矢量数据库将扮演更重要角色。
|
3月前
|
前端开发 数据库 开发者
数据模型(数据库表设计)生成代码
BizWorks ToolKit 插件集成 Mybatis-Plus 代码生成工具,支持从数据库表批量生成代码,简化开发流程。本文详细介绍配置方法及项目示例,包括配置文件格式、生成选项及具体操作步骤,帮助开发者快速实现代码同步更新。配置文件 `.mp.yaml` 支持自定义输出目录、生成组件等,适用于多种项目结构。
58 0
|
4月前
|
API 数据库 开发者
【独家揭秘】Django ORM高手秘籍:如何玩转数据模型与数据库交互的艺术?
【8月更文挑战第31天】本文通过具体示例详细介绍了Django ORM的使用方法,包括数据模型设计与数据库操作的最佳实践。从创建应用和定义模型开始,逐步演示了查询、创建、更新和删除数据的全过程,并展示了关联查询与过滤的技巧,帮助开发者更高效地利用Django ORM构建和维护Web应用。通过这些基础概念和实践技巧,读者可以更好地掌握Django ORM,提升开发效率。
51 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
49 5
|
6月前
|
存储 关系型数据库 MySQL
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库数据模型概念入门及基础的SQL语句2024
MySQL数据库数据模型概念入门及基础的SQL语句2024
44 0
|
6月前
|
存储 监控 数据管理
数据库原理与应用——简答题练习(数据管理技术发展、数据库主要特征、数据模型、关系模型、实体性之间的关系、DBMS的功能、相关术语解释、数据库系统)
数据库原理与应用——简答题练习(数据管理技术发展、数据库主要特征、数据模型、关系模型、实体性之间的关系、DBMS的功能、相关术语解释、数据库系统)
84 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
115 0
|
6月前
|
存储 关系型数据库 MySQL
MySQL数据库——索引(1)-概述以及B-Tree结构
MySQL数据库——索引(1)-概述以及B-Tree结构
37 0