关键字:面向对象 关系数据库 设计
北京市公路局系统使用的是Oracle 7.3关系数据库,即RDBMS。由于我们对整个工程使用了面向对象的软件工程(OOSE)开发方法学,所以数据库设计也是面向对象的。 一、 概念的区分
有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS) 理论混为一谈。其实前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。用户使用面向对象方法学可以定义任何一种DBMS数据库,即网络型、层次型、关系型、面向对象型均可,甚至文件系统设计也照样可以遵循面向对象的思路。
面向对象的思路或称规范可以用于系统分析、系统设计、程序设计,也可以用于数据结构设计、数据库设计。OOSE自上至下、自始至终地贯彻面向对象思路,是一个一气呵成的统一体。面向对象的数据库设计只是 OOSE 的一个环节。
二、 数据库设计的重要性
一般数据库设计方法有两种,即属性主导型和实体主导型。属性主导型从归纳数据库应用的属性出发,在归并属性集合(实体)时维持属性间的函数依赖关系。实体主导型则先从寻找对数据库应用有意义的实体入手,然后通过定义属性来定义实体。一般现实世界的实体数在属性数 1/10 以下时,宜使用实体主导型设计方法。面向对象的数据库设计是从对象模型出发的,属于实体主导型设计。
一般数据库应用系统都遵循以下相关开发步骤:1设计应用系统结构;2 选择便于将应用程序与 DBMS 结合的DBMS体系结构,如RDBMS;3 根据应用程序使用的环境平台,选择适宜的DBMS(如Oracle)和开发工具(如PB);4 设计数据库,编写定义数据库模式的SQL程序;5 编写确保数据正确录入数据库的用户接口应用程序;6 录入数据库数据;7 运行各种与数据库相关的应用程序,以确认和修正数据库的内容。
对以上各步骤,有几点需要说明:
(1)这不是瀑布模型,每一步都可以有反馈。
在公路局系统中,以上各步不仅有反馈、有反复,还有并行处理。比如一些库表在数据录入时,另一些库表设计还在修改。这与我们的递增式开发方法有关,也与面向对象的特征有关。
(2)上述顺序不是绝对的,大多数场合是从第三步开始的。
(3)对大多数数据库应用系统来说,上述各步中最重要、最困难的不是应用系统设计而是数据库设计。
三、 DBMS的支持和数据库设计
很多数据库应用系统开发者不重视数据库设计的原因是:他们太迷信DBMS,认为购入一个功能强大的 DBMS后数据库设计就不困难、不重要了。一些国内外的数据库教材常常是在为DBMS的开发厂商做宣传,而很少站在数据库用户角度,从数据库应用系统出发介绍数据库设计方法。结果往往使读者搞不清书中介绍的是数据库管理程序的设计思想,还是应用这种 DBMS 进行数据库设计的思想。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/