计算机基础(第2版)课件第7章 数据库设计基础_第1页
计算机基础(第2版)课件第7章 数据库设计基础_第2页
计算机基础(第2版)课件第7章 数据库设计基础_第3页
计算机基础(第2版)课件第7章 数据库设计基础_第4页
计算机基础(第2版)课件第7章 数据库设计基础_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章数据库设计基础7数据库设计基础7.1数据库系统的基本概念5.2结构化程序设计5.3面向对象的程序设计7.1

程序设计方法与风格数据、数据库、数据库管理系统数据管理技术的发展数据库系统的基本特点数据库系统的内部结构体系7.1程序设计方法与风格计算机科学与技术的发展,计算机应用的深入与拓展,使得数据库在计算机应用中的地位与作用日益重要,它在商业中、事务处理中占有主导地位。近年来在统计领域、在多媒体领域以及智能化应用领域中的地位与作用也变得十分重要。随着网络应用的普及,它在网络中的应用也日渐重要。因此,数据库已成为构成一个计算机应用系统的重要的文持性软件。7.1.1数据、数据库、数据库管理系统1.数据数据(Data)是对客观事务及其活动的抽象符号表示,是存储在某种载体上可以鉴别的符号资料。数据的形式可以是数字,文字、图形、图像、声音、学生档案记录和图书管理情况等。数据实际上就是描述事物的符号记录,例如,两名学生的考试成绩分别为87和56,这里87和56就是数据,在过去的软件系统中是以程序为主体,而数据则以私有形式从属于程序,此时数据在系统中是分散、凌乱的,这也造成了数据管理的混乱,如数据冗余度高、数据一致性差及数据的安全性差等多种弊病,自数据库系统出现以来,数据在软件系统中的地位产生了变化,在数据库系统及数据库应用系统中数据已占有主体地位,而程序已退居附属地位。在数据库系统中需要对数据进行集中、统一的管理,以达到数据被多个应用程序共享的目标。。7.1.1数据、数据库、数据库管理系统2.信息信息(Information)是指数据经过加工后所获取的有用知识,是以某种数据形式表现的。数据和信息是两个相互联系又相互区别的概念,数据是信息的具体表现形式,信息是有意义的表现。例如,某学生看到自己的考试成绩是87或56分,通过思考他认为成绩及格或不及格,这里及格或不及格就是通过对数据87或56处理获取的信息。数据处理是指对数据进行加工的过程,即将数据转换成信息的过程,是对各种数据进行收集、存储、加工和传播的一系列活动的总和。我们经常应用的Word文字处理、Excel表格处理和Plotoshop图像处理等都是对各种数据进行收集、存储、加工的过程,即计算机数据处理。7.1.1数据、数据库、数据库管理系统3.数据库数据库(Database,DB)是以…定方式存储的相互关联的数据的集合。这些数据能够长期存储、统一管理和控制,且能被不同用户共享。数据库中的数据具有“集成”“共享”之特点,即数据库集中了各种应用的数据,进行统一的构造与存储,而使它们可被不同应用程序所使用。7.1.1数据、数据库、数据库管理系统4.数据库管理系统数据库管理系统(DatabaseManagementSyslem.DBMS)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。数据库中的数据是具有海量级的数据,并且其结构复念,因此,需要提供管理工具。7.1.1数据、数据库、数据库管理系统(1)数据模式定义。数据库管理系统负资为数据库构建模式,也就是为数据库构建其数据想架。(2)数据存储的物理构建。数据库管理系统负资为数据模式的物理存取及构建提供有效的存取方法与乎段。(3)数据操纵。数据库管理系统为用户使用数据库中的数据提供方便,它一般提供否询、修改以及副除数据的功能。此外,它自身还具有做简单自述去处及统计的能力,而且新编大学计算礼应用基础还可以与某些过程性语言结合,使其具有强大的过程性操作能力。(4)数据的完整性、安全性定义与检查。数据库中的数据具有内在语义上的关联性与一致性、它们构成了数据的完整性,数据的完靠性是保证数据库中数据正确的必要条件,因此、必须经常检查以维护数据的正确性。数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用、因此,必须要对数据正确使用做出必要的规定,并在使用时做检查,这就是数据的安全性。数据完整性与安全性的维护是数据库管理系统的基本功能。7.1.1数据、数据库、数据库管理系统5.数据库系统数据库系统(DatabaseSystem,DBS)是指在计算机系统中引入数据库后的系统,通常由让算机硬件、软件、数据库和数据库管理员组成。随着计算机、局域网和Intemet的发展,数据库系统的休系结构也在不断地发生着变化。数据库系统一般由4个部分组成。7.1.1数据、数据库、数据库管理系统(1)数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按…定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。(2)硬件:构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。(3)软件:包括操作系统、数据库管理系统及应用程序等。提作系统是系统的基础软件平台,日前常用的有各种UNIX(包括Linux)与Windows两种。7.1.2数据管理技术的发展1.人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算,硬件无磁盘,直接存取,软作没有操作系统。那时数据山计算或处理它的程序自行携带,程序设计依赖于数据表示。人工管理阶段的特点如下。数据不能长期保存。应用程序本身管理数据。数据不共享。数据不具有独立性。7.1.2数据管理技术的发展2.文件系统阶段20世纪50午代后期到20世纪60年代中期,计算机不仅用于科学汁算、还大量用予管理。硬件出现了磁鼓和磁盘,软件出现了高级语言和操作系统。程序和数银有了一定的独立性,并且有了程序文件和数据文件。但是,数据文件是为某一特定的应用服务的、修改了数据的逻辑结构就耍修改相应的程序,反之亦然。程序设计仍然依赖于数据表示。文件系统的特点如下。数据可以长期保存。由文件系统管理数据。数据冗余大,共享性差。数据独立性差。7.1.2数据管理技术的发展3.数据库系统阶段从20世纪60年代后期开始,计算机应用于管理的规模越来越大,随着网络的发展数据共享的需求也日益增加,计算机款硬件功能超来越强,从面发展了致据库技术,特别是关系型数据库技术已经非常成熟并且广泛地应用于企事业各部门的信息管理中。如事务处理系统、地理信息系统(GIS)、联机分析系统、策支持系统、企业资源计划(ENP).客户关系管理(CRM)、数据仓际和数据挖掘系统等都是以数据际技术作为重要支撑的。7.1.2数据管理技术的发展数据库系统阶段的主要持点如下。数据结构化:用特定的数据模型来表示事物及事物之间的联系。数据共享性高:减少数据冗余,减少更新异常。数据独立性强;程序和数据相对独立。数据粒度小:粒度单位是记录中的数据项,粒度越小处理速度就热快,越方便。独立的数据操作界面:通过命令或界面(菜单、工具栏、对话艇)对数据摩进行的问和处理。例如,Access、SQLSerrmr等数据库管理系统软件。统一管理和控制:数据定义、操作和控制由数护库管理系统(DataBaseManagementSystem,DBMS)统一管理和控制:7.1.2数据管理技术的发展4.数据管理技术的发展目前,数据库技术也与其他信息技术一样在迅速发展之中,计算机处理能力的增强和越来越广泛的应用是促进数据库技术发展的重要动力。分布式数据库技术是大数据时代云计算技术的基础,是数据的基本存储方式;在大量应用中对数据库管理系统提出了高可靠性、高性能、高可伸缩性(Scalability)和高安全性的“四高”要求。一般认为,未来的数据库系统应支持数据管理、对象管理和知识管理,应该具有面向对象的基本特征。在关于数据库的诸多新技术中,下面二种是比较重要的。面向对象数据库系统:用面向对象方法构筑面向对象数据模型,使其具有比关系数据库系统更为通用的能力。知识库系统:用人工智能中的方法特别是用谓词逻辑知识表示方法构筑数据模型,使其模型具有特别通用的能力。关系数据库系统的扩充:利用关系数据库做进一步扩展,使其在模型的农达能力与功能上有进…步的加强,如与网络技术相结合的Web数据库、数据仓库及嵌入式数据库等。7.1.3数据库系统的基本特点1.整体数据结构化在数据库系统中,采用统一的数据结构方式,如在关系数据库中采用二维表作为统·结构:数据模式是多个应用共同的、全局的数据结构;记录的结构和记录之间的联系自数据库管理系统进行维护,从而减轻了程序员的工作量,提高了工作效率:2.数据的共享性高、冗余度低且易扩充数据共享包括多个用户、多个应用可以同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库中的数据。同时,数据库实现数据共享大大减少了数据冗余,还能够避免数据之间的不相容性和不一致性。数据的…致性是指在系统中同一数据的不间出现应保持相问的值,而数据的不一致性指的是同一数据不同副本的值不一样。7.1.3数据库系统的基本特点3.数据独立性高数据独立性是数据与程序间的互不依赖性,即数据库中的数据独立于应用程序面不依赖于应用程序。数据独立性包括数据的物理独立性和逻辑独立性。物理独立性是指数据在磁盘上的数据库中如何任储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,不致引起应用程序的变化。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改用户的应用程序。数据与程序的独立,把数据的定义从程序中分离出去,加上存取数据由DBMS负资提供,从面简化了应用程序的编制,大大减少了应用程序的维护和修改。7.1.3数据库系统的基本特点4.数据统一管理和控制利用数据库系统可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系,同时数据库管理系统提供了以下几个方面的数据控制功能,以解决数据共享带来的安全隐患。数据的安全性保护:保护数据以防止不合法使用造成的数据泄密和破坏。数据的完整性检查:保证数据的正确性、有效性和相容性。并发控制:使在同一周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。数据库恢复:数据库管理系统能及时发现故障,并将数据库从错误状态复到某已知的正确状态。7.1.4数据库系统的内部结构体系1.数据库系统的三级模式数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。(1)模式模式(Schcna)又称概念模式或逻辑模式,对应概念级。它是数据库中全部数据的逻料结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是数据库系统模式纺构的中间层,是一种抽象的描述,既不涉及具体的硬件环境与平台,也与具体软作环境无关。模式是由数据库管理系统提供的数据模式描述语言(DalaDescriplionLanpuage,来描述、定义的,体现、反映了数据库系统的整体观。7.1.4数据库系统的内部结构体系(2)外模式外模式(EstemalSehema)又称子模式或用户模式,对应用户级、它是某个或某儿个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应用户的数据记录(外模式),也可以利用数据操纵谱言(DataManipulationLanguage,DML)对这些数据记录进行。外模式反映了数据库的用户观。(3)内模式内模式(IntemnalSchema)又称存储模式,对应物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低…级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构、对应实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。在一个数据库系统中,只有唯一的数据库,因而作为定义、描述数据库存储结构的内模式和定义、描述数据库逻辑结构的模式,也是唯…的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式不是唯一的,也不可能是唯一的。7.1.4数据库系统的内部结构体系(1)外模式/模式映射模式是一个全局模式,而外模式是用户的局部模式,数据库中的同一模式可以有任意多个外模式,外模式/模式映射确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。这种映射…·般是由DBMS来实现的。(2)模式/内模式映射数据库中的模式和内模式都只有一个,所以模式/内模式映象是唯一的。该映射给出了概念模式中数据的全局逻粗结构到数据的物理存储结构间的对应关系,此种映射一般也是由DBMS实现。7.2

数据模型数据模型的基本概念概念模型层次模型网状模型7.2.1数据模型的基本概念数据模型(DataModel)是专门用来抽象、表示和处理现实世界中的数据和信息的工具。数据模型是数据库系统的核心:通俗地讲,数据模型是对现实世界的模拟。数据模型应满足工方面要求:一是能比较真实地模拟现实世界:二是容易理解;三是易在计算机上实现。在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。7.2.1数据模型的基本概念第一类模型是概念模型,也称信息模型,它是一种独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,只是用来描述某个特定组织所关心的信息结构。这一类模型中最著名的是“实体联系模型”。第二类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,是直接面向数据库的逻辑结构,是对现实世界的第二层抽象。这类模型直接与DBMS有关,称为“逻辑数据模型”,一般又称为“结构数据模型”,这类模型有严格的形式化定义,以便于在计算机系统中实现。数据模型是数据库系统的核心和基础。各种机器上实现的DBMS软件都是基于某种数据模型的。数据是现实世界符号的抽象,而数据模型则是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作一个抽象的框架数据模型由要素所组成,分别是数据结构、数据操作与数据完整性约束。7.2.1数据模型的基本概念(1)数据结构数据结构描述的是数据库的组成对象以及对象之间的联系。它包括两块内容:一类与数据类型,内容、性质有关的对象;另一类与数据之间联系有关的对象。数据结构是数据模型的基础,是其最重要的构成要素。因此,人们通常按照数据结构的类型来命名数据模型,例如,关系结构的数据模型命名为关系模型。数据结构是所描述的对象类型的集合,是对系统静态特征的描述。(2)数据操作数据操作是指对数据库中各种对象的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据模型必须定义对数据库中检索和更新操作的确切含义、操作符号、操作规则以及实现操作的语言。数据操作是对系统动态特性的描述。7.2.1数据模型的基本概念(3)数据完整性数据完整性是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的止确性、有效性和相容性。数据模型应该提供定义完整性约束条件的机制。7.2.2概念模型概念数据模型(ConceptualDataModel)简称概念模型,它是…种面向客观世界、而向用户的模型;它与管理系统无关,与具体的计算机平台无关,概念模型着重于对客观世界复杂事物之间的内在联系的刻画。模型是整个数据模型的基础。目前,较为有名的概念模型有E-R模型、扩充的E-R模型、面向对象模型及谓词模型等。7.2.2概念模型1.基本概念(1)实体:客观上存在且可区分的事物称为实体。实体可以是人,也可以是物;可以指实际的对象,也可以指某些概念;可以指事物与事物间的联系。,如学生是…个实体。(2)属性:实体所具有的某一方面的特性。一个实体可以由若干个属性来刻画。如公司员工由员工编号、姓名、年龄、性别等属性组成。如学生实体有学号、姓名和性别等属性(3)关键字:实体的某一属性或属性组合,其取用的值能唯一标识出该实体,称为关键字,也称码。如学号是学生实体集的关键字,由于姓名有取相同值的可能,故不应作为关键字。(4)域:域是某(些)属性的取值范围。如姓名的域为字符串集合,性别的域为男、女等。7.2.2概念模型(5)实体型:具有相同属性的实体必须具有共同的特性。用实体名及其属性名集合来抽象和划画同类实体,称为实体型。例如,学生(学号,姓名,性别,班号)就是一个实体型。(6)实体集:同型实体的集合称为实体集。如全体学生就是一个实体集。(7)联系:现实世界的事物之间总是存在某种联系的,这种联系必然要在信息养中加以反映。一般存在两类联系:一是实体内部的联系,如组成实体的属性之间的联系:二是实体之间的联系。两个实体之间的联系又可分为如下三类。一对一联系(1:1)。实体集A中的一个实体至多与实体集B中的一个实体相对应、反之亦然。例如、一个部门有一个经理,而每个经理只在一个部门任职,这祥都门和经理之间就相互…对应。一对多联系(1:n)。实体集A中的一个实体与实体集B中的多个实体相对应、反之则不然。例如,一个部门有多个职工,这样部门和职工之间存在着一对多的联系。多对多联系(m:n)。实体集A中的一个实体与实体集B中的多个实体相对应、反之亦然。例如,学校中的课程与学生之间就存在看多对多的联系,每门课程可以供多名学生选修,而每个学生又都会选接多门课程,这种关系可以有很多种处理办法。7.2.2概念模型2.E-R模型的图示法长期以来被广泛使用的概念模型是E-R模型(Eniily-RrlationhipMonel)(或实依联系模型)、它于1976年由PeerChen首先提出。该模型将现实世界的委求转化应实体,联系、属性等几个基本概念,以及它们间的两种基本连接关系,并且可以用图示形式非常直观地表示出来。E-R图有四个基本成分。(1)矩形框——表示实体型。(2)菱形框——表示联系型。(3)椭圆形框——农示实体型或联系型的属性。(4)直线——用来连接上述三种图框。7.2.3层次模型层次模型(HicrarchicalModel)是数据库系统最早使用的一种数据模型,它的数据结构是一棵倒立的“有向树”,树状结构表示各类实体及联系。现实世界中,许多实体之间的联系都表现出一种很自然的层次关系,如家族关系、行政机构等,它们自顶向下,层次分明。层次模型就来源于这种层次关系。7.2.3层次模型层次模型结构有如下特点:①有且仅有一个结点没有双亲;它就是根结点。②2其他结点有且仅有一个双亲,但可以有一个或多个子结点。在层次模型中,每个结点描述一个实体型,称为记录类型。一个记录类型可有许多记录值,简称记录。结点间的有向边表示记录间的联系。如果要存取某一记录类型的记录从根结点起,按照有向树层次逐层向下查找。查找路径就是存取路径。7.2.4网状模型网状模型(NetwordModel)的出现略晚于层次模型。如果取消层次模型的两个限制,即两个或两个以上的结点都可以有多个双亲结点。“有向树”就变成了“有向图”。“有向图”结构即描述了网状模型。网状模型的特征如下。①可有一个以上的结点没有双亲。②至少有一个结点可以有多于一个的双亲。网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,可以更直观地描述现实世界。与层次模型一样,网状模型中每个结点表示一个记录类型(实体),描述同前。7.2.4网状模型网状模型与层次模型的区别如下:网状模型允许多个结点没有双亲结点。网状模型允许结点有多个双亲结点。网状模型允许两个结点之间有多种联系(复合联系)。网状模型可以更直接地描述现实世界。层次模型实际上是网状模型的一个特例。7.2.5关系模型关系模型(RelationalModel)是在层次、网状模型之后的模型,由IBM公司SanJose室的E.F.Codd提出的。该数据模型的产生开创了数据库的新模式,是最重要的数据模型。日前,数据库系统都是以关系方法为基础的研究领域,许多非关系系统产品都加上了关系接口。关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro、Access,大型数据库系统Oracle、Informix、Sybase、SQLServer等都是关系数据库系统。7.2.5关系模型1.关系模型的数据结构关系模型是用二维表格结构来表示实体以及实体之间联系的数据模型。关系模型的数据结构是一个“二维表框架”组成的集合,每个工维表又可称为关系,因此可以说,关系模型是”关系框架”组成的集合。下面以学生信息表S为例,介绍关系模型中的一些术语。7.2.5关系模型关系(Relation):一个关系对应一张二维表。元组(Tuple);表格中的……行,如S表中的…个学生记录即为一个元组。属性(Attribule):表格中的一列,相当于记录中的一个字段,如S表中有五个属性(学号,姓名,性别,年龄,系别)。码:可唯一标识无组的最小属性集,也称为关系键或主码。候选码:某一组属性集能唯一的标识一个元组,而其子集则不能。外码:若关系A中的某属性集是关系B的主码,则称该属性集为人的外码或外键。域(Domain):属性的取值范围,如年龄的域是(14-40),性别的域是(男,女)。分量:每…行对应的列的属性值,即元组中的…个属性值,如学号、姓名、年龄等均是一个分量。关系模式:对关系的描述,…般表示为关系名(属性1,属性2.…,属性n),如上面的关系可描述为学生(学号,姓名,性别,系别,年龄)。7.2.5关系模型关系模式……般满足下面6个性质。①列是同质的,即列对应分量来自同一个域。②每一列表示一个属性,且列名不能重复。③列的次序可以任意交换,列的次序无关性。④任意两个元组的候选码不能相同,行的不可重复性。⑤行的次序可以任意交换,行的次序无关性。列是不可分割的最小数据项,分量具有原子性。满足以上6个性质的二维表称为关系(Relation),以二维表为基本结构所建立的模型称关系模型。7.2.5关系模型2.关系操作关系模型的数据操作主要包括查询、插入、删除和修改数据、其数据操作又可以分为数据查询和数据更新两块内容。关系的数据查询表达能力很强,是关系操作中的最主要部分。查询操作又可分为选择、投毙、连接,除、并、差、交、笛卡尔相等。关系操作的特点如下。①操作对象和操作结果都是关系,即关系模型中的操作是集合操作。②关系模型中,存取路径对用户是隐藏的。7.2.5关系模型3.关系的完整性关系模型的数据完整性规则是对关系的某种约束条件。这些条件可以理解为现实世界中的要求。关系模型中定义了三类完整性约束,它们是实体完整性、参照完整性和用户自定义的完整性。其中前两种由关系数据库系统自动支持,后者则由关系数据库系统提供完整性约束语言,用户按需确定满足具体语义要求的约束条件。为便于采用统……的系统方法处理之,关系数据库系统还要提供检验这类完整性的机制,与应用程序无关。7.2.5关系模型(1)实体完整性(FntityIntegrity)实体完整性规则是针对基本关系面言的。一个基本表通常对应现实世界的一个实体集。而现实世界中的实体是可区分的,即它们具有某种唯一性标识。实体完整性是指主码的值不能为空或部分为空。空值不是空格,它指跳过而不输入,用“NULL”表示,表明“不知道”“无意义”等语义。(2)参照完整性(ReferenceIntegrity)如果属性X不是关系R的主码,而是另一关系S的主码,则该属性X称为关系R的外码,并称关系B为参照关系,关系S为被参照关系。外码·…般用波浪线标示。参照完整性规则,要求外码只能取下面两类值。空值。非空值,该值必须与被参照关系中主码的某个取值一致。7.2.5关系模型(3)用户定义的完整性(UserdefinedIntegrity)不同的关系数据库系统由于应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性是针对某一具体应用领域,对关系数据库提出的约束条件。例如,属性值根据实际需要,要具备一些约束条件,如选课关系中成绩不能为负数、性别只能为男或女、某些数据的输入格式要有一些限制等。(4)完整性规则的检查为了维护数据库中数据的完整性,在对关系数据库执行捕人、删除和修改操作时,DBMS会自动根据各种完造性规则进行检查,拒绝不符合要求的数据进入数据库。比如,在插入数据时,系统调动不同的机制进行二类完整性检查。7.4数据库设计与管理数据库设计方法数据库的设计步骤数据库需求分析数据库概念设计数据库逻辑设计7.4.1数据库设计方法由于消息结构复杂,应用环境多样,在相当长的一段时期内,数据库设计主要采用手工试凑法,缺乏科学理论依据和工程方法的支持,依赖于设计人员的经验和水平,从而难以保证工程的质量,增加了系统维护的代价。设计人员经过十余年的努力探索,提出了各种数据库设计方法。这些方法运用软件工程的思想总结出了各种设计准则和规程,这些都属于规范法设计方法。7.4.1数据库设计方法规范方法设计中著名的有新奥尔良(NewOreans)方法,它将数据库设计分为四个阶段:需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。其后,S.B.Ymo等将数据库设计分为5个步骤。7.4.2数据库的设计步骤按照规范化设计的方法,考虑数据库及其应用系统的开发全过程,将数据库设计分为以下6个阶段。1.需求分析阶段进行数据库设计首先必须了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,也是最困难、最费时间的一步。需求分析首先要收集资料,并对资料进行分析整理,画出数据流程图(DataFlowDiagram.DFD),然后建立数据字典(DatuDictionary.DD),并把数据字典图集和数据字典的内容返回客户,进行用户确认,最后形成文档资料。需求分析是设计数据库的起点,需求分析的结果是否准确反映了客户的实际要求,将直接影响到后面各个阶段的设计,并影响设计结果是否合理和实用。2.概念设计阶段根据需求分析的结果,形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。数据库的概念设计的基本方法将在下节重点介绍。7.4.2数据库的设计步骤3.逻辑设计阶段将概念设计E-R图转换成具体DBMS产品支持的数据模型,如关系模型(基本表)。形成数据库的模式,并对数据进行优化处理。然后根据用户处理的要求,安全性的考虑。在基本表(TABIF)的基础上再建立必要的视图(VIEW)形成数据库的外模式。4.物理设计阶段对逻辑设计的关系模型,根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库(DATABASE)内模式。7.4.2数据库的设计步骤5.数据库实施阶段运用DBMS提供的数据语言、工具及宿主语言,根据逻朝设计和物理设计的结果建立数据序、编制与调试应用程序,组织数据入库,并进行试运行。6.数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必领不断地对其进行评价、调整与修改。数据库经常性的维护工作主要由数据库管理员来完成,包括数据库的转储和恢复,数据库的安全性、完整性控制,数据库性能监视、分析和改造、以及数据库的重构。在实际开发过程中,软件开发并不是按顺序从第一步进行到最后一步,而是在任何阶段,以及在进入下·…阶段前一般都有一步或几少的回溯。在测试过程中出现的问题可能要求修改设计,用户还可能会提出一些需要来修改需求说明书等。7.4.3数据库需求分析从数据库设计的角度看,需求分析阶段的主要任务是对现实世界要处理的对象(公司.部门,企业)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。需求分析是在用户调查的基础上,通过分析,遂步明确用户对系统的需求,包括数据需求和国绕这些数据的业务处理需求。对用户调查的重点是“数据”和“处理”。通过调查要从用户那里获得对新系统的下列需求。(1)信息需求。定义所设计数据库系统用到的所有信息,明确用户将向数据库中输入什么样的数据,从数据库中要求获得哪些信息,将要输出哪些信息。也就是明确在数据库中需要存储哪些数据、对这些数据将做哪些处理等,同时还要描述数据间的联系等。(2)处理需求。定义系统数据处理的操作功能,描述操作的先后次序,操作的执行频率和场合,操作与数据间的联系,同时还要明确用户要完成哪些处理功能,每种处理的执行频度,用户要求的响应时间以及处理的方式(如是联机处理还是批处理),等等。7.4.3数据库需求分析(3)安全性与完整性要求。安全性要求描述系统中不同用户对数据库的使用和操作情况,完整性要求描述数据之间的关联关系以及数据的取值范围要求。在收集完各种数据后,对调查的结果进行初步分析,确定新系统的边界,确定哪些功能由计算机完成或将来准备由计算机完成,哪些活动由人工完成、需要计算机完成的功能是新系统应该实现的功能。分析和表达用户的需求,经常采用的方法有结构化分析方法和面向对象的方法。用自顶向下、遂层分解的方式分析系统。用数据流图表达了数据和处理过程的关系,数据字典对系统中数据的详尽描述,是各类数据属性的清单。从数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。效字典是各类数据描述的集合,它通常包括5个部分,即数据项、是数据的最小单位:数据结构、是若干数据项有意义的集合;数据流,可以是数据项、也可以是数据络构,表示某一处理过程的输入或输出:数据存储,处理过程中存取的数据、常常是手工凭证、手工文档或计算机文件。7.4.4数据库概念设计概念设计的目标是将需求分析得到的用户需求抽象为数据库的概念结构,即戳念模型,描述概念模型的是E-R图。1.概念设计的方法概念结构设计的方法主要有如下几种。自底向上。先定义每个局部应用的概念结构。然后按一定的规则把从而得到全局概念结构。自顶向下,先定义全局概念结构,然后再逐步细化由里向外。先定义最重要的核心结构。然后再逐步向外扩展,以滚雪球的方式递步形成全局概念结构。混合策略。将自顶向下和自底向,上方法结合起来使用。先用自顶向下设计……个概念结构的框架,然后以它为框架再用自底向上策略设计局部概念结构,最后把它们集成起来。7.4.4数据库概念设计从这一步开始,需求分析所得到的结果将按“数据”和“处理”分开考虑。概念结构设计的重点在于信息结构的设计,而“处理”可由行为设计来考虑。这也是数据库设计的特点,即“行为”设计与“结构”设计分离进行。但由于两者原本是一个整体,因此,在设计概念结构和逻辑结构时,要考虑如何有效地为“处理”服务,而设计应用模型时,也要考感如何有效地利用结构设计提供的条件。概念结构设计使用集合概念,抽取现实业务系统的元素及其应用语义关联,最终形成E-R模型。7.4.4数据库概念设计2.概念设计的一般步骤(1)初始化工程这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,⑵定义实休实体集合的成员都有--个共同的特征和属性集,可以从收集的摩材料一基本数据资表中直接或问接标识出大部分实体。根据源材料名字表中表示物的术语以及具有“代码“尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,而初步找出潜在的实体,形成初步实体表,⑶定义联系根据实际的业务需求、规则和实际情况确定出连接关系、关系名和说明,确定关系类嘹,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标识。则为标识关系,否则为非标识关系。非标制走约束和规范。其中收集源表、收集的原始数据形成了基本数据资料表。7.4.4数据库概念设计(4)定义码为实体标识候选码属性,以便唯一识别每个实体,再从候选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体的一个属性不能是空值,也不能在同一个时刻有一个以上的值。(5)定义属性从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检登完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于整个主码主码且仅是依赖于主码。以此得到了至少符合关系理论第三范式。(6)定义其他对象和规则定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过程、视图、角色、同义词、序列等对象信息。7.5数据库逻辑设计1.E-R图转换为关系模型

设计数据阵时,在概念模型阶段用E-R图对信息做了抽象反映,简单、清晰、易于用户理解。在逻辑设计阶段,则需从E-日图出发来构造具体指定的DBMS的数据模利。

从E-R图出发导出关系模型数据结构有两点原则。

(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论