《数据库原理》数据库技术与应用.ppt

上传人:豆**** 文档编号:33003038 上传时间:2022-08-09 格式:PPT 页数:54 大小:1.25MB
返回 下载 相关 举报
《数据库原理》数据库技术与应用.ppt_第1页
第1页 / 共54页
《数据库原理》数据库技术与应用.ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《《数据库原理》数据库技术与应用.ppt》由会员分享,可在线阅读,更多相关《《数据库原理》数据库技术与应用.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库原理数据数据库原理数据库技术与应用库技术与应用8/9/2022目目 录录8/9/2022目目 录录8/9/2022第1章 数据库基本原理 信息在现代社会和经济发展中所起的作用越来越大,信息资源的开发和利用水平已成为衡量一个国家综合国力的重要标志之一。在计算机的三大主要应用领域(科学计算、数据处理和过程控制)中,数据处理是计算机应用的主要方面。数据库技术就是作为数据处理中的一门技术而发展起来的。 数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的之一是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;目的之二是为了借助计算机科学地保存

2、和管理复杂的、大量的数据,以便人们能够方便而充分地利用这些宝贵的信息资源。 数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。数据库技术作为数据管理的主要技术目前已广泛应用于各个领域,数据库系统已成为计算机系统的重要组成部分。8/9/2022数据库发展与应用数据库发展与应用 数据库的应用已越来越广泛。从小型的单项事务处理系统到大型复杂的信息系统大都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。 1)电脑抽奖: 采用数据库技术,不必修改程序,只变更奖项设置,即可应用于不同的抽奖活动。 2)招生考试: 通过对数据库排序和索引,完成考生按志愿从高分到低分排列,

3、根据学校招生计划录取,录满为止。 3)银行储蓄: 为每个用户建立能够唯一识别的帐户,同时记录用户的往来明细,做到存储量大,运算速度快,准确程度高。8/9/2022 数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源。数据库技术主要研究如何存储、使用和管理数据,是计算机数据管理技术发展的新阶段。 近年来,数据库技术和计算机网络技术的发展相互渗透、相互促进,已成为当今计算机领域发展迅速、应用广泛的两大领域。数据库技术不仅应用于事务处理,并且进一步应用到情报检索、人工智能、专家系统、计算机辅助设计等领域。 1.1 数据库技术8/9/2022 数据库技术涉及到许多

4、基本概念,主要包括:数据、数据处理、数据库、数据库管理系统以及数据库系统等。 1.数据 数据是指存储在某一种媒体上能够识别的物理符号。数据的概念包括两个方面:其一是描述事物特性的数据内容;其二是存储在某一种媒体上的数据形式。由于描述事物特性必须借助一定的符号,这些符号就是数据形式。数据形式可以是多种多样的,例如某人的出生日期是“1964年2月17日”,当然也可以将该形式改写为“02/17/64”,但其含义并没有改变。 数据的概念在数据处理领域已经大大地拓宽了。数据不仅仅指数字、字母、文字和其他特殊字符组成的文本形式的数据,而且还包括图形、图像、动画、影像、声音(包括语音、音乐)等多媒体数据。1

5、.1.1 数据库的基本概念8/9/2022 2.数据处理 数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的之一是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;目的之二是为了借助计算机科学地保存和管理复杂的、大量的数据,以便人们能够方便而充分地利用这些宝贵的信息资源。 3.数据库 数据库可以直观地理解为存放数据的仓库。只不过这个仓库是在计算机的大容量存储器上,例如硬盘就是一种最常见的计算机大容量存储设备。而且数据必须按一定的格式存放,因为它不仅需要存放,而且还要便于查找。 所以可以认为数据是被长期存放在计算机内、有组织的、可以表现为多

