Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101915869
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-15 13:11:25

来源:赛迪网技术社区    作者:邓未玲

一、逻辑建模

首先是对数据库的数据量、数据流量、及响应速度的估算分析,这一步对物理设计也是必须的,劳资系统的主要数据是人员档案,大概有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的接口,它是Borland公司提供的,性能比较好。

以上是根据多年数据库管理、开发的实践总结而出的数据库建模与设计的大致思路,希望能对大家有所帮助。

阅读(136) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~