第一章 数据库系统基础 - 范文中心

第一章 数据库系统基础

06/18

院 系:

教研室:

教 师:

《数据库原理及应用》课程教案

注:表中( )选项请打“∨”

第一章 数据库系统概述

[教学目的与要求]

通过课程学习,要求学生了解数据库系统的产生与发展状况,掌握数据库系统基本概念,了解数据模型,熟练掌握关系数据模型和关系数据库的设计方法。

[教学内容]

数据库系统产生和发展状况,计算机数据管理管理方法的四个阶段;数据库和数据库系统的基本概念;数据库管理系统和应用系统;三种数据模型层次模型、网状模型和关系模型的概念,关系模型中的相关概念;关系数据库的设计方法。

[教学重点与难点]

关系数据库的概念和关系运算;关系数据库的设计方法。

现在数据库已是每一项业务的基础。数据库被应用于维护商业内部记录,在万维网上为顾客和客户显示数据,以及支持很多其它商业处理。数据库同样出现在很多科学研究的核心中,天文学家、地理学家以及其他很多科学家搜集的数据也是用数据库表示的。数据库也用在企业、行政部门。因此,数据库技术已成为当今计算机信息系统的核心技术,是计算机技术和应用发展的基础。经过40多年的发展,它已形成了较为完整的理论体系和实用技术。

本章主要介绍数据库技术的发展和数据库系统涉及的最基本、最重要的概念,包括数据管理技术的发展、数据模型、关系数据库、数据库设计。

1.1 数据管理技术的发展

随着计算机硬件和软件的发展,计算机数据管理方法至今大致经历了四个阶段:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库阶段。

1.1.1 人工管理阶段

在人工管理阶段(20世纪50年代中期以前),计算机主要用于科学计算,其他工作还没有展开。外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。软件只有汇编语言,没有操作系统和管理数据的软件,尚无数据管理方面的软件。数据处理的方式基本上是批处理。这个阶段数据管理的特点如下:

⑴ 数据不保存

因为该阶段计算机主要应用于科学计算,对于数据保存的需求尚不迫切,只是在计算某一课题时将数据输入,完成后得到结果,因此无需保存数据。

⑵ 系统没有专用的软件对数据进行管理

数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。

⑶ 数据不共享

数据是面向程序的,一组数据只能对应一个程序。

多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间有大量的冗余数据。

⑷ 数据不具有独立性

程序依赖于数据,如果数据的类型、格式、或输入输出方式等逻辑结构或物理结构发

生变化,必须对应用程序做出相应的修改。

在人工管理阶段,程序与数据之间的关系可用图1-1表示。

1.1.2 文件系统阶段

从20世纪50年代后期到60年代中期,计算机不仅用于科学计算,还大量应用于信息管理。大量的数据存储、检索和维护成为紧迫的需求。在硬件方面,有了磁盘、磁鼓等直接存储设备;在软件方面,出现了高级语言和操作系统,且操作系统中有了专门管理数据的软件,一般称之为文件系统;在处理方式方面,不仅有批处理,也有联机实时处理。

用文件系统管理数据的特点如下:

⑴ 数据以文件形式可长期保存下来

由于计算机大量用于数据处理,数据需要长期保存在辅存上,以便用户可随时对文件进行查询、修改和增删等处理。

⑵ 文件系统可对数据的存取进行管理

有专门的软件即文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“按名访问,按记录存取”的管理技术,对文件进行修改、插入和删除的操作。因此,程序员只与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。

⑶ 文件组织多样化

有顺序文件、链接文件、索引文件等,因而对文件的记录可顺序访问,也可随机访问,更便于存储和查找数据。但文件之间相互独立、缺乏联系。数据之间的联系要通过程序去构造。

⑷ 程序与数据之间有一定独立性

由专门的软件即文件系统进行数据管理,程序和数据之间由软件提供的存取方法进行转换,数据存储发生变化不一定影响程序的运行,既可大大节省维护的工作量,又可减轻程序员的负担。

与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面:

⑴ 数据冗余度大

⑵ 数据独立性差

⑶ 数据一致性差

由于相同数据的重复存储、各自管理,在进行更新操作时,容易造成数据的不一致性。 在文件系统阶段,程序与数据之间的关系可用图1-2表示。

1.1.3 数据库系统阶段

20世纪60年代后期,计算机硬件、软件有了进一步的发展。计算机应用于管理的规模更加庞大,数据量急剧增加;硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能;硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。文件系统的数据管理方法已无法适应开发应用系统的需要。为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统,标志着数据管理技术的飞跃。

数据库系统管理数据的特点如下:

⑴ 数据结构化

数据结构化是数据库与文件系统的根本区别。

有了数据库管理系统后,数据库中的任何数据都不属于任何应用。数据是公共的,结构是全面的。它是在对整个组织的各种应用(包括将来可能的应用)进行全局考虑后建立起来的总的数据结构。它是按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。

【例1.2】要建立学生成绩管理系统,系统包含学生(学号、姓名、性别、系别、年龄)、课程(课程号、课程名)、成绩(学号、课程号、成绩)等数据,分别对应三个文件。

若采用文件处理方式,因为文件系统只表示记录内部的联系,而不涉及不同文件记录之间的联系,要想查找某个学生的学号、姓名、所选课程的名称和成绩,必须编写一段不很简单的程序来实现。

而采用数据库方式,数据库系统不仅描述数据本身,还描述数据之间的联系,上述查询可以非常容易地联机查到。

⑵ 数据共享性高、冗余少,易扩充

数据库系统从全局角度看待和描述数据,数据不再面向某个应用程序而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。这样便减少了不必要的数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。

由于数据面向整个系统,是有结构的数据,不仅可被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。

⑶ 数据独立性高

数据的独立性是指数据的逻辑独立性和数据的物理独立性。

数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。

例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。

数据的物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,即当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。

例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。

⑷ 有统一的数据控制功能

数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能。

① 数据的安全性(security )控制

数据的安全性是指保护数据以防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密。使每个用户只能按规定,对某些数据以某些方式进行使用和处理。

例如,系统提供口令检查或其他手段来验证用户身份,防止非法用户使用系统;也可以对数据的存取权限进行限制,只有通过检查后才能执行相应的操作。

