数据库应用基础教程(Visual FoxPro 9.0)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-08 05:17:08

点击下载

作者:程东胜,广树建

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

数据库应用基础教程(Visual FoxPro 9.0)

数据库应用基础教程(Visual FoxPro 9.0)试读:

前言

目前,具备能够满足社会和专业本身需求的计算机应用能力,已成为合格大学毕业生必须的素质。文科类专业与计算机技术,尤其信息技术的融合、交叉、渗透是现代科学技术发展的重要方面,加强文科类专业的计算机教育是培养能够满足信息化社会对文科类人才的需求的重要措施,因此开设一定层次、一定内容的具有文科专业特色的计算机类课程是十分必要的。

根据教育部高等教育司制定的《高等学校文科类专业大学计算机基本要求》,对于数据库和程序设计基础方面的课程,可结合Visual FoxPro、Access、Visual Basic等进行教学。《高等学校文科类专业大学计算机基本要求》把文科类计算机教学的知识结构分为两大部分:一是大学计算机公共基础课,二是体现文科专业特色或与文科专业教学相结合的后续课程。

针对文科类专业的特点,本书涵盖了《全国计算机等级考试二级Visual FoxPro考试大纲》的全部内容。书中先从数据库发展、基本原理、概念出发,介绍了数据表与数据库的对象的建立、修改、使用、查询和维护等操作,同时由浅及深的介绍了结构化程序设计的基本方法,有关章节通过完整的实例,逐步讲解Visual FoxPro 9.0中实用、常用的技术。

全书共14章。

第1章介绍数据管理技术的发展、数据库基本原理、数据模型等基本概念;第2章介绍Visual FoxPro 9.0的操作界面及编程与管理工具;第3章介绍Visual FoxPro 9.0的数据类型、数据存储和函数等操作基础;第4章介绍了Visual FoxPro9.0程序设计基础,主要讲解程序的结构、设计与调试,以及使用项目管理器管理程序的方法;第5章介绍Visual FoxPro 9.0数据库及表的创建、操作与使用;第6章介绍数据库中索引及记录的操作;第7章介绍Visual FoxPro 9.0查询与视图的操作;第8章介绍结构化查询语言(SQL)的主要功能;第9章介绍了表单的创建设计和应用;第10章介绍Visual FoxPro常用控件,如输出类、输出类、控制类、容器类、连接类等控件;第11章介绍报表的设计及标签设计器的使用;第12章介绍菜单与工具栏设计;第13章介绍项目管理器的使用和应用程序的调试、编译与发布;第14章介绍二级计算机等级考试(Visual FoxPro)的要求并提供了三套模拟试题。

本书可满足高等院校各专业(尤其文科类)在计算机公共基础课Visual FoxPro数据库技术和程序设计方面的教学需求,也可作为全国计算机等级开始二级Visual FoxPro程序设计的培训教材。

全书由程东胜、广树建担任主编并统稿,叶仕通、许丽娟、万智萍担任副主编。第1、4、8章由程东胜老师编写,第2、3章由万智萍老师编写,第5、7、11、12章由许丽娟老师编写,第6、9、10章由叶仕通老师编写,第13、14章由广树建老师编写。感谢电子工业出版社给予的支持和帮助。

由于水平和时间有限,书中难免存在疏漏和错误,恳请读者批评指正。

