版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,数据库原理与应用,主讲人:易娜 Tel E-mail: ,2,课程内容安排,第1章 数据库系统概述(5学时) 第2章 关系数据库(2学时) 第3章 关系数据库标准语言-SQL (5学时) 第4章 关系数据库理论(5学时)(难点) 第5章 数据库安全保护(3学时) 第6章 数据库设计(4学时) 总计:24学时 上机实验:SQL Server 2000综合练习(6学时),3,第1章 数据库系统概述,4,主 要 内 容,信息、数据、数据处理与数据管理 数据库技术的产生、发展 数据库系统的组成 数据库系统的模式结构 数据库系统的外部体系结构 数据库管理系统 数据模型 四种
2、数据模型 数据库系统的发展 数据库技术与其他相关技术的结合,5,(1)掌握数据库中有关的基本概念、数据库系统的组成及各部分的主要功能。 (2)了解数据库管理技术的三个发展阶段及各阶段的主要特点。 (3)掌握数据库系统的三级模式结构和两级映象功能 (4)重点掌握E-R模型的绘制方法。 (5)了解常用的数据模型及特点,学习要求,6,1.1信息、数据、数据处理与数据管理,1.1.1 数据与信息 一、信息的定义:信息是关于现实世界事物的存在方式或运动状态的反映的综合。 信息的特征: 信息源于物质和能量。 信息是可以感知的,不同的信息源有不同的感知形式。 信息是可以存储、加工、传递、再生。,7,二、数据
3、 数据的定义:数据是对信息的一种符号化表示,即用一定的符号表示信息。 尽管信息有多种表现形式,如手势、眼神、图形、声音等,但数据是信息的最佳表现形式。采用什么符号完全是人为规定。 三、数据与信息的联系 数据是信息的载体,信息是数据的内涵。 同一信息可以有不同的数据表示形式;而同一数据也可能有不同的解释。,8,1.1.2 数据处理与数据管理 数据处理定义:围绕着数据所做的收集、存储、分类、加工、计算等一系列活动称为数据处理。 数据管理定义:数据处理的一系列活动中,数据的收集、存储、分类、传输等操作称为基本操作,这些基本操作环节称为数据管理。,9,1.2 数据管理技术的发展,一、人工管理阶段 20
4、世纪50年代中期以前。 硬件中的外存只有卡片、纸带、磁带,没有磁盘等直接存储设备;软件只有汇编语言,没有操作系统和专门的数据管理软件,数据由人来管理。计算机主要用于科学计算,数据量不大。,随着计算机软硬件技术的发展,数据管理技术经历了人工管理、文件系统和数据库系统三个发展阶段。,10,人工管理数据的特点: (1)数据不保存。 (2)系统没有专门的软件对数据进行管理。 (3)数据不共享。 (4)数据不具有独立性。,11,二、文件系统阶段 20世纪50年代后期到60年代中期。 这一时期,计算机外存已有了磁鼓、磁盘等存储设备,软件有了操作系统。人们在操作系统的支持下,设计开发了一种专门管理数据的计算
5、机软件,称为文件系统。这时,计算机不仅用于科学计算,而且大量用于数据处理。,12,用文件系统管理数据具有以下特点 : (1)数据以文件的形式长期保存。 (2)由文件系统管理数据。 (3)程序与数据之间有一定的独立性。,13,用文件系统管理数据还有以下问题 : (1)文件中的数据没有结构。 (2)数据共享性差、冗余度大、易造成数据不一致。 (3)数据独立性差。 (4)文件之间相互独立,缺乏联系,不能反映现实世界事物之间的内在联系,不能表示复杂的数据结构。,14,三、数据库系统阶段 20世纪60年代后期开始。 随着计算机软硬件的发展,计算机被越来越多地应用于管理领域,且规模越来越大,数据量急剧增加
6、。同时,人们对数据共享的要求也越来越强烈,文件系统的数据管理方法已无法满足应用的需要。因此,为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,出现了数据库技术,出现了统一管理数据的专门软件系统数据库管理系统。,15,用数据库系统管理数据具有以下优点: (1)数据结构化 (2)数据共享性高,冗余度低 (3)数据独立性高 (4)有统一的数据控制功能,16,例如:要建立学生成绩管理系统,包括以下数据结构,分别对应三个数据文件: 学生(学号,姓名,性别,系别,年龄) 课程(课程号,课程名) 成绩(学号,课程号,成绩),17,18,数据的物理独立性:是指当数据的物理结构(存储结构、存取方式
7、、外部存储设备等)改变时,通过修改(整体逻辑结构和物理结构之间)映射,使数据库整体逻辑结构不受影响,进而用户的逻辑结构以及应用程序不用改变。,数据独立性是指数据库中的数据与应用程序间相互独立,即数据的逻辑结构、物理结构以及存取方式的改变不影响应用程序。,数据的逻辑独立性:是指当数据库的整体逻辑结构(如修改数据定义、增加新的数据类型、改变数据间的关系等)发生改变时,通过修改(用户逻辑结构和整体逻辑结构之间)映射,使用户的逻辑结构和应用程序不用改变。,19,为确保数据库数据的正确、有效和数据库系统的有效运行,DBMS提供以下四方面的数据控制功能: 数据的安全性控制 防止不合法使用数据库造成数据的泄
8、露和破坏,使每个用户只能按规定对某些数据进行某些操作,保证数据的安全。如用户名,口令,存取权限等。 数据的完整性控制 系统通过设置一些完整性规则,确保数据的正确性、有效性和相容性。 正确性是指数据的合法性。如年龄,成绩。 有效性是指数据是否在其定义的有效范围内。如月份。 相容性指表示同一事实的两个数据应相同否则就不相容。如一个人不能有两个性别。,20,为确保数据库数据的正确、有效和数据库系统的有效运行,DBMS提供以下四方面的数据控制功能: 并发控制 多个用户同时存取或修改数据库时,系统可防止由于相互干扰而提供给用户不正确的数据,并防止数据库受到破坏。 数据恢复 由于计算机系统的硬件故障、软件
9、故障、操作员误操作或其他故意的破坏等原因,造成数据库中数据的不正确或数据丢失,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。前提是数据库要经常进行数据备份。,21,1.3 数据库系统的组成,数据库系统(简称DBS)定义:通常把引进了数据库技术的计算机系统称为数据库系统。它主要由数据库、数据库用户、计算机硬件系统、计算机软件系统等几部分组成。,(1)数据库 数据库(简称DB)定义:是存储在计算机内、有组织的、可共享的数据集合。其特点: 集成性。可把数据库看成是若干个性质不同的数据文件的联合和统一的数据整体。 共享性。数据库中的数据可为多个不同的用户所共享。,22,23,(2)用户 用
10、户是指使用数据库的人。他们可对数据库进行存储、维护和检索等操作。用户可分为三类:终端用户、应用程序员、数据库管理员(DBA)。,DBA的主要职责: 参与数据库设计的全过程,决定整个数据库的结构和信息内容。 决定数据库的存储结构和存取策略,以获得较高的存取效率和存储空间利用率。 帮助终端用户使用数据库。 定义数据的安全性和完整性。 监督控制数据库的使用和运行。 改进和重组数据库。,24,(3)软件系统 包括数据库管理系统DBMS及其开发工具、操作系统和应用程序。,(4)硬件系统 存储和运行数据库系统的硬件设备。包括CPU、内存、存储设备、其他外部设备等。,25,可以从多种不同的角度考查数据库系统
11、的结构。 从数据库管理系统的角度看,数据库系统通常采用三级模式结构,这是数据库系统内部的体系结构; 从数据库最终用户的角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构、客户/服务器结构、浏览器/服务器结构,这是数据库系统外部的体系结构。,1.4 数据库系统的模式结构,26,1.4.1 数据库系统的三级模式结构,27,(1)模式:又称概念模式,是对数据库的整体逻辑结构和特征的描述。 在数据库三级模式结构中,数据库模式是数据库的中心与关键,它独立于数据库的其它层次。它即不涉及数据的物理存储细节和硬件环境,与具体的应用程序以及使用的应用开发工具无关。因此,设计数据库模式结构时,应首先确
12、定数据库的概念模式。 DBMS提供模式描述语言(模式DDL)来严格地定义模式。 一个数据库只有一个模式。,28,(2)内模式:又称存储模式,具体描述了数据如何组织存储在存储介质上。 内模式依赖于全局逻辑结构,它将全局逻辑结构中所定义的数据结构及其联系,按照一定的物理存储策略,以文件形式组织起来,形成一个个存储文件。 内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如:记录的存储方式是顺序存储、按照B树结构存储;索引按照什么方式组织等。 DBMS提供内模式描述语言(内模式DDL)定义内模式。 一个数据库只有一个内模式。,29,(3)外模式:是模式的一个子集,故又称子模式。它
13、是数据用户能够看到和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。 外模式是定义在模式之上,对应于不同的用户,用户的应用目的不同、使用权限不同,对应的外模式的定义就不同,每个用户只能使用自己权限范围内能调用的外模式的数据,而无法涉及其他的外模式的数据。一个模式可以有任意多个外模式。 DBMS提供子模式描述语言(子模式DDL)来严格地定义子模式。 一个数据库有一个或多个外模式。,30,(4)应用程序:是在外模式描述的数据结构上编制的软件,它依赖于特定的外模式。 与数据库的模式和内模式独立。 不同的应用程序可以共用同一个外模式。,在数据库系统中,外模式、模式、内模式三者之
14、间关系: 模式是内模式的逻辑表示; 内模式是模式的物理实现; 外模式是模式的部分抽取。,31,三个模式反映了对数据库的三种不同的观点: (1)模式表示了概念级的数据库,体现了对数据库的总体观。 (2)内模式表示了物理级的数据库,体现了对数据库的存储观。 (3)外模式表示了用户级数据库,体现了对数据库的用户观。,32,1.4.2 数据库系统的二级映象,(1)外模式/模式映象 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。这些映象定义通常包含在各自外
15、模式的描述中。,外模式/模式映象保证了数据与程序的逻辑独立性: 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映象作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。,33,(2) 模式/内模式映象 数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系(例如说明逻辑记录和字段在内部是如何表示的)。该映象定义通常包含在模式描述中。,模式/内模式映象保证了数据与程序的物理独立性: 当数据库的存储结构改变时(例
16、如选用了另一种存储结构),由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性。,34,1.4.3 三级模式结构与二级映像的优点 (1)保证数据的独立性。将模式和内模式分开,保证了数据的物理独立性;将外模式和模式分开,保证了数据的逻辑独立性。 (2)简化了用户接口。按照外模式编写应用程序,不需了解数据库内部的存储结构和存取方式,对数据库的操作通过DBMS完成。 (3)有利于数据共享。同一数据可通过不同的外模式被多个应用访问,减少了数据冗余。 (4)有利于数据的安全保密。应用只能对规定的外模式下的数据进行访问,保证了其他数据的安全。
17、,35,1.5 数据库的外部体系结构,从最终用户角度,数据库系统分为单用户结构、主从式结构、分布式结构、客户/服务器结构和浏览器/服务器结构。,1、单用户结构的数据库系统 又称为桌面型数据库系统 特点:将应用程序、DBMS、数据库都装在一台计算机上,由一个用户独占使用,不同计算机间不能共享数据。如Access。 优点:工作在单机环境,侧重在可操作性、易开发和简单管理等方面。 适用:未联网用户、个人用户等。,36,2、主从式结构的数据库系统 是指大型主机带多终端的多用户结构的系统。 特点:将应用程序、DBMS、数据库都集中存放在大型主机上,所有处理任务由主机完成,而连于主机上的终端,只作为主机的
18、输入/输出设备,各个用户通过主机的终端并发地存取数据库,共享数据资源。 优点:结构简单、易于管理和维护。 缺点:所有处理任务由主机完成,对主机的性能要求较高,当终端数量太多时,主机的处理任务过重,易形成瓶颈,使系统性能下降;另外当主机出现故障时,整个系统无法使用。,37,3、分布式结构的数据库系统 是分布式网络技术与数据库技术相结合的产物,是分布在计算机网络上的多个逻辑相关的数据库的集合。 特点: (1)数据在物理上分布:数据库中的数据不集中存放在一台服务器上,而是分布在不同地域的服务器上,每台服务器被称为节点。 (2)所有数据在逻辑上是整体的:数据库中的数据物理分布,在逻辑上相互关联,是相互
19、联系的整体。 (3)节点上分布存储的数据相对独立:对用户而言,整个数据库系统仍然是集中的整体,用户不关心数据的分片存储,也不关心物理数据的具体分布,完全由网络数据库在网络操作系统的支持下完成。用户既可以存取本地节点上的数据库,也可以存取异地节点上的数据库。,38,4、客户/服务器结构的数据库系统 特点:DBMS和数据库存放在数据库服务器上,应用程序和相关开发工具存放于客户机上。客户机负责管理用户界面,接收用户数据,处理应用逻辑,生成数据库服务请求,将该请求发送到服务器。数据库服务器进行处理后,将处理结果返回给客户机,并按一定格式显示给用户。这种模式和主从式模式、浏览器/服务器模式比,又称为胖客
20、户机模式。是一种二层结构,即客户机、数据库服务器。,39,客户/服务器结构优点: (1)网络运行效率提高。因为服务器只将处理结果返回给客户机,降低了网络上数据的传输量。 (2)应用程序的运行和计算处理工作由客户机完成,减少了客户机与服务器间不必要的通讯开销,减轻了服务器的处理工作。 客户/服务器结构缺点: 维护升级不方便,需要在每个客户机上安装前端客户应用程序,当应用程序修改后,需要在每台客户机上重新安装。,40,5、浏览器/服务器结构的数据库系统 针对客户/服务器结构的数据库系统提出的。 特点:在浏览器/服务器结构的数据库系统中,客户机仅安装通用的浏览器软件(每个Windows系统都自带),
21、实现用户的输入/输出,而应用程序安装在介于客户机和数据库服务器之间的另外一个称为应用服务器的服务器端,即将客户机运行的应用程序转移到一台应用服务器上,数据库服务器安装在一台计算机上,负责数据管理。浏览器/服务器模式也称为瘦客户机模式,是一种三层结构。即客户机、应用服务器、数据库服务器。 优点:配置和维护相对客户/服务器模式容易。当应用程序修改后,仅修改应用服务器一台计算机。浏览器/服务器结构在Internet中得到最广泛的应用,此时Web服务器为应用服务器。,41,42,1.6 数据库管理系统,数据库管理系统(简称DBMS)定义:数据库管理系统是操纵和管理数据库的一组软件,它是数据库系统的重要
22、组成部分。,1.6.1 DBMS的主要功能 DBMS的主要功能包括数据定义功能、数据操纵功能、数据库运行管理功能、数据库的建立和维护功能、数据通讯接口功能、数据组织、存储和管理功能。,43,(1) 数据库定义功能 DBMS提供数据定义语言(Data Define Language,简称DDL)来定义数据库的三级模式结构。用概念DDL编写概念模式称为源概念模式;用外DDL编写的外模式称为源外模式;用内DDL编写的内模式称为源内模式。各种源模式通过相应的模式翻译程序转换为机器内部代码表示形式,分别称为目标概念模式、目标外模式和目标内模式。这些目标模式是对数据库结构信息的描述而不是数据本身,它们刻画
23、数据库的结构,并被保存在数据字典中(系统目录)。数据字典是DBMS存取和管理数据的基本依据。,44,(2) 数据操纵功能 DBMS提供数据操纵语言(Data Manipulation Language,简称DML)实现对数据库数据的基本存取操作,包括检索、插入、修改、删除等。 DML有两类:一类是交互式命令语言,语法简单,可单独使用,也称为自主型或自含型。另一类是把数据库存取语句嵌入在主语言(如C、PASCAL)中使用,这类DML本身不能独立使用,因此称为宿主型。现代的DBMS多具有自含型与嵌入型两类DML,允许用户选择使用,例如SQL。,45,(3) 数据库运行管理功能 DBMS提供数据控制
24、和管理功能,以确保数据库数据正确有效和数据库系统的有效运行。通过四个方面实现: 数据的安全性控制:是指采取一定安全保密措施确保数据库数据不被非法用户存取。 数据的完整性控制:是指DBMS提供必要的功能确保数据库数据的正确性、有效性与相容性。 多用户环境下的数据的并发控制:是指DBMS必须对多用户并发进程进行存取、修改数据操作进行控制和协调,以防止互相干扰而得到错误结果。 数据库的恢复:当计算机系统出现故障或遭到破坏,导致数据库不能正常使用时,通过数据库恢复功能,可将数据库系统恢复到最近一次数据库系统的运行状态。,46,(4) 数据库的建立和维护功能 包括数据库的初始数据的装入,数据库的转储、恢
25、复、重组织,系统性能监视、分析等功能。 (5)数据通信接口 DBMS提供与其他DBMS的接口;DBMS提供与其他文件系统的接口;DBMS提供与应用程序的接口,从而使二者之间可进行通信; (6) 数据组织、存储和管理 DBMS负责对数据库中需要存放的各种数据,如数据字典、用户数据、存取路径等的组织、存储和管理工作,确定以何种文件结构和存取方式物理地组织这些数据,以提高存储空间利用率和存取效率。,47,1.6.2 DBMS的组成 DBMS是操纵和管理数据库的一组软件,因此它是由许多“系统程序”所组成的一个集合。每个程序都有自己的功能,一个或几个程序一起完成DBMS的一件或几件工作。各种DBMS的组
26、成因系统而异,一般都由语言编译处理程序、系统运行控制程序、系统建立与维护程序、数据字典组成。,48,1. 语言编译处理程序 (1)数据定义语言DDL及其编译程序。把各级源模式翻译成各级目标模式。 (2)数据操纵语言处理程序。将应用程序中的DML语句转换成可执行程序。 (3)终端命令解释程序。解释执行每一个终端命令。 (4)数据库控制命令解释程序。解释执行每一个控制命令。,49,2. 系统运行控制程序 系统总控程序:是DBMS运行程序的核心,用于控制和协调各程序的活动; 存取控制程序:用于检查用户(或应用程序)是否合法并发控制程序:协调各应用程序对数据库的操作,保证数据的一致性; 完整性控制程序
27、:检查完整性约束条件,确保进入数据库中的数据的正确性、有效性和相容性,决定是否执行对数据库的操作; 保密性控制程序:实现对数据库数据安全的保密控制。 数据存取和更新程序:实施对数据库数据的检索,执行插入、修改、删除等操作;,50,3. 系统建立、维护程序 装配程序:完成初始数据库的数据装入; 重组程序:当数据库系统性能变坏时(如查询速度变慢、时间超过规定值),需要重新组织数据库,可按原组织方法重新装入数据; 性能监督程序:监督用户操作执行时间与数据存储空间占用情况,作出系统性能估算,以决定数据库是否需要重组织。 工作日志程序:记载进入数据库的所有存取信息。包括用户名、进入时间、操作方式、数据对
28、象、修改前数据、修改后数据等。 系统恢复程序:当数据库系统受到破坏时,将数据库系统恢复到以前某个正确的状态。,51,4. 数据字典 数据字典常称为数据目录或系统目录,它通常是一系列表。 存储数据库中有关信息的当前描述,包括数据库三级模式、数据类型、用户名表、用户权限、程序与其用户联系等有关数据库系统的信息。起着系统状态的目录表的作用。 帮助用户、DBA 、DBMS本身使用和管理数据库。,52,1.6.3 DBMS数据存取的过程,上述存取过程还包括安全性控制、完整性控制、以确保数据的正确性、有效性和一致性。,53,1.7 数据模型,1.7.1 数据模型概念 模型,特别是具体的实物模型,人们并不陌
29、生。例如:一张地图、一个车模、一架精致的航模飞机,都是具体的模型。一眼望去,就会使人联想到真实生活中的事物。 模型是现实世界实物特征的模拟和抽象。数据模型(DataModel)也是一种模型,它是现实世界数据特征的抽象。,数据模型定义:数据模型是客观事物及其联系的数据描述,它应具有描述数据和数据联系两方面的功能。,54,(1)数据的描述 对数据的描述应指出:在模型中包含哪些记录类型,并对记录类型进行命名;指明各个记录类型由哪些数据项构成,并对数据项进行命名,每个数据项均需指明其数据类型和取值范围,这是数据完整性约束所必须的。 例如:在学生选课问题中,所建立的数据模型包括学生记录类型、课程记录类型
30、。学生记录类型是由学号、姓名、性别、班号等数据项组成;课程记录类型由课程号、课程名和任课老师等数据项组成。如:学号:字符型,长度为10个字符;性别:字符型,长度2个字符,取值为“男”或“女”。,55,(2)数据间联系的描述 对数据间联系的描述要指明:各个不同记录类型间所存在的联系和联系方式。数据模型中的“联系”是一种特殊类型的记录,通常还要对这种“联系”进行命名。指明“联系”这种记录类型由哪些数据项构成,并对数据项进行命名,指明其数据类型和取值范围。 例如:在学生选课问题中,学生记录类型和课程记录类型之间存在“选修”联系。“选修”联系将多个学生记录与多个课程记录关联起来,即多个学生可以选修同一
31、门课程,一个学生也可以选修多门课程。,数据库系统与文件系统本质不同就表现在数据库中各个记录类型的记录之间是相互联系的,正是通过这种联系,数据库才能支持访问不同类型记录的数据。,56,1.7.2 三个世界的划分及有关概念,将现实世界抽象为信息世界,将信息世界转换为机器世界,57,(一)信息世界常用的基本概念 (1)实体(Entity):客观存在并可相互区别的事物。 (2)属性(Attributes):实体所具有的某一特性。 (3)实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。 (4)实体集(Entity Se
32、t):同型实体的集合称为实体集。 (5)键(Key):键有时也称为关键码、关键字、主码,是指在实体属性中,可用于区别实体中不同个体的一个属性或几个属性的组合,称为该实体集的“键”。 主键:当有多个属性可作为键而选定其中一个时,则称它为该实体的“主键”。 外部键:若在实体型的诸属性中,某属性虽非该实体型的主码,却是另一个实体型的主码,则称该属性为该实体型的“外部键”或简称“外码”。,58,(一)信息世界常用的基本概念(续) (6)域(Domain):属性的取值范围称为该属性的域。 (7)联系:在现实世界中,事务内部以及事务之间的联系和抽象反映到信息世界中,可以表示为实体型内部的联系和实体型之间的
33、联系。 实体型内部的联系:指组成实体的各属性之间的联系; 实体型之间的联系:指不同实体集之间的联系; (8)实体模型:反映实体型及其联系的结构形式称为实体模型,也称信息模型、概念模型。,两个实体集之间的联系分为三类: 一对一联系(简记为1:1) 一对多联系(简记为1:n) 多对多联系(简记为m:n),59,(1)一对一联系(简记为1:1) 如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具为1:1联系。 例如: 学校里,一个班级只有一个班长,而一个班长只在一个班级中任职,则班级与班长之间具有一对一联系。 观众与座位,病人与床位。,
34、60,(2)一对多联系(1:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。 一对多联系包含了一对一联系。 例如: 一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。 公司与职员、省与市,61,(3)多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。
35、 多对多联系包含了一对多联系。 例如: 学生选课,一门课同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。 教师与学生,工厂与产品,62,63,(二)计算机世界常用的基本概念 (1)字段(field):标记实体属性的命名单位称为字段,也称为数据项。字段的命名和属性名相同。如学号等 (2)记录(record):字段的有序集合成为记录。通常用记录描述一个实体。如一个学生记录 (3)文件(file):同一类记录的集合称为文件。文件描述实体集。如所有学生的记录组成学生文件。 (4)关键字(key):能唯一标识文件中每个记录的字段或字段集。如学号。 在计算机世界中,信
36、息模型被抽象为数据模型,实体型内部的联系被抽象为同一记录内部各字段间的联系,实体型之间的联系被抽象为记录和记录之间的联系。,64,65,1.7.3 数据模型的分类 在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。不同的数据模型实际上提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可将这些模型分为两类,它们分别属于两个不同的层次: 第一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库的设计。 第二类模型是数据模型,也称为逻辑模型,主要包括层次模型、网状模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。,66
37、,1.7.4 实体联系表示法E-R图,E-R图的表示方法: 实体用方框表示。 联系用菱形表示。 并且用边将其与有关的实体连接起来,并在边上标有联系的类型; 属性用椭圆表示。 并且用边将其与相应的实体连接起来。 对于有些联系,其自身也会有某些属性,同实体与属性的连接类似,将联系与其属性用边连接起来。,实体名,联系名,属性名,67,E-R图的表示方法(补充): 对数据对象(实体、属性、联系)的命名 尽可能采用用户熟悉的名字,力求清晰、明了、便于记忆。尽可能反映数据对象的特点。定义实体的属性时应包括唯一标识实体的关键字(主码)。 联系的识别与定义 实体间的联系主要包括: 存在性联系:系里有学生,系里
38、有老师,产品有顾客。 功能性联系:教师讲授课程,学生选修课程,教师参加项目,机床加工零件。 定义联系就是识别联系,并确定联系的名字,并根据语义分析,确定联系的类型(一对一、一对多、多对多),若联系具有某种属性,定义属性名字。,68,实体型A,实体型B,实体型B,实体型A,实体型B,实体型A,联系名,联系名,联系名,1,1,1,n,m,n,(a)1:1联系,(b)1:n联系,(c)m:n联系,(1)两个不同实体集之间联系的画法 两个不同实体集之间存在1:1、1:n、m:n联系。,69,实体型A,实体型B,A-B-C,1,n,实体型C,m,(2)两个以上不同实体集之间联系的画法 两个以上不同实体集
39、之间可能存在各种关系,以3个不同实体集A、B、C为例,它们之间的典型关系有:1:n:m和r:n:m联系。 1:n:m联系:表示A和B之间是1:n(一对多)联系;A和C之间是1:m(一对多)联系;B和C之间是n:m(多对多)联系。,1:n:m联系的图形表示,70,例如:语义描述:对于课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书;而每个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的联系。,课程,教员,讲授,1,n,参考书,m,课程与教师、参考书之间的一对多的联系的图形表示,71,实体型A,实体型B,A-B-C,r,n,
40、实体型C,m,3个不同实体集A、B、C间多对多联系(r:n:m):表示A和B之间是r:n(多对多)联系;A和C之间是r:m(多对多)联系。,r:n:m联系的图形表示,72,例如有语义描述:有三个实体,供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可以由不同的供应商供应。则称供应商、项目、零件三者之间是多对多的联系。,供应商,项目,供应,r,n,零件,m,供应商、项目、零件三者之间多对多联系的图形表示,73,(3)同一实体集内的二元联系的画法 同一实体集内的二元联系:表示同一实体集内实体之间相互联系。有1:1、1:n、n:m联系。,例如:
41、职工实体集中,领导与被领导的联系是1:n;婚姻联系是1:1.,74,例2.1 试画出3个E-R图,要求实体型之间具有一对一、一对多和多对多各种不同的关系,例如:部门和部门主任之间的“领导”关系是一对一的联系。,1:1联系,75,例如:部门和职工之间的“所属”关系是一对多 的联系。,1:n联系,例2.1 试画出3个E-R图,要求实体型之间具有一对一、一对多和多对多各种不同的关系,76,例如:维修人员和设备之间的“维修”关系是多对多的联系。,n:m联系,例2.1 试画出3个E-R图,要求实体型之间具有一对一、一对多和多对多各种不同的关系,77,2.2.4 怎样设计E-R图 在E-R图中,用方框表示
42、实体,用椭圆表示实体的属性,用菱形表示实体之间的联系,并用边将实体、联系和属性连接起来。,根据实际问题的语义描述,设计E-R图的基本步骤: (1)抽取实体并定义实体名,定义实体包含的属性名。 (2)定义实体间的联系名、联系类型、定义联系包含的属性名,绘制实体间联系的E-R图。 (3)将实体间联系的简单的E-R图与实体的属性、联系的属性合并在一起,绘制形成总体E-R图。,注意:一个系统的E-R图不是唯一的,从不同的语义描述出发画出的E-R图可能有很大的不同。,78,例2 某大学选课管理中,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每位老师可讲授多门课程,每门课程可由多位老师讲授。
43、画出对应的E-R图。,(1)定义学生选课管理中涉及的实体及属性: 学生:属性有学号、姓名、性别、年龄 教师:属性有教师号、姓名、性别、职称 课程:属性有课程号、课程名,注意:定义属性时,一定要有一个属性可作为实体的码。,79,例2 某大学选课管理中,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每位老师可讲授多门课程,每门课程可由多位老师讲授。画出对应的E-R图。,(2)定义各实体之间的联系: 学生与课程之间是n:m的“选修”联系,“选修”联系包括“分数”属性。 教师与课程之间是n:m的“开课”联系,“开课”联系包括“上课地点”属性。,某大学选课管理的实体联系E-R图,80,例2
44、某大学选课管理中,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每位老师可讲授多门课程,每门课程可由多位老师讲授。画出对应的E-R图。,某大学选课管理总体E-R图,81,例3:学校有若干个系,每个系有若干名教师和学生;每个教师可以教授若干门课程,并参加多个项目;每个学生可以同时选修多门课程。请设计某学校的教学管理的E-R模型,要求给出每个实体、联系的属性。,该学校的教学管理E-R模型有以下5个实体:系,教师,学生,课程,项目。各实体属性如下: 系(系编号,系名,系主任) 教师(教师编号,教师姓名,职称) 学生(学号,姓名,性别,班号) 课程(课程编号,课程名,学分) 项目(项目编号
45、,名称,负责人),注意:定义属性时,一定要有一个属性可作为实体的码。,82,83,各实体之间的联系有: 系、教师和学生之间的所属关系是1:m:n的“领导”联系; 教师与课程之间有1:n的“任课”联系;“任课”联系包括“上课地点”属性。 教师与项目之间有n:m的“参加”联系; “参加”联系包括“参加时间”属性。 学生与课程之间有n:m的“选修”联系; “选修”联系包括“分数”属性。,例3:学校有若干个系,每个系有若干名教师和学生;每个教师可以教授若干门课程,并参加多个项目;每个学生可以同时选修多门课程。请设计某学校的教学管理的E-R模型,要求给出每个实体、联系的属性。,学校的教学管理的E-R图,
46、84,学校的教学管理的完整的E-R模型图,85,1.7.5 数据模型的组成要素 由于数据模型是现实世界中事务及其联系的一种模拟和抽象表示。一般说,数据模型是严格定义的一组概念的集合,这些概念精确地描述了数据库系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和数据的完整性约束三部分组成。,数据结构描述了数据库的组成对象以及对象间的关系,即数据结构一方面描述数据对象的类型、内容、性质等,另一方面描述数据对象间的联系。数据结构是对数据库系统静态特性的描述。 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,是对数据库系统动态特性的描述。数据库有查询
47、和更新(插入、修改、删除)两类操作。 数据的完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用来限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,86,1.8 四种数据模型,层次数据库系统采用层次模型作为数据的组织方式; 网状数据库系统采用网状模型作为数据的组织方式; 关系数据库系统采用关系模型作为数据的组织方式; 面向对象数据库系统采用面向对象数据模型作为数据的组织方式。,87,层次模型、网状模型、关系模型的根本区别: 在于模型中数据之间联系的表示方式不同(即记录型之间的联系方式不同)。层次模型是用树结构来表示数据之
48、间的联系;网状模型是用图结构来表示数据之间的联系;关系模型是用二维表(或称为关系)来表示数据之间的联系。,88,1.8.1 层次模型 定义:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次数据模型。 (1)数据结构 有且仅有一个结点没有父结点,它就是根结点; 根以外的其他结点有且仅有一个双亲结点。 父子节点之间的联系是一对多的联系。,89,(2)层次模型的数据操纵与完整性约束 层次模型的数据操纵主要包括查询、插入、删除和修改,进行插入、删除和修改操作时要满足层次模型的完整性约束条件。 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。 进行删除操作时,如果删除了双亲结点
49、值,则相应的子女结点值也被同时删除。 修改操作时,应修改所有相应的记录,以保证数据的一致性。,90,(3)层次模型的优缺点 优点: 结构简单,层次分明,便于在计算机内实现; 结点间联系简单,从根结点到树中任一结点均存在一条唯一的层次路径,当要存取某个结点的记录值时,沿着这条路径很快就能找到该记录值,因此,以该种模型建立的数据库系统查询效率很高。 它提供了良好的数据完整性支持。 缺点: 不能直接表示两个以上的实体型间的复杂联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法解决,容易产生不一致性。 对数据插入和删除的操作限制太多。 查询子女结点必须通过双亲结点。,91,1.8.2
50、 网状模型 定义:用有向图(网状结构)表示实体及实体之间联系的数据模型称为网状数据模型。 (1)数据结构 有一个以上的结点没有双亲结点。 允许结点有多个双亲结点。 允许两个结点之间有多种联系。如学生和课程间的联系。,92,用有向图表示的网状模型中,每个结点是记录类型,箭头表示从箭尾的记录类型到箭头的记录类型间的联系是1:n联系。,学生,课程,选修,n,m,学生选课E-R图,性别,课程号,姓名,学号,年龄,课程名,学分,学号,课程号,学分,学生记录类型S,课程记录类型C,选课联系记录类型L,在网状模型中,每个n:m联系用两个1:n的联系来实现。学生选课网状模型图有3个结点两条边组成,学生和课程间
51、的n:m联系用边SL、CL实现。,SL,CL,学生选课网状模型,93,(2)网状模型的数据操纵与完整性约束 网状模型的数据操纵主要包括查询、插入、删除和修改,进行插入、删除和修改操作时要满足网状模型的完整性约束条件。 插入数据时,允许插入尚未确定双亲结点值的子女结点值。如,可增加一名尚未分配到某个教研室的新教师。 删除数据时,允许只删除双亲结点值。如可删除一个教研室,而该教研室所有老师的信息仍保留在数据库中。 修改数据时,只需更新指定记录即可。 网状模型没有像层次模型那样有严格的完整性约束条件,只提供一定的完整性约束。,94,(3)网状模型的优缺点 优点: 能更为直接地描述客观世界,可表示实体
52、间的多种复杂联系。 具有良好的性能和存储效率。 缺点: 数据结构复杂,并且随着应用环境的扩大,数据库的结构变得越来越复杂,不便于终端用户掌握。 其数据定义语言(DDL)、数据操纵语言(DML)极其复杂,不易使用户掌握。 由于记录间的联系本质上是通过存取路径实现的,应用程序在访问数据库时要指定存取路径,即用户要了解系统结构的细节,加重了编写应用程序的负担。,由于层次模型和网状模型应用程序编写复杂,因此,目前已被关系模型所取代。,95,1.8.3 关系模型 定义:用二维表格结构来表示实体及实体之间联系的数据模型称为关系模型。 (1)数据结构及有关概念 关系模型的数据结构是一张规范化的二维表,它有表
53、名、表头、表体。表名是二维表的名称,表头决定了二维表的结构,表体即二维表中的数据。每个二维表称为关系。关系模型与层次模型、网状模型不同,它是建立在严格的数学概念之上。,96,97,关系模型中基本概念: 关系:一个关系就是一张二维表。(对应信息世界的实体集) 元组:表中的一行即为一个元组,也称为一个记录。(对应信息世界的实体) 属性:表中的列称为属性,或称为字段,每一列有一个属性名。(对应信息世界的属性) 域:属性的取值范围。(对应信息世界的域) 分量:每一行对应的列的属性值,即为元组中的一个属性值。 关系模式:对关系的描述称为关系模式,关系模式是关系的型,是关系的框架。格式为: 关系名(属性名
54、1,属性名2,属性名n),98,(2)关系模型的数据操纵与完整性约束 关系模型的数据操纵主要包括查询、插入、删除和修改,这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。,(3)关系模型的优缺点 优点: 有严格的数学理论根据。 数据结构简单、清晰,用户易懂易用。 关系模型的存取路径对用户透明,从而具有较高的数据独立性、安全性,简化了程序员的工作量。 缺点: 查询效率不如非关系模型。,99,1.8.4 面向对象模型 对象:是现实世界中实体的模型化。如一个学生、一门课程。对象与记录的概念相似,但远比记录复杂。每个对象都包含一组属性和方法。 对象的属性:属性用来描述对
55、象的状态,它是对象的静态特征。 对象的方法:方法用以描述对象的行为特性。一个方法是一段对对象操作的程序。方法可以改变对象的状态,所以称为对象的动态特征。 对象标识:独立于对象的内容和存储位置,是一种逻辑标识符,通常由系统产生,它在整个系统范围内是唯一的。每一对象都由唯一的对象标识来识别,用于确定和检索该对象。 两个对象即使内部状态值和方法都相同,如标识不同,仍被认为是两个不同的对象。如同一型号的两个零件,在设计图纸上的不同位置,这两个零件被认为是不同的对象,而具有不同的标识。而在关系模型中,如果两个元组的属性值都相同,就被认为是同一元组。,100,1.8.4 面向对象模型 类:具有同样属性和方
56、法集的所有对象构成了一个对象类,简称类。一个对象是某一类的实例。例如,学生为类,某一具体学生-张三是学生类的一个实例。类是型,对象是某一类的值。 类的属性域可以是基本数据类型(整型、实型、字符型等),也可以是类,或由上述值域组成的记录或集合,因此,类是可以嵌套 超类和子类:类的表示具有层次性。超类可以通过扩充和细化导出其他类;子类是指由通过扩展类定义而得到的类。一个类可以有多个子类,也可以有多个超类。 多重继承:一个类可直接继承多个超类(的属性和方法),这种继承方式称为多重继承。 单重继承:如果一个类至多只有一个超类,则一个类只能从单个超类继承属性和方法,这种继承方式称为单重继承。,101,1
57、.9 数据库系统的发展,1.9.1 第一代数据库系统 层次数据模型和网状数据模型从体系结构、数据库语言到数据存储管理上均具有共同的特征,都是格式化模型,属于第一代数据库系统。 特点: (1)支持三级模式的体系结构。支持外模式、模式和内模式,并通过两级映像功能,保证了数据的物理独立性和逻辑独立性。 (2)用存取路径来表示数据之间的联系。层次模型和网状模型用存取路径来表示和实现数据之间的联系,这是数据库系统与文件系统的主要区别。 (3)独立的数据定义语言。第一代数据库系统使用独立的数据定义语言来描述数据库的三级模式以及两级映像。 (4)导航的数据操纵语言。导航的含义是用户使用某种高级语言编写程序,一步一步地引导程序按照数据库中预先定义
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026顺德疾控面试题目及答案
- 2026思谋科技面试题及答案
- 2026思政教学部面试题及答案
- 餐厅案例分析课件
- 慈善在我们身边课件
- 纯数字制作课件
- 城市租房数据课件
- 催收员转正课件
- 参赛游戏案例课件
- 彩色油画棒课件
- 2026年国家工作人员学法用法考试题库及答案
- 测绘人员保密协议的范本6篇
- 2025年控告申诉检察业务竞赛真题及答案解析
- 腰椎骨折压缩性护理查房
- 人间共鸣四部合唱谱SATB靳
- 小学信息技术-《制作表格》课件
- 电焊工职业技能初级工理论试题及答案
- 中央中国船级社2025年人才招聘111人笔试历年参考题库附带答案详解
- 幼儿园餐具消毒培训
- DB23∕T 3636-2023 玉米秸秆黄贮技术规程
- 北斗卫星导航系统
评论
0/150
提交评论