② 数据的完整性(integrity)控制

数据的完整性是指系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性。完整性控制将数据控制在有效的范围内,或保证数据之间满足一定的关系。

有效性是指数据是否在其定义的有效范围,如月份只能用1-12之间的正整数表示; 正确性是指数据的合法性,如年龄属于数值型数据,只能含0,1,„9,不能含字母或特殊符号;

相容性是指表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个性别。 ③ 并发(concurrency )控制

多用户同时存取或修改数据库时,可能会发生相互干扰而提供给用户不正确的数据,并使数据库的完整性受到破坏,因此必须对多用户的并发操作加以控制和协调。

④ 数据恢复(recovery )

计算机系统出现各种故障是很正常的,数据库中的数据被破坏、被丢失也是可能的。当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。

数据库系统阶段,程序与数据之间的关系可用图1-3表示。

从文件系统管理发展到数据库系统管理是信息处理领域的一个重大变化。

在文件系统阶段,人们关注的是系统功能的设计,因此程序设计处于主导地位,数据服从于程序设计;

而在数据库系统阶段,数据的结构设计成为信息系统首先关心的问题。

数据库技术经历了以上三个阶段的发展,已有了比较成熟的数据库技术,但随着计算机软硬件的发展,数据库技术仍需不断向前发展。

1.1.4 高级数据库阶段

20世纪70年代,层次、网状、关系等三大数据库系统奠定了数据库技术的概念、原理和方法。从20世纪80年代以来,数据库技术在商业领域的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地,另一方面在应用中提出的一些新的数据管理的需求也直接推动了数据库技术的研究和发展,尤其是面向对数据库系统。另外,数据库技术不断与其它计算机分支结合,向高一级的数据库技术发展。新型的数据库技术有

1)分布式数据库系统

2)面向对象数据库系统

3)多媒体数据库系统

4)数据仓库

1.2 数据库的基本概念

在介绍数据库的基本概念之前,先介绍一些数据库最常用的术语和基本概念。

1.2.1 数据(Data)

数字、文字、声音、图形、图像等。用数据描述的现实世界中的对象可以是实在的事物,如描述一个学生的情况可用学号、姓名、性别、年龄、系别、入学时间等,则可以这样描述:

(0801002、张明、男、22、经济管理系、2008)

这里的学生记录就是数据。对于这条记录,了解其含义的将得到如下信息:赵文是个大学生,男,今年22岁,2003年考入计算机系;而不了解含义的人则无法理解其含义。可见,数据的形式本身还不能完全表达其内容,需要经过语义解释。因此数据和关于数据的解释是不可分的,数据的解释是对数据含义的说明,数据的含义成为数据的语义,数据与其语义是不可分的。

1.2.2 数据库(DataBase,简称DB)

数据库是长期存储在计算机内有组织的共享的数据的集合。数据库中的数据按一定的数据模型组织、描述和储存。它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。

数据库特点如下:

⑴ 集成性

把某特定应用环境中的各种应用相关的数据及其数据之间的联系全部地集中地并按照一定的结构形式进行存储,或者说,把数据库看成为若干个单个性质不同的数据文件的联合和统一的数据整体。

⑵ 共享性

数据库中的一块块数据可为多个不同的用户所共享,即多个不同的用户,使用多种不同的语言,为了不同的应用目的,而同时存取数据库,甚至同时存取同一块数据,即多用户系统。

1.2.3 数据库管理系统(DataBase Management System,简称DBMS)

数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它是数据库系统的核心组成部分,用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS 进行的。DBMS 就是实现把用户意义下的抽象的逻辑数据处理转换成计算机中的具体的物理数据的处理软件,这给用户带来很大的方便。它的主要功能有以下几个方面:

⑴ 数据定义

DBMS 提供数据定义语言DDL (Data Define Language),用户通过它可以方面地对数据库中的数据对象进行定义。例如,为保证数据库安全而定义的用户口令和存取权限,为保证正确语义而定义完整性规则。

⑵ 数据操纵

DBMS 提供数据操纵语言DML (Data Manipulation Language )实现对数据库的基本操作,包括检索、插入、修改、删除等。SQL 语言就是DML 的一种。

⑶ 数据库运行管理

数据库在建立、运行和维护时由数据库管理系统统一管理、统一控制。DBMS 通过对数据的安全性控制、数据的完整性控制、多用户环境下的并发控制以及数据库的恢复,来确保数据正确有效和数据库系统的正常运行。

⑷ 数据库的建立和维护功能

它包括数据库的初始数据的装入,转换功能,数据库的转储、恢复、重组织,系统性能监视、分析等功能。这些功能通常是由一些实用程序完成的。

⑸ 数据通信

DBMS 提供与其他软件系统进行通信的功能。实现用户程序与DBMS 之间的通信,通常与操作系统协调完成。

1.2.4 数据库系统(DataBase System,简称DBS)

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成(见图1-5)。

1.2.5 用户(User)

用户是指使用数据库的人,即对数据库的存储、维护和检索等操作。用户大致可分为终端用户、应用程序员和数据库管理员。

1. 最终用户(End User)

主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员。

2. 数据库应用系统开发人员(Application Programmer)

负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。

3. 数据库管理员(DadaBase Administrator,简称DBA )

DBA 是数据库所属单位的代表。一个单位决定开发一个数据库系统时,首先就应确定DBA 的人选。DBA 不仅应当熟悉系统软件,还应熟悉本单位的业务工作。DBA 应自始至终参加整个数据库系统地研制开发工作,开发成功后,DBA 将全面负责数据库系统的“管理、维护和正常使用的”。其职责如下:

⑴参与数据库设计的全过程,决定数据库的结构和内容;

⑵定义数据的安全性和完整性,负责分配用户对数据库的使用权限和口令管理; ⑶监督控制数据库的使用和运行,改进和重新构造数据库系统。当数据库受到破坏时,应负责恢复数据库;当数据库的结构需要改变时,完成对数据结构的修改。

因此,DBA 不仅要有较高的技术专长和较深的资历,并应具有了解和阐明管理要求的能力。特别对于大型数据库系统,DBA 极为重要。对于常见的微机数据库系统,通常只有一个用户,常常不设DBA ,DBA 的职责由应用程序员或终端用户代替。

