数据库设计过程是指在一个给定的应用环境,选择合理的数据库模式和数据模型进行数据库及应用系统设计,使之能够有效存取数据并满足用户需求的过程。数据库设计的过程也和其他软件系统设计一样,是个反复迭代的过程。数据库设计过程的划分也不是十分严格的,通常在系统设计的实施中,也未必完全依照这六个步骤顺序去开发,不过这六个阶段基本上包括了数据库设计的全过程和相关问题。......
2023-11-24
由于信息结构复杂,应用环境多样,在相当长的一段时期内数据库设计主要采用手工试凑法。使用这种方法与设计人员的经验和水平有直接关系,数据库设计是一种技艺而不是工程技术,缺乏科学的理论和工程原则支持,很难保证设计质量。人们经过探索提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。基于E-R模型的数据库设计方法,基于3 NF(第三范式)的设计方法,基本抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法,是常用的规范设计法。
如何选择合适的数据库设计方法:一个好的数据库设计方法,应该能够以合理的工作量、在合理的期限内设计一个合理高效并且具有使用价值的数据库,其衡量标准就是要满足客户的需求,包括功能、性能、安全性、完整性及其未来发展等各方面,同时能够在特定的硬件环境、软件环境和数据库管理系统平台上实现。
另外从方法学的角度来说,一个好的方法应该具有足够的通用性和灵活性,可以为具有不同经验的用户所使用和采纳;同时又能适应不同的数据模型和不同的数据管理系统;而且不同的设计者使用同一方法,设计同一问题时,应该得到相同或类似的结果(这个特性也被称作可再生性)。
一般地,选择设计方法时应该考虑如下一些问题:
①哪些工具有助于设计?
②开发时间的紧急性?
③开发人员的技术背景?
④项目是否需要额外条件?(www.chuimin.cn)
⑤项目现有资源状况?
选择设计方法和理论最重要的因素就是开始设计时可供使用的技术或工具。一些软件可以完成数据库设计中的大多数任务。但是,工具的使用结果只能是改善,并不能完全依靠它来完成设计过程。开发人员不能依赖工具来完成所有的工作。工具在很大程度上依靠开发人员的经验来保证数据库模型能生成可行的设计方案和高性能的数据库。
由于设计和实现数据库的时间有限,设计阶段所花费的时间就不可能太长。尽管设计时间安排的冲突可能会导致最终产品性能的降低,但像设计方法的选择,所花费的时间还是可以缩减的,但设计阶段的工作需要认真进行。必须清晰定义各阶段的任务和目标,有详细而完整的文档,便于后期数据库的修改。
开发工作完成后,不可避免地要进行一些改进,这样,数据库和应用软件的版本控制就非常重要。如果公司的内部设计人员设计数据库的经验不足,可以考虑将任务外包给一些有经验的技术人员。一旦将任务外包给别人,公司就很难控制设计数据库所使用的方法和工具,这也将导致开发成本的增加。当然还需要项目承接方提供完备的技术文档。公司内部的设计人员可以通过技术文档掌握数据库模型的结构,减少向承接方要求技术支持需付的费用。较好的办法是用户希望拥有一个性能相对较高的数据库系统,因此,设计人员可以研究现有数据库的结构,参照现有的数据库系统,设计出新的数据库。
传统的设计方法包括如下三个阶段:需求分析、数据建模及设计和规范化。
需求分析阶段要分析实际业务的各种需求,涉及信息的功能性和非功能性需求。在数据建模阶段,收集系统的各种信息以便对数据库建模,包括诸如业务数据、处理规则、各类实体等,可以通过可视化的方式提供给设计小组,便于他们更好地掌握业务系统需求,进行数据建模。最后,将数据模型中的对象转换为表,经过规范化后,减少存储在数据库中的冗余数据。大多数的数据库设计方法都需要经历这三个步骤。
选定了设计方法后,设计工作就可以有序地开展。根据所选择的设计方法按部就班地进行并最终获得一个实用的应用系统。当然,除了上述的一般设计方法外,伴随着数据库技术的发展及各种工具的使用,也出现了不少数据库设计方法,鉴于篇幅有限,现行典型的或特殊的数据库设计方法此处不再赘述,请参阅有关技术资料。
有关数据库技术与应用教程的文章
数据库设计过程是指在一个给定的应用环境,选择合理的数据库模式和数据模型进行数据库及应用系统设计,使之能够有效存取数据并满足用户需求的过程。数据库设计的过程也和其他软件系统设计一样,是个反复迭代的过程。数据库设计过程的划分也不是十分严格的,通常在系统设计的实施中,也未必完全依照这六个步骤顺序去开发,不过这六个阶段基本上包括了数据库设计的全过程和相关问题。......
2023-11-24
从1.1.1节的介绍可以看到,在数据库管理系统出现之前,人们对数据的操作是直接针对数据文件编写应用程序实现的,这种模式会产生很多问题。对于1.1.1小节中列举的学生基本信息管理和学生选课管理两个子系统,如果使用数据库技术来管理,其实现方式如图1-4所示。保证数据的安全是通过数据库管理系统的安全控制机制实现的,保证数据的可靠是通过数据库管理系统的备份和恢复机制实现的。......
2023-11-24
如果要使用缺省参数创建一个学籍管理数据库StuData,可以使用如下命令:Create Database StuData如果希望为数据库或事务日志指定一个或者多个特定文件,增加一个On Primary子句,列出一个或者多个文件,并可为分配这个文件的空间指定一个可选值,其命令形式如下:Create Database StuDataOn Primary,;如果为了提高性能和可恢复性,则可以使用Log On子句来指定数据库的SQL Server事务日志将存储在一个与数据库对象不同的设备上,示例如下:Create Database StuDataOn Primary,Log On;GO......
2023-11-24
关键字Modify File用以表示按后面的文件说明,在指定的数据库中修改相应数据库文件。下面的语句可在学籍管理数据库增加一个新数据库文件,同时要修改原数据库文件StuFile l的最大文件尺寸为2000 MB。Alter Database StuDataAdd FileModify File又如,如果要删除学籍管理数据库文件StuFile2,则可使用如下命令:Alter Database StuDataRemove File StuFile2......
2023-11-24
SQL的数据查询语句中包括SELECT,FROM,WHERE,GROUP BY和ORDER BY子句。SELECT语句具有数据查询、统计、分组和排序的功能,其语句表达能力非常强大。查询操作需要的数据源指基本表组,表间用“,”分割。当SELECT子句后的目标列中有统计函数,如果查询语句中有分组子句,则统计为分组统计,否则为对整个结果集统计。交查询操作,操作结果为取<查询1>和<查询2>共有的元组。......
2023-11-24
下面介绍的优化策略能提高查询的效率,但它们不一定是最优的策略,实际上“优化”一词并不是很确切,用“改进”或“改善”或许更恰当些。即使这样,使用预处理方法执行连接的时间一般仍大大减少。当查询视图时,定义视图的表达式就是公共子表达式的情况。......
2023-11-24
根据事务的设置、用途的不同,SQL Server 2012将事务分为多种类型。用户定义事务在实际应用中,大多数的事务处理采用了用户定义的事务来处理。ROLLBACK语句是取消语句,该语句将事务的操作全部取消,即表示事务操作失效。显式事务显式事务是指每个事务均以BEGⅠN TRANSACTⅠON语句显式开始,以COMMⅠT或ROLLBACK语句显式结束。......
2023-11-24
例如,一名学生可以用信息“”描述,这样的一行数据称为一条记录。单看这行数据我们很难知道其确切含义,但对其进行如下解释:张三是9912101班的男学生,1981年出生,计算机系应用软件专业,其内容就是有意义的。因此,数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。数据的静态特征包括数据的基本结构、数据间的联系以及对数据取值范围的约束。数据的动态特征是指对数据可以进行符合一定规则的操作。......
2023-11-24
相关推荐