⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200604040935115.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<P><FONT face=Verdana>  Oracle Office适用于办公自动化的,能完成企业范围内的<a href="200603090938465.html" tppabs="http://www.itisedu.com/phrase/200603090938465.html" target="_new">消息</a>接收与发送、日程安排、日历管理、目录管理以及拼写检查。 </FONT></P><FONT face=Verdana>
<P><FONT face=Verdana><STRONG>oracle数据库的建模与设计</STRONG></FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似建立在危房之上,随着开发过程的不断深入,它要随时面临着各种难以预料的风险,开发者要为修改或重新设计没有设计好的数据库系统而付出难以预料的代价。所以,一个良好的<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603011123415.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603011123415.html'" tppabs="http://www.itisedu.com/phrase/200603011123415.html" target="_new">数据库设计</a>是高效率的系统所必须的。</FONT></P>
<P><FONT face=Verdana>一、逻辑建模</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据库设计的方法因具体数据库而异,但是建模阶段的相同的,所以可以用一些通用的工具来进行,如<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604032145145.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604032145145.html'" tppabs="http://www.itisedu.com/phrase/200604032145145.html" target="_new">Rational rose</a>,PowerDesigner等,这一阶段主要是依据系统的<a href="200603101518295.html" tppabs="http://www.itisedu.com/phrase/200603101518295.html" target="_new">需求</a>,获取与分析要实现的应用系统信息,进行数据内部以及外在关系的分析,从而有效地建立整个系统的数据结构(在关系数据库中通常称为表结构),在此基础上对数据库的数据量、数据流量、及响应速度的估算分析,这样数据模型就产生了。具体的操作准则是数据库的几个<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604241409355.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604241409355.html'" tppabs="http://www.itisedu.com/phrase/200604241409355.html" target="_new">范式</a>、用户的具体需求和分析者的经验,从数据库的性能、安全、方便管理、易于开发等方面出发,具体方法因分析员的喜好和习惯而异,可以不用工具,最好使用工具,能让分析过程简便,最主要是能生成一些图,如E-R图,让分析过程一目了然。</FONT></P>
<P><FONT face=Verdana>二、物理设计</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此步设计和系统将具体使用的数据库有关,也和数据库所运行的硬、<a href="200604232134205.html" tppabs="http://www.itisedu.com/phrase/200604232134205.html" target="_new">软件</a>平台有关,目的是尽量合理地给数据库分配物理空间,这一步在数据库设计中很重要,关系到数据库数据的安全和数据库的性能,具体的来说,这一步包括相应表空间的数据文件在磁盘上的分配,还要根据数据量的大小确定redolog文件、rollback段的大小,然后进行分配,这些文件的分配要遵循一些原则,本着利于备份,利于性能优化的原则,原则如下(以ORACLE数据库为例):</FONT></P>
<P><FONT face=Verdana>1、为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对象,确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。</FONT></P>
<P><FONT face=Verdana>2、了解终端用户怎样访问数据,如果可能,将经常同时查询和频繁查询的对象放在不同的物理磁盘上。</FONT></P>
<P><FONT face=Verdana>3、当数据库包含允许用户并行访问不同数据元素的大对象时,将对象分割存放在多个磁盘上是有好处的。可以采用分区。在某个操作系统平台上定义拥有数百万行的表时,则更需小心,因为数据库文件的大小受到限止,这种限制是由操作系统而不是由oracle引起的。</FONT></P>
<P><FONT face=Verdana>4、在独立的各盘上至少创建两个用户定义的rollback表空间,以存放用户自己的rollback段。在初始化文件中安排rollback段的次序,使它们在多个磁盘之间进行切换。</FONT></P>
<P><FONT face=Verdana>5、将redo log文件放在一个读写较少的盘上。对于每个oracle 实例要建立两个以上的redo log 组,同组的两个成员放在不同的设备上。</FONT></P>
<P><FONT face=Verdana>6、确立表和索引的大小,这决定了保存它们所需的表空间的尺寸,也决定了哪些表空间物理地装在哪些盘上和哪些表空间可以结合在一起。具体的估算方法可以按照oracle 一些公式,这里还要按照各个表的具体特性,用途,定义它的存贮参数如(pctfree,pctused)。</FONT></P>
<P><FONT face=Verdana>三、关于数据库参数的设计</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个数据库在建立时,都有缺省的参数设置,但是对于具体的应用要求参数设置可能不同,缺省的参数设置往往需要根据应用系统的特点而需要改动,如每个数据库的操作系统平台、instance 数目、各种内存大小的设置、采取的线程方式、备份方式等不同,具体的参数就一定要进行最为恰当的修改,这个步骤对数据库性能很重要,也是保证应用系统所要求的数据库功能得以实现重要一步。</FONT></P>
<P><FONT face=Verdana>四、与开发软件的接口问题</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据库设计最后要考虑的是与要选择的开发软件之间的接口问题,要准备好接口<a href="200604232224305.html" tppabs="http://www.itisedu.com/phrase/200604232224305.html" target="_new">程序</a>,有些是第三方软件已经备好的,有些是数据库本身要具备的,如<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604151904545.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604151904545.html'" tppabs="http://www.itisedu.com/phrase/200604151904545.html" target="_new">jdbc</a>,bde,<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604152347055.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604152347055.html'" tppabs="http://www.itisedu.com/phrase/200604152347055.html" target="_new">ado</a>,等与数据库的接口,主要是考虑接口的可用性、效率问题。这一步主要从经验出发,因为这种产品不断出台,而且都是经过各商家的吹捧,要在实践中决定哪个是最适合。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以上是数据库建模设计的几个重要步骤的大致分析,整个设计过程是不断地改进的,是<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604241134185.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604241134185.html'" tppabs="http://www.itisedu.com/phrase/200604241134185.html" target="_new">数据库管理员</a>、设计人员、开发人员共同完成的,只是各有侧重点不同,数据库管理员侧重于是2、3步的设计,设计人员侧重于1步的设计,而开发人员侧重于4步的设计,由于有些应用系统的编程环境和实际应用环境不同,所以要做两套设计,并注意两套设计的兼容性可移植性。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面结合一个实际开发的劳资管理系统中的数据库设计,对以上几个步骤做进一步解释。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该系统应用于大型企业集团,包括几十个分厂,基本数据均来源于各分厂,各分厂有一套access数据库,存贮着自己的人才档案信息,由各厂自己维护,定期传到总的数据库里,供劳资处各室查询、统计用,。这是一个分部式的数据库。</FONT></P>
<P><FONT face=Verdana>一、逻辑建模</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先是对数据库的数据量、数据流量、及响应速度的估算分析,这一步对物理设计也是必须的,劳资系统的主要数据是人员档案,大概有100兆左右,还有人员配备等信息加上工种序列、工资等级、厂矿车间等各种编码,总的数据量大约在某些方面300兆左右。数据的输入、维护大部分在各厂矿进行,然后到处里集中,所以数据流量很大,对响应速度要求一般。</FONT></P>
<P><FONT face=Verdana>在逻辑建模上的工具上,采用Rantional rose 2000,根据用户的需求,设计各种<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604241334095.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604241334095.html'" tppabs="http://www.itisedu.com/phrase/200604241334095.html" target="_new">use case view</a>, 在 logic view中生成数据库的实体,及实体之间的E-R图,然后生成Data modeler,确定以后,用Schema generation在建好的数据库中的对应的用户下生成表。</FONT></P>
<P><FONT face=Verdana>详细的图很繁琐,在这里就不展示了。</FONT></P>
<P><FONT face=Verdana>二、物理设计</FONT></P>
<P><FONT face=Verdana>1、因为职工档案信息库很大,还有照片,所以把它分成两个表,把照片单独地放在一个表中,并且采用分区技术,在档案表、照片表上建立分区,不同的分区分别放在不同的表空间。</FONT></P>
<P><FONT face=Verdana>2、因为职工档案信息库里有许多编码,查询的时候要和编码库一起进行read操作,所以不把职工档案信息表和编码库放在一个表空间。</FONT></P>
<P><FONT face=Verdana>3、建立二个rollback 表空间,十个rollback段,分区放在二个表空间里,建立一个比较大的rollback段,因为职工档案信息表经常会有批量的修改与添加。</FONT></P>
<P><FONT face=Verdana>4、将redo log文件放在一个读写较少的盘上。建立三个redo log 组,同组的两个成员放在两个盘上。因为选用的是ARCHIVELOG的备份方式。</FONT></P>
<P><FONT face=Verdana>5、根据每个表的性质,确定其存贮的参数,如职工档案信息表的修改、删除、插入都比较多,所以把它的Pctfree 10,Pctused 80定大小,估算出它大致需要的block数,算出存放这些表的表空间的数据文件的大小。</FONT></P>
<P><FONT face=Verdana>6、根据用户的需求,建立一套数据库的安全体系。也就是总结出几种权限级别的用户,建立这些用户,并给这些用户赋上相应的仅限,供开发人员编程时使用。</FONT></P>
<P><FONT face=Verdana>三、参数的设置</FONT></P>
<P><FONT face=Verdana>缺省的初始化参数文件中,选择large。因为用户数很多,100个左右。</FONT></P>
<P><FONT face=Verdana>SHARED_POOL_SIZE, 与数据库大小有关,也与应用软件有关。这里设成缺省值的1.5倍。</FONT></P>
<P><FONT face=Verdana><a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604231245475.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604231245475.html'" tppabs="http://www.itisedu.com/phrase/200604231245475.html" target="_new">DB</a>_BLOCK_BUFFERS 根据所用服务器的内存与交易数的大小,设为25兆。</FONT></P>
<P><FONT face=Verdana>SORT_AREA_SIZE 根据所用服务器的内存,设为10兆</FONT></P>
<P><FONT face=Verdana>LOG_BUFFER 用缺省值的1.5倍。</FONT></P>
<P><FONT face=Verdana>DBWR_IO_SLAVES 设为1</FONT></P>
<P><FONT face=Verdana>ROLLBACK_SEGMENTS 根据交易量的大小,定为10个。分别放在两个磁盘上。</FONT></P>
<P><FONT face=Verdana>PROCESS 80</FONT></P>
<P><FONT face=Verdana>MTS_SERVERS 3</FONT></P>
<P><FONT face=Verdana>MTS_DISPATCHERS tcp,3</FONT></P>
<P><FONT face=Verdana>ARCHIVE_LOG_START TRUE 采用ARCHIVE方式备份。</FONT></P>
<P><FONT face=Verdana>这些参数的确定是暂时的,没有一个系统可以运行之前把参数确定得正好,需要在应用程序运行之后进行调整。</FONT></P>
<P><FONT face=Verdana>四、与开发软件的接口问题</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp; 因为我们这个系统的开发软件用的是Borland c++builder 5,所以采用的是比较成熟的BDE的接口,它是Borland公司提供的,性能比较好。</FONT></P>
<P><FONT face=Verdana>以上是根据多年数据库管理、开发的实践总结而出的数据库建模与设计的大致思路,希望能对大家有所帮助。<BR></FONT></P>
<P><FONT face=Verdana><STRONG>Oracle数据库的备份与恢复</STRONG></FONT></P>
<P><FONT face=Verdana>---- 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复。ORACLE 数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。 </FONT></P>
<P><FONT face=Verdana>---- 一、 导出/导入(Export/Import) </FONT></P>
<P><FONT face=Verdana>---- 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle数据库中去。 </FONT></P>
<P><FONT face=Verdana>---- 1. 简单导出数据(Export)和导入数据(Import) </FONT></P>
<P><FONT face=Verdana>---- Oracle支持三种类型的输出: </FONT></P>
<P><FONT face=Verdana>---- (1)表方式(T方式),将指定表的数据导出。 </FONT></P>
<P><FONT face=Verdana>---- (2)用户方式(U方式),将指定用户的所有对象及数据导出。 </FONT></P>
<P><FONT face=Verdana>---- (3)全库方式(Full方式),将数据库中的所有对象导出。 </FONT></P>
<P><FONT face=Verdana>---- 数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。 </FONT></P>
<P><FONT face=Verdana>---- 2. 增量导出/导入 </FONT></P>
<P><FONT face=Verdana>---- 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 </FONT></P>
<P><FONT face=Verdana>---- 增量导出包括三个类型: </FONT></P>
<P><FONT face=Verdana>---- (1)“完全”增量导出(Complete) </FONT></P>
<P><FONT face=Verdana>---- 即备份整个数据库,比如: </FONT></P>
<P><FONT face=Verdana>---- $exp system/manager inctype=complete file=990702.dmp </FONT></P>
<P><FONT face=Verdana>---- (2) “增量型”增量导出 </FONT></P>
<P><FONT face=Verdana>---- 备份上一次备份后改变的数据。比如: </FONT></P>
<P><FONT face=Verdana>---- $exp system/manager inctype=incremental file=990702.dmp </FONT></P>
<P><FONT face=Verdana>---- (3) “累计型”增量导出(Cumulative) </FONT></P>
<P><FONT face=Verdana>---- 累计型导出方式只是导出自上次“完全” 导出之后数据库中变化了的信息。比如: </FONT></P>
<P><FONT face=Verdana>---- $exp system/manager inctype=cumulative file=990702.dmp </FONT></P>
<P><FONT face=Verdana>---- 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效地完成。 </FONT></P>
<P><FONT face=Verdana>---- 比如数据库的备份任务可作如下安排: </FONT></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -