[导入]数据库物理模型设计的其他模式之继承模式

连载之7
原创:胖子刘(转载请注明作者和出处,谢谢)

数据库物理模型设计的其他模式
除了上面提到的四种主要设计模式,还有一些其他模式,在某些项目中可能会用到,在这里先简单做个说明,暂不做深入讨论,等到以后的项目用到这些模式的时候,再结合实际需求详细解说。
(一)继承模式
继承模式,可以看作是“主从模式”的一种特殊情况(或者说是“变形”),它所代表的两个对象也是“一对多”的关系。它与“主从模式”的区别是,“继承模式”中从表的主键是复合主键,并且复合主键中必定包含主表的主键列。
根据从表继承主表的列的数量,继承模式又分以下两种情况:
1.       从表继承主表的全部列
图7
在这种情况下,从表除了代表自身的专用字段以外,还冗余了主表的全部字段。这种设计方式的缺点显而易见:
  • 数据冗余度大
  •  一致性差
  • 磁盘存储量大
它的优点也显而易见:
  • 正因为它的冗余度大、所以它不易丢失数据。假设主表数据丢失、或者被误操作删改,也能依据从表数据重新生成主表数据;这种设计方式,可以在发生数据损坏的时候从应用的角度进行一定程度的数据恢复,等于是在SQL Server数据库级别的数据恢复功能之上又加了一道保险。
  • 正因为它一致性差、主表数据被重复存储,所以可依据外键关系进行数据验证。将主从表记录作关联比较,如果数据不一致,就可以得知数据要么被人为改动,或者要么程序代码中存在bug。
  • 尽管磁盘存储量大,但是数据在查询统计的时候,只需针对从表进行搜索即可,无需关联操作,可以加快检索的速度。这就是数据库模型设计中经常提到的“以空间换时间”。
2.       从表只继承主表的主键列
图8
这种设计方式,从表只继承了主表的主键列,这种方式的优缺点与前面刚好相反。
优点:
  • 数据冗余度小
  • 一致性高
  • 磁盘存储量小
缺点:
  • 正因为它的冗余度小、所以它易丢失数据。假设主表数据丢失、或者被误操作删改,就只能通过SQL Server数据库级别的数据恢复操作来找回丢失的数据了。
  • 正因为它一致性高,所以无法进行应用程序级的数据验证。
  • 由于采用了一致性设计,磁盘存储量较小,但是数据在查询统计的时候,必须要对两个表进行内连接(INNER JOIN)操作,才能搜索到相关数据。而内连接操作时需要耗费一定的时间的。这就是数据库模型设计中经常提到的“以时间换空间”。
当然,在实际的数据库模型设计过程中,还会有介于上述两者之间的第3种情况出现,那就是从表继承了主表的主键列以及部分其他列。这就要求我们设计人员要依据实际的业务需求进行综合分析、权衡、折中,给出最符合业务需求的设计结果。
661838.aspx
文章来源:http://blog.csdn.net/liu7537/archive/2006/04/13/661838.aspx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“我数学太烂,但高考136分!”刷完上万道题后,我找到2个月多考58分的捷径…...

全世界只有3.14 %的人关注了青少年数学之旅01难上天的高考试卷,我逆袭考到136分!我叫刘辉,来自湖北省的某个县城,今年我数学考到了136分的好成绩,成功被一所985高校录取。↓我的高考成绩↓但回想一年之前,我…

[Forward] 因为火炬,所以迟到,工资照扣

今天跟往常一样,到香蜜湖等230 看到深南大道主道那边站了一名JC叔叔 在前面的主辅岔道口看到有交J叔叔...对面又大堵车...心想大事不妙..又要交通管制了......两hui期间因为交通管制让我第一个月上班就来了一次迟到 这时候是8点钟多一点开始管制.....很后悔没有上到最后一…

三分钟总览微软任务并行库TPL

点击上方蓝字进行关注有小伙伴问我每天忽悠的TPL是什么?☹️ 这次站位高一点,严肃讲一讲。引言俗话说,不想开飞机的程序员不是一名好爸爸;作为微软技术栈的老鸟,一直将代码整洁之道奉为经典, 优秀的程序员将…

第五章 MyEclipse配置hadoop开发环境

1.首先要下载相应的hadoop版本的插件,我这里就给2个例子: hadoop-1.2.1插件:http://download.csdn.net/download/hanyongan300/6238153 hadoop2.2.0插件:http://blog.csdn.net/twlkyao/article/details/17334693 上一章我也讲了怎…

这才是真正的,坐上来,自己动!| 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅你有见过加辣的奶茶吗?什么叫做科技改变生活其实你的猫一直都看不起你坐上来,自己动!安全带使用体验当iPhone遇上数学在B站UP主的剪刀下诞生了各种神奇的CP组合其中最受欢迎的居然是伏地魔和林黛玉…

九项路考(2)

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />二、侧方位停车<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" />要点&#xff1a;1、倒车入停车位&#xff08;1&#xff09;挂倒档&#xf…

360导航源码php,51zxw 仿360网址导航源码