1.2.6 数据库系统的组成

图1-6 数据库系统组成示意图

1.3 数据模型

数据模型(Data Model) 是专门用来抽象、表示和处理现实世界中的数据和信息的工具。

计算机系统是不能直接处理现实世界的,现实世界只有数据化后,才能由计算机系统来处理这些代表现实世界的数据。为了把现实

世界的具体事物及事物之间的联系转换成计算机能够处理的数据,必

须用某种数据模型来抽象和描述这些数据。数据模型是数据库系统的核心。通俗地讲,数据模型是现实世界的模拟。

数据模型应满足三方面要求:一是能比较真实地模拟现实世界;

二是容易理解;三是易在计算机上实现。在数据库系统中针对不同的

使用对象和应用目的,采用不同的数据模型。

根据模型应用的不同,可将模型分为两类。

第一类模型是概念模型,也称信息模型,它是一种独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,只是用来描述某个特定组织所关心的信息结构。概念模型是按用户的观点对数据和信息建模,强调其语义表达能力,概念应该简单、清晰、易于用户理解,它是对现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。这一类模型中最著名的是“实体联系模型”。

第二类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,是直接面向数据库的逻辑结构,是对现实世界的第二层抽象。这类模型直接与DNMS 有关,称为“逻辑数据模型”,一般又称为“结构数据模型”。这类模型有严格的形式化定义,以便于在计算机系统中实现。它通常有一组严格定义的无二义性语法和语义的数据库语言,人们可以用这种语言来定义、操纵数据库中的数据。

数据模型是数据库系统的核心和基础。各种机器上实现的DBMS 软件都是基于某种数据模型的。

1.3.1 概念模型

