??xml version="1.0" encoding="utf-8" standalone="yes"?>2024亚洲男人天堂,亚洲国产精品电影,美女黄视频在线播放http://www.aygfsteel.com/caizh2009/category/41279.html与大家共同成?/description>zh-cnSat, 10 Jul 2010 08:18:21 GMTSat, 10 Jul 2010 08:18:21 GMT60 数据库设计三大范式应用实例剖?/title><link>http://www.aygfsteel.com/caizh2009/archive/2010/07/08/325534.html</link><dc:creator>菜毛毛</dc:creator><author>菜毛毛</author><pubDate>Thu, 08 Jul 2010 03:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/caizh2009/archive/2010/07/08/325534.html</guid><wfw:comment>http://www.aygfsteel.com/caizh2009/comments/325534.html</wfw:comment><comments>http://www.aygfsteel.com/caizh2009/archive/2010/07/08/325534.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/caizh2009/comments/commentRss/325534.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/caizh2009/services/trackbacks/325534.html</trackback:ping><description><![CDATA[<span style="font-family: verdana,sans-serif; font-size: 14px; line-height: 21px;"> <p style="margin: 1em 0px 0.5em; padding: 0px;">引言<br /> <br /> 数据库的设计范式是数据库设计所需要满的规范Q满些规范的数据库是z的、结构明晰的Q同Ӟ不会发生插入QinsertQ、删? QdeleteQ和更新QupdateQ操作异常。反之则是ؕ七八p,不仅l数据库的编Eh员制造麻烦,而且面目可憎Q可能存储了大量不需要的冗余信息?br /> <br /> 设计范式是不是很难懂呢?非也Q大学教材上l我们一堆数学公式我们当然看不懂Q也C住。所以我们很多h根本不按照范式来设计数据库?br /> <br /> 实质上,设计范式用很形象、很z的话语p说清楚,道明白。本文将对范式进行通俗地说明,q以W者曾l设计的一个简单论坛的数据库ؓ例来讲解怎样这 些范式应用于实际工程?br /> <br /> 范式说明<br /> <br /> W一范式Q?NFQ:数据库表中的字段都是单一属性的Q不可再分。这个单一属? 由基本类型构成,包括整型、实数、字W型、逻辑型、日期型{?br /> <br /> 例如Q如下的数据库表是符合第一范式的:<br /> </p> <table align="center" border="1" cellpadding="2" cellspacing="0" width="90%"> <tbody> <tr> <td>字段1</td> <td>字段2</td> <td>字段3</td> <td>字段4</td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </tbody> </table> <br /> 而这L数据库表是不W合W一范式的:<br /> <br /> <table align="center" border="1" cellpadding="2" cellspacing="0" width="90%"> <tbody> <tr> <td>字段1</td> <td>字段2</td> <td colspan="2">字段3</td> <td>字段4</td> </tr> <tr> <td> </td> <td> </td> <td>字段3.1</td> <td>字段3.2</td> <td> </td> </tr> </tbody> </table> <p style="margin: 1em 0px 0.5em; padding: 0px;"><br /> 很显Ӟ在当前的M关系数据库管理系 l(DBMSQ中Q傻瓜也不可能做ZW合W一范式的数据库Q因些DBMS不允怽把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS? 设计ZW合W一范式的数据库都是不可能的?br /> <br /> W二范式Q?NFQ:数据库表中不存在非关键字D对M候选关键字D늚部分函数依赖Q部 分函C赖指的是存在l合关键字中的某些字D决定非关键字段的情况)Q也x有非关键字段都完全依赖于L一l候选关键字?/p> <table align="left" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td valign="top"> </td> </tr> <tr> <td> </td> </tr> </tbody> </table> <br /> <br /> 假定选课关系表ؓSelectCourse(学号, 姓名, q龄, 评名称, 成W, 学分)Q关键字为组合关键字(学号, 评名称)Q因为存在如下决定关p:<br /> <br /> (学号, 评名称) → (姓名, q龄, 成W, 学分)<br /> <br /> q个数据库表 不满第二范式,因ؓ存在如下军_关系Q?br /> <br /> (评名称) → (学分)<br /> <br /> (学号) → (姓名, q龄)<br /> <br /> 卛_在组合关键字中的字段军_非关键字的情c?br /> <br /> ׃不符?NFQ这个选课关系表会存在如下问题Q?br /> <br /> (1) 数据冗余Q?br /> <br /> 同一门课E由n个学生选修Q?学分"重复n-1ơ;同一个学生选修了m门课E,姓名和年龄就重复了m-1ơ?br /> <br /> (2) 更新异常Q?br /> <br /> 若调整了某门评的学分,数据表中所有行?学分"值都要更斎ͼ否则会出现同一门课E学分不同的情况?br /> <br /> (3) 插入异常Q?br /> <br /> 假设要开设一门新的课E,暂时q没有h选修。这P׃q没?学号"关键字,评名称和学分也无法记录入数? 库?br /> <br /> (4) 删除异常Q?br /> <br /> 假设一批学生已l完成课E的选修Q这些选修记录应该从数据库表中删除。但是,与此? Ӟ评名称和学分信息也被删除了。很昄Q这也会D插入异常?nbsp;<br /> <br /> 把选课关系表SelectCourse改ؓ如下三个表:<br /> <br /> 学生QStudent(学号, 姓名, q龄)Q?br /> <br /> 评QCourse(评名称, 学分)Q?br /> <br /> 选课? p:SelectCourse(学号, 评名称, 成W)?br /> <br /> q样的数据库表是W合W二范式的,消除了数据冗余、更新异常、插入异? 和删除异常?br /> <br /> 另外Q所有单关键字的数据库表都符合第二范式,因ؓ不可能存在组合关键字?br /> <br /> W三范式Q?NFQ:? W二范式的基上,数据表中如果不存在非关键字段对Q一候选关键字D늚传递函C赖则W合W三范式。所谓传递函C赖,指的是如果存?A → B → C"的决定关p,则C传递函C赖于A。因此,满W三范式的数据库表应该不存在如下依赖关系Q?br /> <br /> 关键字段 → 非关键字Dx → 非关键字Dy<br /> <br /> 假定学生关系表ؓStudent(学号, 姓名, q龄, 所?a style="text-decoration: none; color: #336699;" ><span style="color: #000000;">学院</span></a>, <a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>地点, <a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>电话)Q关键字为单一关键?学号"Q因为存在如下决定关p:<br /> <br /> (学号) → (姓名, q龄, 所?a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>, <a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>地点, <a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>电话)<br /> <br /> q个数据库是 W合2NF的,但是不符?NFQ因为存在如下决定关p:<br /> <br /> (学号) → (所?a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>) → (<a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>地点, <a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>电话)<br /> <br /> 卛_在非关键 字段"<a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>地点"?<a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>电话"对关键字D?学号"的传递函C 赖?br /> <br /> 它也会存在数据冗余、更新异常、插入异常和删除异常的情况,读者可自行分析得知?br /> <br /> 把学生关p表分ؓ如下两个 表:<br /> <br /> 学生Q?学号, 姓名, q龄, 所?a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>)Q?br /> <br /> <a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>Q?<a style="text-decoration: none; color: #336699;" ><span style="text-decoration: underline;"><span style="color: #004a9c;">学院</span></span></a>, 地点, 电话)?br /> <br /> q样的数据库表是W合W三范式的,消除了数据冗余、更 新异常、插入异常和删除异常?br /> <br /> 鲍依?U得范式QBCNFQ:在第三范式的基础上,数据库表中如果不存在M字段对Q一候选关键字D? 的传递函C赖则W合W三范式? <p style="margin: 1em 0px 0.5em; padding: 0px;"> 假设仓库理关系表ؓ StorehouseManage(仓库ID, 存储物品ID, 理员ID, 数量)Q且有一个管理员只在一个仓库工作;一个仓库可以存储多U物品。这个数据库表中存在如下军_关系Q?br /> <br /> (仓库ID, 存储物品ID) →(理员ID, 数量)<br /> <br /> (理员ID, 存储物品ID) → (仓库ID, 数量)<br /> <br /> 所以, (仓库ID, 存储物品ID)?理员ID, 存储物品ID)都是StorehouseManage的候选关键字Q表中的唯一非关键字Dؓ数量Q它是符合第三范式的。但是,׃存在如下军_关系Q?br /> <br /> (仓库ID) → (理员ID)<br /> <br /> (理员ID) → (仓库ID)<br /> <br /> 卛_在关键字D决定关键字D늚情况Q所? 其不W合BCNF范式。它会出现如下异常情况:<br /> <br /> (1) 删除异常Q?br /> <br /> 当仓库被清空后,所?存储物品ID"?? ?信息被删除的同时Q?仓库ID"?理员ID"信息也被删除了?br /> <br /> (2) 插入异常Q?br /> <br /> 当仓库没有存储Q何物 品时Q无法给仓库分配理员?br /> <br /> (3) 更新异常Q?br /> <br /> 如果仓库换了理员,则表中所有行的管理员ID都要修改?br /> <br /> 把仓库管理关p表分解Z个关p表Q?br /> <br /> 仓库理QStorehouseManage(仓库ID, 理员ID)Q?br /> <br /> 仓库QStorehouse(仓库ID, 存储物品ID, 数量)?br /> <br /> q样的数据库表是W合BCNF范式的,消除了删除异常、插入异 常和更新异常?/p> <p style="margin: 1em 0px 0.5em; padding: 0px;">范式应用<br /> <br /> 我们来逐步搞定一个论 坛的数据库,有如下信息:<br /> <br /> Q?Q?用户Q用户名QemailQ主,电话Q联pd址<br /> <br /> Q?Q? 帖子Q发帖标题,发帖内容Q回复标题,回复内容 <br /> <br /> W一ơ我们将数据库设计ؓ仅仅存在表:</p> <table align="center" border="1" cellpadding="2" cellspacing="0" width="90%"> <tbody> <tr> <td>用户?/td> <td>email</td> <td>主页</td> <td>电话</td> <td>联系地址</td> <td>发帖标题</td> <td>发帖内容</td> <td>回复标题</td> <td>回复内容</td> </tr> </tbody> </table> <br /> q个数据库表W合W一范式Q但是没有Q何一l候选关键字能决定数据库表的整行Q唯一的关键字D는户名也不能完全决定整个元l。我们需要增? 发帖ID"?回复ID"字段Q即表修改为:<br /> <br /> <table align="center" border="1" cellpadding="2" cellspacing="0" width="90%"> <tbody> <tr> <td>用户?/td> <td>email</td> <td>主页</td> <td>电话</td> <td>联系地址</td> <td>发帖ID</td> <td>发帖标题</td> <td>发帖内容</td> <td>回复ID</td> <td>回复标题</td> <td>回复内容</td> </tr> </tbody> </table> <br /> q样数据表中的关键字(用户名,发帖IDQ回复ID)能决定整行:<br /> <br /> (用户?发帖ID,回复ID) → (email,主页,电话,联系地址,发帖标题,发帖内容,回复标题,回复内容)<br /> <br /> 但是Q这L设计不符合第二范式,因ؓ存在如下军_ 关系Q?br /> <br /> (用户? → (email,主页,电话,联系地址)<br /> <br /> (发帖ID) → (发帖标题,发帖内容)<br /> <br /> (回复ID) → (回复标题,回复内容)<br /> <br /> 即非关键字段部分函数依赖于候选关键字D,很明显,q个设计会导致大量的数据冗余和操? 异常?nbsp; <table align="left" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td valign="top"> </td> </tr> <tr> <td> </td> </tr> </tbody> </table> <br /> <br /> 我们数据库表分解ؓQ带下划U的为关键字Q:<br /> <br /> Q?Q?用户信息Q用户名QemailQ主,电话Q联pd址<br /> <br /> Q?Q?帖子信息Q发帖IDQ标题,内容<br /> <br /> Q?Q?回复信息Q回复IDQ标题,内容<br /> <br /> Q?Q? 发脓Q用户名Q发帖ID<br /> <br /> Q?Q?回复Q发帖IDQ回复ID<br /> <br /> q样的设计是满W???范式和BCNF范式要求 的,但是q样的设计是不是最好的呢?<br /> <br /> 不一定?br /> <br /> 观察可知Q第4?发帖"中的"用户??发帖ID"之间? 1QN的关p,因此我们可以?发帖"合ƈ到第2的"帖子信息"中;W??回复"中的"发帖ID"?回复ID"之间也是1QN的关p,因此我们可以 ?回复"合ƈ到第3的"回复信息"中。这样可以一定量地减数据冗余,新的设计为:<br /> <br /> Q?Q? 用户信息Q用户名QemailQ主,电话Q联pd址<br /> <br /> Q?Q?帖子信息Q用户名Q发帖IDQ标题,内容<br /> <br /> Q?Q? 回复信息Q发帖IDQ回复IDQ标题,内容<br /> <br /> 数据库表1昄满所有范式的要求Q?br /> <br /> 数据库表2中存在非关键字段"? ??内容"对关键字D?发帖ID"的部分函C赖,即不满W二范式的要求,但是q一设计q不会导致数据冗余和操作异常Q?br /> <br /> 数据? ?中也存在非关键字D?标题"?内容"对关键字D?回复ID"的部分函C赖,也不满W二范式的要求,但是与数据库?怼Q这一设计也不会导致数 据冗余和操作异常?br /> <br /> 由此可以看出Qƈ不一定要满范式的要求,对于1QN关系Q当1的一边合q到N的那边后QN的那边就不再满 W二范式了,但是q种设计反而比较好Q?br /> <br /> 对于MQN的关p,不能M一ҎN一边合q到另一边去Q这样会D不符合范式要求,同时D 操作异常和数据冗余?nbsp;<br /> 对于1Q?的关p,我们可以左边的1或者右边的1合ƈ到另一边去Q设计导致不W合范式要求Q但是ƈ不会D操作异常和数 据冗余?br /> <br /> l论<br /> <br /> 满范式要求的数据库设计是结构清晰的Q同时可避免数据冗余和操作异常。这q意味着不符合范式要? 的设计一定是错误的,在数据库表中存在1Q??QN关系q种较特D的情况下,合ƈD的不W合范式要求反而是合理的?br /> <br /> 在我们设计数 据库的时候,一定要时刻考虑范式的要求?/span> <img src ="http://www.aygfsteel.com/caizh2009/aggbug/325534.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/caizh2009/" target="_blank">菜毛毛</a> 2010-07-08 11:13 <a href="http://www.aygfsteel.com/caizh2009/archive/2010/07/08/325534.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PowerDesigner q接oracle直接生成数据库中的表http://www.aygfsteel.com/caizh2009/archive/2010/01/08/308651.html菜毛毛菜毛毛Fri, 08 Jan 2010 01:39:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2010/01/08/308651.htmlhttp://www.aygfsteel.com/caizh2009/comments/308651.htmlhttp://www.aygfsteel.com/caizh2009/archive/2010/01/08/308651.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/308651.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/308651.html配置的前提是要有?span class="hilite3">oracle的驱动程序,如果有装oracle服务器端或客Lp动安装上?span class="hilite3">oracle的驱动程?
1、database->generate database
2、general->Direct generation  如果没有配置好数据源Q就要点数据库的图标
3、配|Data Sourcce
选择ODBC machine data source
选择Configure
4、点L加data source 选择用户数据源(只用于当前机器)
5、选择oracle驱动Q填写新建的数据源的名字卛_Q?

