Atitit db model 数据库快速建模法  开发效率

目录

1. 结构(数据)设计 行为(处理)设计: 1

2. 业务建模阶段 1

2.1. Ui建模法,根据表单字段建立表字段 2

2.2. 3. 实体建模法  根据现实中的表单建模 2

3. 设计方法推荐 具体物理建模 2

3.1. 2) 用约束而非商务规则强制数据完整性 3

3.2. 5) 采用视图 3

3.3. Free scheme  多用json字段 3

3.4. 数据适当冗余 反范式设计 3

3.5. 定义数据(如数据类型、大小和默认值)。 3

3.6. 确保数据的完整性(使用业务规则和验证检查)。 3

4. 表设计原则 4

4.1. 1) 标准化和规范化 4

4.2. 2) 数据驱动 4

4.3. 3) 考虑各种变化  json字段多使用, 4

4.4. 4) 每个表中都应该添加的3 个有用的字段 时间 版本 任务 4

4.5. 7) 选择数字类型和文本类型尽量充足 5

4.6. 8) 增加删除标记字段 5

5. 流程建模 5

5.1. Sp n Edd trigger 5

6. Ref 5

  1.  结构(数据)设计 行为(处理)设计:

数据库设计应该与应用系统设计相结合

结构(数据)设计:设计数据库框架或数据库结构

行为(处理)设计:设计应用程序、事务处理等

  1.  业务建模阶段

在这里,我们将整个业务很清楚地划分成了几个大的业务主线,例如:养老,失业,工伤,生育,医疗,劳动力等着几个大的部分,然后我们可以根据这些大的模块,在每个业务主线内,考虑具体的业务主线内需要分析的业务主题。

因此,业务建模阶段其实是一次和业务人员梳理业务的过程,在这个过程中,不仅能帮助我们技术人员更好的理解业务,另一方面,也能够发现业务流程中的一些不合理的环节,加以改善和改进。

同时,业务建模阶段的另一个重要工作就是确定我们数据建模的范围,例如:在某些数据准备不够充分的业务模块内,我们可以考虑先不建设相应的数据模型。等到条件充分成熟的情况下,我们可以再来考虑数据建模的问题。

业务建模一般是view group报表组合表

也可能是单表模式

  1. Ui建模法,根据表单字段建立表字段
  2. 3. 实体建模法  根据现实中的表单建模

实体建模法并不是数据仓库建模中常见的一个方法,它来源于哲学的一个流派。从哲学的意义上说,客观世界应该是可以细分的,客观世界应该可以分成由一个个实体,以及实体与实体之间的关系组成。那么我们在数据仓库的建模过程中完全可以引入这个抽象的方法

  1. 设计方法推荐 具体物理建模
  1. 2) 用约束而非商务规则强制数据完整性

采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。

  1. 5) 采用视图

为了在数据库和应用程序代码之间提供另一层抽象,可以为应用程序建立专门的视图而不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自由。

  1. Free scheme  多用json字段

只有索引的字段独立处理啊,其他都用json ext

  1. 数据适当冗余 反范式设计

相信大家都知道范式,更有好多人把3NF奉为经典,3NF确实很好,但是3NF是几十年前提出来的,那个时候的数据量以及访问频率和2012年完全不是一个数量级的;因此我们绝对不能一味地遵守3NF;在整个数据建模过程中,在保证数据结构清晰的前提下,尽量提高性能才是我们关注的要点,因此笔者大力倡导数据适当冗余

  1. 定义数据(如数据类型、大小和默认值)。
  2. 确保数据的完整性(使用业务规则和验证检查)。

定义操作过程(如安全检查和备份)。

选择数据存储技术(如关系、分层或索引存储技术)。

2. 表和字段的设计(数据库逻辑设计)

  1. 表设计原则

    1. 1) 标准化和规范化

事实上,为了效率的缘故,对表不进行标准化有时也是必要的。

  1. 2) 数据驱动

采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性。