本书提供配套的教学资源,请登录到华信教育资源网(http://www.hxedu.com.cn),注册之后进行下载。

作者第1章 数据库基本原理

随着计算机技术的飞速发展,计算机应用已经深入到日常生活、学习和工作等领域。计算机已经成为信息社会中,帮助人们处理数据的得力助手和工具,而数据处理则是科学计算、过程控制、数据处理、人工智能和计算机辅助系统等计算机五大应用领域的一个极其重要的组成部分。数据处理的核心问题是数据管理,数据库则是数据管理技术发展的成果,是一门综合性技术,涉及操作系统、数据结构、算法设计和程序设计等方面的知识。1.1 数据管理技术的发展

数据管理是指人们对数据进行收集、组织、存储、加工、传播和利用的一系列活动的总和。随着计算机软件、硬件技术的不断发展和应用领域的不断深化扩大,计算机在数据处理方面经历了从低级到高级的发展过程。20世纪80年代后,不仅在大、中型计算机上实现并应用了数据管理的数据库技术,如Oracle、SYSBASE、Informix等,在微型计算机上也可以使用数据库管理软件,如常见的Access、FoxPro等软件,使数据库技术得到广泛的应用和普及。数据管理技术的发展过程大致经历了人工管理、文件管理、数据库管理三个阶段。每个阶段的发展以数据存储冗余不断减小、数据独立性不断增强、数据操作更简单和方便为标志,各有各的特点。从人工管理到数据库管理,标志着数据管理技术质的飞跃。

1.人工管理阶段

在计算机出现之前,人们运用常规的手段对数据记录、存储和加工,即利用纸张来记录数据和利用计算工具(如算盘、计算尺)来进行计算,并主要使用人的大脑来管理和利用这些数据。而计算机出现之后到20世纪50年代中期,这个阶段计算机则主要用于数值计算,也没有管理数据的软件,因此从计算机内记录的数据上看,其数据量小,数据无结构,用户直接管理,且数据间缺乏逻辑组织,数据仅依赖特定的应用,缺乏独立性。

2.文件系统阶段

20世纪50年代后期至60年代中后期,随着计算机的处理速度和存储能力的飞速提升,硬件方面出现了磁鼓、磁盘等直接存取的外部存储设备,软件方面出现了高级语言和操作系统。操作系统中的文件系统则是专门管理存储器中的数据处理系统,是将计算机中的数据组织成相互独立的被命名的数据文件,并可按文件的名字来进行访问,是对文件中的记录进行存取的数据管理技术。数据可以长期保存在计算机外存上,计算机可以对数据进行反复处理,并支持文件的查询、修改、插入和删除等操作。文件系统实现了记录内的结构化,但从文件的整体来看却是无结构的。其数据面向特定的应用程序,因此数据共享性、独立性差,且冗余度大,管理和维护的代价也很大。文件管理阶段应用程序与数据的关系如图1-1所示。图1-1

3.数据库系统阶段

20世纪60年代后期,计算机性能得到进一步提高,数据处理的规模也随之扩大,对数据共享的需求日益增强,文件系统的数据管理方法已经不能满足应用程序开发的需求。期间出现了大容量磁盘,存储容量大大增加且价格下降,在此基础上就可以克服文件系统管理数据时的不足,来满足和解决实际应用中多个用户、多个应用程序共享数据的要求,从而使数据能为尽可能多的应用程序服务,于是就出现了数据库管理技术。数据库的特点是数据不再只针对某个特定的应用程序,而是面向全组织,具有整体的结构性,共享性高,冗余度减小,程序与数据之间具有一定的独立性,并且对数据进行统一控制。

数据库的主要特点如下:(1)数据结构化

在文件系统中,文件之间不存在联系,从整体看数据是没有结构的;与文件系统相比,数据库是存储在外存上的数据集合,并按某种数据模型组织起来的结构化数据,文件之间是相互联系的,并在总体上遵从一定的结构形式。数据库正是通过文件之间的联系来反映现实世界中事物自然联系的。(2)数据共享性

由于数据库中是按某种数据模型组织起来的结构化数据,考虑了所有用户的数据需求、面向整个系统组织的,从而实现了多个应用程序、多种语言和多个用户能共享一个数据库中的数据。不同用户所使用的数据可以重叠,同一部分数据也可以为多个用户使用,大大提高了数据的利用率。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。(3)数据冗余度的减少

在数据库技术之前,应用系统都需要建立各自的数据文件,即使相同的数据也需要在各自的系统中重复建立,造成大量的数据重复存储,这个现象称为数据的冗余。

在数据库方式下,应用系统的数据是取自数据库中的某个子集,是数据库管理系统(DataBsae Management Systerm,DBMS)从数据库中映像出来的,称为逻辑文件。应用系统使用的数据可能出现在不同的逻辑文件中,实际上的物理存储只出现一次,从而减少了数据的冗余。数据库管理阶段应用程序与数据的关系如图1-2所示。图1-2(4)数据独立性

数据库技术中的数据与程序是相互独立的,互不依赖。

数据独立有两个含义:物理数据独立性和逻辑数据独立性。所谓物理数据独立性,是指数据库物理结构(包括数据的组织和存储、存取方法、外部存储设备等)发生变化时,不会影响到逻辑结构,而用户用的是逻辑数据,故程序不需改动。所谓逻辑数据独立性,是指数据库全局逻辑发生改变时,程序也不需改动,就像数据库并没有发生改变。1.2 数据库系统

1.数据库

随着信息技术的发展和市场需求的提升,特别是20世纪90年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需的各种数据管理的方式。数据库(DataBase,DB)可直观地理解成数据仓库,是按照一定数据结构来组织、存储和管理数据的集合,不仅包含了描述事物本身的数据,还包含了相关数据之间的联系。数据库以文件的形式存储在外存中,用户通过数据库管理系统统一管理和控制数据。

数据库有多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统,都在各方面得到了广泛的应用。

2.数据库管理系统

数据库管理系统(DBMS)是一种操纵和管理数据库的软件,用于建立、使用和维护数据库。它在操作系统基础上运行,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据,数据库管理员通过数据库管理系统进行数据库的维护工作,使多个应用程序和用户可以用不同的方法同时或不同时地建立、修改和查询数据库。

数据库管理系统提供了数据定义语言(Data Definition Language,DDL)、数据操作语言(Data Manipulation Language,DML)和数据控制语言(Data Control Language,DCL),供用户定义数据库的模式结构和权限约束,实现对数据的追加、删除等操作,以及设置或更改数据库用户或角色权限。数据库管理系统的主要功能如下。

数据定义:利用DDL,供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL 主要用于建立、修改数据库的库结构。DDL 所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(Data Dictionary)中。

数据操作:利用DML,供用户实现对数据的追加、删除、更新、查询等操作。

数据控制:利用DCL,设置或更改数据库用户或角色权限,实现对数据库的控制和管理,包括并发控制、安全性检查、完整性检查、数据维护等功能。不同于程序设计语言,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等人员才有权力执行DCL。

3.数据库系统

数据库系统(DataBase System,DBS)是由数据库及其管理软件组成的系统,是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。数据库系统是一个实际可运行的存储、维护和为应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。

数据库系统通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序和数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般由业务水平较高、资历较深的人员担任。

数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库,其学科含义是指研究、开发、建立、维护和应用数据库系统涉及的理论、方法、技术所构成的学科。

数据库系统的出现是计算机应用的一个里程牌,使得计算机应用从以科学计算为主转向以数据处理为主,从而使计算机得以在各行各业乃至家庭普遍使用。

数据库系统一般由4部分组成:数据库,数据库管理系统(DBMS),数据库管理员(DBA)和用户,应用程序。

4.数据库的发展

数据库技术的发展已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术最初产生于20世纪60年代中期,根据数据模型的发展,可以划分为三个阶段:第一阶段的网状、层次数据库系统,第二阶段的关系数据库系统,第三阶段的以面向对象模型为主要特征的数据库系统。

第一阶段数据库的代表是1969年IBM公司研制的层次模型的数据库管理系统IMS和70年代美国数据库系统语言协商CODASYL下属的数据库任务组DBTG提议的网状模型。层次数据库的数据模型是有根的定向有序树,网状模型对应的是有向图。这两种数据库奠定了现代数据库发展的基础。这两种数据库具有如下共同点:

⊙ 支持三级模式(外模式、模式、内模式),保证数据库系统具有数据与程序的物理独立性和一定的逻辑独立性。

⊙ 用存取路径来表示数据之间的联系。

⊙ 有独立的数据定义语言。

⊙ 导航式的数据操纵语言。

第二阶段数据库的主要特征是支持关系数据模型(数据结构、关系操作、数据完整性)。关系模型具有以下特点:

⊙ 关系模型的概念单一,实体和实体之间的连系用关系来表示。

⊙ 以关系数学为基础。

⊙ 数据的物理存储和存取路径对用户不透明。

⊙ 关系数据库语言是非过程化的。

第三阶段数据库产生于20世纪80年代,随着科学技术的不断进步,各领域对数据库技术提出了更多的需求,关系型数据库已经不能完全满足需求,于是产生了第三代数据库。主要有以下特征:

⊙ 支持数据管理、对象管理和知识管理。

⊙ 保持和继承了第二代数据库系统的技术。

⊙ 对其他系统开放,支持数据库语言标准,支持标准网络协议,有良好的可移植性、可连接性、可扩展性和互操作性等。

第三代数据库支持多种数据模型(如关系模型和面向对象的模型),并与诸多新技术相结合(如分布处理技术、并行计算技术、人工智能技术、多媒体技术、模糊技术),广泛应用于多个领域(商业管理、GIS、计划统计等),由此也衍生出多种数据库技术。

分布式数据库允许用户开发的应用程序把多个物理分开的、通过网络互连的数据库当作一个完整的数据库看待。并行数据库通过簇技术把一个大的事务分散到簇中的多个节点去执行,提高了数据库的吞吐和容错性。多媒体数据库提供了一系列用来存储图像、音频和视频对象的类型,更好地对多媒体数据进行存储、管理、查询。模糊数据库是存储、组织、管理和操纵模糊数据库的数据库,可以用于模糊知识处理。

20世纪80年代中期,喷气发动机实验室(JPL)与其他政府机构一样,也使用微型机。这些独立的计算机使工程师有时不用操作大型机就能处理大量的数据集合,同时把简单的类似英语的命令(他们可以在 DOS 下执行这些命令)组合到程序中。这些程序变成了应用程序,并且一种新型的应用程序开发人员诞生了。那时经常使用电子数据表和静态数据包,但是它们都比较麻烦,并且容易造成数据丢失。

数据库是处理大量数据的逻辑解决方案,因此天才程序员C.Wayne Ratliff(韦恩·莱特莱夫)当时编写了一个自带有数据库的程序(Vulcan),同时添加了一组可以在数据上执行的命令。该程序带有一个交互式的点提示符,使用易于记住的惯用语,允许工程师使用一组简短的命令操作自己的数据就像操作物理数据集合一样。Wayne Ratliff说:“dBASE与BASIC、C、FORTRAN和COBOL是不同的,在dBASE程序中很多麻烦的工作已经被做好了。数据维护是由dBASE而不是由用户完成的,因此用户可以把精力集中在自己的事务上,不必与处理打开、读取和关闭文件、管理空间分配这些麻烦的工作绞在一起。”这个程序最终成为Ashton-Tate的dBASE数据库程序。

在它发布后的几年之内,大量的dBASE克隆产品冲击了市场。1986年,美国FOX软件公司发布了与dBASE兼容的FoxBase,FoxBase的高速和稳定性使它获得了很大的名气。此外,Fox小组很敏捷,对用户团体做出的响应更多。通过定期的修补,通过 CompuServe 和重要版本的及时支持,作为对用户请求的回应,FoxBase 在非常接近原始版本的同时,通过添加提高生产率的工具变得更快了。

FoxPro是FoxBase的加强版。FoxPro比FoxBase在功能和性能上有了很大的改进,主要引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。Fox 小组已经提供了跨平台的编译器,允许开发者在UNIX或DOS上以及Windows版本和Mac上部署应用程序。接着出现了FoxPro 2.0,它带来了“Rushmore”(FoxPro著名的数据性能增强部分)技术、在线的SQL命令、图形屏幕和报表编写器。

1992年,Fox Software公司被微软公司收购,微软公司利用自身的技术优势,在不到4年的时间内,先后开发出了FoxPro 2.5、FoxPro 2.6等约20个软件产品及相关产品。1995年,微软公司发布了Visual FoxPro 3.0,全面支持面向对象技术和可视化编程技术。1998年,微软公司推出了包含Visual FoxPro 6.0在内的可视化编程语言集成包Visual Studio 6.0。

虽然很久以来,Visual FoxPro被众多迷人的产品掩盖了光芒,但现在它仍然是市场中用于完成数据事务的最佳工具之一。目前,Visual FoxPro仍然是希望完成事务的专业人员的选择,特别适合那些主要工作不是编写代码的工作人员,仍然是那些对已有代码做了很大投入的开发者的选择,仍然是资源有限的企业的选择。

进入21世纪以来,微软公司相继发布了Visual FoxPro 7.0(2001年)、Visual FoxPro 8.0(2003年)和Visual FoxPro 9.0(2004年),本书将以Visual FoxPro 9.0作为教学平台。

5.数据库系统的结构(1)组成结构

数据库系统由支持数据库运行的硬件、数据库、数据库管理系统、相关软件和各类人员等组成,如图1-3所示。(2)体系结构

考察数据库系统的结构可以有多种不同的层次和角度,从数据库最终用户角度看,数据库系统分为单用户、主从式结构、客户机-服务器结构、浏览器/服务器结构等数据库系统。

① 单用户。单用户数据库系统是一种最简单的数据库系统。整个数据库系统包括应用程序、数据库管理系统、数据库都安装在一台计算机上,一个用户独占数据,不同的计算机用户不能共享数据。通常,单用户数据库系统适于用户少、数据量不多的情况。图1-3

② 主从式结构。主从式结构是指一个主机带多个终端的结构,如图1-4所示。数据库都集中存放在主机上,终端只作为主机的输入、输出设备,多个用户可通过终端存取主机上的数据。由于所有任务都是由主机来完成的,当终端用户数目增加到一定程度后,主机的任务会过于繁重,响应缓慢,系统性能将会大幅下降。目前,只有少数大型机构还使用这种架构。图1-4

③ 客户机-服务器结构(Client/Sever,C/S)。C/S数据库系统可以分为集中式和分布式两种结构。集中式 C/S 结构如图 1-5 所示,所有数据存放在一台数据库服务器上;分布式 C/S 结构如图 1-6 所示,适用于业务上相互联系而地理上分散的数据库,数据被分散在多台数据库服务器上。图1-5图1-6

④ 浏览器/服务器结构数据库(Browser/Web/Server,B/W/S)。B/W/S结构在Internet中得到了广泛应用,如图1-7所示。客户端仅安装浏览器软件,用户通过URL(Uniform/Universal Resource Locator,统一资源地址)向 Web 服务器发出请求,Web 服务器运行脚本程序,向数据库服务器发出数据请求;数据库服务器执行相应处理后,将处理结果返回给Web服务器;Web服务器根据结果产生网页文件,客户端接受到网页文件后,浏览器将结果显示出来。图1-71.3 数据模型

数据(data)是描述事物的符号记录。模型(Model)是现实世界的抽象。数据模型(Data Model)是数据特征的抽象,是数据库管理的教学形式框架。数据库系统是提供信息表示和操作手段的形式构架。数据模型包括数据库数据的结构部分、数据库数据的操作部分和数据库数据的约束条件。

数据模型描述的内容包括三部分:数据结构、数据操作、数据约束。

数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。

数据操作:数据模型中的数据操作主要描述在相应的数据结构上的操作类型和操作方式。

数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。

数据模型按不同的应用层次分成三种:概念数据模型、逻辑数据模型、物理数据模型。(1)概念数据模型(Conceptual Data Model)

概念数据模型简称概念模型,是面向数据库用户的实现世界的模型,主要用来描述世界的概念化结构,使数据库的设计人员在设计的初始阶段,摆脱计算机系统及数据库管理系统(DBMS)的具体技术问题,集中精力分析数据和数据之间的联系等,与具体的数据管理系统无关。概念数据模型必须转换成逻辑数据模型,才能在数据库管理系统中实现。(2)逻辑数据模型(Logical Data Model)

逻辑数据模型简称数据模型,是用户从数据库所看到的模型,是具体的数据库管理系统所支持的数据模型,如网状数据模型(Network Data Model)、层次数据模型(Hierarchical Data Model)等。数据模型既要面向用户,又要面向系统,主要用于数据库管理系统的实现。(3)物理数据模型(Physical Data Model)

物理数据模型简称物理模型,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,不但与具体的数据库管理系统有关,而且与操作系统和硬件有关。每种逻辑数据模型在实现时都有其对应的物理数据模型。数据库管理系统为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。

概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型。逻辑数据类型中最常用的是层次模型、网状模型、关系模型,应用最广泛的是关系模型。1.3.1 E-R概念模型

概念数据模型是现实世界到信息世界的抽象表示。最常用的概念数据模型是 E-R(Entity Relationship,实体-关系)模型。E-R模型中的主要概念有实体、实体型、实体集、属性、码及实体间的联系。

1.实体(Entity)

实体表示客观存在的可以相互区别的事物。实体可以是具体的人、事及物,也可以是抽象的概念与关系,如一个学生、一本书、一个公司、某个学校、某份合同、一门课程等。

实体用其特征来描述,如学生“王五”可以有姓名、学号、性别、年龄等特征;又如,书可以用书名、作者、出版社、出版时间等描述。

实体是指现实世界存在的个体,具有同类特征的个体的集合形成一个实体集。所谓“同类特征”,是指研究问题的某方面,如同是学生、同是教师、同是学校的员工等。为了抽象描述一个实体集,用实体名及表征实体的多个特征的集合来描述,称为实体的“型”,实体集里的每个实体是它的值或实例。

〖例 1-1〗 在“人才档案管理系统”中,具体的实体如一个专门人才、一个成果、一项成就等,抽象的实体如某个求职期望、一张证明、一份工作报告等。

〖例 1-2〗 在“人才档案管理系统”中,可以将“人才档案”、“成就成果”、“专业特长”和“联系方式”等定义成不同的实体集。

①“人才档案”实体集中包含的是“人才档案管理系统”全体人才,是有关专门人才的自然情况(人才编号、姓名、性别、出生日期、政治面貌、民族、学历、工资现状、工作简历、照片等)的全部信息记录。

②“成就成果”实体集中包含的是“人才档案管理系统”全体人才的成就成果,是有关专门人才成就成果(成果编号、成果名称、成果类别、成果出处、成果完成人)的全部信息记录。

③“联系”实体集中包含的是“人才档案管理系统”全体人才联系方式,是有关人才联系方式(联系编号、联系人、工作单位、电话、手机、E-mail、邮编、通讯地址)的全部信息记录。

以上几个实体集仅仅是“人才档案管理系统”中的部分实体集,“人才档案管理系统”除上述实体集外,还包含求职期望、人才需求等实体集,这里不再一一列举。

在一个具体的数据库应用系统中,实体型与实体集二者的关系是相对的,“型”的含义在于说明实体的属性“类型”,“集”的含义在于说明所谓该类型实体的“集合”,它们都是用来说明同类实体的。

另外,实体的概念有“型(Type)”和“值(value)”之分。例如,“人才档案”的属性(人才编号、姓名、性别、出生日期、政治面貌、民族、学历、工资现状、工作简历、照片)是实体的“型”,而对于一个具体的“人才”实体,如(Gz05002,杨行东,男,03/30/1949,党员,汉族,大学,4260,略,略)就是实体的“值”。

同样,实体集是用“型”来描述的,而每个具体的实体则是实体的“值”或称为实例,若干个实体的“值”便是实体集的“值”。为了叙述方便,在不引起混淆的情况下,可以不去仔细区分实体“型”和“值”,简称“实体”。

2.属性(Attribute)

实体具有若干特征或性质,这些特征或性质称之为属性。也可以说,属性是用于描述实体特征和性质的,具有相同属性的实体具有相同的特征和性质,属性不能独立于实体而存在。

每个属性有一定的取值范围,称为该属性的域。例如,学生实体的属性学号的域可以是5位的整数,姓名的域是字符串的集合,性别的域为男和女等,用这些属性对应的一组值可以表示具体的实体。

〖例1-3〗 在“人才档案管理系统”中:每个人才是一个个体,可看成是一个实体,“人才档案”实体的属性有人才编号、姓名、性别、出生日期、政治面貌、民族、学历、工资现状、工作简历、照片,用来描述人才信息记录。例如:(Gz05002,杨行东,男,03/30/1949,党员,汉族,大学,4260,略,略)

表示一个人才,是一个实体。

每个成就成果是一个事件,可看成是一个实体。“成就成果”实体的属性有成果编号、成果名称、成果类别、成果出处、成果完成人,用来描述与专门人才相关的成就成果信息记录。例如:(0001,Visual FoxPro高级编程技术,著作,电子工业出版社,刘伟箭、杨行东等)

表示一项成就成果,是一个实体。

〖例1-4〗 在“人才档案管理系统”中,“人才档案”、“成就成果”和“联系方式”实体型表示如下:

人才档案(人才编号,姓名,性别,出生日期,政治面貌,民族,学历,工资现状,工作简历,照片)

成就成果(成果编号,成果名称,成果类别,成果出处,成果完成人)

联系方式(联系编号,联系人,工作单位,电话,手机,E-mail,邮编,通讯地址)

3.码(Key)

为了区别实体集中的每个实体,用能起标志作用的一个或一组属性加以区别,这个或组属性称为实体的码(或关键字)。如学生实体集中的属性学号能够标志学生实体,可作为学生实体的码,这样可以用学号来区分标志具有相同姓名的不同学生。作为码的属性或属性集又称为主属性,否则称为非主属性。

〖例 1-5〗 在“人才档案管理系统”的“人才档案”实体集中,因为专门人才是通过人才编号来区分的,所以“人才编号”可作为“人才档案”实体集中的码。在“成就成果”实体集中,因为成就成果是通过成果编号来区分的,所以“成果编号”可作为“成就成果”实体集中的码。

4.实体间的联系(Relationship)

联系是两个或两个以上的实体集间关联关系的描述。

〖例1-6〗 在“人才档案管理系统”中,“人才档案”实体集与“成就成果”实体集之间可构成关联关系,“成就成果”中的成果是属于“人才档案”中的某个或某几个专门人才的。在“人才档案管理系统”中,“人才档案”实体集与“工资”实体集之间可构成关联关系,“工资”中记录的是“人才档案”中的某一个人现有的工资状况。

在现实世界中,事物的联系有两种:事物内部的联系和事物之间的联系,在概念模型中表现为实体内部的联系和实体间的联系。实体内部的联系是指实体的各属性之间的联系,实体间的联系是指不同实体集间的联系。两个实体集之间的联系,称为二元联系。两个实体集之间有以下三种联系。(1)一对一的联系

一对一的联系是实体间最简单的一种联系,表示了两个实体集中的个体间存在着一对一的联系。例如,在学校中,一个系有一个系主任,而这个系主任只能在一个系中任职,则实体集系与实体系主任之间的联系就是一对一的。又如,一个班级有一个班长,一个班长只能属于一个学生班级,则班级与班长之间也是一对一的联系。一对一的联系记为1∶1。(2)一对多的联系

实体间的另一种联系是一对多的联系。例如,一个班级有若干名学生,每个学生只在一个班级,则班级与学生间的联系就是一对多的。一对多的联系记为1∶n。(3)多对多的联系

多对多的联系是现实世界存在的较为普遍的联系。例如学生与课程,一个学生可以选修多门课程,而一门课程可供多个学生选修,则学生与课程之间就是多对多的联系。多对多的联系记为m∶n。

实体间的各种联系可用图1-8示意,分别表示了班级与班长、班级与学生和学生与课程之间的1∶1、1∶n、m∶n的联系。

在多个实体间也可以存在有联系,称为多元联系,如供应商、零件、工程之间的关系,可用图1-9所示。

除了不同实体间的联系外,在一个实体集内部的不同实体间也可能存在着一对一、一对多、多对多的联系。图1-10表示了职工实体之间存在的领导与被领导的一对多的关系。图1-8图1-9图1-10

5.E-R图(实体-联系图)

概念模型可通过E-R图来描述,即通过图形描述实体、实体属性和实体之间的联系。因此,概念模型也称为E-R模型。

在E-R模型中,数据的结构被表示为E-R图,图中有3个主要的元素,即实体集、属性和联系。其中:“矩形”框用于表示实体集,“椭圆形”框用于表示实体集中实体的公共属性,“菱形”框用于表示实体集之间的联系。

〖例1-7〗 绘制实体集图。

在“人才档案管理系统”中,有“人才档案”、“成就成果”、“专业”、“联系”、“求职期望”和“人才需求”等实体集,其对应的E-R图如图1-11所示。图1-11

〖例1-8〗 绘制实体集公共属性图。“联系方式”实体集中,每个实体具有联系编号、联系人、工作单位、电话、手机、E-mail、邮编、通信地址等属性,其对应的E-R图如图1-12所示。图1-12

〖例1-9〗 绘制实体集之间的联系图。

① 在人才档案管理活动中,由于“人才档案”实体集与“联系”实体集具有关联关系,其对应的E-R图如图1-13(a)所示。

② 在人才档案管理活动中,由于“人才档案”实体集与“求职期望”实体集具有关联关系,其对应的E-R图如图1-13(b)所示。

③ 在人才档案管理活动中,由于“人才需求”实体集与“成就成果”实体集具有关联关系,其对应的E-R图如图1-13(c)所示。图1-13

6.E-R模型的设计实例“人才档案管理系统”是一个包含人才档案信息管理、人才需求信息管理和求职期望的综合信息管理系统。实体集个数较多,实体集中实体公共属性较多,实体集之间的相互关联关系复杂,绘制其E-R模型相对复杂,通常采用的设计思想是:“化全局”为“局部”,再做“局部集成”。“人才档案管理系统”E-R模型具体设计步骤如下:

<1>绘制“人才档案管理系统”总体功能框图,如图1-14所示。图1-14

<2>绘制“人才档案管理系统”每个子系统的E-R模型图,如图1-15所示。图1-15

<3>绘制“人才档案管理系统”几个子系统的E-R模型图的集成图:人才档案信息管理子系统、人才需求信息管理子系统和求职期望信息管理子系统部分E-R模型图集成图,如图1-16所示。图1-16

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载