由图 1-6 可以看出,概念模型实质上是现实世界到机器世界的一个中间层次。 1.概念模型中的基本概念 概念模型涉及的概念主要有 ⑴实体(entity) 实体是一个数据对象,指应用中可以区别的客观存在的事物。实体既可以是实际存在的 对象,也可以是某种概念。如一个工人、一个学生、一个学校、一个操作流程等都是实体。 ⑵属性(attribute) 实体所具有的某一特性成为属性。 一个实体可以由若干个属性来描述。 如职工实体由职 工号、姓名、性别、年龄、职称、部门等属性组成,则(1010,陈平,男,34,工程师,02) 这组属性值就构成了一个具体的职工实体。 ⑶实体集(entity set) 所有属性名完全相同的同类实体的集合,称为实体集。如全体职工就是一个实体集,为 了区分实体集,每个实体集都有一个名称,即实体名。职工实体指的是名为职工的实体集, 而(1010,陈平,男,34,工程师,02)是该实体集中的一个实体,同一实体集中没有完全相 同的两实体。 ⑷码(Key) 能惟一标识实体的属性或属性集,称为码,有时也称为实体标识符,或简称为键。如职 工实体中的职工号属性。 ⑸域(Domain) 属性的取值范围称为该属性的域(值域) ,如“职工性别”的属性域为[男,女]。 ⑹实体型(Entity Type) 实体集的名及其所有属性名的集合,称为实体型。如职工(职工号、姓名、性别、年龄、 职称、部门)就是职工实体集的实体型。实体型抽象地刻画了所有同集实体,在不引起混淆 的情况下,实体型往往简称为实体。 2.概念模型中实体的联系(Relationship) 在现实世界中, 事物内部以及事物之间是有联系的, 这些联系在信息世界中反映为实体 (型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之 间的联系,实体之间的联系通常是指不同实体集之间的联系。 两个实体集之间的联系可归纳为以下三类: ⑴一对一联系(1:1) 如果对于实体集 E1 中的每个实体,实体集 E2 至多有一个(也可没有)实体与之联系, 反之亦然,那么实体集 E1 和 E2 的联系称为“一对一联系”,记为“1:1”(见图 1-7 所示) 。

实体集E1

实体集E2 E1 1

联系名

1

E2

座位

1

拥有

1

乘客

图 1-7

两个实体集之间的联系(1:1)

⑵一对多联系(1:n) 如果实体集 E1 中每个实体可以与实体集 E2 中任意个(零个或多个)实体间有联系, 而 E2 中每个实体至多和 E1 中一个实体有联系,那么称 E1 对 E2 的联系是“一对多联系”, 记为“1:n”(见图 1-8 所示)。 实体集E1 实体集E2 E1 1 联系名 n E2

车间

1

拥有

n

工人

图 1-8

两个实体集之间的联系(1:n)

⑶多对多联系(m:n) 如果实体集 E1 中每个实体可以与实体集 E2 中任意个(零个或多个)实体有联系,反 之亦然,那么称 E1 和 E2 的联系是“多对多联系”,记为“m:n”(见图 1-9 所示)。 实体集E1 实体集E2

E1

m

联系名

n

E2

学生 图 1-9

m

选修

n

课程

两个实体集之间的联系(m:n)

3.概念模型的表示方法 概念模型是对信息世界建模, 因此概念模型应能方便、 准确地描述信息世界中的常用概 念。概念模型的表示方法很多,其中广泛被采用的是实体联系模型(Entity—Relationship

Model)。它是由 Peter Chen 于 1976 年在题为“实体联系模型:将来的数据视图”论文中提 出的,简称为 E-R 模型。 ⑴E-R 模型的要素 E-R 模型的主要的元素是:实体集、属性、联系集,其表示方法如下: ① 实体用方框表示,方框内注明实体的命名。实体名常用大写字母开头的有具体意义 的英文名词表示。然而,为了便于用户与软件开发人员的交流,在需求分析阶段建议用中文 表示,在设计阶段在根据需要转成英文形式。下面的联系名和属性名也采用这种方式。 ② 属性用椭圆形框表示,框内写上属性名,并用无向连线与其实体集相连,加下画线 的属性为标识符。 ③ 联系用菱形框表示,并用线段将其与相关的实体连接起来,并在连线上标明联系的 类型,即 1:1、1:n、m:n。联系也会有属性,用于描述联系的特征,如酬金等。 因此,E-R 模型也称为 E-R 图。E-R 图(E-R diagram)是用来描述实体集、属性和联系的 图形。 图中每种元素都用结点表示。 用实线来连接实体集与它的属性以及联系与它的实体集。 【例 1.4】 图 1-10 是一个 E-R 图,表示一个简单的电影数据库。实体集是电影、影星 和制片公司。 电影实体集有三个属性:电影名、电影制作日期、片长。另外两个实体集影星和制片公 司正好有两个相同的属性:名称和地址。图中还有两个联系:

•签约是电影及其影星的联系。因此这也是影星及其参演电影的联系。 •拥有是电影及其所属电影公司的联系。

名称 电影名 日期 签约

影星

地址

电影

名称 片长 拥有

制片公司

地址

图 1-10 电影数据库的实体联系图

⑵ 建立 E-R 图 建立 E-R 图的步骤: ① 确定实体和实体的属性; ② 确定实体和实体之间的联系及联系的类型; ③ 给实体和联系加上属性。

1.3.2 数据模型

1. 数据模型的组成要素 数据库模型是数据库系统的核心和基础,任何 DBMS 都支持一种数据模型。数据模型 是严格定义的一组概念的集合,它描述了系统的静态特性、动态特性和完整性约束条件。因

此,数据模型通常由数据结构、数据操作和完整性约束三部分组成。 ⑴ 数据结构 任何一种数据模型都规定了一种数据结构, 即信息世界中的实体和实体之间联系的表示 方法。数据结构描述了系统的静态特性,是数据模型本质的内容。 数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,它包括两类,一 类是与数据类型、内容、性质有关的对象,如网状模型中的数据项、记录,关系模型中的域、 属性、关系等;一类是与数据之间联系有关的对象,如网状模型中的系型(Set Type)。 数据结构是刻画一个数据模型性质最重要的方面。 因此在数据库系统中, 通常按照其数 据结构的类型来命名数据模型。 如层次结构、 网状结构和关系结构的数据模型分别命名为层 次模型、网状模型和关系模型。 ⑵ 数据操作 数据操作是对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作 及有关的操作规则。 数据操作描述了系统的动态特性。 对数据库的操作主要有数据维护和数 据检索两大类,这是任何数据模型都必须规定的操作,包括操作符、含义、规则等。 ⑶ 数据的约束条件 数据的约束条件是一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其联 系所具有的制约和依存规则, 用以限定符合数据模型的数据库状态以及状态的变化, 以保证 数据的正确、相容和有效。 2. 最常用的数据模型 目前,数据库领域中最常用的数据模型有四种,它们是:  层次模型(Hierarchical Model)  网状模型(Network Model)  关系模型(Relational Model)  面向对象模型(Object Oriented Model) 其中,前两类模型称为非关系模型。非关系模型的数据库系统在 20 世纪 70 年代至 80 年代初非常流行, 在数据库系统产品中占据了主导地位, 在数据库系统的初期起了重要的作 用。在关系模型发展后,非关系模型迅速衰退。在我国,早就不见非关系模型;但在美国等 一些国家里, 由于早期开发的应用系统实际与层次数据库或网状数据库系统的, 因此目前仍 有层次数据库和网状数据库系统在继续使用。 面向对象数据库是近年才出现的数据模型, 是目前数据库技术的研究方向, 本书在第八 章中介绍。 关系模型是目前使用最广泛的数据模型,占据数据库的主导地位。

1.3.3 层次模型

层次模型是数据库系统中最早出现的数据模型, 典型的层次模型系统是美国 IBM 公司于 1968 年推出的 IMS(Information Management System)数据库管理系统,这个系统在 20 世纪 70 年代在商业上得到广泛应用。 在现实世界中,有许多事物是按层次组织起来的,如一个系由若干个专业和教研室,一 个专业有若干个班级,一个班级有若干个学生,一个教研室有若干个教师。其数据库模型如 图 1-11 所示。层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。 在树中,每个结点表示一个记录类型,结点间的连线(或边)表示记录类型间的关系,每个

记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性,各个记录类型 及其字段都必须命名。

系 专业 教研室

班级

教师

学生 图 1-11 层次模型

⑶ 查询子女结点必须通过双亲结点。 ⑷ 由于结构严密,层次命令趋于程序化。

1.3.4 网状模型

现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直 观,网状模型克服了这一弊病,可以清晰的表示这种非层次关系。 网状模型取消了层次模型的两个限制, 在层次模型中, 若一个结点可以有一个以上的父 结点, 就得到网状模型。 用有向图结构表示实体类型及实体间联系的数据模型成为网状模型 (Network Model)。1969 年,CODASYL 组织提出 DBTG 报告中的数据模型是网状模型的主要代 表。

专业 学习 学生 教学 拥有 系 分配

教师

图 1-12 学校网状模型

1.3.5 关系模型

关系模型是目前最常用的一种数据模型。 关系数据库系统采用关系模型作为数据的组织 方式。 1970 年,美国 IBM 公司的研究员 E.F.Codd 首次提出了数据系统的关系数据模型,标志 着数据库系统新时代的来临, 开创了数据库关系方法和关系数据理论的研究, 为数据库技术 奠定了理论基础。由于 E.F.Codd 的杰出工作,他于 1981 年荣获 ACM 图灵奖。 1980 年后,各种关系数据库管理系统的产品迅速出现,如 Oracle、Ingress、Sybase、 Informix 等,关系数据库系统统治了数据库市场,数据库的应用领域迅速扩大。 与层次模型和网状模型相比,关系模型的概念简单、清晰,并且具有严格的数据基础, 形成了关系数据理论,操作也直观、容易,因此易学易用。无论是数据库的设计和建立,还 是数据库的使用和维护,都比非关系模型时代简便得多。

与其他的数据模型相同,关系模型也是由数据结构、数据操作和完整性约束三部分组成。 1. 数据结构 在关系模型中, 数据的逻辑结构是关系。 关系可形象地用二维表表示, 它由行和列组成。 现以职工表(图 1-13 所示)为例,介绍关系模型中的一些术语。

员工编号 430425 430430 430211 430121 430248 姓名 王天喜 莫玉 肖剑峰 杨琼英 赵继平 年龄 25 27 33 23 41 性别 男 女 男 女 男 部门号 Deno1 Deno2 Deno3 Deno2 Deno3

图 1-13 关系模型的数据结构

关系(Relation):一个关系可用一个表来表示,常称为表,如图 1-13 中的 这张职工表。每个关系(表)都有与其它关系(表)不同的名称。  元组(Tuple):表中的一行数据总称为一个元组。一个元组即为一个实体的 所有属性值的总称。一个关系中不能有两个完全相同的元组。  属性(Attribute):表中的每一列即为一个属性。每个属性都有一个属性名, 在每一列的首行现实。一个关系中不能有两个同名属性。如图 1-13 的表 有五列,对应五个属性(员工编号,姓名,年龄,性别,部门号) 。  域(Domain):一个属性的取值范围就是该属性的域。如职工的年龄属性域 为 2 位整数(18-70),性别的域为(男,女)等。  分量(Component):一个元组在一个属性上的值称为该元组在此属性上的 分量。  主码(Key):表中的某个属性组,它可以唯一确定一个元组,如图 1-19 中 的职工编号,可以唯一确定一个职工,也就成为本关系的主码。  关系模式: 一个关系的关系名及其全部属性名的集合简称为该关系的关系 模式。一般表示为:关系名(属性 1,属性 2,…,属性 n) 如上面的关系可描述为: 职工(员工编号,性命,年龄,性别,部门号) 关系模式描述了一个关系的结构; 关系是元组的集合, 是某一时刻关系模式的状态或内 容。因此,关系模式是稳定的、静态的,而关系则是随时间变化的、动态的。关系是关系模 型中最基本的数据结构。 关系既用来表示实体, 如上面的职工表, 也用来表示实体间的关系, 如学生与课程之间的联系可以描述为: 选修(学号,课程号,成绩) 关系模型要求关系必须是规范化的, 即要求关系必须满足一定的规范条件, 这些规范条 件是: 工资  关系中的每一列都必须是 工资级别 基本工资 工龄 职务 不可分的基本数据项,即 ┇ ┇ ┇ ┇ 不允许表中还有表,图 1-14 的情况是不允许的。 图 1-14 表中有表

 2. 数据操作

在一个关系中,属性间的顺序、元组间的顺序是无关紧要的。

关系数据模型的操作主要包括查询、插入、删除和修改数据。它的特点在于:  操作对象和操作结果都是关系, 即关系模型中的操作是集合操作。 它是若干元组的 集合,而不像非关系模型中那样是单记录的操作方式。  关系模型中,存取路径对用户是隐藏的。用户只要指出“干什么”或“找什么” , 不必详细说明“怎么干”或“怎么找” ,从而方便了用户,提高了数据的独立性。 3. 完整性约束 完整性约束是一组完整的数据约束规则,它规定了数据模型中的数据必须符合的条件, 对数据作任何操作时都必须保证制。关系的完整性约束条件包括三大类:实体完整性、参照 完整性和用户定义的完整性。其具体含义在后面介绍。 4.关系运算

1. 传统的集合运算 传统的集合运算是二目运算,包括并、交、差、乘积四种运算 ⑴ 并 设关系 R 和 S 是同一关系模式下的关系,则 R 和 S 的并是由属于 R 或属于 S 的元组组 成的集合。记作

R  S ={ t | t  R  t  S}

如果R和 S 有重复的元组,则只保留一个。 【例 1.5】关系 R 和 S 如图 1-15(a) 、 (b)所示,则 R 和 S 的并运算 R  S 如图 1-15 (c)所示。 ⑵ 差 设关系 R 和 S 是同一关系模式下的关系,则 R 和 S 的差是由属于 R 但不属于 S 的元组 组成的集合。记作

R  S  {t | t  R  t  S}

【例 1.6】关系 R 和 S 如图 1-15(a) 、 (b)所示,则 R 和 S 的差运算 R  S 如图 1-15 (d) 、所示。 ⑶ 交 设关系 R 和 S 是同一关系模式下的关系,则 R 和 S 的交是由属于 R 又属于 S 的元组组 成的集合。记作

R  S  {t | t  R  t  S}

【例 1.7】关系 R 和 S 如图 1-15(a) 、 (b)所示,则 R 和 S 的交运算 R  S 如图 1-15 (e)所示。

交和差运算之间存在如下关系:

R  S  R( R ) S  S ( S )R

⑷ 乘积 设关系 R 有 m 个属性、i 个元组;关系 S 有 n 个属性、j 个元组,则关系 R 和 S 的乘积 是个有(m+n)个属性的元组集合。每个元组的前 r 个分量来自关系 R 的一个元组,后 s 个分 量来自 S 的一个元组,且元组的数目有 i×j 个。乘积运算又叫广义笛卡尔积。记作

R  S  {t | t  t m , t n  t m  R  t n  S}

① 虽然在表示上,我们把关系 R 的属性放在前面,把关系 S 的属性放在后面,连接成 一个有序结构的元组,但在实际的关系操作中,属性间的前后交换次序是无关的。 ② 做乘积运算时,可从 R 的第一个元组开始,一次与 S 的每一个元组组合,然后,对 R 的下一个元组进行同样的操作,直至 R 的最后一个元组也进行完同样的操作为止,即可 得到 R×S 的全部元组。 ③ 乘积运算得出的新关系将数据库的多个孤立的关系表联系在一起了。这样就使关系 数据库中独立的关系有了沟通的桥梁。 【例 1.8】关系 R 和 S 如图 1-15(a) 、 (b)所示,则 R 和 S 的乘积运算 R  S 如图 1-15 (f)所示。

A b b c d B 2 3 2 3 (a) R C d b d b A a b e B 3 2 5 (b) S C c d f A b b c d a e B 2 3 2 3 3 5 C d b d b c f

R.A b b b b b b c c c d d d

R.B 2 2 2 3 3 3 2 2 2 3 3 3

R.C d d d b b b d d d b b b (f) R×S

S.A a b e a b e a b e a b e

S.B 3 2 5 3 2 5 3 2 5 3 2 5

S.C c d f c d f c d f c d f

(c) R∪S

A b d

B 3 3

C b b

(d) R-S

A b

B 2

C d

(e) R∩S

图 1-15 合运算

关系 R、S 及它们的传统集

2. 专门的关系运算 在关系的运算中, 由于关系数据结构的特殊性, 在关系代数中除了需要一般的集合运算 外,还需要一些专门的关系运算包括:选择、投影、连接等。 ⑴ 选择 选择运算是在关系 R 中选择满足条件 F 的所有元组组成的一个关系。记作

 F ( R)  {t | t  R  F (t )  true}

其中,F 表示选择条件,它是一个逻辑表达式,取值为“true”或“false” 。 逻辑表达式 F 的基本形式为: X 1 Y1[ X 2 Y2 ] θ 表示比较运算符,它可以是>、≥、<、≤、=和≠。X1,Y1 等是属性名或简单函数。 属性名也可以用它在关系中从左到右的序号来代替。Φ 表示逻辑运算符,它可以是 、 、 。 [ ]表示任选项,即[ ]中的部分可以要也可以不要,„表示上述格式可以重复下去。 选择运算是单目运算符, 即运算的对象仅有一个关系。 选择运算不会改变参与运算关系 的关系模式,它只是根据给定的条件从所给的关系中找出符合条件的元组。实际上,选择是 从行的角度进行的水平运算,是一种将大关系分割为较小关系的工具。 【例 1.9】设关系 R 和 S 如图 1-15 (a ) (b) 、 所示, 计算  A' b '  B3 ( R) 或  [1]'b ' [2]3 ( R) 的结果如图 1-16(a)所示,  B 3C  ' c ' ( S ) 或  [2]3[3] ' c ' ( S ) 的结果如图 1-16(b)所示。

A b B 2 C d A b e B 2 5 C d f

(a)  A'b '  B3 ( R)

图 1-16 选择

(b)  B 3C  ' c ' ( S )

⑵ 投影 投影运算是从一个关系中,选取某些属性(列) ,并对这些属性重新排列,最后从得出 的结果中删除重复的行,从而得到一个新的关系。 设 R 是 n 元关系,R 在其分量 Ai1,Ai2,„,Aim (m≤n;i1,i2,„,im 为 1 到 m 之间 的整数,可不连续)上的投影操作定义为:

 i1,i2,,im  {t | t  t i1, t i2 , t im    t1,, t i1, t i2  t im , tn  R}

即取出所有元组在特定分量 Ai1,Ai2,„,Aim 上的值。 投影操作也是单目运算, 它是从列的角度进行的垂直分解运算, 可以改变关系中列的顺 序,与选择一样也是一种分割关系的工具。 【例 1.10】设关系 R 和 S 如图 1-15(a) 、 (b)所示,计算  A,C ( R ) 和  C , B ( S ) 的结果如 图 1-17(a)和(b)所示。

A b b c d

C d b d b

C c d f

B 3 2 5

(a)  A,C ( R )

(b)  C , B ( S ) 图 1-17 投影

⑶ 连接 连接是从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组。连接又称θ 连接。 记作:

R  S  {t | t  tr , t s  tr  R  t s  S  tr [ A] t s [ B ]}   A B ( R  S )

A B

其中,A 和 B 分别是 R 和 S 上个数相等且可比的属性组(名称可不相同) 。Aθ B 作为比较公式 F,F 的一般形式为 F1∧F2∧„∧Fn,每个 Fi 是形为 tr [ Ai ] ts [ B j ] 的公式。对于连接条件的重要 限制是条件表达式中所包含的对应属性必须来自同一个属性域,否则是非法的,即属性得来性 必须相同。 若 R 有 m 个元组,此运算就是用 R 的第 p 个元组的 A 属性集的各个值与 S 的 B 属性集从头 至尾依次作θ 比较。每当满足这一比较运算时,就把 S 中该属性值的元组接在 R 的第 p 个元组 的右边,构成新关系的一个元组。反之,当不满足这一比较运算时就继续作 S 关系 B 属性集的 下一次比较。这样,当 p 从 1 遍历到 m 时,就得到了新关系的全部元组。新关系的属性集取名 方法同乘积运算一样。 【例 1.11】 设关系 R 和 S 如图 1-15 (a) 、 (b)所示, 计算 R  S 的结果如图 1-18 所示。

B B

R.A b b b c c d

R.B 2 2 3 2 2 3

R.C d d b d d b

S.A a e e a e e

S.B 3 5 5 3 5 5

S.C c f f c f f

图 1-18 R  S

B B

1.4 数据库设计

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库,使之能够有效地存储数据,满足用户的应用需求。

1.4.1 数据库设计的方法

数据库设计属于方法学的范畴,是数据库应用研究的主要领域,不同的数据库设计方法,采用不同的设计步骤。在软件工程之前,主要采用手工试凑法。由于信息结构复杂,应用环境多样,这种方法主要凭借设计人员的经验和水平,数据库设计是一种技艺而不是工程技术,缺乏科学理论和工程方法,工程的质量难以保证,数据库很难最优,数据库运行一段时间后各种各样的问题会渐渐的暴露出来,增加了系统维护工作量。如果系统的扩充性不好,经过一段时间运行后,要重新设计。

为了改进手工试凑法,人们运用软件工程的思想和方法,使设计过程工程化,提出了各种设计准则和规程,形成了一些规范化设计方法。其中比较著名的有新奥尔良方法(New Orleans ),他将数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理结构设计四个阶段。其后有S.B.Yao 的五步骤方法。还有Barker 方法,Barker 是著名数据库厂商Oracle 的数据库设计产品Oracle Designer 主要设计师,其方法在Oracle Designer 中运用和实施。各种规范化设计方法基于过程迭代和逐步求精的设计思想,只是在细致的程度上有差别,导致设计步骤的不同。

随着数据库设计工具的出现,产生了一种借助数据库设计工具的计算机辅助设计方法。另外,随着面向对象设计方法的发展和成熟,面向对象的设计方法也开始应用于数据库设计。

1.4.2 数据库设计的步骤

数据库的设计按规范化设计方法,划分为五个阶段(图1-19) ,每个阶段有相应的成果:

1. 需求分析阶段

需求分析阶段,主要是准确收集用户信息需求和处理需求,并对收集的结果进行整理和

分析,形成需求说明。需求分析是整个设计活动的基础,也是最困难和最耗时的一步。如果需求分析不准确或不充分,可能导致整个数据库设计的返工。

2. 概念结构设计阶段

概念结构设计是数据库设计的重点,对用户需求进行综合、归纳、抽象,形成一个概念模型(一般为ER 模型),形成的概念模型是与具体的DBMS 无关的模型,是对现实世界的可视化描述,属于信息世界,是逻辑结构设计的基础。

3. 逻辑结构设计阶段

逻辑结构设计是将概念结构设计的概念模型转化为某个特定的DBMS 所支持的数据模型,建立数据库逻辑模式,并对其进行优化,同时为各种用户和应用设计外模式。

4. 物理结构设计阶段

物理结构设计是为设计好的逻辑模型选择物理结构,包括存储结构和存取方法,建立数据库物理模式(内模式) 。

5. 实施和维护阶段

实施阶段就是使用DLL 语言建立数据库模式,将实际数据载入数据库,建立真正的数据库;在数据库上建立应用系统,并经过测试、试运行后正式投入使用。维护阶段是对运行中的数据库进行评价、调整和修改。

1.4.3 概念设计

概念结构设计是将现实世界的用户需求转化为概念模型。概念模型不同于需求规格说明中的业务模型,也不同于机器世界的数据模型,是现实世界到机器世界的中间层,是数据模型的基础。概念模型独立于机器,比数据模型更抽象,更稳定。概念模型是现实世界到信息世界的第一层抽象,是数据库设计的工具,也是数据库设计人员和用户进行交流的语言。因此建立的概念模型要有如下的特点:

1. 反映现实

能准确、客观地反映现实世界,包括事物及事物之间的联系,能满足用户对数据的处理要求,是现实世界的真实模型,要求具有较强的表达能力;

2. 易于理解

不仅能让设计人员能够理解,开发人员也要能够理解,不熟悉计算机的用户也要能理解,所以要求简洁、清晰,无歧义;

3. 易于修改

当应用需求和应用环境改变时,容易对概念模型进行更改和扩充;

4. 易于转换

能比较方便地向机器世界的各种数据模型转换,如层次模型、网状模型、关系模型转换,主要是关系模型。

概念结构设计在整个数据库设计过程中是最重要的阶段,通常也是最难的阶段。概念结构设计通常采用数据库设计工具辅助进行设计。

概念模型的表示方法很多,其中最常用的是P.P.S.Chen 于1976年提出的实体-联系方法(Entity Relationship Approach 简称ER 方法)该方法用ER 图表示概念模型,用ER 图表示的概念模型也称为ER 模型。

ER 图中表示实体、属性和联系的方法:

实体:用矩形框表示,矩形框内写明实体的名称。

属性:用椭圆形表示,椭圆形内写明属性的名称,用无向边将其与相应的实体连接起来。

联系:用菱形表示,菱形内写明联系的名称,用无向边分别与实体连接起来,在无向边上注明联系的类型(1:1,1:n,m:n),如果联系有属性,则这些属性同样用椭圆表示,用无向边与联系连接起来。

1.4.4 概念设计的方法

设计概念结构通常有四种方法;

自顶向下:首先定义全局的概念结构的框架,然后逐步分解细化。

自底向上:首先定义局部的概念结构,然后将局部概念结构集成全局的概念结构。 逐步扩张:首先定义核心的概念结构,然后以核心概念结构为中心,向外部扩充,逐步形成其它概念结构,直至形成全局的概念结构。

混合策略:自顶向下和自底向上相结合,用自顶向下的方法设计一个全局的概念结构的框架,用自底向上方法设计各个局部概念结构,然后形成总体的概念结构。

具体采用哪种方法,与需求分析方法有关。其中比较常用的方法是自底向上的设计方法,即用自顶向下的方法进行需求分析,用自底向上的方法进行概念结构的设计(图1-20概念结构设计方法) 。

1.4.5 逻辑设计

概念结构设计所得的概念模型,是独立于任何一种DBMS 的信息结构,与实现无关。逻辑结构设计的任务是将概念结构设计阶段设计的ER 图,转化为选用的DBMS 所支持的数据模型相符的逻辑结构,形成逻辑模型。

在数据模型的选用上,网状和层次数据模型已经逐步淡出市场,而新型的对象和对象关系数据模型还没有得到广泛应用,所以一般选择关系数据模型。基于关系数据模型的DBMS 市场上比较多,如:Oracle 、DB2、SQL Server 、Sybase 、Informix 等等。本节以关系数据模型为例讲解逻辑结构设计。

基于关系数据模型的逻辑结构的设计一般分为三个步骤:

⑴ 概念模型转换为关系数据模型

⑵ 关系模型的优化

⑶ 设计用户子模式

1 概念模型转换为关系数据模型

概念模型向关系数据模型的转化就是将用ER 图表示的实体、实体属性和实体联系转化为关系模式。具体而言就是转化为选定的DBMS 支持的数据库对象。现在,绝大部分关系数据库管理系统(RDBMS )都支持表(Table)、列(Column)、视图(View)、主键(Primary Key) 、外键(Foreign)、约束(Constraint)等数据库对象。

一般转换原则如下:

⑴ 一个实体转换为一个表(Table ),则实体的属性转换为表的列(Column ),实体的码转换为表的主键(Primary Key)。

⑵ 实体间的联系根据联系的类型,转换如下:

① 1:n的联系:

1:n的联系是比较普遍的联系,其转换比较直观。如:ER 图中出版社和图书的关系是1:n的联系,转换成: 表:出版社(出版社编号、出版社名称); 表:图书(图书编号、书名、图书分类、出版社编号、单价、复本数量、库存量、日罚金、是否新书)。

图书表中增加了一个“出版社编号”属性,它是一个外键,是出版社的主键。转换规律是在n 端的实体对应的表中增加属性,该属性是1端实体对应表的主键。

② 1:1的联系:1:1联系是1:n联系的特例,两个实体分别转换成表后,只要在一个表中增加外键,一般在记录数较少的表中增加属性,作为外键,该属性是另一个表的主键。如ER 图中的借阅人和借阅卡是1:1的联系,转换成: 表:借阅人(读者编号、姓名、读者类型、密码、已借数量、Email 地址、电话号码) 表:借阅卡(借阅卡编号、读者编号)

两端的实体分别转化成表“借阅人”和“借阅卡”,在“借阅卡”表中增加了一个外键“读者编号”,“读者编号”是“借阅人”表中的主键。

③ m:n的联系:通过引进一个新表来表达两个实体间多对多的联系,新表的主键由联系两端实体的主键组合而成,同时增加相关的联系属性。如:在ER 图中借阅人和图书的联系是m:n联系,转换成: 表:借阅人(读者编号、姓名、读者类型、密码、已借数量、Email 地址、电话号码)

表:图书(图书编号、书名、图书分类、出版社编号、单价、复本数量、库存量、日罚金、是否新书)。 表:借阅表(读者人编号、图书编号、借阅日期、是否续借、续借日期、是否已归还、归还日期)

新增表的“借阅表”中“借阅人编号”和“图书编号”组合为主键,分别是外键,其中“读者编号”是借阅人表的主键,“图书编号”是图书表的主键。同时增加了借阅相关的属性:日期、是否续借、续借日期、是否已归还、归还日期。

2. 规范化

规范化就是确定表中各个属性之间的数据依赖,并逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定属于哪种范式。根据需求分析的处理要求,分析是否合适从而进行分解。必须注意的是:并不是规范化程度越高的关系就越优,因为规范化越高的关系,连接运算越多,而连接运算的代价相当高。对于查询频繁而很少更新的表,可以是较低的规范化程度。

将两个或多个高范式通过自然连接,重新合并成一个较低的范式过程称为逆规范化。规范化和逆规范化是一对矛盾,何时进行规范化、何时进行逆规范化、进行到什么程度,在具体的应用环境中,需要设计者仔细分析和平衡。

1) 第一范式(1NF )