6、种形式的可共享的数据集合。数据库技术使数据能按一定格式组织、描述和存储,且具有较小的冗余度,较高的数据独立性和易扩展性,并可为多个用户所共享。 人们总是尽可能地收集各种各样的数据,然后对它们进行加工,目的是要从这些数据中得到有用的信息。在社会飞速发展的今天,人们接触的事物越来越多,反映这些事物的数据量也急剧增加。过去人们手工管理和处理数据,现在借助计算机来保存和管理复杂的大量数据,这样就可能方便而充分地利用这些宝贵的数据资源,数据库技术正是由于这一需求驱动而发展起来的一种计算机软件技术。8/9/2022 4.数据库管理系统 数据库管理系统(DataBase Management System,

7、简称DBMS)是计算机系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。 数据库管理系统主要功能包括以下几个方面: (1)数据定义功能 DBMS提供了数据定义语言DDL(Data Definition Language),用户通过它可以方便地对数据库中的相关内容进行定义。例如,对数据库、表、索引进行定义。 (2) 数据操纵功能 DBMS提供了数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。 (3) 数据库运行控制功能 这是DBMS的核心部分

8、,它包括并发控制(即处理多个用户同时使用某些数据时可能产生的问题)、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(例如,索引的自动维护)等。所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性以及多个用户对数据库的并发使用。8/9/2022 (4)数据库的建立和维护功能 数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重新组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。它是数据库管理系统的一个重要组成部分。 5.数据库系统 数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地

9、存储大量相关数据,提供数据处理和信息资源共享服务。数据库系统不仅包括数据本身,即实际存储在计算机中的数据,还包括相应的硬件、软件和各类人员。DBS=DB + DBMS + 硬件 + 相应软件 + DBA + 用户8/9/2022 计算机对数据的管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段。 与其他技术的发展一样,计算机数据管理也经历了由低级到高级的发展过程。计算机数据管理随着计算机硬件、软件技术和计算机应用范围的发展而不断发展,多年来大致经历了如下三个阶段:l 人工管理阶段l 文件系统阶段l 数据库系统阶段1.1.2 数据管理技术的发展8/9/2022应用程序A1应用程序A2

10、应用程序An数据集S1数据集S2数据集Sn图1-1 数据的人工管理 1.人工管理阶段 20世纪50年代以前,计算机主要用于数值计算。从当时的硬件看,外存只有纸带、卡片、磁带,没有直接存取设备;从软件看(实际上,当时还未形成软件的整体概念),没有操作系统及管理数据的软件;从数据看,数据量小,数据无结构,由用户直接管理,且数据间缺乏逻辑组织,数据依赖于特定的应用程序,缺乏独立性。8/9/2022 2.文件系统阶段 20世纪50年代后期到20世纪60年代中期,出现了磁鼓、磁盘等直接存取数据的存储设备。1954年出现了第一台商业数据处理的电子计算机UNIVACI,标志着计算机开始应用于以加工数据为主的

11、事务处理。人们得益于计算机惊人的处理速度和大容量的存储能力,从而解脱了从大量传统纸张文件中寻找数据的困难,这种基于计算机的数据处理系统也就从此迅速发展起来。 这种数据处理系统是把计算机中的数据组织成相互独立的数据文件,系统可以按照文件的名称对其进行访问,对文件中的记录进行存取,并可以实现对文件的修改、插入和删除,这就是文件系统。文件系统实现了记录内的结构化,即给出了记录内各种数据间的关系。但是,文件从整体来看却是无结构的。其数据面向特定的应用程序,因此数据共享性、独立性差,且冗余度大,管理和维护的代价也很大。应用程序A1应用程序A2应用程序An数据集S1数据集S2数据集Sn文件系统图1-2 数

12、据的文件系统8/9/2022 3.数据库系统阶段 20世纪60年代后期,计算机性能得到提高,更重要的是出现了大容量磁盘,存储容量大大增加且价格下降。在此基础上,有可能克服文件系统管理数据时的不足,而去满足和解决实际应用中多个用户,多个应用程序共享数据的要求,从而使数据能为尽可能多的应用程序服务,这就出现了数据库这样的数据管理技术。数据库的特点是数据不再只针对某一特定应用,而是面向全组织,具有整体的结构性,共享性高,因此冗余度小,具有一定的程序与数据间的独立性,并且实现了对数据进行统一的控制。应用程序A1应用程序A2应用程序An数据库数据库管理系统图1-3 数据的数据库系统 从文件系统到数据库系