菜毛毛 2010-01-08 09:39 发表评论
]]>
PowerDesigner教程pdQ六Q概忉|据模?http://www.aygfsteel.com/caizh2009/archive/2009/08/13/291015.html菜毛毛菜毛毛Thu, 13 Aug 2009 07:23:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291015.htmlhttp://www.aygfsteel.com/caizh2009/comments/291015.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291015.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291015.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291015.html目标Q本文主要介l联pȝ定义及用?/span>

 一?nbsp;联系
联系QRelationshipQ是指实体集q间或实体集内部实例之间的连接?br />
 实体之间可以通过联系来相互关联。与实体和实体集对应Q联pM可以分ؓ联系和联p集Q联p集是实体集之间的联p,联系是实体之间的联系Q联pLh方向性的。联pd联系集在含义明确的情况之下均可称pR?br />
 按照实体cd中实例之间的数量对应关系Q通常可将联系分ؓ4c,即一对一QONE TO ONEQ联pR一对多QONE TO MANYQ联pR多对一QMANY TO ONEQ联pd多对多联p(MANY TO MANYQ?/p>

 二?nbsp;建立联系
在CDM工具选项板中除了公共的工具外Q还包括如下图所C的其它对象产生工具?br />
 在图形窗口中创徏两个实体后,单击“实体间徏立联p?#8221;工具Q单M个实体,在按下鼠标左键的同时把光标拖臛_一个实体上qN标左键,q样在两个实体间创Z联系Q右键单d形窗口,释放Relationship工具。如下图所C?br />

三?nbsp;四种基本的联p?br /> 即一对一QONE TO ONEQ联pR一对多QONE TO MANYQ联pR多对一QMANY TO ONEQ联pd多对多联p(MANY TO MANYQ。如图所C?br />
四?nbsp;其他几类Ҏ联系

除了4U基本的联系之外Q实体集与实体集之间q存在标定联p(Identify RelationshipQ、非标定联系QNon-Identify RelationShipQ和递归联系QRecursive RelationshipQ?br />
标定联系Q?/strong>
每个实体cd都有自己的标识符Q如果两个实体集之间发生联系Q其中一个实体类型的标识W进入另一个实体类型ƈ与该实体cd中的标识W共同组成其标识W时Q这U联pdUCؓ标定联系Q也叫依赖联pR反之称为非标定联系Q也叫非依赖联系?br />  注意Q?br /> 在非标定联系中,一个实体集中的部分实例依赖于另一个实例集中的实例Q在q种依赖联系中,每个实体必须臛_有一个标识符。而在标定联系中,一个实体集中的全部实例完全依赖于另个实体集中的实例Q在q种依赖联系中一个实体必至有一个标识符Q而另一个实体却可以没有自己的标识符。没有标识符的实体用它所依赖的实体的标识W作q标识W?/span>

换句话来理解Q在标定联系中,一个实体(选课Q依?一个实体(学生Q,那么Q学生)实体必须臛_有一个标识符Q而(选课Q实体可以没有自q标识W,没有标标识符的实体可以用实体Q学生)的标识符作ؓ自己的标识符?br />

 递归联系Q?/strong>
递归联系是实体集内部实例之间的一U联p,通常形象地称反联pR同一实体cd中不同实体集之间的联pMUCؓ递归联系?br />
例如Q在“职工”实体集中存在很多的职工,q些职工之间必须存在一U领g被领导的关系。又?#8220;学生”实体信中的实体包?#8220;班长”子实体集?#8220;普通学?#8221;子实体集Q这两个子实体集之间的联pd是一U递归联系。创建递归联系Ӟ只需要单?#8220;实体间徏立联p?#8221;工具从实体的一部分拖至该实体的别一个部分即可。如?br />

五?nbsp;定义联系的特?/strong>

在两个实体间建立了联pdQ双击联pȝQ打开联系Ҏ窗口,如图所C?br />

 六?nbsp;定义联系的角色名
在联pȝ两个方向上各自包含有一个分l框Q其中的参数只对q个方向起作用,Role Name色名Q描q该方向联系的作用,一般用一个动词或动宾l表?br /> 如:“学生 to 评 ” l框中应该填?#8220;拥有”Q而在“评To 学生”l框中填?#8220;属于”。(在此只是举例说明Q可能有些用词不太合理)?/p>

七?nbsp;定义联系的强制?/strong>
Mandatory 表洋q个方向联系的强制关pR选中q个复选框Q则在联pȝ上生一个联pȝ垂直的竖Uѝ不选择q个复选框则表Cp这个方向上是可选的Q在联系U上产生一个小圆圈?br />
八?nbsp;有关联系的基?/strong>
联系h方向性,每个方向上都有一个基数?br />
举例Q?br /> “p?#8221;?#8220;学生”两个实体之间的联pL一对多联系Q换句话?#8220;学生”?#8220;p?#8221;之间的联pL多对一联系。而且一个学生必d于一个系Qƈ且只能属于一个系Q不能属于零个系Q所以从“学生”实体?#8220;p?#8221;实体的基Cؓ“1,1”Q从联系的另一方向考虑Q一个系可以拥有多个学生Q也可以没有M学生Q即零个学生Q所以该方向联系的基数就?#8220;0,n”,如图所C?br />
待箋?/p>



菜毛毛 2009-08-13 15:23 发表评论
]]>
PowerDesigner教程pdQ五Q概忉|据模?http://www.aygfsteel.com/caizh2009/archive/2009/08/13/291014.html菜毛毛菜毛毛Thu, 13 Aug 2009 07:23:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291014.htmlhttp://www.aygfsteel.com/caizh2009/comments/291014.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291014.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291014.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291014.html目标Q?br /> 本文主要介绍数据V新增数据项、数据项的唯一性代码选项和重用选项{?br />
一、数据项
数据(Data ItemQ是信息存储的最单位,它可以附加在实体上作为实体的属性?br /> 注意Q模型中允许存在没有附加至Q何实体上的数据项?br />
二、新建数据项
1Q?#8220;Model”---> Data Items 菜单Q在打开的窗口中昄已有的数据项的列表,点击 “Add a Row”按钮Q创Z个新数据,如图所C?br />

2Q当然您可以l箋讄具体数据的Code、DataType、Length{等信息。这里就不再详细说明了?br />
三、数据项的唯一性代码选项和重用选项
使用Tools--->Model Options->Model Settings。在Data Iteml框中定义数据项的唯一性代码选项(Unique Code)与重用选项QAllow ReuseQ?br /> 注意Q?br /> 如果选择Unique Code复选框 Q每个数据项在同一个命名空间有唯一的代码,而选择Allow reuse Q一个数据项可以充当多个实体的属性?br />

四、在实体中添加数据项
1Q双M个实体符P打开该实体的属性窗口?br /> 2Q单击Attributes选项卡,打开如下图所C窗?br />

注意Q?br /> Add a DataItem ?Reuse a DataItem的区别在?br /> Add a DataItem 情况下,选择一个已l存在的数据,pȝ会自动复制所选择的数据项。如果您讄了UniqueCode选项Q那pȝ在复制过E中Q新数据的Code会自动生成一个唯一的号码,否则与所选择的数据项完全一致?br />

Reuse a DataItem情况下,只引用不新增Q就是引用那些已l存在的数据,作ؓ新实体的数据V?br />
待箋?/span>
0
0
(hҎ章做?


菜毛毛 2009-08-13 15:23 发表评论
]]>
PowerDesigner教程pdQ四Q概忉|据模?http://www.aygfsteel.com/caizh2009/archive/2009/08/13/291013.html菜毛毛菜毛毛Thu, 13 Aug 2009 07:19:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291013.htmlhttp://www.aygfsteel.com/caizh2009/comments/291013.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291013.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291013.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291013.html目标Q?br /> 本文主要介绍如何定义实体的主、次标识W?br />
一、标识符
标识W是实体中一个或多个属性的集合Q可用来唯一标识实体中的一个实例。要的是QCDM中的标识W等价于PDM中的主键或候选键?br /> 每个实体都必至有一个标识符。如果实体只有一个标识符Q则它ؓ实体的主标识W。如果实体有多个标识W,则其中一个被指定Z标识W,其余的标识符是ơ标识符了?br />
二、如果定义主、次标识W?br /> 1Q选择某个实体双击弹出实体的属性对话框。在Identifiers选项卡上可以q行实体标识W的定义。如下图所C?br />


2Q选择W一?#8220;L识符”Q点d性按钮或双击W一?#8220;L识符”Q弹出属性对话框Q如图所C?br />

3Q选择"Attributes"选项卡,再点?#8220;Add Attributes”工具Q弹出如图所C窗口,选择某个属性作为标识符p了?br />

待箋?br />

0
0
(hҎ章做?


菜毛毛 2009-08-13 15:19 发表评论
]]>
PowerDesigner教程pdQ三Q概忉|据模?http://www.aygfsteel.com/caizh2009/archive/2009/08/13/291011.html菜毛毛菜毛毛Thu, 13 Aug 2009 07:17:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291011.htmlhttp://www.aygfsteel.com/caizh2009/comments/291011.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291011.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291011.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291011.html目标Q?br /> 本文主要介绍属性的标准查约束、如何定义属性的附加查?br />
一、定义属性的标准查约?br /> 标准查约束是一l确保属性有效的表达式。在实体属性的Ҏ窗口,打开如图所C的查选项卡?br />

在这个选项卡可以定义属性的标准查约束,H口中每的参数的含义,如下
参数 说明
Minimum 属性可接受的最数
Maximum  属性可接受的最大数
Default 属性不赋值时Q系l提供的默认?/td>
Unit 单位Q如公里、吨、元
Format 属性的数据昄格式
Lowercase 属性的赋值全部变为小写字?/td>
Uppercase 属性的赋值全部变为大写字?/td>
Cannot modify 该属性一旦赋g能再修改
List Of Values 属性赋值列表,除列表中的|不能有其他的?/td>
Label 属性列表值的标签

二、定义属性的附加?br /> 当Standard checks 或Rules 不能满查的要求Ӟ可以在Additional Checks选项卡的Server子页上,通过SQL语句中?MINMAX%?LISTVAL%?RULES%?UPPER%?LOWER%几个变量来定义Standard和Rule,如图所C?br />

%MINMAX%?LISTVAL%?UPPER%?LOWER%
在Standard Check中定义的Minimum 和Maximum、List values 、uppervalues、lowervalues

%RULES%
在RulesҎ窗口Expression选项卡中定义的有效性规则表辑ּ


待箋?/span>


菜毛毛 2009-08-13 15:17 发表评论
]]>
PowerDesigner教程pdQ二Q概忉|据模?目标Q目标:http://www.aygfsteel.com/caizh2009/archive/2009/08/13/291007.html菜毛毛菜毛毛Thu, 13 Aug 2009 07:09:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291007.htmlhttp://www.aygfsteel.com/caizh2009/comments/291007.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291007.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291007.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291007.html 本文主要介绍PowerDesigner概念数据模型以及实体、属性创建?br />
一、新建概忉|据模?/strong>
1Q选择File-->New,弹出如图所C对话框Q选择CDM模型Q即概念数据模型Q徏立模型?br />