如果关系模式R 中每个属性值都是一个不可分解的数据项,则称该关系模式满足第一范式(First Normal Form),简称1NF ,记为R ∈1NF 。

第一范式规定了一个关系中的属性值必须是“原子”的,它排斥了属性值为元组、数组或某种复合数据的可能性,使得关系数据库中所有关系的属性值都是“最简形式”,这样要求的意义在于可能做到起始结构简单,为以后复杂情形讨论带来方便。一般而言,每一个关系模式都必须满足第一范式,1NF 是对关系模式的起码要求。

2) 第二范式

如果一个关系模式R ∈1NF ,且它的所有非主属性都完全函数依赖于R 的任一候选码,则R ∈2NF 。

3)第三范式

如果一个关系模式R ∈2NF ,且所有非主属性都不传递函数依赖于任何候选码,则R ∈3NF 。


相关内容

  • 从"会计核算软件数据接口标准"看税收业务系统接口标准
    从"会计核算软件数据接口标准"看税收业务系统接口标准 [内容摘要]"会计核算软件数据接口标准"(GBT 19581-2004)这一国家标准中给出了了会计核算软甲中各类数据的标准标准定义,就目前来看,尚 ...
  • 银行从业资格考试个人贷款题库第八章
    第八章 个人征信系统 8.1 概述 1.我国最大的个人征信数据库为( ).B A.中华人民共和国财政部建立的个人征信系统 B.中国人民银行建立的全国个人信用信息基础数据库系统 C.中国银监会建立的个人企业基础数据库系统 D.中国银行业协会建 ...
  • 住建部20**年-20**年建筑业信息化发展纲要
    住建部2011-2015建筑业信息化发展纲要 深入贯彻落实科学发展观,坚持自主创新.重点跨越.支撑发展.引领未来的方针,高度重视信息化对建筑业发展的推动作用,通过统筹规划.政策导向,进一步加强建筑企业信息化建设. 1 各省.自治区住房和城乡 ...
  • 专业课考试科目
    北京工业大学 421自动控制原理 复试:1.电子技术2.计算机原理 北京航空航天大学 [双控]432控制理论综合或433控制工程综合 [检测]433控制工程综合或436检测技术综合 [系统]431自动控制原理或451材料力学或841概率与数 ...
  • 电气工程及自动化专业考研学校科目
    电气工程及自动化专业考研学校科目 2008年03月21日 星期五 20:29 北京工业大学 421自动控制原理 复试:1.电子技术 2.计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工程综合 [检测] 433控制工程 ...
  • 智慧供水解决方案
    智慧供水解决方案 前言 地球的空间是有限的,地球的资源也是是有限的, 但相对的人类的诉求却是无限的.同样水资源对于人类来说也是有限的,怎样使有限的水资源可再生.可循环利用.可持续来满足人类无限的需求是我们急须解决的问题. 基于现状,我们展望 ...
  • 酒店管理系统分析报告
    大白酒店管理系统设计报告 小组成员:王帅 张可 吴聪聪 张娜 石舒文 目录 大白酒店管理系统设计报告...................................................................... ...
  • 陕西省汽车客运站管理信息系统
    陕西省汽车客运站管理信息系统 建设标准及使用规范 一 建设原则 为了促进全省汽车客运站信息化管理的发展, 服务水平的提高, 更好地服务于社会,服务于旅客.实现汽车客运站与交通运输管理部门信息系统的数据交换以及避免重复开发.重复建设:避免信息 ...
  • 高速公路收费站管理系统基础数据指标体系设计
    高速公路收费站管理系统基础数据指标体系设计 [摘要]通过对典型高速公路收费站设施的实地调研分析,提出了高速公路收费站管理系统基础数据指标体系的设计原则和指标体系框架,可以为高速公路运营管理部门建立统一完备的高速公路收费站管理系统奠定良好的数 ...
  • 地理信息的服务与应用
    信息科学 民营科技 地理信息的服务与应用 刘云碧 (云南省基础地理信息中心,云南昆明650034) 摘要:地理信息是国家信息资源中最基础.最重要的信息资源,由于基础地理信息数据的复杂性和特殊性,一般由专业部门进 行生产.管理和分发.随着地理 ...