13、统,标志着数据管理技术质的飞跃。20世纪80年代后不仅在大、中型机上实现并应用了数据库管理系统,即使在微型计算机上也配置了经过功能简化的数据库管理系统(例如,Visual FoxPro等),使数据库技术得到广泛的应用和普及。8/9/2022 数据库系统由四部分组成:硬件系统、系统软件(包括操作系统和数据库管理系统)、数据库应用系统和各类人员。1.1.3 数据库系统的组成数据库应用系统图1-4 数据的数据库系统数据库管理系统操作系统硬件8/9/2022 1.硬件系统 由于一般数据库系统数据量很大,加之DBMS丰富的强有力的功能使得自身的体积就很大,因此整个数据库系统对硬件资源提出了较高的要求,这

14、些要求是: (1)有足够大的内存以存放操作系统、DBMS的核心模块、数据缓冲区和应用程序。 (2)有足够大的直接存取设备存放数据(例如,磁盘),有足够的其它存储设备来进行数据备份。 (3)要求计算机有较高的数据传输能力,以提高数据传送率。 2.系统软件 系统软件主要包括操作系统、数据库管理系统、与数据库接口的高级语言及其编译系统和以DBMS为核心的应用开发工具。 操作系统是计算机系统必不可少的系统软件,也是支持DBMS运行必不可少的系统软件。 数据库管理系统是数据库系统不可或缺的系统软件,它提供数据库的建立、使用和维护功能。 一般来讲,数据库管理系统的数据处理能力较弱,所以需要提供与数据库接口

15、的高级语言及其编译系统,以便于开发应用程序。8/9/2022 以DBMS为核心的应用开发工具。应用开发工具是系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代语言等各种软件工具。例如,报表设计器、表单设计器等。它们为数据库系统的开发和应用提供了有力的支持。当前开发工具已成为数据库软件的有机组成部分。 3.数据库应用系统 数据库应用系统是为特定应用开发的数据库应用软件。数据库管理系统为数据的定义、存储、查询和修改提供支持,而数据库应用系统是对数据库中的数据进行处理和加工的软件,它面向特定应用。例如,基于数据库的各种管理软件:管理信息系统、决策支持系统和办公自动化等都属于数据库应

16、用系统。 4.各类人员 参与分析、设计、管理、维护和使用数据库的人员均是数据库系统的组成部分。他们在数据库系统的开发、维护和应用中起着重要的作用。分析、设计、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员、应用程序员和最终用户。 (1)数据库管理员(DataBase Administrator,简称DBA) 数据库是整个企业或组织的数据资源,因此企业或组织设立了专门的数据资源管理机构来管理数据库,数据库管理员则是这个机构的一组人员,负责全面管理和控制数据库系统。具体的职责包括:8/9/2022l 决定数据库的数据内容和结构:数据库中要存放哪些数据,是由系统需求来决定的。为了更好地对

17、数据库系统进行有效的管理和维护,DBA应该参加或了解数据库设计的全过程,并与最终用户、应用程序员、系统分析员密切合作共同协商,搞好数据库设计。l 决定数据库的存储结构和存取策略:DBA要综合最终用户的应用要求,和数据库设计人员共同决定数据库的存储策略以求获得较高的存取效率和存储空间利用率。l 定义数据的安全性要求和完整性约束条件:DBA的重要职责是保证数据库的安全性和完整性,即数据不被非法用户所获得,并且保证数据库中数据的正确性和数据间的相容性。因此DBA负责确定各个最终用户对数据库的存取权限,数据的保密级别和完整性约束条件。l 监控数据库的使用和运行:DBA还有一个重要职责就是监视数据库系统

