漫画 | 数据库设计全过程

简介: 漫画 | 数据库设计全过程

引言


数据库已成为现代信息系统的基础和核心,它的设计全过程可划分为规划、需求分析、概念设计、逻辑设计、物理设计、实现和运行维护


image.png


规划


image.png


调查研究


对数据库的应用系统、面向对象、使用单位等与数据库功能和数据存在关联的事物进行全面理解和调查。


image.png


可行性分析


从技术、可用设备、时间效率、经济效益、法律法规等方面进行可行性分析,然后产出可行性分析报告,确定其可行性


确定目标和计划


在经过调查研究和可行性分析之后,可以开始确定目标、工作流程和开发计划等


image.png


需求分析


image.png


分析用户活动


了解用户的业务活动和职能,弄清楚其业务流程,如果业务复杂,可以分成多个子业务处理,最终我们要搞清楚业务功能和流程,画出业务流程


确定系统范围


顾名思义,确定系统范围即确定数据库的数据和功能范围,如果是划分为多个数据库时,需要确定每个数据库涉及的数据范围


分析用户活动涉及的数据


深入分析用户的业务活动,弄清楚的业务数据的流向和需要加工处理的内容,得出数据流图


分析系统数据


对数据库设计数据进行分析,确定数据库存储方式等等内容,产出数据字典


概念设计


image.png


概念设计可以分为三步,局部概念模型、全局概念模型、模型评审

 

局部概念模型设计


  • 确定局部概念模型的范围
  • 定义实体
  • 定义联系
  • 确定属性
  • 逐一画出所有的局部ER图,并附以相应的说明文件

 

全局概念模型


  • 确定公共实体类型
  • 合并局部E-R图
  • 消除不一致因素
  • 优化全局E-R图
  • 画出全局E-R图,并附以相应的说明文件


模型评审


  • 用户评审
  • 开发人员评审


逻辑设计


image.png


将概念结构转换为一般的关系、网状、层次模型


将转换来的关系、网状、层次模型向指定数据库管理系统支持的数据模型转换


对数据模型进行优化


物理设计


image.png


物理设计可分为:存储结构设计、确定存放位置、设计存取方法、考量数据完整性和安全性、数据库执行程序设计

 

存储结构设计包括表的设计、表字段设计、字段类型设计、字段长度设计等等

 

确定存放位置包括存储物理位置,比如是否需要分服务器等等,可以考虑把需要经常访问或者某一模块需要的数据组合放在一起

 

程序设计可以帮助实现解除系统应用程序和数据的耦合,当系统应用程序变更时,可不修改数据结构,反之亦然

 

实现


image.png


image.png


image.png


image.png


image.png


运行维护



运行维护是一个长期的工作,应用程序执行、环境变更、数据存储内容不断变化等都要求不断的对数据库进行监测、评估、调整、备份和修改



目录
相关文章
|
机器学习/深度学习 人工智能 编解码
AI人像特效之「一键生成N次元虚拟形象」
为了零成本低门槛地提供极致酷炫的人像玩法,我们提出了一套人像风格化通用框架「AI Maleonn」AI 版神笔马良,用于一键生成风格百变的人物虚拟形象,在风格上涵盖手绘、3D、日漫、艺术特效、铅笔画等多种风格,同时可以支持面向小样本的专属风格定制,利用少量目标风格图即可实现快速迁移拓展;在处理维度上,不仅适用于生成头部效果,更支持全图精细化纹理转换,兼容多人场景;在模型鲁棒性上,有效克服了多角度姿态、面部遮挡等各类复杂场景,整体稳定性大大提升。
|
Web App开发 XML 安全
ZeroShell防火墙存在远程命令执行漏洞(CVE-2019-12725)
zeroshell防火墙存在远程命令执行漏洞,攻击者可通过特定URL链接对目标进行攻击!!!
2591 1
|
前端开发 Java 关系型数据库
最好用的七大顶级 API 接口测试工具
现在 API 接口已经成为软件开发重要的组成部分,由于 API 并没有 GUI 图形界面,无法直观的对接口进行测试,所以对于前后端开发来说,找到一套趁手的工具对 API 接口进行测试,了解开发的程序是否符合预期十分重要。面对批量的 API,手动测试变得非常低效,自动化 API 接口测试工具,帮我们提高测试效率的同时,更能帮我们保证程序的稳定和安全性。
4766 0
最好用的七大顶级 API 接口测试工具
|
8月前
|
数据采集 监控 API
【量化基础】数据驱动决策:从零接入StockTV实时行情API
本文介绍量化交易基础,详解如何用Python对接StockTV实时行情API,获取毫秒级数据。涵盖REST与WebSocket实战代码,助你构建稳定策略,从数据获取迈向自动化交易,夯实量化基石。(238字)
|
9月前
|
JSON 测试技术 数据格式
用n8n为微信公众号接口打造自动化测试
本文介绍如何用开源工具n8n搭建微信公众号接口自动化测试系统,实现自动回复、菜单点击等功能的自动化验证。通过可视化工作流,结合HTTP请求、条件判断与定时任务,替代手动测试,提升效率与稳定性,适合公众号长期维护。
|
机器学习/深度学习 边缘计算 人工智能
粒子群算法模型深度解析与实战应用
蒋星熠Jaxonic是一位深耕智能优化算法领域多年的技术探索者,专注于粒子群优化(PSO)算法的研究与应用。他深入剖析了PSO的数学模型、核心公式及实现方法,并通过大量实践验证了其在神经网络优化、工程设计等复杂问题上的卓越性能。本文全面展示了PSO的理论基础、改进策略与前沿发展方向,为读者提供了一份详尽的技术指南。
粒子群算法模型深度解析与实战应用
|
机器学习/深度学习 人工智能 程序员
利用 AI 进行代码审查:提升软件质量的新途径
【10月更文挑战第18天】本文探讨了利用 AI 进行代码审查的优势和方法,包括提高审查效率、减少人为错误、确保一致性和标准化以及提供实时反馈。介绍了 SonarQube、DeepCode 和 GitHub Copilot 等工具,并分享了实施 AI 代码审查的最佳实践。通过结合 AI 和人工审查,可以显著提升软件质量。
|
前端开发
react配置proxy代理的两种方式
本文介绍了在React项目中配置代理的两种方式:通过在package.json中添加代理配置,以及通过创建setupProxy.js文件来实现更复杂的代理规则。
1076 3
|
中间件 测试技术 数据库
开发人员之软件开发流程八个步骤
软件开发流程是指软件开发设计的一般流程,包括软件的总体结构、模块的组成、功能的设计、程序的编译、调试、联调、测试等过程。
1945 2
|
人工智能 运维 数据库
重识 APO:DeepSeek 掀起可观性领域变革 | 龙蜥生态
APO 专为可观测性领域打造了工作流编排平台。