数据库设计系列3---事实发现详细介绍--需求收集和分析

简介:
在这个阶段,开发人员应该继续收集前面阶段所标示的用户视图的更多细节,产生用户的需求说明。用户的需求说明详细描述了数据库中应该包含的数据以及数据的使用方式。在收集更多的用户视图相关的数据的同时,也应该努力收集系统的一般需求,收集信息的目的是产生系统的需求说明。系统需求描述了在新的数据库应用中所要包含的各种特性,如网络需求,共享访问需求,效率需求以及安全级别需求。
       在收集用户视图需求的数据和整个系统需求的数据时,开发人员将会了解当前系统的运行方式。当然,我们正在建立一个新的系统,在给新的系统引进新的优良特性的同时还应该尽量保留老系统的好的方面。与此阶段相关的一个非常重要的活动是怎样处理有多个视图的情况。
1.        收集数据库系统的用户视图的更多的情况。
a)          为了找到每个用户视图的更多的需求信息,可以再次使用事实发现技术,如面谈和观察业务运转,使用以下的问题类型来了解一个用户视图所需要的数据。
                         i.               在**中,你要包含哪些类型的数据?
                       ii.               你要对**作哪些操作?
可以针对数据库中要存储的所有数据问类似的问题,这些问题的回答有助于确定用户需求定义中的必要细节。
2.        收集数据库系统的系统需求信息
a)          在获取数据库视图需求的同时,还应该收集关于系统需求的更一般的信息,可以问以下的问题:
                         i.               数据库中经常要进行什么操作?
                       ii.               什么事务对这种业务操作时非常关键的?
                      iii.               什么时候运行严格的事务?
                     iv.               他们运行的高峰期,正常期和低谷期各是什么?
                       v.               数据库系统需要那种类型的安全机制?
                     vi.               是否存在只能由某些成员使用的敏感数据?
                    vii.               要保存那些历史数据?
                  viii.               对数据库系统的网络和共享访问有哪些需求?
3.        设计系统的用户视图
a)          从以上的分析中可以得知用户对那种实体的视图有需求,可以使用视图集中式方法和视图集成方法来设计用户的视图。使用视图集中式方法把具有类似视图需求的用户视图合并起来作为一种视图并且命名。开发各自的用户视图模型,之后再使用视图集成的方式把视图模型合并起来。列出一个主要数据类型的用户视图的交叉引用表是比较方便的,究竟使用视图集中式方法还是使用视图集城式方式没有一个准确的区分规则,作为数据库开发人员,应该根据对数据库系统的复杂性的估计和不同视图的数据重叠程度来作决定。
4.        创建各个用户视图的用户需求定义
a)          用户需求定义作为两部分列出:第一部分描述用户视图使用的数据,第二部分提供数据怎样被用户视图使用,即在数据上执行的事务
                         i.               数据需求:数据需求描述了每个事务需要的几本院是的数据,按照从整体到局部,从大到小顺序依次执行。比如一个公司的数据包括地址,街道,城市,邮编,每个公司都有员工,包括一个经理,助理等。并且介绍他们之间的基本关系和属性。
                       ii.               事务需求:主要的数据需求包括数据录入需求,比如录入一个公司的详细情况,录入新员工的详细情况;数据更新/删除,更新/删除分公司的信息,更新/删除给定员工的信息等,数据查询,也就是数据库必须要支持的事务,如:列出给定公司的所有员工,
5.        创建数据库系统的系统说明
a)          系统说明应该列出该数据库系统的所有的重要特点,应该在系统说明中描述的特点如下
                         i.               初始数据库的大小:主要说明说据库在初始的时候存储那些数据大约多少记录,如大约有50个录像供应商和1000盘录像订单。
                       ii.               数据库的增长速度:描述每个周期(月或者天)将会出现多少数据如:每月大约有100部新片,每部录像有20份拷贝添加到数据库中。
                      iii.               记录查找的类型和平均数量:描述所有查询操作的可能次数,比如:查询分公司的详细情况—大约每天10次
                     iv.               网络和共享访问需求:描述访问的兵法频率,比如:系统必须能够支持每个分公司的至少三名成员同时访问。
                       v.               性能:在高峰期和非高峰期数据库应用系统的相应时间,比如保存,查询等在规定的时间内。
                     vi.               安全性:数据库的访问权限和不同用户的访问权限。
                    vii.               备份和法律问题:每个国家都有管理个人数据的计算机存储方式,数据库应用系统应该调查并且实现所要遵守的法律。
数据库应用的初始需求基本完成了,剩下的就是把这些成果拿回去进行分析,并进行下一步的逻辑数据库设计了。
本文转自凌辉博客51CTO博客,原文链接http://blog.51cto.com/tianli/48581如需转载请自行联系原作者

lili00okok
相关文章
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
758 158
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
889 156
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
922 161
|
关系型数据库 MySQL 分布式数据库
PolarDB 与传统数据库的性能对比分析
【8月更文第27天】随着云计算技术的发展,越来越多的企业开始将数据管理和存储迁移到云端。阿里云的 PolarDB 作为一款兼容 MySQL 和 PostgreSQL 的关系型数据库服务,提供了高性能、高可用和弹性伸缩的能力。本文将从不同角度对比 PolarDB 与本地部署的传统数据库(如 MySQL、PostgreSQL)在性能上的差异。
1331 1
|
存储 数据挖掘 数据处理
2600 万表流计算分析如何做到? 时序数据库 TDengine 助力数百家超市智能化转型
在生鲜超市的高效运营中,实时数据分析至关重要。万象云鼎的“云鲜生”通过智能秤+网关+软件系统的组合,实现了销售数据的精准管理与优化。而在数据处理方面,TDengine 的流计算能力成为了这一方案的核心支撑。本文详细分享了“云鲜生”如何利用 TDengine 高效存储和分析海量销售数据,在优化超市运营、提升用户体验的同时,解决高基数分组、高并发查询等技术挑战。
529 1
|
关系型数据库 分布式数据库 数据库
瑶池数据库大讲堂|PolarDB HTAP:为在线业务插上实时分析的翅膀
瑶池数据库大讲堂介绍PolarDB HTAP,为在线业务提供实时分析能力。内容涵盖MySQL在线业务的分析需求与现有解决方案、PolarDB HTAP架构优化、针对分析型负载的优化(如向量化执行、多核并行处理)及近期性能改进和用户体验提升。通过这些优化,PolarDB HTAP实现了高效的数据处理和查询加速,帮助用户更好地应对复杂业务场景。
617 4
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
SQL 关系型数据库 MySQL
Vanna使用ollama分析本地数据库
这篇文章详细介绍了如何使用Vanna和Ollama框架来分析本地数据库,实现自然语言查询转换为SQL语句并与数据库交互的过程。
3169 7
Vanna使用ollama分析本地数据库

热门文章

最新文章