● 元组。关系中的每一行称为一个元组。元组定义一组属性值。一个关系中的总行数称为该关系的基数。注意一个关系的基数随着元组的增加或删除而改变。这使数据库具有了动态性。
关系模型是今天使用的常见模型之一。源自关系模型的另外两种常见模型是分布式模型和面向对象模型。
4、分布式数据库模型
分布式数据库模型并非一种新模型,而是基于关系模型的。但是,数据存储在通过因特网或专用广域网通信的数台计算机上。每台计算机(或站点)保持数据库的一部分或整个数据库。换句话说,数据或者是分段存储的——每个站点存储一段,或者被每个站点复制一份。
在分段型分布式数据库中,数据是本地化的,本地使用的数据存储在相应的站点上。然而,这并不意味着一个站点不能访问存储在另一个站点上的数据,但访问大多是本地性的,偶尔是全局性的。虽然每个站点对其本地数据具有完全的控制,但也存在通过因特网或广域网的全局控制。
例如,一家制药公司可能在许多国家拥有多个站点。每个站点有一个数据库,存储着自己雇员的信息。但是,中心人事部门可以控制所有的数据库。
在复制型分布式数据库中,每个站点都有其他站点的一个完全副本。对一个站点所存储的数据进行的任何修改,都要在其他每个站点上精确地重复进行。拥有这种数据库是为了安全。如果一个站点上的系统发生故障,该站点的用户可以访问另一个站点上的数据。
5、面向对象数据库模型
关系数据库具有一个特定的数据视图,该视图基于数据库元组与属性的性质。关系数据库中最小的数据单位是一个元组与一个属性的交集。然而,有些应用程序需要将数据视为其他形式,如看作一种结构,像由字段构成的记录。
面向对象数据库试图保留关系模型的优点,同时允许应用程序访问结构化数据。在面向对象数据库中,对象及其之间的关系得到定义。此外,每个对象可以具有可表示为字段的属性。
例如,在一个机构中,可以为雇员、部门和客户定义对象类型。雇员类可以定义一个雇员对象的属性(名、姓、社会保险号码、薪水等等),以及可以如何访问它们。部门对象可以定义部门的属性,以及可以如何访问它们。此外,数据库还可以在一个雇员对象与一个部门对象之间创建一种关系,以表示该雇员在该部门工作。
五、数据库设计
任何数据库的设计都是一项冗长、复杂的任务,只能通过一个逐步的过程来完成。第一
26
步通常涉及对数据库潜在用户的大量访谈,以收集需要存储的信息和每个部门的访问需求。第二步是建立一个实体关系模型,该模型定义必须为之保存一些信息的实体、这些实体的属性以及这些实体之间的关系。
设计的下一步基于所要使用的数据库的类型。在关系数据库中,下一步是建立基于实体关系模型的关系,并规范化这些关系。规范化是一个过程,通过该过程一组特定的关系转化成一组具有更坚固结构的新关系。为了达到以下目的,需要规范化:允许数据库中的任何关系得到表示,允许像SQL(结构化查询语言)这样的语言使用由原子操作组成的功能强大的检索操作,消除插入、删除和更新操作中的异常,以及减少添加新的数据类型时重构数据库的必要性。
第七单元:计算机网络
课文A:网络基本原理
在不同计算机之间共享信息和资源的需要,导致了相互连接的计算机系统的产生。这种相互连接的计算机系统被称为网络。在网络中,计算机连接在一起,从而数据可以从一台计算机传输到另一台计算机。在网络中,计算机用户可以交换信息,并共享分散在整个网络系统的资源,如打印能力、软件包以及数据存储设备。支持这类应用所需的基本软件,已经从简单的实用软件包发展成一个不断扩展的网络软件系统,该系统提供了一个复杂的网络范围的基础结构。从某种意义上说,网络软件正在演变成一个网络范围的操作系统。
一、网络分类
计算机网络常常划分为局域网、城域网和广域网。局域网通常由一幢建筑物或一个建筑群中的若干计算机组成。例如,大学校园里的计算机或制造工厂中的计算机可以用局域网连接。城域网属于中型网络,如一个覆盖某一社区的网络。广域网连接地理范围更广的计算机,这些计算机或许在相邻的城市,或许在地球相反的两面。
网络分类的另一种方式是根据网络的内部运行是基于无专利权保护的设计还是基于特定实体(如个人或公司)所拥有和控制的革新。前一种类型的网络称为开放式网络,后一种类型的网络称为封闭式网络,有时也称为专有网络。
27
因特网属于开放式系统。尤其是,整个因特网的通信是由一组称为TCP/IP协议组的开放标准来控制的。任何人都可以自由地使用这些标准,而不需要付费或签署许可协议。相反,像Novell股份有限公司这样的公司可能选择为其开发的系统保留所有权,通过出售或出租这些产品获得收入。基于这类系统的网络属于封闭式网络的例子。
还有一种网络分类方法,它基于网络的拓扑结构,即计算机相互连接的模式。总线拓扑结构、环形拓扑结构和星形拓扑结构是3种流行的拓扑结构。其中,星形网络或许是最古老的,这种网络由一台大型中央计算机服务许多用户的范式演变而来。随着这些用户所使用的简单终端本身发展成小型计算机,星形网络也就出现了。需要强调的一点是,在一个网络中,计算机之间的连接并不一定是物理连接。使用无线广播技术的无线网络正在变得相当常见。
二、协议
为了网络可靠运行,确立进行网络活动所遵循的规则很重要。这类规则称为协议。通过开发和采用协议标准,不同厂商制造的网络应用产品能够相互兼容。因此,在联网技术的开发中,协议标准的开发是一个必不可少的过程。
作为对协议概念的介绍,让我们考虑在一个网络的计算机之间协调报文传输的问题。如果没有控制这种通信的规则,所有的计算机就可能坚持同时传输报文,或者在需要传递报文时而未能传递。
解决这个问题的一种方法是令牌环协议,该协议由IBM公司20世纪70年代开发,今天在基于环形拓扑结构的网络中依然是一种很流行的协议。在这个协议里,网络中的所有计算机都只沿一个共同的方向传输报文(图7A-1)。也就是说,通过网络发送的所有报文都沿一个相同的方向绕环形网络移动,依次经由各个计算机转发。一份报文到达目的地后,目的地的计算机保留一个副本并绕环形网络转发一个副本。当转发的副本到达始发计算机时,该计算机知道报文一定到达了目的地,并将其移出环形网络。当然,这种系统的运行依靠计算机之间的合作。如果一台计算机坚持不断地传输自己的报文,而不转发其他计算机的报文,那么这个系统就什么也执行不了。
28
报文都只沿一个 方向移动。
图7A-1:通过一个环形网络通信
为了解决这个问题,在环形网络中传递一个称为令牌的独特位模式。拥有令牌的计算机得到权利传输自己的报文,而没有令牌的计算机则只允许转发报文。一般来说,每台计算机只是像传递报文那样传递令牌。然而,如果收到令牌的计算机有自己的报文需要通过网络传输,它就会保存令牌,同时传输一份报文。这份报文在环形网络中环绕一周后,该计算机就将令牌传递给环形网络中的下一台计算机。同样,当下一台计算机收到令牌时,它既可以立即传递令牌,也可以先传输自己的新报文,然后将令牌传递给下一台计算机。这样,随着令牌绕着环形网络传递,网络中的每台计算机都有同等的机会传输自己的报文。
图7A-2:通过一个总线网络通信
协调报文传输的另外一种协议用于基于以太网协议集的总线拓扑网络。在以太网系统中,传输报文的权利由称为带有冲突检测的载波侦听多路访问(CSMA/CD)的协议控制。
29
该协议规定,每一份报文必须向总线上的所有计算机广播(图7A-2)。每台计算机监控所有的报文,但只保留发送给自己的那些报文。一台计算机要等到总线静默时才可以传输报文。这时,它开始传输报文,同时继续监控总线。如果另一台计算机也开始传输报文,这两台计算机都会检测到冲突,并暂停短暂而随机的一段时间,然后再尝试传输。结果是形成一种体制,这种体制类似于一小群人对话时所采用的。如果两个人同时开始说话,他们都会停下来。不同的是,人们随后可能进行这样的对话:“抱歉,您想说什么?”,“不,不,您先说。”而根据CSMA/CD协议,每台计算机只是重新进行尝试。
三、进程间通信
在一个网络内不同计算机上(甚至使用分时方法在同一台计算机上)执行的各种活动(或进程)必须经常互相通信,以便协调行动,并完成指定的任务。这种进程之间的通信称为进程间通信。
进程间通信使用的一种流行规约是客户机/服务器模型。这种模型将进程扮演的基本角色或定义为向其他进程提出请求的客户机,或定义为满足客户机所提请求的服务器。
客户机/服务器模型的一种早期应用,出现在将一组办公室里的所有计算机都连接起来的网络中。在这种应用中,一台高质量的打印机被连接到网络上,供其中的所有计算机使用。在这种情况下,打印机扮演了服务器(常称为打印服务器)的角色,而其他计算机则通过程序设计而扮演了向打印服务器发送打印请求的客户机角色。
客户机/服务器模型的另外一种早期应用是为了降低磁盘存储费用,同时消除复制记录的需要。在这种情况下,网络中的某一台计算机配备了大容量存储系统(通常是磁盘),存储一个机构的所有记录。这样,网络中的其他计算机可根据需要请求访问这些记录。因此,实际含有记录的计算机扮演了服务器(称为文件服务器)的角色,而其他计算机则扮演了请求访问文件服务器上存储的文件的客户机角色。
今天,客户机/服务器模型在网络中广泛应用。不过,客户机/服务器模型并非进程间通信的唯一方式。另外一种模型是对等(peer-to-peer,常缩写为P2P)模型,其特性与客户机/服务器模型的特性形成鲜明对照。客户机/服务器模型涉及一个进程(服务器)与许多其他进程(客户机)通信,而对等模型则涉及两个进程进行对等通信(图7A-3)。而且,服务器必须持续运行,以准备好随时服务于客户机,而对等模型则通常涉及两个进程临时运行。例如,对等模型的应用包括两个人通过因特网进行书面对话的即时通信,以及人们参与下国际象棋或西洋跳棋等游戏的情况。
30