18、的运行情况,及时处理运行过程中出现的问题。当系统发生某些故障时,数据库中的数据会因此遭到不同程度的破坏,DBA必须在最短时间内将数据库恢复到某种一致状态,并尽可能不影响或少影响计算机系统其它部分的正常运行。为此,DBA要定义和实施适当的后援和恢复策略。例如,采用周期性的转储数据和维护日志文件等方法。l 数据库的改进和重组:DBA还负责在系统运行期间监视系统的存储空间利用率、处理效率等性能指标,对运行情况进行记录,统计分析、依靠工作实践并根据实际应用环境,不断改进数据库设计。不少数据库产品都提供了对数据库运行情况进行监视和分析的实用程序,DBA可以方便地使用这些实用程序来完成这些工作。8/9/2

19、022l 另外,在数据库运行过程中,大量数据不断插入、删除、修改,随着运行时间的延长,在一定程度上会影响系统的性能。因此,DBA要定期对数据库进行重新组织,以提高系统的性能。l 当最终用户的需求增加和改变时,DBA还要对数据库进行较大的改造,包括修改部分设计,实现对数据库中数据的重新组织和加工。(2)系统分析员 系统分析员是数据库系统建设期的主要参与人员,负责应用系统的需求分析和规范说明,要和最终用户相结合,确定系统的基本功能,数据库结构和应用程序的设计,以及软硬件的配置,并组织整个系统的开发。所以系统分析员是一类具有各领域业务和计算机知识的专家,在很大程度上影响数据库系统的质量和成败。(3)

20、应用程序员 应用程序员根据系统的功能需求负责设计和编写应用系统的程序模块,并参与对程序模块的测试。(4)最终用户 数据库系统的最终用户是有不同层次的,不同层次的用户其需求的信息以及获得信息的方式也是不同的。一般可将最终用户分为操作层、管理层和决策层。他们通过应用系统的用户接口使用数据库。常用的接口方式有菜单驱动、表格操作、图形显示、随机查询和对数据库中的数据进行统计,分析时使用专用的软件和分析决策模型。8/9/20221.2 数据库中的两种模型数据库中的两种模型 信息模型信息模型 数据模型数据模型1.2.1 信息模型信息模型 信息模型用于总结、抽象现实世界中的事物、现象。目前在数据库设计中广泛

21、使用的信息模型设计方法是实体联系法(EntityRelationship Approach),简称ER方法。此方法是由P.P.S.Chen于1976年提出,由于它将各种元素归纳总结后以不同的图形表示,所以也被称为ER图法。 1实体实体 实体即现实世界中存在的事物。例如学校、学生、课程、教师等等,都是实体的例子。在ER图中实体集用长方形框表示,在长方形框中写入实体集的名称,如图1-2所示。 2联系联系 现实世界中事物之间的种种关系即为实体集间的联系。例如学生与老师之间有学生向老师学习,老师教学生的联系。 8/9/20221.2.1 信息模型信息模型 在ER图中联系用菱形框表示,在菱形框中写入联系

22、的名称。例 如校长与学校的联系是“领导”;培训班与某种培训的联系是“属于”;学生与培训班的联系是“选择”,如图1-3所示。 图1-2 实体集的表示 图1-3 联系的表示8/9/20221.2.1 信息模型信息模型 实体集间的联系根据它们之间的对应关系可分为一对一(1:1)类型,例如学校与校长,因为一所学校只能有一个校长,一个校长只能领导一所学校,故一个校长对应一所学校,一所学校对应一个校长,如图1-4(a)所示;一对多(1:M)类型,例如培训种类与培训班,因为一种培训可以开设多个班,而一个班只能属于某一种培训,如图1-4(b)所示;多对多(N:M)类型,例如学生与培训班,因为一名学生可以选择上