举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库等),不妨把相应的连接和路径信息存储在用户界面支持表里。还有,如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。角色权限管理也可以通过数据驱动来完成。事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程。

  1. 3) 考虑各种变化  json字段多使用,

在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。

举例,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。

字段设计原则

  1. 4) 每个表中都应该添加的3 个有用的字段 时间 版本 任务

dRecordCreationDate,在VB 下默认是Now(),而在SQL Server · 下默认为GETDATE()

sRecordCreator,在SQL Server 下默认为NOT NULL DEFAULT · USER

nRecordVersion,记录的版本标记;有助于准确说明记录中出现null 数据或者丢失数据的原因  ·

  1.  7) 选择数字类型和文本类型尽量充足

在SQL 中使用smallint 和tinyint 类型要特别小心。比如,假如想看看月销售总额,总额字段类型是smallint,那么,如果总额超过了$32,767 就不能进行计算操作了。

而ID 类型的文本字段,比如客户ID 或定单号等等都应该设置得比一般想象更大。假设客户ID 为10 位数长。那你应该把数据库表字段的长度设为12 或者13 个字符长。但这额外占据的空间却无需将来重构整个数据库就可以实现数据库规模的增长了。

  1. 8) 增加删除标记字段

在表中包含一个“删除标记”字段,这样就可以把行标记为删除。在关系数据库里不要单独删除某一行;最好采用清除数据程序而且要仔细维护索引整体性。

  1. 流程建模

    1. Sp n Edd trigger
  1. Ref

Atitit 数据建模的技术总结

Atitit 数据建模的技术总结

目录

1. 数据建模 1

2. 常见建模技术 2

2.1. 电子表格程序 计算机辅助设计 (CAD)  2

2.2. Er图 2

3. 建模方法 2

3.1. . 范式建模法(Third Normal Form,3NF) 2

3.2. 2. 维度建模法 2

3.3. 3. 实体建模法 3

4. 建模过程中的主要活动包括: 3

4.1. 确定数据及其相关过程(如实地销售人员需要查看在线产品目录并提交新客户订单)。 3

4.2. 定义数据(如数据类型、大小和默认值)。 3

4.3. 确保数据的完整性(使用业务规则和验证检查)。 3

4.4. 定义操作过程(如安全检查和备份)。 3

4.5. 选择数据存储技术(如关系、分层或索引存储技术)。 3

5. 建模过程中,我们需要经历一般四个过程: 3

5.1. 业务建模领域建模逻辑建模物理建模 3

6. 数据仓库的发展大致经历了这样的三个过程: 4

6.1. 简单报表阶段: 4

6.2. 数据集市阶段: 4

6.3. 数据仓库阶段: 4

7. 问题注意 4

7.1. Fremmschame 4

7.2. 数据适当冗余 反范式设计 4

8. 图 8. 业务建模阶段 4

8.1. 业务建模一般是view group报表组合表 5

