11招教你如何玩转数据库设计偷吃蜂蜜的熊

Rule1:弄清(OLTP或OLAP)应用的本质是什么?

当开始制作数据表单设计时,首先,要分析你设计的这个程序的本质是什么?是事务性还是分析性的?你会发现许多开发者会默认应用常规化规则,随后才考虑性能问题而不考虑应用的本质。

关于事务性和分析性,一起来看下两者区别。

Transactional:这种应用,用户对CRUD较为感兴趣,即创建、读取、更新和删除记录。这种数据,官方名称之位OLTP。

Analytical:用户对分析、报告、预测等方面感兴趣。这类数据库很少有嵌入和更新。主要目的是为了尽快获取和分析数据。官方名称之为OLAP。

换句话说,如果你想以嵌入、更新、删除为重点,可选择常规化的表单设计或者创建一个简单的非常规化的数据架构。

下面是一个简单的图表,左侧显示名称和地址,采用非规范化结构设计出的一款简单的常规表单。

Rule2:将数据按照逻辑思维分成不同的块,让生活更简单

这个规则其实就是“三范式”中的第一范式。这样设计的目标,是为了当你需要查询套多的字符串解析功能时,如子串,charindexetc,它能为你提供这项功能。

例如,注意观看下面的图表,如果你想查询某个学生的姓名,通过“Koirala”和“Harisingh”来进行区分。

因此,更好的方法就是打破数据逻辑思维,以便我们编写更加简洁、容易查询的表单。

Rule3:当数据太多时,rule2不可用

Rule4:将重复、不统一的数据视作你最大的敌人

聚焦和重构复制数据。我比较担心的不是复制数据所需要的磁盘空间而是它因此而造成的混乱。

从下面的图表中,“5thStandard”和“Fifthstandard”意思是相同的,你可以说是因为数据或者验证数据录入到你的系统原因,如果你想通过报表来显示他们的不同之处,从用户的角度开看,这是非常困难的。

其中一个解决方法就是将不同的任务栏把相同的数据通过新建一个键入值联接在一起。如图。我们通过创建一个新的条目“Standards”即可将数据重新排,显示相同的部分。

Rule5:注意被分隔符分割的数据

前面的规则2即“第一范式”提到避免数组重复,如图所示。如果你看到教学大纲紧密排列在一起,这个领域中需要很多数据来填充,这种我们称之为“重复数组”。如果我们必须操纵这些数据,单凭查询是很困难的,我甚至还怀疑是否具备这个查询功能。

这些带分隔符的数据需要特别注意,如何利用更好的方法将这些数据移动到一个不同的任务栏中,以便更好的分类呢?如图:

观察该领域中的部分列表。如图,我们创建了rollnumber和standard,可以看到教学科目紧密联系在一起,但与学生学习的科目没有直接关联。如果我们想给每位学生更新教学科目,这似乎看起来是不符合逻辑的,但是通过键入standard条目转换这些数据就可达到目的。

这个规则告诉我们“所有的键入都应该依赖主键”。Allkeysshoulddependonthefullprimarykeyandnotpartially。

Rule7:选择派生列

如果你想进行OLTP应用首先得筛选出派生列,在OLAP中我们需要做一些求和,方可获得uixie很好的性能。如图,求的平均数需要利用marks和subject两列。

这个规则被称为第三范式,“不应该有依赖于非主键的列”(Nocolumnsshoulddependonothernon-primarykeycolumns)我个人认为是不能盲目使用此规则。如果该数据是计算过的数据,看清状况然后在决定实施第三范式。

Rule8:如果性能很关键,不要避开冗余数据

如果你迫切的考虑到性能规范化问题,通常情况下需要连接许多列表以及减少增加非规范化的列表以便来提高数据图表性能。

Rule9:数据多、繁杂

OLAP项目主要是为了处理数据繁多,例如,如图所示,假如你想获得每个国家、每个用户、每年的销售额度。对于这种情况,你可以创建一个实际销售列表条目(salesfacttable)。

Rule10:设计namevaluetable列表

明值表意味着它有一些键,这些键被其他数据关联着。如图所示,我们需要弄清楚currencytable(货币列)和countrytable(国家列),图中键入值(数字部分)显示的就是我们所需要的数据。

通过创建键入值(Type)来显示出不同区域的数据。

Rule11:无限制结构数据,自定义PK和FK

我们会经常碰到一些无限父子分级结构的数据。例如:考虑到一个多层次的营销方案,其中一个销售人员可以领导多个销售人员。在这种情况下,你可以使用自定义的主键和设置外键来帮助你实现统一。

您可以根据自身的项目需求选择不同的数据处理方法。如下所示:三种常规范式。

