??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩成人精品在线,欧美午夜精品久久久久久久,91麻豆精品国产91久久久久推荐资源http://www.aygfsteel.com/weibogao/category/9218.htmlmy second lifespacezh-cnWed, 28 Feb 2007 22:02:54 GMTWed, 28 Feb 2007 22:02:54 GMT60转《Powerdesigner使用 ?/title><link>http://www.aygfsteel.com/weibogao/archive/2007/01/11/93111.html</link><dc:creator>weibogao</dc:creator><author>weibogao</author><pubDate>Thu, 11 Jan 2007 03:34:00 GMT</pubDate><guid>http://www.aygfsteel.com/weibogao/archive/2007/01/11/93111.html</guid><wfw:comment>http://www.aygfsteel.com/weibogao/comments/93111.html</wfw:comment><comments>http://www.aygfsteel.com/weibogao/archive/2007/01/11/93111.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/weibogao/comments/commentRss/93111.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/weibogao/services/trackbacks/93111.html</trackback:ping><description><![CDATA[ <p> <br />1.1业务规则的?Business Rule)<br />对于一些业务逻辑可能出现在多个数据表中,装成Business RuleQ这样便于业务逻辑的重C用,也便于业务逻辑的维护?/p> <p>Z便于l护业务逻辑Q可以考虑Business Rule和Domainsl合h使用。将业务Business Rule应用到Domains上,然后再把Domains应用到数据表的字D上?/p> <p>例如Q在拆迁目中,拆迁业务部分Q管理参C务部分,房源业务部分Q拆q合同部分的数据表中都有楼层q个字段Q因此先一个Business RuleQ然后定义一个DomainQ这L应的数据表的字段可以用这个Domain了?/p> <p>1.2.自定义数据类?Domains)的?br />oralce提供了一些内|的数据cdQ但是用户也可以Ҏ业务的需要,定义自定义的数据cd?/p> <p>在自定义数据cd里面包装业务逻辑?/p> <p>正如上面的房屋楼层,我们可以定义一个独立的数据cd(Domain)l护Q然后在相关数据表的</p> <p>字段上用这个自定义数据cd?/p> <p>一般在定义自己的数据类型时候,可以在oracle基本cd上定义,然后可以加上一些standard check或者Business Rules?/p> <p>比如Q在拆迁目中,面积cdq个字段在很多数据表都出CQ可以作Z个单独的数据cdcȝ护,定义一个?面积cd?DomainsQ包含的U类有:0 --- 厅房面积,1 --- 使用面积,2 --- 单元面积,,3 --- d{面U?4 --- 分摊面积Q。而且׃Powerdesigner的提供关联作?q样便于当业务逻辑发生了变动,能够很快查询出那些对象受到媄响?/p> <p>1.3序列?Sequence)的?<br />在powersigner的模型里面定义一堆了SequenceQ接下来的是要把他们和数据表的相兛_D关联v来,特别是那些用于多个数据表字段的Sequence?/p> <p>一个数据表原则上只允许一个字D用SequenceQƈ且在数据表的字段使用Sequence前,应该把该Sequenced到数据表的Extended Dependencies中?/p> <p>如果一个数据表?个字D|者更多字D用了SequenceQ那模型查时会给出提CZ息?/p> <p>使用的规则一般是只能应用到数据表的主键字D上?/p> <p>主键字段?数据?“ID“或?“编号“构成?/p> <p>例如Q“房屋整合面U?数据表,那它的主键字D?房屋整合面积~号Q对应的Sequence?/p> <p>SEQ_房屋整合面积。其它数据表可能也用到了这个SequenceQ那也需要在使用前设|引用关pR?/p> <p>Q在数据表的Extended Dependencies 上设|引用关p)</p> <p>1.4 Oracle Package的?br />在Oracle Package里面可以定一些procedure Q但是Oracle包引用的数据库对象到底有哪些呢,q些信息手动l护h。特别是Oracle Package使用了哪些数据表Q视图,以及Oracle Packag{信息徏议维护v来?/p> <p>1.5包的使用<br />PowerDesigner的包相当于文件夹。用户可以把它当作一个维护业务逻辑的容器。PowerDesigner包一般徏议按照业务模块来建立。如果模块需要细分,可以考虑建立PowerDesigner子包来完成?/p> <p>容器里保存的是模型对象的快捷方式。原始信息徏议不要放到容器里面。因为在要是把这些信息放到容器里Q在PowerDesigner的模型合q或者逆向工程Ӟq种方式的信息可能得不到l护?/p> <p>PowerDesigner的包下面的PhysicalDiagramQ徏议采用象ERWin的Subject Area那样Q按照某个主题或者业务角度的方式来组lPhysicalDiagram包含的对象,使得每个PhysicalDiagram的功能明?/p> <p> </p> <p>1.6.视图(View)的?br />视图一般是数据表或者视图上建立得来的(当然也可能引用了某个存储q程Q。一般视囄模型中应该维护视囄数据来源的引用信息?/p> <p>在我们现在的目中数据库模型没有对视图进行维护,为此需要在建立视图的Powerdesigner</p> <p>模型?/p> <p>我在Powerdesigner9.5环境下通过逆向工程不能够获得视?view)的脚本,通过修改相关?/p> <p>|参敎ͼq是不能够获得脚本?/p> <p>可以通过以下2Ҏ获得视图(view)的脚本?/p> <p>Ҏ1Q用powerdesigner8.0的逆向工程获得视图的脚本,然后在Powerdesigner9.5中把?/p> <p>囄模型合ƈq来Q这样就可以对视图进行维护了?/p> <p>Ҏ2Q用Erwin逆向工程获得视图的Erwin模型Q然后再把模型保存ؓERXcd的文?/p> <p>在Powerdesigner9.5中导入该文gQ然后进行合q模型就可以?/p> <p>PowerDesigner的视图模型处理能力比较差Q不能构l护视图的依赖关p?也就是徏立视囑֯数据源的依赖关系)Q这一Ҏ显不如ERWin?/p> <p> </p> <p>1.7.同义词(synonymQ的使用<br />同义词相当于l数据库对象一个别名,提供了位|和数据的独立性。在跨数据库用户讉K对象Ӟ可以考虑建立同义词结合权限分配,化数据库对象的访问?/p> <p> </p> <p>1.8Q数据表的?br />数据表的注释语句的更新?/p> <p>业务背景Q?/p> <p>在我们的目中,Erwin模型中的数据表的注释语句没有同步到Oracle数据库。现在需要更数据库中的数据表的注释语句?/p> <p>可能可以采取的实现方法:</p> <p>Ҏ1QErwin直接正向工程Q但是从Erwin直接正向工程׃注释语句中有回RW号Q更Cp|?/p> <p>Ҏ2Q如果把Erwin模型转换成ؓpowerdesigner模型再更新数据表的注释语句,q样可以避免回车符L问题Q按正常情况是可以行得通的Q但是由于Erwin模型中的逻辑模型和物理模型不一_甚至它们出现的顺序不一_q样获得powerdesigner模型׃正确了,生成的修Ҏ据库的脚本也׃正确了?/p> <p>实际采用的方法:</p> <p>把Erwin模型转换成powerdesigner模型在Erwin中保存ؓERXcdQ然后在PowerDesigner导入模型Q,q且把文件保存ؓPDMcdQXML格式Q,删除模型中的视图Qdomains,Business Rule,reference{信息,只留下相x据表本n的信息,然后把模型文件的后缀修改XMLQƈ且采用XMLSPY生成q个文g的DTD文gQ再采用Java~写了一个基于SAX的程序去解析XML文gQ把各个数据表以及字D늚注释语句提取出来Q然后更新数据库中数据表和字D늚注释语句Q这样就可以了?/p> <p> </p> <p>1.9QERWin升到PowerDesigner的相关问?br />1.9.1 Domain的升U?br />从Erwin3.52升到PowerDesigner9.5ӞDomain信息和数据表的关联关pM丢失Q需要手动重新添?者间的关pR当然可以通过~程修改PowerDesigner的模型文Ӟd2者之间的兌关系。一般的PowerDesigner模型文g较大Q只要有个几十张数据表肯定模型文件有1MBQ徏议采用SAX的方式添加信息?/p> <p>注意Q添加数据表字段使用的Domain时候,需要设|数据表对Domain的引用关p(也就是Extended DependenciesQ?/p> <p>1.9.2 Business Rule的升U?br />从Erwin3.52升到Powerdesigner9.5QBusiness Rule的表辑ּ(脚本)需要修改的Q把所有的</p> <p>Business Rule的表辑ּ中的@column 修改?COLUMN% </p> <p>具体实现的方式,可以直接在Powerdesigner9.5里面修改Q或者把模型保存为XML格式Q文件类?.pdmQ?通过UltraEdit或者XMLSpy{工h修改Q一个查找替换旧搞定了。当然的注意</p> <p>只能修改<?XML:NAMESPACE PREFIX = C /?><c:businessrules></c:businessrules>里面的内容,否则会修改一些不应该修改的地斏V?/p> <p>同Domain一P从Erwin3.52升到PowerDesigner9.5ӞBusiness信息和数据表的关联关pM会丢失。如果Business Rule 不是太多手动修改模型文g?/p> <p> </p> <p>1.9.3.Sequence的升U?br />.Sequence的升U徏议采用和Domain的方式,~程实现l护?/p> <p>1.9.4.物理囄升<br />从Erwin3.52升到Powerdesigner9.5Q物理图同样能够倒入Powerdesigner9.5中,但是Powerdesigner9.5的升U功能有些问题:在生成的物理图中数据表的信息有些问题Q物理图中的数据表的字段昄不完全,而且很多时候数据表字段的类型都不能昄完全。我使用java采用sax的方式把升后的模型文gq行解析Q然后重新生成物理图中数据表的位|信息(数据表的2个坐标:左上角坐标,右下角坐标)Q另外根据业务需要可以生成自qPowerdesigner9.5包ƈ且可以创建物理图Q把数据表添加到物理图上?/p> <p> </p> <p>1.9.5.其他说明<br />从Erwin3.52升到Powerdesigner9.5Q我写了一些javaE序解决了相关问题,如果哪位同行遇到怼的问?/p> <p>可以交流一下?/p> <p>2Q关于powerdesigner中的数据l构的变更管?br />目前拆迁目中数据结构的有些失控Q在l合powerdesigner包的概念的基׃提出如下一些徏议?/p> <p>2.1Q数据结构按照业务模块进行维?br />模型中所有的数据l构都在一个文件中Q而且在顶层文件夹中各个业务模块维护的是数据结构的快捷方式?/p> <p>2.2Q数据结构按照其生命周期q行分类理?br />在各个业务模块的包下面徏立如下的包:</p> <p>2.2.1临时试数据l构Q?br />是一些当前业务模块测试时使用的数据结构,可以随时被删?/p> <p>2.2.2讨论中数据结构:<br />是数据结构处于讨ZQ还没有定下来?/p> <p>2.2.3需要更新的数据l构Q?br />是数据结构已l确定下来,但是q没有更新到数据库中?/p> <p>2.2.4正式数据l构Q?br />在数据库中被业务正常使用的数据结?/p> <p>2.2.5作废中的数据l构Q?br />在数据库中以前被业务正常使用Q现在已l不再用,但是q没有进?/p> <p>被作废的数据表中数据的迁U,没有完全作废的数据结构。如果要把这些数据结构进行作废,</p> <p>需要先q行数据q移Q以及其他相兛_理?/p> <p>2.2.6已经作废的数据结构:<br />在数据库已经不再被用的业务数据表,相关的数据迁Udl完成,但是数据表还没有删除Q?/p> <p>相关的文档没有更新?/p> <img src ="http://www.aygfsteel.com/weibogao/aggbug/93111.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/weibogao/" target="_blank">weibogao</a> 2007-01-11 11:34 <a href="http://www.aygfsteel.com/weibogao/archive/2007/01/11/93111.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˹</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ī</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">żҿ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϼ</a>| <a href="http://" target="_blank">̨ǰ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">㽭ʡ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank">ͷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ֶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϻ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>