数据库设计模式文库

数据库设计模式文库

ID:41707321

大小:381.63 KB

页数:20页

时间:2019-08-30

数据库设计模式文库_第1页
数据库设计模式文库_第2页
数据库设计模式文库_第3页
数据库设计模式文库_第4页
数据库设计模式文库_第5页
资源描述:

《数据库设计模式文库》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、什么是模式什么是模式?简单说来,模式类似于定式,就是遇到反复出现的同一问题时所固定使用的解决方案。下田棋的朋友可能对“定式”这个词比较熟悉,定式包含着下棋时做遇到的各种情况下的下法、急所、手筋及死活等基本原理,例如星处式、小H定式、边定式等等,定式懂的越多,围棋下的越好。那么是不是数据库设计模式懂得越多,设计工作越完美呢?理论上是这样,但是在我这里,各位朋友所能看到的数据库设计模式只有四种。为什么只有四种而不是更多?不时冇那句话吗:“浓缩的都是精华”!在后血的文章屮,您会陆续看到浩浩荡荡的设计实例连篇累牍,却都是利用这四种基本模式设计出来

2、的。《易传•系辞》曰:“易有太极,是生两仪,两仪生四彖,以象生八卦。”老子在《道徳经》中也说:“道生一,一生二,二生三,三生万物。”设计模式不必多,只耍掌握其中关键的儿个,再结合实际的业务需求,一个完整的数据库模型就可以推导出來。下血让我们來逐一介绍这四种主要设计模式一1、主扩展模式主扩展模式,通常用来将儿个相似的对彖的共冇属性抽取岀來,形成一个“公共属性表”;K余属性则分别形成“专有属性表”,月f公共属性表''与“专有属性表”都是“一对一”的关系。“专育属性表”可以看作是对“公共属性表"的扩展,两者合在一起就是对一个特定对彖的完整描述,

3、故此得名“主扩展模式”。氏工IDincSk」k>notnull采期戎pqvarchar(200)null臥工IDintSlcfk>notnull言悄区堆varchar(200)null且工IDintnotnull所智朋启varchar(200)null氏工IDintnotnuB登陆代码varchar(20)notnul豊录京码varcharp0)notnul姓名varcharpO)notnulvarchar(20)notnul身常证号varcharpO)null入职时Hdatetimenotnul虧职时问datetimenullF

4、K_TMP_CASE_R#ERENCE-TM雀訓缺丘_REFE;:ENCE_TMFEA^呦专球.REFEH艮CE」MP_EtvfPLSlHIDintnornull枚款台编号肓矿财务人石屁工IDint切匕&亠motnull聪祓varchar(50)null咨询专冢虽工IDintsHkAnotnull专业轴gvarchar(200)null举例如下(注:这个例子已经作了相当程度的简化,仅仅是用來帮助人家理解“主扩展模式”这个概念來使川的,请大家注意)。假设某公司包插如下6种类型的工作人员:采购员、营销员、库房管理员、收银员、财务人员和咨询专家

5、,采用主扩展模式进行设计,如上图所示。无论哪种类型的工作人员,都要访问公司的办公软件,所以都有“登陆代码”和“登录密码”;并且作为一般属性,’‘姓名”、“性别”、“身份证号”、“入职时间气“离职时间"等属性,都与个人所从事的工作岗位无关,所以可以抽収出来作为公共属性,创建“公司员工”表。很显然,公司委派员工采购哪些商品是“采购员”的专有属性,这是由公司的实际业务特点决定的。换句话说,公司不可能把采购任务放到“营销员”身上,也不可能放到“库房管理员”身上,“釆购商品”属性就是“釆购员”的专用属性。“采购员”表的主键与“公司员工”表的主键是相

6、同的,包扌舌字段名称和字段的实际取值;“采购员”表的主键同时是“公司员工”表主键的外键。在PDM图里可以看到“采购员”表中的“员工ID”字段后面有一个“vpk,fk>”标记,这个标记就说明“员工ID”字段既是“采购员”表的主键,同时也是该表的外键。“公司员工”表是主表,“釆购员”表是扩展表,二者是“一对一叩勺关系,两个表的字段合起来就是对“采购员”这个对象的完整说明。同理,“公司员T'表和其他5个表Z间也都分别构成了“一对一”的关系。对于主表来说,从表既可以没有记录,也可以有唯-一条记录來对主表进行扩展说明,这就是“主扩展模式”。2、主从

7、模式主从模式,是数据库设计模式中最常见、也是大家口常设计工作中用的最多的一种模式,它描述了两个表之间的主从关系,是典型的“一对多”关系。举例如下(注:这个例子已经作了和当程度的简化,仅仅是用來帮助大家理解“主从模式”这个概念来使用的,请大家注意)。比如论坛程序。一个论坛通常都会冇若干“板块”,在毎个板块里面,大家可以发布很多的新帖。这时候“板块”和“发帖”就是主从模式,主表是“板块”,从表是“发帖”,二者是“一对多”的关系。多个潜水员也可以对感兴趣的同一份发帖进行冋复,以表达各自的意见,这时候,一个“发帖”就冇了多份“冋复”,乂构成了一个

8、“主从模式论坛扳块板块IDininotxluII板块名称varchar(50)notnull板块说明varchar(200)null父板块IDintnull当前級划intnullin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。