资料介绍
在目前的企业信息系统中,数据库还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行数据库设计,但应该那种方式是设计数据库的表结构的最好方法、设计时应遵从什么样的原则、四个范式如何能够用一种方式达到顺畅的应用等是我一直在思考和总结的问题,下文是我针对这几个问题根据自己的设计经历准备总结的一篇文章的提纲,欢迎大家一块进行探讨,集思广益。其中提到了领域建模的概念,但未作详细解释,希望以后能够有时间我们针对这个命题进行深入探讨。
1)不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。
2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。
3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。
4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:一个表应满足第二范式,且属性间不存在传递依赖。
5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1-N或N-N的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。
6)在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。这时,应根据反向工程的思路反馈给领域模型。如果表结构中存在多值依赖,则证明领域模型中的对象具有至少两个以上的职责,应根据第一条进行设计修正。第四范式:一个表如果满足BCNF,不应存在多值依赖。
- 《抑制开关磁阻电机振动的结构设计研究》pdf 3次下载
- 数据库教程之数据库系统设计课件的资料免费下载 17次下载
- 数据库设计开发案例教程之数据库设计的资料介绍 17次下载
- 数据库的设计概念总结 13次下载
- 数据库概念结构是如何设计的概念结构设计资料概述 22次下载
- 数据库学习入门资料之数据库的概念结构详细资料概述 0次下载
- 数据库设计的七大知识点总结详细资料免费下载 0次下载
- 数据库教程之如何进行数据库设计 21次下载
- 关系型数据库表结构的设计有什么技巧?两个设计技巧详细说明 13次下载
- 数据库静态结构如何设计?详细资料任务和方法说明 1次下载
- 数据库系统如何进行设计?详细方法资料概述 12次下载
- 如何进行数据库设计?数据库设计介绍和需求分析及结构设计资料概述 0次下载
- 如何使用PowerDesigner进行数据库静态结构设计?详细资料概述 0次下载
- 数据库系统是什么?数据库系统概念之数据库设计资料免费下载 1次下载
- 在线考试系统数据库如何设计?和通用权限管理方案的设计方案2篇论文 5次下载
- 数据库优化那些事 462次阅读
- 数据库分区、分库和分表 1955次阅读
- 机械结构设计解决方案 1034次阅读
- 基于ML的异构金属材料结构设计及性能预测 1139次阅读
- Tesla充电口结构设计的变化 879次阅读
- Python-mysql数据库基础 614次阅读
- MongoDB开源文档数据库的安装 965次阅读
- 云数据库和自建数据库的区别及应用 4412次阅读
- 干货:20个MySQL开源数据库架构设计原则 3278次阅读
- 变频电动机结构设计注意事项 4098次阅读
- 数据库和区块链之间有何区别? 5361次阅读
- 一文看懂数据库原理与应用 11.7w次阅读
- 基于COM威廉希尔官方网站 的SCADA系统数据库设计 2343次阅读
- SQL Server数据库学习总结 4577次阅读
- ADSS光缆结构设计与施工问题的探讨 2498次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 11次下载 | 免费
- 3嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 4DIY动手组装LED电子显示屏
- 0.98 MB | 3次下载 | 免费
- 5基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191186次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多