1.上传网站安装程序到空间&#xff0c;空间需支持PHP&#xff0c;MYSQL数据库20M 即可。2.访问网网址执行安装&#xff0c;按照提示填入mysql数据库信息。3.安装时默认设置后台管理 用户&#xff1a;admin 密码&#xff1a;123456 (以防安装出错建议默认安装&#xff0c;然后登…

SRM 440(1-250pt, 1-500pt)

DIV1 250pt 题意&#xff1a;小球从一段折线斜坡上滚下来&#xff0c;告诉所用时间&#xff0c;求重力加速度。 解法&#xff1a;二分答案模拟即可。 tag:二分&#xff0c;simulation 1 // BEGIN CUT HERE2 /*3 * Author: plum rain4 * score :5 */6 /*7 8 */9 // END CUT…

技术 Leader 怎样带跨一个团队?

网上很多分析大公司&#xff0c;小公司的文章&#xff0c;都会提到在大公司工作就是螺丝钉&#xff0c;岗位分的非常细&#xff0c;每个人把自己的专职工作做好就行&#xff1b;而在小公司需要每个人都是多面手&#xff0c;一岗多职。这种观点我同意一半&#xff0c;在小公司中…

我怀疑全国最会吹牛的人,都在这8个公众号上了

全世界只有3.14 % 的人关注了青少年数学之旅学习如逆水行舟&#xff0c;不进则退&#xff1b;只有坚持不断的学习,才能保持进步。今天给大家精心挑选的这几个优质的公众号&#xff0c;在行业深耕已久&#xff0c;相信大家一定会有所收获&#xff0c;感兴趣的可以关注一下。Pyth…

linux磁盘管理------LVM

一、需求分析1&#xff0c;当我们需要存储一个500G的不可分割文件时&#xff0c;但是我们设备上没有这么大的单个磁盘。2&#xff0c;当我们在搭建一个服务&#xff0c;由于日常运转产生大量文件&#xff0c;磁盘容量不够用了&#xff0c;怎么办&#xff1f;添加磁盘&#xff0…

在 .NET 中创建对象的几种方式的对比

在 .net 中&#xff0c;创建一个对象最简单的方法是直接使用 new (), 在实际的项目中&#xff0c;我们可能还会用到反射的方法来创建对象&#xff0c;如果你看过 Microsoft.Extensions.DependencyInjection 的源码&#xff0c;你会发现&#xff0c;为了保证在不同场景中的兼容性…

.NET设计模式(16):模版方法(Template Method)

摘要&#xff1a;Template Method模式是比较简单的设计模式之一&#xff0c;但它却是代码复用的一项基本的技术&#xff0c;在类库中尤其重要。主要内容1&#xff0e;概述2&#xff0e;Template Method解说3&#xff0e;.NET中的Template Method模式4&#xff0e;适用性及实现要…

数学界最恐怖的存在,学过数学的人,一辈子都不会忘记!

全世界只有3.14 % 的人关注了青少年数学之旅何谓数学&#xff1f;数学家Eduardo曾这样回答“数学是永恒&#xff0c;是真理&#xff0c;是一切的答案。”回首往昔数学始终伴随我们左右纵横交错的几何、繁琐复杂的运算难以求解的方程、无从下手的猜想......尽管在数学道路上有多…

把我的爱送给你――C#3.5(这题目似乎写错了)

本文发表于 中国IT实验室周报。这是我初次写给杂志社稿件&#xff0c;其中必有许多不足之处&#xff0c;还望大家见谅&#xff0c;虽然这篇文章质量可能不太高&#xff0c;但我希望能将个人的这些总结与大家分享。 从笔者接触编程至今&#xff0c;经历了数种编程语言&#xff0…

Blazor 数据绑定开发指南

翻译自 Waqas Anwar 2021年3月21日的文章 《A Developer’s Guide to Blazor Data Binding》 [1]现如今&#xff0c;大多数 Web 应用程序要么是在页面上显示某种数据&#xff0c;要么是使用表单从用户那里收集数据。这意味着每个 SPA 框架都必须支持数据绑定&#xff0c;以便开…

葛优:你们有看过我的作品吗?| 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅

阳江海滩景色一瞥

前几天同学去阳江的海边玩了2天&#xff0c;海景相当不错&#xff0c;不敢独享&#xff0c;特来贴图。 转载于:https://www.cnblogs.com/absolute8511/archive/2008/05/24/1649638.html

使用表达式自定义Serilog输出格式

Serilog是.NET Core中常用的结构化日志类库&#xff0c;透过logging API可以轻松的记录应用程式中对象属性&#xff0c;方便快速进行logging内容进行查询与分析&#xff0c;并将其记录内容通过指定方式输出。今天&#xff0c;介绍一个Nuget包Serilog.Expressions&#xff0c;它…

那些不回微信的人,都在看什么?

全世界只有3.14 % 的人关注了青少年数学之旅有人统计过&#xff0c;我们平均每天花在看内容上的时间是5-6小时&#xff0c;只要拥有一个手机&#xff0c;我们似乎无所不知。但&#xff0c;你是否还记得昨天都看了哪些内容&#xff1f;你能将它们一一都说出个大概吗&#xff1f;…