加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

用实体相关图举办数据库建模

发布时间:2018-08-18 18:31:15 所属栏目:电商 来源:http://www.sawin.com.cn/doc/SD
导读:用实体相关图举办数据库建模 文章来历:http://www.sawin.com.cn/doc/SD/Database/ermodel.htm ccidnet 阿良@神仙掌事变室 一、概述 很也许你此刻正在筹齐整个数据库驱动的网站;并且险些可以必定的是,你必然已经赏识过数据库驱动的网站。已往,一些网站
 

用实体相关图举办数据库建模
文章来历:http://www.sawin.com.cn/doc/SD/Database/ermodel.htm  ccidnet 阿良@神仙掌事变室
一、概述

  很也许你此刻正在筹齐整个数据库驱动的网站;并且险些可以必定的是,你必然已经赏识过数据库驱动的网站。已往,一些网站依靠CGI剧本和文本文件存储实现数据耐久化,但此刻我们可以或许会见大量差异的相关型、工具-相关型、面向工具型数据库。

  对付Web应用来说,相关数据库是一种强盛的支持器材,这得感激它们的高可用性、机能,并且相对来说,相关数据库较量轻易行使。要找出一个成果完美、源代码开放、可以或许在多种平台上运行的数据库体系并不坚苦。你可以用Perl、Java、PHP以及其他处事器端剧本说话把相关数据库和Web网站连结到一路。

  跟着网站局限的成长,它对数据库——凡是是相关数据库——的依靠水平也日益增进。大量页面和处事必要向数据库表写入信息,可能从数据库提守信息。对付大大都网站,数据库表很快成为网站系统布局中的要害部门,成为网站运作的生掷中枢。为了利便和轻松地打点大容量数据,用户帐户、消息动态、内容、统计数据都可以生涯到相关数据库打点体系(Relational Database Management System,RDBMS)。

  用图(Diagram)打点数据模子具有高效、利便的利益。对付RDBMS,描写数据模子的图凡是称为实体相关图(Entity Relationship Diagram,ERD)。用ERD描写数据模子可以或许辅佐你预先准确界说数据需求,使你可以或许对往后的转业动出有用的筹划,可以或许跟着网站的成长利便地改造筹划。

  本文将先容ERD建模器材和观念。文章提供了一些图的实例,但它们的目标不是提供准确的可能是全面的数据计划典型。它们的目标是以两个建模器材为例,先容数据建模标记。在差异的器材之间,图的标记有着重大的不同,但它们的根基观念一样。本文的图例从PowerDesigner和Visio 2000 Professional的试用版获得,你可以从本文末端找到这些器材和其他相同产物的链接。

二、是否行使建模器材?

  很多局限较小的网站用ASCII情势的SQL(Structured Query Language)剧本文件举办数据建模。当开拓小组职员较少,可能最抱负的环境下仅由一小我私人组成时,这种要领最有用。然而,数据模子将很快成长成为一个伟大的布局——在这种环境下,CASE(Computer Aided Software Engineering,计较机帮助软件计划)器材、有关全部数据信息的图、齐集式常识库可以或许极大地辅佐你打点Web网站的数据层。

2.1 何时行使SQL?

  纵然当你筹备用SQL直接打点数据模式(物理数据库)时,图也能有用地辅佐你领略和改造体系。然而,假如你的预算可能时刻很是有限,回收伟大的新式建模器材也许得不偿失。相反,在这种环境下,你应该行使一个简朴的图形器材把数据模式的根基环境记录下来,然后慢慢转换到伟大的数据建模器材。

  假如你正在计划的数据库范例不常见(可能长短尺度的),停止行使某些伟大CASE器材也许是明智的,由于这些器材的“反向工程”手段和某些自动成果也许无法在你的情形下施展浸染。这里所谓的自动成果,是指建模器材按照输入模子的图形和属性信息,自动为方针数据库天生吻合SQL呼吁的手段。反向工程是这样一种手段,建模器材按照已经陈设的物理数据模式,从现有的表提取出实体和相关信息。

2.2 转入建模器材

  从简朴画图器材转换到数据建模器材并不是一个很伟大的进程。大大都数据建模器材的事变方法就象是一个尺度的画图器材,拜见图1a和图1b,这是两个数据建模器材的界面实例。你可以在这里建设和分列表,界说相关,以及指定其余信息(列的范例、长度,键等)。

 



 

