仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1668|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页设计《数据建模》念书条记

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:35:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性条记|数据
  比来逛书店发明一本数据建模的好书——《数据建模:剖析与计划的工具和技能》(DataModelersWorkbench:ToolsandTechniquesforAnalysisandDesign),作者SteveHoberman。粗读完一遍后,感到这本书切实其实无愧于译者和外洋专家们的盛赞:“这本书充斥了对改善数据模子和计划无益的手艺和技能,而且它还极富浏览兴趣——一个了不得的分离!任何一个数据建模者都应当具有一本SteveHoberman的关于数据建模工具和手艺的书。”

  只管我对本人所把握的数据建模常识有必定的自信,读完该书后,仍是获益很多。本着好书人人一同分享的设法,我把该书的每一个章节的总结和技能倡议列出来,以便利手头临时没有该书的伴侣在数据建模时参考。该书所先容的工具和模版可在作者的Web站点下载,地点是:
  www.wiley.com/compbooks/hoberman

  第一章:利用妙闻、类比和演示文稿来分析数据建模的观点

  在一样平常的一样平常相同中。我们大概会说出并听到很多故事、大概妙闻这些故事触及的论题局限很年夜。有些例子是周末产生在我们本人身旁的事变,大概是与我们的事情项目有关的履历。这些妙闻有助于增强我们和四周人们的干系,促进我们的愉悦心情,并且对我们有教导感化。我们可以把由言语表达出来的器材抽象化。偶然,当故事停止时,给我们留下的是之前不曾想到的信息或更多的熟悉。在注释数据建模观点时,妙闻是极为无效的。缘故原由有以下几个:
  它们创建起耐久的抽象。
  它们令人着迷、令人愉悦。
  它们增经人们之间的干系。
  它们减缓压力。

  乐成假造并报告一个数据建模方面的妙闻有上面三个复杂的步骤:
  1)界说一个论题。要在心中包管,你报告的这个妙闻有一个特定的方针或论题,也就是说,这个故事是为懂得释一个数据建模的观点或术语。
  2)选择你的故事。我们能够选择的故事范例多种多样。我们要思索选择一个风趣并无益,并且可以分明无误地转达主题企图的冗长的故事。
  3)练习训练你的故事。一旦找到了符合的故事,你要好好练习训练一番,直到你自傲它可以在两分钟的工夫内充实表达你的论题。要制止报告拖拖沓拉的故事。

  数据模子类比
  类比就是把两个或多个观点举行互相对照,以夸大它们之间的类似或差别。类比是先容外来事物或奇怪事物的一个很好的技能,特别是向非盘算机专业的人士先容盘算机的专业常识时。Hoberman在数据建模中最多见的几个类好比下(他用这些类比轻松的感动办理层给他涨了一倍的人为^_^):
  主体域模子是一个高高在上的视点。
  数据模子是一个计划图。
  企业模子是一个天下舆图。
  尺度就是乡村计划。
  元数据仓储库是一个藏书楼。
  数据堆栈是“心脏”。

  第二章:元数据宾果游戏
  复杂来讲,即经由过程宾果卡片游戏的体例,变更项目团队成员的主动性,来断定数据模子,并断定元数据的无效性。元数据宾果游戏夸大“双赢”,假如命运好,游戏停止时每一个人都能赢。

  第三章:确保高质量的界说
  本章会合会商一个被称为“界说反省单”(DefinitionChecklist)的工具,它包括了确保界说的质量处于最高程度的原则。

  第四章:数据建模者的项目企图
  本章重点先容断定数据建模阶段、义务、工具和时限的四个工具:
  ·数据建模阶段的工具:用来断定最高条理上的数据建模步骤。
  ·阶段—义务—工具:提掏出“数据建模阶段”的各个阶段并把他们分化成数据建模义务。
  ·优先级三角形:你能够从以下三项中取两项极值:很高的质量、最短的工夫与最低的本钱,但你永久也别想三者兼得。
  ·牢靠的预算工具:“主体域事情量时限”依据使用程序的范例,断定每一个数据建模阶段应占全部项目标百分比。“义务事情量工具”提取在“阶段—义务—工具”中断定的每项义务,并列出它们应占全部数据建模事情产物的百分比。这两个工具的组合可以使你向项目司理供应一份具有必定准确度的公道预算。

  第五章:主体域剖析
  本章次要切磋五个关头的工具,这五个工具对数据建模事情的主体域剖析阶段有帮组感化。它们应当依照上面的按次被逐一完成:
  1)主体域反省单:新使用程序中的主体域的完全列表,另有各个主体域的界说和同义词(或别号)。
  2)主体域CRUD(CreateReadUpdateDelete)矩阵:包括新使用程序和现有使用程序之间的主体域方面的不同和反复的地方,断定使用程序的局限。
  3)In-the-Know模版:断定完成这个新使用程序的数据间模事情产物所必要的、被用作资本的职员和文档。
  4)主体域家属树:包括每个主体域的源使用程序和多少其他的关头信息,分析主体域数据未来自那里。
  5)主体域力度矩阵:利用一个电子表格的格局,纪录每个器度和现实主体域的公布条理。

  第六章:主体域建模
  本章论述三个队主体域信息举行建模的壮大工具:
  ·“营业清算板”模子。
  ·“使用程序清算板”模子。
  ·“初期实际性反省”模子。

  第七章:逻辑数据剖析
  本章存眷四个逻辑数据剖析工具,它们应当依照上面的序次被利用:
  1)数据元素家属树:包括使用程序的数据元素的完全列表,和每一个数据元素的来历和变更信息,另有其他几个关头的数据元素元数据。
  2)数据元素粒度矩阵:用一个电子表格的格局,来纪录每一个器度和现实的公布条理。
  3)数据质量纪录模板:展现每一个数据元素的员数据和一些实践数据的对照。
  4)数据质量确认模板:纪录每一个数据元素的元数据和一些实践数据的对照的了局。

  第八章:标准化之旅和反向标准化保存指南(激烈保举:是我今朝所读过最好的干系型数据库的标准化手艺文档)
  标准化是一个剔除冗余并使用划定规矩的历程,它的目标是为了更好的了解和表达存在于数据元素之间的依附性和介入性。标准化包括6个条理,最高层是第五范式(5NF)。一样平常的手艺文档上都以为到达3NF便可,SteveHoberman给我们指了然更高的方针:5NF。GraemeSimsion写过一本名为《DataModelingEssentials》的书,在这本书中,他写道:“较高条理的范式常被从业者曲解并因而而被无视,或为了撑持不成靠的建模工夫而被援用。”可是,我们必要了解这些较高条理的标准化,由于它们表现了分外的标准化时机,并帮组我们进一步削减冗余信息、改善计划的天真性。只管余下的三个标准化条理有大概仅仅发生次数很少的变更,但它们仍旧具有一些进步天真性和效力的时机。上面是BCNF&4NF&5NF的界说(比国际课本上排列的数学公式简单了解很多^_^):
  BCNF=3NF+上面的划定规矩:
  每个数据元素都完整依附于键、全部键,并且除依附于这个键之外,不依附于任何其他数据元素。
  4NF=3NF+上面的划定规矩:
  要把主键中具有三个或更多外建数据元素、切割分外键之间不存在束缚的那些实体分化成两个或更多个实体。
  5NF=4NF+上面的划定规矩:
  把主键中具有三个或更多的外键数据元素,且这些外键数据元素之间存在着束缚的实体分化成为一切的束缚都必要的多对多的干系。

  当我们攀上5NF的巅峰后,再依据实践需讨情况来举行“反向标准化”增添数据冗余,从而简化开辟,进步查询速率。反向标准化是如许一个历程:在界说了一个牢靠的、完整标准化了的数据布局以后,你借助这个历程,有选择地引进一些反复的数据,以增进特别功能需求的完成。SteveHoberman的“反向标准化保存指南”给怎样得当增添冗余供应了一套可盘算的评分尺度。经由过程考查每一个干系的6个成绩,累加各个成绩的得分以后,当得分年夜于即是10时,我们将对该干系举行反向标准化。

  “反向标准化保存指南”的计分划定规矩:
  1.干系是甚么范例的:该成绩断定我们所剖析的干系的范例。父实体关于籽实体具有甚么样的干系?
  条理干系(20分)
  一律干系(-10分)
  断定干系(-20分)
  2.介入率是几:该成绩断定一个干系中的每一个实体的介入性。换句话说,关于一个给定的父实体数值,也许会有几个籽实体数值?父与子的干系越靠近“一对一”,我们对它举行反向标准化的时机就越年夜。
  多达“一对五”的比率(20分)
  多达“一对一百”的比率(-10分)
  凌驾“一对一百”的比率(-20分)
  3.父实体中有几个数据元素
  少于10个数据元素(20分)
  数据元素的数目介于10到20之间(-10分)
  多于20个数据元素(-20分)
  4.利用率是几:当用户必要来自子的信息时,一般情形下,它们是不是还必要来自父的信息呢?换句话说,这两个实体的耦合或相干水平怎样?
  互相之间的联系关系很强(30分)
  互相之间的联系关系较弱大概没有联系关系(-30分)
  5.父实体时一个占位符吗:在不远的未来,我们是不是还盘算向父实体到场更多的数据元素或干系?假如谜底是“不”,那末举行反向标准化的可行性就更强。
  是(20分)
  不(-20分)
  6.变化对照率是几:该成绩是为了断定,在统一工夫周期内,两个实体的拔出和更新的频度是不是邻近。假如个中一个实体很少变更,而另外一个实体却变化频仍,那末,我们就十分偏向于坚持它们的标准化形态,把它们放在各自的表中。
  不异(20分)
  分歧(-20分)

  “反向标准化保存指南”的利用办法:
  1)把模子中的干系依照优先级排序
  2)选择一个干系
  3)对这个干系回覆发问
  4)假如得分即是或年夜于10,就举行反向标准化
  5)前往步骤二,直到完成一切的干系。

  第九章:笼统化平安指南和组件
  看过我的“浅谈数据库计划技能(上)”的伴侣应当还记得我举的第二个例子:网上电子商务平台上的商品信息表的计划。本章将我在下面例子中所用的办法上升到了实际阶段,接纳了面向工具的计划,将一切商品的共有属性提掏出来,笼统成一个超类,再到场一个表来纪录各个分歧实体之间的细节来完成超类的派生,从而完成计划的天真性。当呈现上面两种前提的任何场所,笼统化都是极为有效的:
  计划必要永世保持下往:请求今后尽量的不修正数据库计划
  需求大概产生变更:使用程序的需求产生变更,而请求营业流程重组或举行功效晋级
  数据堆栈:当新的分类范例从源使用程序中传过去时,我们不必对数据堆栈的计划举行任何修改,而只需在分类范例实体到场一个新行便可
  元数据仓储库:和数据堆栈的请求相似

  固然,笼统化会年夜年夜增添事情量和开辟的庞大度,而人们一般存眷的长短常短时间的使用和长远的本钱,而不体贴未来的高很多的本钱。以是,我十分赞成急迅软件开辟这个概念:在最后几近不举行事后计划,可是一旦需求产生变更,此时作为一位寻求出色的程序员,应当重新检察全部架构计划,在此次修正中计划出可以满意往后相似修正的体系架构。

  “笼统组件”就是小型的笼统模子片断,在很多的建模场所(不管是甚么行业、构造,乃至甚么主体域的建模场所)中,它们都可被重复利用。在键模阶段屡次利用笼统化以后,你将入手下手看到呈现的笼统化布局的趋向。这些“笼统组件”有以下的目标:
  加速计划速率
  加速开辟速率
  供应通用且有效的机构

  第十章:数据模子丑化技能
  本章经由过程存眷怎样改善逻辑和物理数据模子的视觉表面,使我们的计划超出间接的使用程序需求。本章中会商了五个种别的丑化技能:
  逻辑数据元素分列技能:这些技能是一个保举的、对你的逻辑数据模子中的每个实体的数据元素举行排序的办法。
  物理数据元素排序技能:这些技能存眷数据模子中每个实体的最好结构。
  实体结构技能:这些技能存眷数据模子中的每个实体的最好结构
  干系结构技能:这些技能存眷怎样调剂堆叠的干系线条和看起来穿越(而不是绕过)有关实体的干系
  吸引注重力的技能:这些技能存眷怎样在我们的触及中凸起的某些元素、实体或干系。

  第十一章:计划一个长盛不衰的数据建模生活
  对数据建模者的十年夜忠言清单:
  1)记着:天真性、正确性和背景
  2)建模只是你的事情的一小部分
  3)实验其他脚色
  4)懂得95/5划定规矩:95%的工夫将消费在5%的数据元素上
  5)数据建模从不使人腻烦:假如你一向在做数据建模事情,并且发明本人常常感应腻烦,那末,你切实其实该改动一下了。这大概不是数据建模范畴自己使人腻烦,而是你地点的特定的义务、公司或行业不再使人镇静。冒险一下,实验着道一个分歧的项目或行业中举行数据建模事情吧!
  6)站在手艺前沿
  7)只管不要在模子上牵涉情感要素:建模者必需了解,人们在评审过程当中的定见并非针对模子的创立者,而是针对这个模子的内容。即那句老话:对事不合错误人。
  8)让你的制造力睁开同党:在思索纪录数据需乞降改善计划的新办法时,要紧大概有制造性。有制造性大概就意味着修正本书中的某些工具。这还大概意味着提出你本人的电子表格或其他工具。
  9)纯真的实际太高贵了:在计划举动过程当中,你要确保把这个概念切记在心。为这个使用程序掏腰包的部门和构造希冀看到的是能看得着的有用了局。
  10)成为一个了不得的会讲故事的人:作为一位数据建模者,讲故事是事情的一个很主要的部分。为了帮组教养和影响项目司理和对我们行业缺少了解的其别人,我们必要讲故事或妙闻。

  最初,我团体以为,SteveHoberman所提出的“笼统组件”的看法和面向工具计划中的的“计划形式”十分相似。即数据库专家在屡次的数据建模后,将各个项目中的相似部分笼统化,提掏出特定的建模模子片断,今后只需在新的项目中对这些模子片断细化派生,便可疾速构建出合适于该项目标数据库架构。不外,这些建模模子片断并没有一致,构成尺度,今朝也没有出书这类的书本。自己正在连续总结本人在这方面的履历,可是自知程度无限,不敢在高人眼前布鼓雷门,只但愿本人往后连续公布的相干文章能起到抛转引玉的感化,争夺由中国的程序员领先一致出数据建模范畴的“计划形式”。
2008年1月16号MySQLAB被Sun公司收购。而2009年,SUN又被Oracle收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。
小女巫 该用户已被删除
沙发
发表于 2015-1-18 21:05:58 来自手机 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-23 17:27:46 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
灵魂腐蚀 该用户已被删除
地板
发表于 2015-1-31 18:28:36 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
谁可相欹 该用户已被删除
5#
发表于 2015-2-6 20:58:41 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
变相怪杰 该用户已被删除
6#
发表于 2015-2-18 19:21:30 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
乐观 该用户已被删除
7#
发表于 2015-3-6 09:11:45 | 只看该作者
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
小妖女 该用户已被删除
8#
发表于 2015-3-12 23:06:05 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表