2Q完成概忉|据模型的创徏。以下图C,对当前的工作I间q行单介l。(以后再更详细说明Q?br />

3Q选择新增的CDM模型Q右击,在弹出的菜单中选择“Properties”属性项Q弹出如图所C对话框。在“General”标签里可以输入所建模型的名称、代码、描q、创、版本以及默认的图表{等信息。在“Notes”标签里可以输入相xq及说明信息。当然再有更多的标签Q可以点?"More>>"按钮Q这里就不再q行详细解释?br />

二、创建新实体
1Q在CDM的图形窗口中Q单d具选项版上的Entity工具Q再单击囑ŞH口的空白处Q在单击的位|就出现一个实体符受点击Pointer工具或右击鼠标,释放Entitiy工具。如图所C?br />
2Q双d创徏的实体符P打开下列图标H口Q在此窗?#8220;General”标签中可以输入实体的名称、代码、描q等信息?br />

三、添加实体属?/strong>
1Q在上述H口?#8220;Attribute”选项标签上可以添加属性,如下图所C?br />

注意Q?br /> 数据中?#8220;d属?#8221;?#8220;重用已有数据?#8221;q两功能与模型中Data Item的Unique code 和Allow reuse选项有关?br /> P列表C属性是否ؓL识符;D列表C属性是否在囑ŞH口中显C?M列表C属性是否ؓ强制的,卌列是否ؓI倹{?br />
如果一个实体属性ؓ强制的,那么Q?q个属性在每条记录中都必须被赋|不能为空?

2Q在上图所C窗口中Q点L入属性按钮,弹出属性对话框Q如下图所C?br />

注意Q这里涉及到域的概念Q即一U标准的数据l构Q它可应用至数据Ҏ实体的属性上。在以下的教E中另立章节详l说明?br />
待箋?br />



菜毛毛 2009-08-13 15:09 发表评论
]]>
PowerDesigner教程pdQ一Q概忉|据模?http://www.aygfsteel.com/caizh2009/archive/2009/08/13/291005.html菜毛毛菜毛毛Thu, 13 Aug 2009 07:05:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291005.htmlhttp://www.aygfsteel.com/caizh2009/comments/291005.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/13/291005.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291005.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291005.html目标:
本文主要介绍PowerDesigner中概忉|据模?CDM的基本概c?br />
一、概忉|据模型概q?/strong>
数据模型是现实世界中数据特征的抽象。数据模型应该满三个方面的要求Q?br /> 1Q能够比较真实地模拟现实世界
2Q容易ؓ人所理解
3Q便于计机实现