图1a:PowerDesigner的界面

 



 

 

图1b:Visio的界面



  转向数据建模器材的首要挑衅在于:
进修行使建模标记。 在不丢失任何要害信息的条件下,用数据建模器材描写现稀有据模子。 探求一个对你的数据库提供全面支持的器材,譬喻在天生SQL、从现稀有据模式通过反向工程成立数据模子时。
  一些入门级数据建模器材(拜见本文后头的参考资源)只有少量的高级特征。这有甜头,但也有破绽——它们很轻易进修行使,但当你蕴蓄了更多的履历时,它们也许不再满意你日益增添的必要。然而,进级器材或改换器材一样平常不存在大的题目,出格是当新的器材可以或许对现稀有据模式举办准确、完备的反向工程时,进级或改换器材的进程尤其简朴。

三、ERD建模标记

  本文行使Martin的Information Engineering标记。PowerDesigner回收的就是这种标记,Oracle的Designer产物所行使的标记也和它很相似。你可以在AIS Modeling Summary查察各类ERD标记的声名。根基的ERD画图类型很直观易懂。你可以界说实体(表),描写各个实体之间的相关。在填写表和相关的细节信息时,每一种器材的做法都有所差异;但就我所碰着的器材来看,根基观念在大大都软件包之间是相通的。接下来的内容将先容你必需相识的首要图形元素和配置要领。

3.1 表

  全部结构公道的数据建模器材都应承为表指定富厚的关联信息。这些信息包罗(但不范围于):
表的描写、注解,以及实体(表)的问题。 列,列的范例、长度、默认值和逼迫前提。 主键,索引,独一性束缚。
  要指定这些信息,一样平常你必要进入表的属性窗口,如图2a和图2b所示。

 

2a:PowerDesigner中表的属性窗口

 

图2b:Visio中表的属性窗口

 

  一旦输入了新表的属性信息,图将被更新,表现出你所提供的新的或变动后的表信息。下面的图形表现了一个表的实例,这个表的属性信息见图2a和图2b。在图2a和图2b中,很多列被界说成了(m)andatory(逼迫的)、(p)rimary(主键)和(d)isplayed(被表现的)列。下面的图表现了为该表输入的部门属性信息。

 

图3a:PowerDesigner的表

 

图3b:Visio的表

 

  在图3a中可以看到一些非尺度的数据范例,如PHONENUMBER和PK。许大都据建模器材应承界说域或定制数据范例,它们可供一个以上的列行使。域不只代表着数据范例——凡是,它们还包括搜查束缚、默认值、值列表等信息。假如你想要更新一个域(譬喻界说一种新的电话号码名目),全部该模子中引用该域的列都将自动更新。

3.2 相关

  假如我们只界说数据模式中的表,数据建模器材就不那么重要了。各个表之间的相关、依靠环境每每很伟大,有一个打点和表现这些相关的器材将带来很大的辅佐。对付一个给定的相关,必需网络的重要信息包罗:
父表和子表。 两个表之间的逼迫相关。譬喻,父表也许有一个子表,但子表必需有一个父表。 相关基数(Cardinality)。即,一个父表可以有零个可能多个子表,但一个子表有且只能有一个父表。 关于相关的注释、意见和脚色声名。
  大大都建模器材通过在两个可能更多表之间画出连线的方法界说相关。默认环境下,相关每每被界说成为一对多相关,并且它对付相关中的任何一方都是可选的。要修改相关,你必需打开相关的属性窗口,更新实体相关的特性信息。图4a和图4b表现了两个差异的器材应承为相关界说的部门属性:

 

图4a:PowerDesigner的相关属性配置界面

 

图4b:Visio的相关属性配置界面

 

  该图表现了一个一对多相关——一个典范的父-子关联相关。部分(Branch)和雇员(Emplyee)的相关是逼迫的。它意味着一个部分必需至少有一个雇员(1-N逼迫相关);另一方面,它意味着一个雇员必需属于且只能属于一个部分(1-1逼迫相关)。图5a和图5b反应了修改后的相关。

 

图5a:PowerDesigner中两个表之间的相关