23、多个培训班,一个培训班也可以同时允许多名学生参加,如图1-4(c)所示。图1-4 联系的种类8/9/2022 1.2.1 信息模型信息模型 3属性属性 属性是实体的特征。每个实体都可以有多个属性,将这些属性结合起来就刻画了这个实体。例如在学生管理系统中,每个学生可以有身份证号、姓名、性别、年龄等属性。这些属性构成了实体的属性集。另外,联系也可以有属性,例如学生经过某项培训后取得的成绩。成绩属性既不能算是学生的属性,也不能算是培训的属性,只是当学生参加了培训后才出现的属性,所以把成绩属性作为学生与培训的联系的属性。但并不是所有的联系都有属性。 在ER图中属性用椭圆形框表示,在椭圆形框中写入属性的

24、名称,如图1-5所示。图1-5 属性的表示8/9/2022 1.2.1 信息模型信息模型 4用用ER 图描述信息模型图描述信息模型 有了基本符号后,便可以描述事物、现象,构建信息模型了。在ER图中通常用有向线段或无向线段连接各基本元素。例如连接实体与属性、实体与联系、联系与属性。 由于任何一个属性都是描述某个实体集的,所以在ER图中属性均唯一的与其实体集相连。通常使用无向线段。 实例1:招生管理系统中系统管理员实体集与其属性间的连接8/9/2022 1.2.1 信息模型信息模型 若系统管理员实体集有管理员编号、姓名、密码、权限四个属性,则表示系统管理员实体集与其属性间的连接如图1-6所示。 实

25、体集间若彼此有关系可以通过联系表示,所以在实体集与联系之间就要有连接。此连接通常也使用无向线段表示。但若两个实体集间有包含关系,就必须用有向线段表示。例如学校中的系主任和教师,因为系主任也是教师,所以教师中包含系主任,有一种包含关系。 8/9/2022 1.2.1 信息模型信息模型实例2:招生管理系统中培训班与培训的联系 若培训班实体集有培训编号、开班编号、开课日期、负责人等属性,培训项目实体集有培训编号、培训名称、面向对象、所授课程等属性。两个实体集间的联系是“开设”。则表示培训班与培训项目间的联系如图1-7所示。图1-7 实体间的联系8/9/20221.5 招生管理系统的设计招生管理系统的

26、设计图1-11 培训学校招生管理系统E-R图8/9/2022作 业某医院病房计算机管理中需要下列信息: 科室:科名、科地址、科电话、医生姓名 病房:病房号、床位号、所属科室名 医生:姓名、职称、所属科室名、年龄、工作证号 病人:病历号、姓名、性别、诊断、主管医生、病房号 其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只能属于一个科室,但可负责多个病人的诊断,一个病人的主管医生只有一个。 请设计出计算机管理系统的E-R图。8/9/2022 人们经常以模型来刻画现实世界中的实际事物。地图,沙盘,航模都是具体的实物模型,它们会使人们联想到真实生活中的事物,人们也可以用抽象的模

27、型来描述事物及事物运动的规律。这里讨论的数据模型就是这一类模型,它是以实际事物的数据特征的抽象来刻画事物的,描述的是事物数据的表征及其特性。数据库是某个企业或组织所涉及的数据的提取和综合,它不仅反映数据本身,而且反映数据之间的联系,也是事物之间的联系的反映。如何在数据库系统的形式化结构中抽象表示和处理现实世界中的数据是非常重要的问题。在数据库中是用数据模型对现实世界进行抽象的,现有的数据库系统均是基于某种数据模型的。因此,了解数据模型的基本概念是学习数据库的基础。 数据库中最常见的数据模型有三种,它们是:1.2.2 数据模型8/9/2022 若用图来表示,层次模型是一棵倒立的树。在数据库中,满

28、足以下两个条件的数据模型称为层次模型:(1)有且仅有一个结点无父结点,这个结点称为“根结点”;(2)其他结点有且仅有一个父结点。 在层次模型中,结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。 在图1-5所示的抽象层次模型中,R1为根结点;R2和R3为兄弟结点,并且是R1的子结点;R4和R5为兄弟结点,并且是R2的子结点;R3、R4和R5为叶结点。1.2.2.1 层次模型8/9/2022 层次模型对具有一对多层次关系的描述非常自然、直观、容易理解,这是层次数据库的突出优点。R1R2R3R4R5图1-5 层次

