资源描述
数据库管理工作草案
Ver 1.0
宋永强
2003年5月9日
Version
最后更新日期
变更内容
1.0
5/12/2003 9:18 AM
发布数据库管理工作草案
一、 数据库变更
U851是属于升级产品,因此数据库的变更主要是基于脚本的形式。脚本分为以下几方面:
数据结构:结构指表的结构调整,包括:表的建立和删除;字段的增减;字段属性的变动;索引;关联。
Ø 产品数据:针对升级,对旧的数据库中的数据进行更新。一般利用SQL脚本完成,也有少量存储过程完成此类功能。
Ø 视图:当视图涉及表的结构有变动,该视图就必须重新建立。
Ø 存储过程:主要是各个产品运行中使用,少量会在升级中使用。
Ø 触发器:主要是各个产品运行中使用,部分会使用在升级中。
Ø 预置数据:关键是控制统一规范的部分
除了脚本以外,还可能包括DLL、XML文件。
二、 涉及角色
所有角色都要从结构、数据两方面考虑影响。
Ø 产品经理
全面掌握产品数据库的变动情况和产品数据库提交进展情况。
Ø 产品设计人员
提出变更请求,修改错误,验证所提出变更部分是否在新的模版库中得到满足。
Ø 产品实现人员
了解产品数据库的变动情况和变动历史。
Ø 产品测试人员
了解数据库变动,把握对测试的影响程度
Ø 数据整合人员
获取最新的脚本、提交整合后的新的模版库
Ø 数据库管理员
监督各产品提交的变动的影响范围,监督各产品对错误的修改。从整个系统评估数据库设计和变动的合理性。设计对各模块的影响,协调模块。判断错误类型数据错误(用户触发器、丢失默认值、null。。。。)、还是脚本错,通知相应人员进行修改。
三、 工作流程
下面描述了数据库变更的主要工作流程。从其中可以看到“管理员”的职责主要在于负责整个流程的执行过程。
四、 工作规范
目前仍然采用手工模式进行操作,版本化的工作按照产品的实现程度和要求调整。
1. 管理
采用SourceSafe工具管理。
SourceSafe 服务器:CODESRV\VSS
SourceSafe目录:M产品本部/SQL版/851/主版本/851数据库
工作流程:
n 请各位从 M产品本部\SQL版\851\主版本\851数据库 下获取“数据库变更记录.MDB”数据库,该库主要完成变更要求的登记。每个产品组将该数据库放入 M产品本部\SQL版\851\主版本\851数据库\各组升级文件 本组目录下。
每次对象数据库有任何的变更(包括表结构、数据、触发器、存储过程、视图、DLL、XML)都需要记录在该数据库中。
使用方法。
1. 打开“变更要求”表
2. 输入变更要求(编号唯一,形式无要求),保存后展开此记录,如下
3. 输入变更主表记录(主序号唯一,文件名称写出XXXX.SQL; XXXX.DLL; XXXX.XML),执行顺序指明文件的在升级过程中的执行顺序(只需产品内的先后顺序,如果该文件执行必须安排在其他产品满足条件下请在主备注中详细描述)。保存后展开此记录,如下
4. 输入变更子表,修改结果如下:
n 每天上午9:00由管理员从851安装提交\各组升级文件中获取所有文件最新版本,并且删除851安装提交\各组升级文件改错 中所有文件。
n 每天上午9:30以后才能上传新的文件。
n 每天上午9:00之前各组将 851安装提交\各组升级文件改错 中文件转入851安装提交\各组升级文件 。
n 每天在整合中发现的错误应该尽快解决,修改后放入 851安装提交\各组升级文件改错
n 对每天的改错采取按实际情况进行处理。
n 提交整合成功后的模版数据库和升级工具。
n 提供升级的999演示库。
n 提供和最新模版库一致的数据字典
2. 文件管理
这里的文件包括(SQL、DLL、XML)
脚本文件的命名约定严格遵守“U851数据库设计要求”中数据升级要求部分。
如果该文件的调用具有依赖关系,务必附加单独的文本文件进行详细描述,该类文件命名规范为DEP_<文件名称>.TXT。
五、 数据库管理流程自动化
为了加强数据库的变更管理工作。计划开发相应的工具来进行管理。采用工具进行管理的目的:
Ø 统一变更的口径
Ø 更透明的过程
Ø 加强版本跟踪控制
Ø 良好的数据字典支持
Ø 更多的特性……
六、 性能优化
性能优化的一些基本原则仍然参考“U851数据库设计要求”。
考虑到我们开发的产品是业务应用软件,性能的出现具有环境上下文关系,多数情况下具有很负责的情况,因此将建立产品性能知识库,将产品中出现的性能问题进行归类、分析,对性能的调整过程进行记录,对性能问题的出现环境进行归类识别。
建立知识库,可以在出现类似问题时可以复用知识。在性能问题的分析上可以逐步形成经验的积累。
同时,我们可以在设计、实现的时候有意识的考虑性能问题。
七、 数据库设计开发支持
对数据库的设计规范参考“U851数据库设计要求”。
数据库的设计,尤其是应用软件的数据库设计,重要的不是数据库设计是否完全符合范式。更为重要的是设计的数据库是如何使用的。
因此在以后的数据库设计中,要求不仅仅给出表的结构,同时必须指出在详细设计文档中使用该表的关键业务场景和关键算法。
展开阅读全文