软件系统分析与设计(软件设计师笔记)

发布时间:2023年12月17日

😀前言
数据库设计是软件系统分析与设计中的关键环节之一,它为系统的数据管理提供了坚实的基础,确保了数据的高效存储和检索。在本章中,我们将探讨数据库设计的关键步骤,从用户需求的分析开始,逐步深入研究概念设计、逻辑设计和物理设计。这一过程不仅涉及技术方面的知识,还需要与用户进行紧密合作,以确保最终的数据库系统能够满足他们的需求。

🏠个人主页:尘觉主页
在这里插入图片描述

🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉

在csdn获奖荣誉: 🏆csdn城市之星2名
???? ???? ???? ???? ???? ???? ???? ???? 💓Java全栈群星计划top前5
???? ???? ???? ???? ???? ???? ???? ???? 🤗 端午大礼包获得者
???? ???? ???? ???? ???? ???? ???? ???? 🥰阿里云专家博主
???? ???? ???? ???? ???? ???? ???? ???? 😉亚马逊DyamoDB结营

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊

第十一章 软件系统分析与设计

数据库设计的步骤

  1. 用户需求分析
    • 在这一阶段,与用户进行密切的沟通,以了解他们的需求和期望。
    • 创建需求说明文档,其中包括系统应该支持的功能和数据需求。
    • 开发数据字典,用于描述数据元素和它们的属性。
    • 绘制数据流程图,以可视化数据在系统中的流动。
  2. 概念设计
    • 在概念设计阶段,将用户需求转化为高级抽象的数据库模型。
    • 对数据进行分类、聚合和概括,以确定实体、属性和联系。
    • 选择合适的数据模型,如实体-关系模型(E-R 模型)。
    • 开始设计局部应用的 E-R 图,以表示数据实体之间的关系。
    • 合并不同 E-R 图之间的冲突,如属性冲突、命名冲突和结构冲突。
  3. 逻辑设计
    • 在逻辑设计阶段,将概念设计中的模型转化为具体的数据模型,通常是关系数据库模型。
    • 确定如何将 E-R 图转换成指定的数据模型,通常是关系模型。
    • 确定数据的完整性约束,如主键、外键和唯一约束。
    • 确定用户的视图,即哪些数据将对用户可见,以及如何访问这些数据。
  4. 物理设计
    • 在物理设计阶段,确定数据库的物理结构,包括存储、索引和性能优化。
    • 选择存储引擎和文件组织方式,以提高数据存取效率。
    • 创建物理表结构和索引,以支持逻辑设计中定义的数据模型。
    • 优化查询性能,包括查询调优和索引优化。
需求分析

需求分析阶段的文档:建立需求说明文档、数据字典和数据流程图。

概念结构设计

对需求分析阶段所得到的数据进行分类、聚集和概括,确定实体、属性和联系。

  • 选择局部应用
  • 逐一设计分 E-R 图
  • E-R 图合并

🔺E-R 图之间的冲突

  1. 属性冲突。同一属性可能会存在于不同的分 E-R 图。
  2. 命名冲突。异名同义。
  3. 结构冲突。同一对象在某一分 E-R 图中被抽象为实体,而在另一分 E-R 图中又被抽象为属性。
逻辑结构设计

逻辑结构设计阶段的主要工作步骤包括:确定数据模型、将 E-R 图转换成为指定的数据模型、确定完整性约束和确定用户视图。

😄总结

数据库设计包括四主要步骤:用户需求分析、概念设计、逻辑设计和物理设计。首先,需求分析阶段确定用户需求,然后在概念设计中将其抽象为数据库模型。逻辑设计将该模型映射到具体数据库结构,而物理设计则优化存储和性能。这一过程确保数据库能够满足用户需求并高效运行。

😁热门专栏推荐
想学习vue的可以看看这个

java基础合集

数据库合集

redis合集

nginx合集

linux合集

手写机制

微服务组件

spring_尘觉

springMVC

mybits

等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

🤔欢迎大家加入我的社区 尘觉社区

文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

文章来源:https://blog.csdn.net/apple_67445472/article/details/133784359
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。