29、模型8/9/2022 若用图来表示,网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。(1)允许一个以上的结点无父结点;(2)一个结点可以有个父结点。1.2.2.2 网状模型R1R2R4R5R3L3L4L5L2L1图1-6 网状模型8/9/2022在图1-6所示的抽象网状模型中,R1与R4之间的联系被命名为L1,R1与R3之间的联系被命名为L2,R2与R3之间的联系被命名为L3,R3与R5之间的联系被命名为L4,R4与R5之间的联系被命名为L5。R1为R3和R4的父结点,R2也是R3的父结点。R1和R2没有父结点。网状模型允许一个以上的结点无父结点或某一个结点有一个以上的

30、父结点,从而构成了比层次结构复杂的网状结构。8/9/2022 在关系模型中,数据的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型:(1)每一列中的分量是类型相同的数据;(2)列的顺序可以是任意的;(3)行的顺序可以是任意的;(4)表中的分量是不可再分割的最小数据项,即表中不允许有子表:(5)表中的任意两行不能完全相同。 表1-1给出的Student(学生基本情况)表便是一个关系模型。1.2.2.3 关系模型8/9/2022 关系数据库采用关系模型作为数据的组织方式。 层次数据库是数据库系统的先驱,而网状数据库则为数据库在概念、方法、技术上的发展奠定了基础。它们是数据库技术研

31、究最早的两种数据库,而且也曾得到广泛的应用。但是,这两种数据库管理系统存在着结构比较复杂、用户不易掌握、数据存取操作必须按照模型结构中已定义好的存取路径进行、操作比较复杂等缺点,这就限制了这两种数据库管理系统的发展。 关系数据库以其具有严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为是最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的。例如,ORACLE、SYBASE、INFORMIX、Visual FoxPro等。RecNo StudID Name Sex Birthday

32、EntranceScore 1981101 赵文化 男 2-28-80 500 2981102 徐逸华 男 6-7-81 630 3981103 郭茜茜 女 11-17-82 650 4981201 钱 途 男 5-1-80 380 5981202 高 涵 男 11-06-80 630 6981203 李晓鸣 女 11-17-82 400 表1-1 Student表8/9/2022综 合 习 题某工厂(包括厂名和厂长姓名)需建立一个数据库来存储以下信息: 一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。 一个车间多个工人,每个工人有职工号、姓名、年龄、性别和工种。 一个车间生产

33、多种产品,产品有产品号、产品名和价格。 一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、零件名、重量和价格。 一个产品由多种零件组成,一种零件也可装配出多种产品。 产品和零件均寸入仓库中。 厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。试:(1)画出该系统的实体联系模型E-R图。 (2)给出相应的关系数据模型。 (3)画出该系统的层次模型。8/9/2022 关系数据库采用了关系模型作为数据的组织方式,这就涉及到关系模型中的一些基本概念。另外,对关系数据库进行查询时,若要找到用户关心的数据,就需要对关系进行一定的关系运算。1.3 关系数据库8/9/2022在关系数据库中,经

34、常会提到关系、属性等关系模型中的一些基本概念。为了进一步了解关系数据库,首先给出关系模型中的一些基本概念。关系:一个关系就是一张二维表,每个关系有一个关系名。在计算机中,一个关系可以存储为一个文件。在Visual FoxPro中,一个关系就是一个表文件。属性:二维表中垂直方向的列称为属性,有时也叫做一个字段。域:一个属性的取值范围叫做一个域。元组:二维表中水平方向的行称为元组,有时也叫做一条记录。码:又称为关键字。二维表中的某个属性,若它的值唯一地标识了一个元组,则称该属性为侯选码。若一个关系有多个侯选码,则选定其中一个为主码,这个属性称为主属性。分量:元组中的一个属性值叫做元组的一个分量。关