THE END
1.什么是设计?设计都干啥呢设计是什么,就是把需求变成类。 怎么变成类呢,就是就需求的共性和个性做合理的分割。 静的是共性,变的是个性。 保证,共性的稳定,也保证个性的灵活,这就是设计。 设计就是一系列的数据和关系。 数据和关系就形成了结构。 结构和关系的结构就可以模拟出大千世界。 https://blog.csdn.net/xie__jin__cheng/article/details/144019315
2.设计的本质是什么?设计的本质是什么? <blockquote>Future Simple的创始人兼CEO Uzi Shmilovici写了一篇文章,里面谈到了设计应该关注的核心问题,我们编译如下,供各位参考。</blockquote> 出色的设计很好,但是用户体验最重要。Path 2.0的设计就很出色,但从作者自己的感受来说,Path实际并没有没有什么用户,本人仅用过两次,周围使用Pathhttps://www.36kr.com/p/100143.html
3.什么是设计?设计的本质是什么?设计是一个将创意、美学与功能性结合的过程,旨在创造出具有吸引力和实用性的作品。其本质在于解决问题和满足用户需求,通过视觉、交互等方式传达信息和价值。 Adobe国际认证作为权威的设计技能认证体系,涵盖了从产品技能到职业技能的多个级别,广泛认可于全球148个国家及地区。获得Adobe国际认证证书,意味着设计师掌握了专业https://www.adobeacp.com/content/news?id=1722225397003797
4.设计的本质是什么设计的本质是怎么样的呢设计的本质是什么 设计的本质是怎么样的呢我的字典里没有不可能 小学教育 精选回答 1、设计的本质就是要通过适当的外部形状、色彩充分但不夸张地、真实而不虚假地表现出产品的内涵。设计的本身是创造,是人的生命力的体现。设计师前瞻信的构思是设计创新的来源,是人类都必须依赖的生命力与原动力。创新其实就是https://edu.iask.sina.com.cn/jy/2YgYSClubAT.html
5.设计的本质是什么设计必须体现设计师对于内容或是自身创意如何表达的思考,这种思考可以基于用户、基于性格、基于经验。 以上就可以提取出几个阐述设计含义的关键词:关系、感觉、洞察、用户、过程。 利用这些关键词,可以比较客观地回答问题“什么是设计?设计的本质是什么?”。https://www.jianshu.com/p/d1fadf84dc0e
6.设计是什么,设计的本质是什么设计是什么,设计的本质是什么 设计的本质在于创新,使我们的生活变得更美好,是人用现有的科技知识和社会人类学知识进行创新的过程。这个设计源于我们的想象。设计将情感与美学结合起来,同时也结合了技术与逻辑。设计是美的形式与功能的统一,是经济、技术和社会趋势的综合体。接下来就由小编为您介绍设计是什么,设计的https://www.36dianping.com/news/5737.html
7.未来课程如何设计学习的本质是什么 余安敏(上海市“双名工程”导师及基地主持人) 未来的不确定性给未来课程和教育带来了极大的挑战。我们在设计未来课程时,应该更多地考虑学习的本质。有些教师对学习的认识比较简单,认为学习无非是传授知识,然后解疑释惑,再之后做练习题。学生经过大量训练后考好每次考试,打通升学路径……但这并非是http://www.jyb.cn/rmtzgjsb/201911/t20191105_272754.html
8.设计不是一种技能,而是捕捉事物本质的感觉能力和洞察能力。读《设计于是我们开始思考,在生活中,怎样去寻找幸福呢?就要从生活的点滴开始。我认为现在的日本是个很理想的生活场所,因为经济太热的话,人们只会一窝蜂地盲目做事,无暇去思考什么是生活的本质,也就得不到真正的幸福。” 日本设计于国际上之所以拥有牢不可破的地位,是因为他们对自己的长处非常清楚。当每一个人都盯紧中国市场https://www.huxiu.com/article/8441.html
9.工业经济领域百问百答41.什么是智能制造?智能制造的本质与核心是什么? 答:智能制造是基于新一代信息技术与先进制造技术深度融合,贯穿于设计、生产、管理、服务等制造活动各个环节,具有自感知、自决策、自执行、自适应、自学习等特征,旨在提高制造业质量、效益和核心竞争力的先进生产方式。 https://www.zjk.gov.cn/content/bwbd/197960.html
10.从工业设计到游戏设计:形式功能与游戏的本源价值论本质 在正式开始之前,先谈谈什么是工业设计,相信很多读者对工业设计并没有太深入的了解,而对工业设计了解的人往往也非常对定义这个词情有独钟。了解不同人对相同事物的定义,有助于我们窥探到不同人脑海里的思维王国,所以我们有游戏就是去克服本可以避免的困难、游戏是一系列的选择等等说法,这些东西足够有趣,也足https://www.gameres.com/812108.html