转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
浅谈oracle数据库的建模与设计         ★★★★

浅谈oracle数据库的建模与设计

作者:闵涛 文章来源:闵涛的学习笔记 点击数:625 更新时间:2009/4/22 21:58:59


 
  要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建
模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似建立在危房之上,随着
开发过程的不断深入,它要随时面临着各种难以预料的风险,开发者要为修改或重新设计没有
设计好的数据库系统而付出难以预料的代价。所以,一个良好的数据库设计是高效率的系统所
   一、逻辑建模
   数据库设计的方法因具体数据库而异,但是建模阶段的相同的,所以可以用一些通用的工
具来进行,如Rational rose,PowerDesigner等,这一阶段主要是依据系统的需求,获取与分
析要实现的应用系统信息,进行数据内部以及外在关系的分析,从而有效地建立整个系统的数
据结构(在关系数据库中通常称为表结构),在此基础上对数据库的数据量、数据流量、及响
应速度的估算分析,这样数据模型就产生了。具体的操作准则是数据库的几个范式、用户的具
体需求和分析者的经验,从数据库的性能、安全、方便管理、易于开发等方面出发,具体方法
因分析员的喜好和习惯而异,可以不用工具,最好使用工具,能让分析过程简便,最主要是能
   二、物理设计
   此步设计和系统将具体使用的数据库有关,也和数据库所运行的硬、软件平台有关,目的
是尽量合理地给数据库分配物理空间,这一步在数据库设计中很重要,关系到数据库数据的安
全和数据库的性能,具体的来说,这一步包括相应表空间的数据文件在磁盘上的分配,还要根
据数据量的大小确定redolog文件、rollback段的大小,然后进行分配,这些文件的分配要遵
循一些原则,本着利于备份,利于性能优化的原则,原则如下(以ORACLE数据库为例):
   1、为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对
象,确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。
   2、了解终端用户怎样访问数据,如果可能,将经常同时查询和频繁查询的对象放在不同
   3、当数据库包含允许用户并行访问不同数据元素的大对象时,将对象分割存放在多个磁
盘上是有好处的。可以采用分区。在某个操作系统平台上定义拥有数百万行的表时,则更需小
心,因为数据库文件的大小受到限止,这种限制是由操作系统而不是由oracle引起的。
   4、在独立的各盘上至少创建两个用户定义的rollback表空间,以存放用户自己的
rollback段。在初始化文件中安排rollback段的次序,使它们在多个磁盘之间进行切换。
   5、将redo log文件放在一个读写较少的盘上。对于每个oracle 实例要建立两个以上的
   6、确立表和索引的大小,这决定了保存它们所需的表空间的尺寸,也决定了哪些表空间
物理地装在哪些盘上和哪些表空间可以结合在一起。具体的估算方法可以按照oracle 一些公
式,这里还要按照各个表的具体特性,用途,定义它的存贮参数如(pctfree,pctused)。
   三、关于数据库参数的设计
   每个数据库在建立时,都有缺省的参数设置,但是对于具体的应用要求参数设置可能不同
,缺省的参数设置往往需要根据应用系统的特点而需要改动,如每个数据库的操作系统平台、
instance 数目、各种内存大小的设置、采取的线程方式、备份方式等不同,具体的参数就一
定要进行最为恰当的修改,这个步骤对数据库性能很重要,也是保证应用系统所要求的数据库
   四、与开发软件的接口问题
   数据库设计最后要考虑的是与要选择的开发软件之间的接口问题,要准备好接口程序,有
些是第三方软件已经备好的,有些是数据库本身要具备的,如jdbc,bde,ado,等与数据库的接
口,主要是考虑接口的可用性、效率问题。这一步主要从经验出发,因为这种产品不断出台,
而且都是经过各商家的吹捧,要在实践中决定哪个是最适合。
   以上是数据库建模设计的几个重要步骤的大致分析,整个设计过程是不断地改进的,是数
据库管理员、设计人员、开发人员共同完成的,只是各有侧重点不同,数据库管理员侧重于是
2、3步的设计,设计人员侧重于1步的设计,而开发人员侧重于4步的设计,由于有些应用系
统的编程环境和实际应用环境不同,所以要做两套设计,并注意两套设计的兼容性可移植性。
   下面结合一个实际开发的劳资管理系统中的数据库设计,对以上几个步骤做进一步解释。
   该系统应用于大型企业集团,包括几十个分厂,基本数据均来源于各分厂,各分厂有一套
access数据库,存贮着自己的人才档案信息,由各厂自己维护,定期传到总的数据库里,供劳
   一、逻辑建模
   首先是对数据库的数据量、数据流量、及响应速度的估算分析,这一步对物理设计也是必
须的,劳资系统的主要数据是人员档案,大概有100兆左右,还有人员配备等信息加上工种序
列、工资等级、厂矿车间等各种编码,总的数据量大约在某些方面300兆左右。数据的输入、
维护大部分在各厂矿进行,然后到处里集中,所以数据流量很大,对响应速度要求一般。
   在逻辑建模上的工具上,采用Rantional rose 2000,根据用户的需求,设计各种use
case view, 在 logic view中生成数据库的实体,及实体之间的E-R图,然后生成Data
modeler,确定以后,用Schema generation在建好的数据库中的对应的用户下生成表。
   详细的图很繁琐,在这里就不展示了。
   二、物理设计
   1、因为职工档案信息库很大,还有照片,所以把它分成两个表,把照片单独地放在一个
表中,并且采用分区技术,在档案表、照片表上建立分区,不同的分区分别放在不同的表空间
   2、因为职工档案信息库里有许多编码,查询的时候要和编码库一起进行read操作,所以
不把职工档案信息表和编码库放在一个表空间。
   3、建立二个rollback 表空间,十个rollback段,分区放在二个表空间里,建立一个比较
大的rollback段,因为职工档案信息表经常会有批量的修改与添加。
   4、将redo log文件放在一个读写较少的盘上。建立三个redo log 组,同组的两个成员
放在两个盘上。因为选用的是ARCHIVELOG的备份方式。
   5、根据每个表的性质,确定其存贮的参数,如职工档案信息表的修改、删除、插入都比
较多,所以把它的Pctfree 10,Pctused 80定大小,估算出它大致需要的block数,算出存放
   6、根据用户的需求,建立一套数据库的安全体系。也就是总结出几种权限级别的用户,
建立这些用户,并给这些用户赋上相应的仅限,供开发人员编程时使用。
   三、参数的设置
   缺省的初始化参数文件中,选择large。因为用户数很多,100个左右。
   SHARED_POOL_SIZE, 与数据库大小有关,也与应用软件有关。这里设成缺省值的1.5倍。
   DB_BLOCK_BUFFERS 根据所用服务器的内存与交易数的大小,设为25兆。
   SORT_AREA_SIZE 根据所用服务器的内存,设为10兆
   LOG_BUFFER 用缺省值的1.5倍。
   DBWR_IO_SLAVES 设为1
   ROLLBACK_SEGMENTS 根据交易量的大小,定为10个。分别放在两个磁盘上。
   PROCESS 80
   MTS_SERVERS 3
   MTS_DISPATCHERS tcp,3
   ARCHIVE_LOG_START TRUE 采用ARCHIVE方式备份。
   这些参数的确定是暂时的,没有一个系统可以运行之前把参数确定得正好,需要在应用程
   四、与开发软件的接口问题
   因为我们这个系统的开发软件用的是Borland c++builder 5,所以采用的是比较成熟的BDE
   以上是根据多年数据库管理、开发的实践总结而出的数据库建模与设计的大致思路,希望
   原作者:邓未玲



没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台