35、系模式:是对关系的描述,它包括关系名、组成该关系的属性名、属性到域的映像。通常简记为:关系名(属性名1,属性名2,属性名n)1.3.1 关系数据库的基本概念8/9/2022属性到域的映像通常直接说明为属性的类型、长度等。关系数据库:采用关系模式作为数据的组织方式的数据库叫做关系数据库。对关系数据库的描述,称为关系数据库的型,它包括若干域的定义以及在这些域上定义的若干关系模式。这些关系模式在某一时刻对应的关系的集合,称为关系数据库的值。表1-1中的关系是一个学生基本情况表。表中的每一行是一条学生记录,是关系的一个元组,Studid(学号)、Name(姓名)、Sex(性别)、Birthday(出生

36、日期)、Entrancescore(入学成绩)等均是属性。其中学号是唯一识别一条记录的属性,因此称为主码。对于学号这一属性,域是“000001”“999999”,对于姓名属性,域是由24个汉字组成的字符串,对于性别属性,域是“男”、“女”。学生基本情况表的关系模式可记为:Student(Studid,Name,Sex,Birthday,Entrancescore)一个关系模式在某一时刻的内容(称为相应模式的状态),是元组的集合,称为关系。在不至于引起混淆的情况下,往往将关系模式和关系统称为关系。8/9/2022运算符 符号 含义 键盘格式 示例 集合运算符 并 UNION RS,或 R UNI

37、ON S 交 INTERSECTRS,或 R INTERSECT S - 差 MINUS R-S,或 R MINUS S 乘 TIMES RS,或 R TIMES S 8/9/2022传统集合运算举例传统集合运算举例 R A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 RS A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 S A B C a1 b2 c2 a1 b3 c2 a2 b2 c1 RS A B C a1 b2 c2 a2 b2 c1 8/9/2022传统集合运算举例传统集合运算举例 R A B C a1 b1 c1 a1 b2 c

38、2 a2 b2 c1 R-S A B C a1 b1 c1 RS A B C A B C a1 b2 c1 a1 b2 c2 a1 b2 c1 a1 b3 c2 a1 b2 c1 a2 b2 c1 a1 b2 c2 a1 b2 c2 a1 b2 c2 a1 b3 c2 a1 b2 c2 a2 b2 c1 a2 b2 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 a2 b2 c1 a2 b2 c1 S A B C a1 b2 c2 a1 b3 c2 a2 b2 c18/9/2022 对关系数据库进行查询时,若要找到用户关心的数据,就需要对关系进行一定的关系运算。关系运算有两种:一种

39、是传统的集合运算(并、差、交、广义笛卡尔积等);另一种是专门的关系运算(选择、投影、连接)。 传统的集合运算(并、差、交、广义笛卡尔积)不仅涉及关系的水平方向(即二维表的行),而且涉及关系的垂直方向(即二维表的列)。 关系运算的操作对象是关系,运算的结果仍为关系。 (1)选择 选择运算即在关系中选择满足某些条件的元组。也就是说,选择运算是在二维表中选择满足指定条件的行。例如,在Student(学生基本情况)表中,若要找出所有女学生的元组,就可以使用选择运算来实现,条件是:Sex=“女”。 (2)投影 投影运算是在关系中选择某些属性列。例如,在Student(学生基本情况)表中,若要仅显示所有学

40、生的Studid(学号)、Name(姓名)和Sex(性别),那么可以使用投影运算来实现。 (3)连接 连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。1.3.3 关系运算8/9/2022关系运算符 专门 关系运算符 选择 R where C 姓名=“张三”(S)或S where 姓名=张三 投影 R 考号,姓名(S)或S考号,姓名 连接 JOIN RS,或R JOIN S 8/9/2022假设现有两个关系:关系R和关系S,关系R如表1-2所示,关系S如表1-3所示。现在对关系R和关系S进行广义笛卡尔积运算,那么运算结果为表14所示的关系T。 StudID Name Sex 981