图5b:Visio中两个表之间的相关

 

  这个图表现了怎样把信息转换成标记。逼迫的相关由一条实心垂直线(而不是椭圆)暗示。某些器材用虚线暗示可选的相关。相关中属于“多”的这一边用一个相同鸟爪的图形暗示,相关的基数在接近它所描写的那一端表现。

  你也许已经留意到,Employee表没有界说外键列。这个图仍然处于“观念计划”阶段——从此,从观念图到物理数据模子之间的转换是必不行少的。大大都器材区分观念和物理数据模子——观念数据模子描写信息的需求,但不存眷细节题目,譬喻索引和逼迫性的引用完备性。

  有些时辰,你也许要界说自我引用的表。自我引用的表一样平常用来描写条理型相关。如下面的图形所示,大大都数据建模器材可以或许处理赏罚这类相关。留意在这个例子中,雇员可以有零个可能一个上级——它使你可以或许处理赏罚一些非凡的环境,好比总统没有直接的上级。

图6a:PowerDesigner中自我引用的表

图6b:Visio中自我引用的表

四、图的筹划

  界说表和相关只是挑衅的一部门,图的清晰大白同样很重要。固然一些器材提供自念头关手段,我还没有看到过一个完美的实现。相反,你的方针应该是遵从“孔雀东南飞”这一法则(这里的“孔雀”是相关中代表“多”这一方的标记,它是毗连到表的三条分叉线,象个鸟爪)。换句话说,子表应该位于父表的右方和下方。这种布置使得从逻辑上组织和领略数据模子越发利便。最重要、第一流此外表应该呈此刻左上角,让级别较低的表呈此刻页面的右下角。为了清晰起见,镌汰图中交错线的数目也是很重要的。正如Eberhardt Rechtin在The Art of Systems Architecting中夸大的,“一个好的计划每每看起来很惬意”。假如无论奈何布置,你的数据模子看起来都很紊乱,那么,它也许正在汇报你数据模子自己有一些值得留意的题目。

 

图7a:完备的ER图(PowerDesigner)


 



图7b:完备的ER图(Visio)
 

五、从图到数据库

  依靠于你所选择的用来成立数据模子的软件包,建模器材也许会按照模子天生SQL呼吁或直接修改数据库模式。这种成果带来了极大的便利;和行使ASCII名目标SQL剧本对比,这种方法有着很多利益。一些建模器材的成果得当于大量的数据库范例,譬喻PostgreSQL、MySQL、Oracle、DB2,等等。对付简朴的数据库修改,窜改操纵可以从建模器材通过ODBC直接完成。数据库窜改还应承以增量方法举办(譬喻,ALTER呼吁或建设呼吁,以及对特定表的更新呼吁)。当你第一次行使建模器材时,你可以查察建模器材天生的SQL,看看本身是否可以信赖和承认建模器材对数据模子的表明。一段时刻之后,你就会认识建模器材对各类相关和表细节的表明。

  【竣事语】数据建模是一种很好的软件工程实践。它可以或许辅佐你在正式编写措施代码之前筹划数据需求。在维护和改造体系的数据机关的进程中,数据建模同样很有效。一些器材可以或许让这个进程变得很是简朴,可以或许在你打点和计划数据库体系的时辰带来极大的辅佐。然而,按照你所需成果的差异,建模器材的价值也有着极大的差别。在不呈现预算赤字的环境下,轻松把握和运用数据建模技能的最好要领是,从小型的器材开始,然后逐渐深入和进步。

 

六、参考和资源

  ■ 器材
Sybase PowerDesigner - 一个高端数据建模器材。你可以下载一个45天试用版。 ERWin - 一个高端数据建模器材。可下载试用版。 Rational Rose Enterprise - 一个高端UML器材,适可而止的数据库建模支持。可下载试用版。 Visio Professional - 一个价值低廉的画图器材,可用来天生数据模子、UML图等。企业版还支持针对各类数据库的双向工程手段。你可以订购60天试用版的CD。 Dezign - 一个价值极其低廉的ERD建模器材。你可以下载一个有限定的试用版本。 ERD Tool List - 一个关于各类数据库和UML建模器材的链接和资源的清单。
  ■ 参考
Database Design for the Web Designing Databases ERD Notation Summary On-Line Database Books Diagramming Methods Introduction to ER Modeling


 
有话要说   打印  

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读