Atitit db model 数据库快速建模法 开发效率 目录 1. 结构(数据)设计 行为(处理)设计: 1 2. 业务建模阶段 1 2.1. Ui建模法,根据表单字段建立表字段 2 2.2.相关推荐

  1. 字段校验 css样式_CSS伪类:根据输入的表单字段样式

    字段校验 css样式 The following is an extract from our book, CSS Master, written by Tiffany B. Brown. Copie ...

  2. react 统一字段验证_如何使用React的受控输入进行即时表单字段验证

    react 统一字段验证 by Gosha Arinich 通过Gosha Arinich 如何使用React的受控输入进行即时表单字段验证 (How to use React's controlle ...

  3. 如何禁用Web表单字段/输入标签上的浏览器自动完成功能?

    如何在主要浏览器中为特定input (或form field )禁用autocomplete ? #1楼 您可以在输入中使用. 例如; <input type=text name="t ...

  4. php表单的输出,php – Joomla输入表单字段输出

    我想做的就是给joomla输入表单提供基本的bootstrap样式: some text 我使用带有less的mixin将样式应用于现有的输入类 //input form fields .valida ...

  5. html表单文本框怎么输出函数值,如何获取用户输入的html文本表单字段传递给javascript函数的值?...

    我想通过生成用户必须输入到文本输入表单字段的随机数创建我自己的反垃圾邮件过滤器,如果它是正确的,他们进入下一页,如果不是,则显示错误数字输入不正确.如何获取用户输入的html文本表单字段传递给java ...

  6. adobe reader java_使用PDF框设置的表单字段值在Adobe Reader中不可见

    尝试使用Apache PDFBOX(1.8.5)从字段中设置一些问题我遇到了问题 . 我有几个不同的静态PDF用于测试 . 使用以下代码,我可以设置表单字段的值,并保存生成的PDF . 然后,我可以在 ...

  7. mysql修改表字段小数点精度,mysql – 如何配置Rails以在表单字段中以正确的精度输出小数?...

    我想在我的(sqlite和mysql)数据库中存储货币.我正在尝试使用十进制列类型,其中:scale => 2. 这不符合预期.如果我保存记录:rate => 10.50,它作为10.5存 ...

  8. oracle 单表查重,Oracle如何用单字段或多字段进行查重

    最近在整理数据形成信用报告,发现重复的数据真的多,梳理都好久.我就做个笔记把去掉重复数据的方法整理下来.方便我后期查阅. 我将我目前已知的两种去重方法分为:视图去重和表去重.原理就是有无rowid这个 ...

  9. oracle中的单表查询,单字段与多字段排序

    -单表的查询学习 –查询表的所有数据 select *from 表名; *代表所有 select *from emp; –查询表中指定字段的值 :select 字段名1,字段名2,-from表名 se ...

  10. 表单字段三维数组名_【技术汇】回转式空气预热器温度场三维数值模拟

    电力行业节能环保公众服务平台--权威.专业.创新的电力节能环保公众号 全文3672字 阅读约需3.5分钟 作者 | 闫顺林  曹保鑫 华北电力大学能源动力与机械工程学院 [摘 要]烟气经选择性催化还原 ...

最新文章

  1. linux批量管理矿机,华硕最新的挖矿主机板可以一次控制 20 个 GPU
  2. 20180915牛客A 你好诶加币
  3. java调用app接口代码_java servlet手机app访问接口(二)短信验证
  4. !!!后续博客写到简书 + 博客园留博客目录
  5. redis的运行机制
  6. tensorflow应用问题记录
  7. NI Vision 开发环境
  8. python代码表达失恋_利用python程序浪漫安慰失恋妹纸
  9. php查找sql,sql如何去重查询
  10. html如何实现文章分类功能,HTML文本自动分类技术的研究与工具的实现
  11. seqCNA笔记-处理来自肿瘤样本的高通量测序拷贝数数据
  12. Hadoop将过时了?
  13. 山东新华书店招聘计算机岗位试题,2020山东新华书店招聘考试都考什么
  14. python制作关键图谱_知识图谱neo4j—利用python进行知识入库
  15. Redis(2)短信验证码登录
  16. 复杂网络实验1:ER随机图(matlab)
  17. 计算机科学(Computer Science)简要分类
  18. 会计学基础--试算平衡表
  19. iPhone查找序列号生成函数
  20. Oracle rownum、rowid 详解

热门文章

  1. c++ 结构体和类的区别
  2. html设置隐藏窗口,html – 在窗口大小调整时逐个隐藏菜单项
  3. linux 创建交换文件格式,Linux系统下的交换分区和交换文件的含义 (创建交换分区文件基本文件的swap)...
  4. 计算机应软件与理论学什么,计算机软件与理论
  5. css居中的几种方法_css两种常用的不定宽高的水平垂直居中方法,记住它,不再为样式发愁...
  6. linux 修改文件夹权限_Linux新手非常实用的20个命令
  7. arcgis水文分析_值得收藏!用DEM做水文分析前,你还需要储备的知识
  8. 【转】APP推广什么是cpa,cps,cpm
  9. crossplaform---Nodejs in Visual Studio Code 04.Swig模版
  10. Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程