41、102 徐逸华 男 981103 郭茜茜 女 981202 高 涵 男 表1-2 关系RStudID Subid Score 981102 1021 100981103 1031 98 981101101188981202 102190 表1-3 关系S8/9/2022表1-4 关系T StudID Name Sex StudID Subid Score 981102 徐逸华 男 9811021021 100 981102 徐逸华 男 9811031031 98981102 徐逸华 男 981101101188981102 徐逸华 男 981202102190981103 郭茜茜 女 9811

42、021021 100 981103 郭茜茜 女 9811031031 98981103 郭茜茜 女 981101101188981103 郭茜茜 女 981202102190981202 高 涵 男 9811021021 100 981202 高 涵 男 9811031031 98981202 高 涵 男 981101101188981202 高 涵 男 9812021021908/9/2022如果进行条件为“R. StudID=S. StudID”的连接运算,那么连接结果为关系U,如表1-5所示。从表1-5可以看出关系U是关系T的一个子集。表1-5 关系U StudID Name Sex S

43、tudID Subid Score 981102 徐逸华 男 9811021021 100 981103 郭茜茜 女 9811031031 98981202 高 涵 男 981202102190连接条件中的属性称为连接属性,两个关系中的连接属性应该有相同的数据类型,以保证其是可比的。当连接条件中的关系运算符为“”时,表示等值连接。表1-5的关系U为关系R和关系S在条件“R. StudID=S. StudID”下的等值连接。若在等值连接的关系U中去掉重复的属性(或属性组),则此连接称为自然连接。表1-6所示的关系V是关系R和关系S在条件“R. StudID=S. StudID”下的自然连接。对关

44、系数据库的实际操作,往往是以上几种操作的综合应用。例如:对关系V再进行投影运算,可以得到仅有属性Studid(学号)、Name(姓名)、Subid(课程编号)和Score(成绩)的关系W,如表1-7所示。8/9/2022表1-6 关系V StudID Name Sex Subid Score 981102 徐逸华 男 1021 100 981103 郭茜茜 女 1031 98981202 高 涵 男 102190以上这些关系运算,在关系数据库管理系统中都有相应的操作命令。表1-7 关系W StudID Name Subid Score 981102 徐逸华 1021 100 981103 郭茜

45、茜 1031 98981202 高 涵 1021908/9/2022连接运算举例连接运算举例RA B C a1 b1 5 a1 b2 6a2 b3 8a2 b4 12 S B E b1 3 b2 7 b3 10 b3 2 b5 2 自然连接RSA B C Ea1 b1 5 3a1 b2 6 7a2 b3 8 10a2 b3 8 28/9/2022学生学生- -课程数据库课程数据库S 学生表 学 号 姓名 性别 年龄 S# SNAME SEX AGE 2004101 张明 男 19 2004102 李华 女 20 2004103 王强 男 18 2004104 秦永 男 19 C 课程表 课程号

46、 课程名 学分 任课教师 C# CNAME CREDIT TEACHER 1 数据库 6 吕 睿 2 应用软件 4 方志广 3 C语言 6 卢建增 4 科技导论 3 贾新建SC 学生选课表 学号 课程号 成绩 S# C# GRADE 200401 1 92 200401 2 85 200401 3 88 200402 2 90 200402 3 80 200403 1 78 200403 4 86 200404 2 70 200404 3 68 200404 4 908/9/2022关系数据库的规范化设计8/9/2022关系模式可能存在的问题例 有一个关系模式R(TNAME,ADDRESS,C#,CNAME),其属性分别表示教师姓名、教师地址、教的课程号和课程名。TNAMEADDRESSC#CNAMET1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T2A2C6N68/9/2022 在上例中,关系R存在着数据冗余和更新异常现象,应该用下面两个关系模式R1和R2替代R。 R1(TNAME,ADDRESS) R2(TNAME,C#,CNAME)8/9/2022谢谢大家!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