- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]研究生数据库设计仅供参考
数 据 库 设 计
武汉理工大学计算机科学系 刘洪星
2005-6-16
本章介绍数据库设计的基本概念、方法和工具,重点介绍数据库的概念结构
设计(第 2 章)和逻辑结构设计(第 3 章)。
本书的读者大部分不会参与数据库管理系统 (DBMS)的设计,但是要应用数
据库技术,而数据库设计正是数据库应用的核心内容。
1 数据库设计概述
1 .1 数据库设计的任务和特点
从应用的角度看,数据库系统主要由数据库、数据库管理系统和数据库应用
系统三部分组成。
关于数据库设计的任务,有二种不同的定义。广义的数据库设计,指是建立
数据库及其应用系统的技术,具体包括选择合适的数据库管理系统,设计数据库
的结构,以及开发数据库应用系统等。这实际上是 “数据库系统”的设计,其成
果有二:一是数据库结构(即数据库模式),二是以数据库为基础的应用程序系
统。
数据库应用程序是随着应用而不断发展的,在有些以即席访问为主的数据库
系统中,例如情报检索或联机分析 (OLAP)应用中,事先很难编出所需的应用程
序或事务。再则,应用程序系统的开发涉及到软件工程或信息系统工程,对其完
整的介绍已超出了本书的范围。因此,我们定义数据库设计的基本任务是:根据
一个组织的信息需求、处理需求和数据库支撑环境 (主要是DBMS),设计出数据
库模式——包括概念模式、逻辑模式、和物理模式。
数据库设计的结果不是唯一的,针对同一应用环境,不同的设计者可能得出
不同的数据库模式。评判数据库设计结果好坏的准则主要有:
·完备性:设计结果应能表示应用领域所需要的所有信息,当然不包括那些
非本质的、与系统目标无关的信息。这些信息要么在数据库中直接表示 (例:学
生姓名、出生日期),要么能通过计算或推导而间接表示 (例:学生年龄=当前日
期—出生日期)。
·一致性:数据库中的信息是协调一致的,没有语义或值的冲突。
·优化的:在满足完备性和一致性的前提下,数据库模式应该规范化 (冗余
小,语义清楚简单)和应用效率高(易于查询/操纵、速度快)。
上述准则间有些是有冲突的,好的设计需在相互制约的需求间寻求平衡,以
达到系统的整体最优。
大型数据库的设计和开发是一项庞大的工程,是涉及到多学科的综合性技
术。对于数据库的设计者而言,应该具备多方面的技术和知识。主要有:
·数据库的基本知识和数据库设计技术,这是本书,特别是本章的重点;
1
·软件工程和信息系统工程的原理和方法;
·应用领域的专门知识;例如,设计一个学校的“教学数据库”,必须了解
学校性质,对教学管理的流程和规范有清楚的认识。
影响数据库设计的因素,除了数据库设计者的能力等主观因素,还有如下主
要的客观因素:
·数据库的规模:业界常常按数据库的大小,或支持的并发应用的多少,将
数据库规模从小到大划分为桌面级或个人级(Desktop/Personal)、工作组级
(Workgroup)和企业级 (Enterprise)。桌面级数据库只需支持单个或少量用户,
面向特定的应用,是一种“应用数据库”,其设计比较简单。而企业级数据库可
能是一个跨地域的、支持成千上万并发用户或应用的“主题数据库”,或“综合
性数据库”,显然,这类数据库的设计要复杂得多。
·数据库类型:根据应用领域或主要应用性质的不同,可以将数据库划分为
多种类型。例如,支持管理信息系统 (MIS)的数据库与支持CAD/CAM 的数据库,
可能会对设计提出不同要求。又例如,以查询应用为主的数据库不同于需要频繁
操纵(插入、删除、修改)的数据库。
·数据库支撑环境或计算方式。我们可将数据库划分为集中式、客户/服务
器(C/S)以及分布式数据库等。支撑环境的不同会影响数据库设计,特别是物
理设计和实现。
1 .2 数据库设计的基本步骤
数据库是一种特殊的软件系统。借鉴软件工程中软件生命周期的思想,可将
数据库设计分为五个基本步骤(如图 1.1 所示),其基本思想是过程迭代和逐步
求精。
文档评论(0)