概念数据模型也称信息模型Q它以实体-联系(Entity-RelationShip,UE-R)理论为基Qƈ对这一理论q行了扩充。它从用L观点出发对信息进行徏模,主要用于数据库的概念U设计?br />
通常Z先将现实世界抽象为概念世界,然后再将概念世界转ؓ机器世界。换句话_是先将现实世界中的客观对象抽象为实?Entity)和联p?Relationship),它ƈ不依赖于具体的计机pȝ或某个DBMSpȝQ这U模型就是我们所说的CDM;然后再将CDM转换机上某个DBMS所支持的数据模型,q样的模型就是物理数据模?即PDM?br />
CDM是一l严格定义的模型元素的集合,q些模型元素_地描qCpȝ?u>静态特性、动态特性以及完整性约束条?/u>{,其中包括?u>数据l构、数据操作和完整性约?/u>三部分?br /> 1Q数据结构表达ؓ实体和属?
2Q数据操作表达ؓ实体中的记录的插入、删除、修攏V查询等操作;
3Q完整性约束表达ؓ数据的自w完整性约束(如数据类型、检查、规则等Q和数据间的参照完整性约束(如联pR承联pȝQ?


二、实体、属性及标识W的定义
实体QEntityQ,也称为实例,对应现实世界中可区别于其他对象的“事g”?#8220;事物”。例如,学校中的每个学生Q医院中的每个手术?br /> 每个实体都有用来描述实体特征的一l性质Q称之ؓ属性,一个实体由若干个属性来描述。如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成?br />
实体集(Entity SetQ是具体相同cd及相同性质实体的集合。例如学校所有学生的集合可定义ؓ“学生”实体集,“学生”实体集中的每个实体均h学号、姓名、性别、出生年月、所在系别、入学年份等性质?br />
实体cdQEntity TypeQ是实体集中每个实体所h的共同性质的集合,例如“患?#8221;实体cd为:患者{门诊P姓名Q性别Q年龄,w䆾证号.............}。实体是实体cd的一个实例,在含义明的情况下,实体、实体类型通常互换使用?br />
实体cd中的每个实体包含唯一标识它的一个或一l属性,q些属性称为实体类型的标识W(IdentifierQ,?#8220;学号”是学生实体类型的标识W,“姓名”?#8220;出生日期”?#8220;信址”共同l成“公民”实体cd的标识符?br />
有些实体cd可以有几l属性充当标识符Q选定其中一l属性作为实体类型的L识符Q其他的作ؓơ标识符?br />
三、实体、属性及标识W的表达



待箋Q?br />


菜毛毛 2009-08-13 15:05 发表评论
]]>
վ֩ģ壺 | | | | е| | ƾ| | | | ݰ| | | Դ| ʯ| | ƽԶ| | | | | ɽ| ͼʲ| | | ˳| Զ| | | | | ʩ| | ƺ| | ˮ| | ʯ| ɽ| | |