版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库原理与应用》第1章数据库概述1第一章内容提要数据库基本概念1数据独立性4
数据库系统的特点32数据管理技术的发展2数据库系统的组成5内容导学3学习目标熟悉并掌握查询优化的基本步骤和算法思想理解并掌握代数优化的等价变换规则和启发式优化过程理解查询优化的物理优化方法学习重点为什么要使用数据库技术数据库技术的发展历程数据库系统的功能及重要性数据库两层独立性含义思政导学4关键词:数据库,数据库技术,数据库系统,数据独立性。内容要意:数据库是数据管理的有效技术,是计算机科学的重要分支。特别是数据库已经成为每个人生活中不可缺少的部分,熟悉数据库发展历程,理解数据库技术基本概念等为后续数据库应用与开发奠定基础。思政点播:着眼于身边,联系与衣食住行相关的数据库应用,强调数据库技术的重要性;从数据库发展历程层次、网状、关系,引出四位图灵奖的获得者,以及萨师煊教授等人对我国数据库事业的贡献,理解创新发展、开拓精神的重要意义。思政目标:在我国数据库发展史的学习中激发学生自豪感,提升道路自信,强化学生对专业未来发展的使命担当,培养爱国主义情怀。1.1数据库基本概念数据(Data)数据库(DB)数据库管理系统(DBMS)数据库系统(DBS)数据库管理员(DBA)5数据(Data)6数据是数据库中存储的基本对象描述事物的符号记录称为数据数字、文字、图形、图像、音频、视频等,有多种表现形式,都可以经过数字化后存入计算机在现代计算机系统中数据的概念是广义的举例通常将姓名、学号、性别、年龄、所在院系等组织在一个记录中,如(李辉,S202301011,男,20,计算机学院),这里的一个记录就是描述一个学生的信息,这样的数据是有结构的数据库(Database,DB)7数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合数据库中的数据按一定的数据模型组织、描述和储存具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享数据库数据具有永久存储、有组织和可共享三个基本特点数据库管理系统(DBMS)8什么是数据库管理系统(DBMS)位于操作系统与用户之间是计算机的基础软件,也是一个大型复杂的软件系统主要功能(1)数据库的建立与维护包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等这些功能通常由一些实用程序或管理工具完成数据库管理系统(DBMS)9(2)数据定义功能完成数据库中对象的定义,包括表、视图、存储过程等一般由数据定义语言(DDL)实现(3)数据组织、存储和管理数据字典、用户数据、数据的存取路径等确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系提高存储空间利用率和方便存取,提供多种存取方法来提高存取效率数据库管理系统(DBMS)10(4)数据操作功能包括对数据的查询、插入、删除和修改操作等由数据操作语言(DML)完成(5)事务管理和运行管理事务是数据库处理一系列操作的一个逻辑工作单元保证事务的统一管理和控制,以保证数据库正确运行保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复数据库管理系统(DBMS)11(6)其他功能数据库管理系统与网络中其他软件系统的通信功能一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能异构数据库之间的互访和互操作功能数据库系统(DatabaseSystem,DBS)12数据库系统由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DatabaseAdministrator,DBA)组成的存储、管理、处理和维护数据的系统数据库管理员数据库的建立、使用和维护等工作除了数据库管理系统这一系统软件以外,还需要有专门的人员来完成,这些人被称为数据库管理员在不引起混淆的情况下,常把数据库系统简称为数据库数据库系统(DatabaseSystem,DBS)13数据库应用系统应用开发工具操作系统数据库管理系统数据库管理员用户用户用户…1.2数据管理技术的发展人工管理阶段文件系统阶段数据库系统阶段14人工管理阶段1520世纪50年代中期以前,计算机主要用于科学计算。当时的硬件状况是,外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备,没有操作系统,没有管理数据的专门软件,数据处理方式是批处理。穿孔纸带——早期计算机数据存储、输入方式人工管理阶段16人工管理数据具有如下特点:应用程序管理数据数据需要由应用程序自己设计、说明(定义)和管理,没有相应的软件系统负责数据的管理工作规定数据的逻辑结构,设计物理结构,包括存储结构、存取方法、输入方式等。程序员负担很重数据无法永久保存计算机主要用于科学计算,一般不需要长期保存数据人工管理阶段17数据无法共享面向应用程序,一组数据只能对应一个程序程序与程序之间有大量的冗余数据数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,数据完全依赖于应用程序,称之为数据缺乏独立性,这就加重了程序员的负担应用程序与数据之间为一一对应关系人工管理阶段18应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…人工管理阶段应用程序与数据之间的对应关系文件系统阶段19时期20世纪50年代末--60年代中产生的背景应用背景 科学计算、数据管理 硬件背景 磁盘、磁鼓 软件背景 有文件系统 处理方式 联机实时处理、批处理
文件系统阶段20文件系统管理数据具有如下特点:数据可以长期保存长期保留在外存上反复进行查询、修改、插入和删除等操作由文件系统管理数据由专门的软件即文件系统进行数据管理文件系统阶段21缺点:数据共享性差,冗余度大一个(或一组)文件基本上对应于一个应用程序(面向应用)数据冗余度大,浪费存储空间相同数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难数据独立性差数据依赖于应用程序,缺乏独立性文件系统仍然是一个不具有弹性的无整体结构的数据集合文件系统阶段22文件系统阶段应用程序与数据之间的对应关系应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…数据库系统阶段23时期20世纪60年代末以来产生的背景应用背景 大规模数据管理 硬件背景 大容量磁盘、磁盘阵列 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理文件系统到数据库系统标志着数据管理技术的飞跃数据库系统阶段24
人工管理阶段文件系统阶段数据库系统阶段背景应用背景科学计算科学计算、数据管理大规模数据管理硬件背景无直接存取、存储设备磁盘、磁鼓大容量磁盘、磁盘阵列软件背景没有操作系统有文件系统有数据库管理系统处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理
特点数据的管理者用户(程序员)文件系统数据库管理系统数据的结构化无结构记录内有结构整体无结构整体结构化用数据模型描述数据面向的对象某一应用程序某一应用现实世界中的某个场景数据的共享程度无共享,冗余度极大共享性差、冗余度大共享性高、冗余度小数据的独立性不独立,完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性数据控制能力应用程序自己控制应用程序自己控制保证数据安全性、完整性并发和恢复管理1.3数据库系统的特点一个例子相互关联结构化的数据较少的数据冗余程序与数据相互独立数据共享及数据的一致性数据的安全性、正确性与数据恢复25一个例子——大学生项目管理系统26假设:P1为实现“学生基本信息管理”功能的应用程序P2为实现“项目管理”功能的应用程序P3为实现“学生获奖情况管理”功能的应用程序文件F1、F2和F3分别包含以下信息:文件F1:学号,姓名,年龄,性别,所在学院文件F2:项目编号,项目名称,项目类型文件F3:学号,姓名,年龄,学院,项目名称,项目类型,获奖时间,获奖等级一个例子——采用文件系统实现学生项目管理27文件存储与管理系统模式程序编写者必须清楚存取方式在应用程序中编程实现查询功能采用顺序查找方法用文件管理数据时,数据的独立性(Independence)较差在文件管理中,很难控制某个人对文件的权限管理,如学生只能查看自己的基本信息文件F1,不能查看获奖文件F3;或者只能查看获奖情况,但不能修改获奖信息。缺少对数据的安全控制能力一个例子——采用数据库系统实现学生项目管理28用数据库技术管理数据时,所有的数据都被存储在一个数据库中,如图所示。一个例子——采用数据库系统实现学生项目管理29数据按照一定的结构存在数据库的表中,不但表内部有一定的结构,表之间也按照一定方式关联,如图所示。一个例子——采用数据库系统实现学生项目管理30用Create命令创建三个表:学生的基本信息:学生表F1
(学号,姓名,年龄,性别,所在学院)项目信息:项目表F2
(项目编号,项目名称,项目类型)学生的奖励情况:参与表F3
(学号,项目编号,获奖时间,获奖等级)用户对数据的操作全部通过数据库管理系统来实现相互关联结构化的数据31数据库系统实现整体数据的结构化数据库的主要特征之一,是数据库系统与文件系统的本质区别数据内部是结构化的,整体是结构化的数据之间具有联系描述数据时不仅要描述数据本身,还要描述数据之间的联系在关系数据库中,数据之间的关联关系有一对一,一对多,多对多形式,通过参照完整性来实现较少的数据冗余32由于数据被统一管理,可以从全局对数据进行最合理的组织当所需要的信息来自不同的关系表时,如(学号,姓名,项目名称,项目获奖,获奖时间)来自三个表,可通过学号和项目号的关联,将信息组织在一起对获奖或项目的删除,也不影响学生的基本信息程序与数据相互独立33当数据的存储方式发生变化时(包括逻辑存储方式和物理存储方式)是由DBMS负责维护,用户并不知道,应用程序也不必作任何修改当数据所包含的数据项发生变化时,如果应用程序与这些修改的数据项无关,则不用修改,只需要修改与之变化相关的应用程序即可在关系数据库中,数据库管理系统通过逻辑上划分的三级模式和二级映像来实现程序与数据的相互独立数据共享及数据的一致性34可以被多个用户、应用共享使用,允许多个用户同时操作相同数据当并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调针对支持多用户的大型数据库管理系统大型数据库多用户共享问题是由数据库管理系统完成,对用户是不可见的。完成多个用户之间对相同数据的操作不会产生矛盾和冲突,保证数据的一致性数据共享的好处减少数据冗余,节约存储空间避免数据之间的不相容性与不一致性使系统易于扩充数据的安全性、正确性与数据恢复35安全性保护有效防止数据库中的数据被非法使用和修改完整的备份和恢复机制,可以保证当数据遭到因软、硬件故障而被破坏时,能够很快地将数据恢复到正确状态,并使数据不丢失或少丢失,从而保证系统能够连续、可靠地运行。数据安全:通过数据库管理系统的安全控制机制实现数据可靠:通过数据库管理系统的备份和恢复机制实现数据库的恢复功能:将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能计算机系统的硬件故障、软件故障、操作员的失误以及故意破坏也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失1.4数据独立性数据独立性物理独立性逻辑独立性36数据独立性37数据独立性是数据库系统的最基本的特征之一数据的独立性是借助数据库管理数据的一个显著优点,包括数据的物理独立性和逻辑独立性由数据库管理系统提供的二级映像功能来保证简化了应用程序的编制,大大减少了应用程序的维护和修改物理独立性38物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的数据在数据库中怎样存储是由数据库管理系统管理的,应用程序要处理的只是数据的逻辑结构,逻辑结构未发生变化当数据的物理存储改变时应用程序不用改变逻辑独立性39逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的数据的逻辑结构改变时,用户程序也可以不变1.5数据库系统的组成数据库(DB)数据库管理系统(DBMS)应用程序数据库管理员(DBA)401.5数据库系统的组成硬件软件人员41硬件42数据库系统的数据量很大,加之数据库管理系统丰富的功能使得其自身的规模也很大,因此整个数据库系统对硬件资源提出了较高的要求。要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带(或光盘)作数据备份要求系统有较高的通道能力,以提高数据传送率软件43数据库系统的软件主要包括:数据库管理系统(数据库系统的核心,是建立、使用和维护数据库的系统软件)支持数据库管理系统运行的操作系统具有与数据库接口的高级语言及其编译系统(便于开发应用程序)以数据库管理系统为核心的应用开发工具(为数据库系统的开发和应用提供了良好的环境)为特定应用环境开发的数据库应用系统人员44不同的人员涉及不同的数据抽象级别,具有不同的数据视图。人员45数据库管理员(DBA)负责整个系统的正常运行,保证数据库的安全和可靠参加数据库设计的全过程决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件监控数据库的使用和运行数据库的改进和重组、重构负责在系统运行期间监视系统的空间利用率、处理效率等性能指标并根据实际应用环境不断改进数据库设计定期对数据库进行重组织,以改善系统性能人员程序分析与开发人员负责应用系统的需求分析、设计和实现参与应用程序开发整个过程和程序使用与规范说明确定系统软、硬件配置46人员47数据库设计人员负责决定数据库中的信息内容和结构参与用户需求调查和系统分析负责数据库中数据的确定及数据库各级模式的设计与用户、应用程序员、系统分析员密切合作、共同协商,做好数据库设计人员48最终用户数据库应用程序的使用者通过应用程序提供的人机交互界面来操作数据库中的数据通过应用系统的用户接口使用数据库常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等本章总结
数据库基本概念数据(Data)数据库(DB)数据库管理系统(DBMS)数据库系统(DBS)数据库管理员(DBA)数据库管理技术的发展历程人工管理阶段文件系统阶段数据库系统阶段49本章总结
数据库系统的特点相互关联结构化较少的数据冗余程序和数据相互独立数据共享及数据的一致性数据的安全性、正确性与数据恢复数据独立性物理独立性与逻辑独立性数据库的组成硬件、软件与人员50Clicktoeditcompanyslogan.谢谢51《数据库原理与应用》第2章数据模型与数据库结构52第二章内容提要数据模型2.1概念数据模型2.2逻辑数据模型2.353逻
数据库系统结构辑数据2.4内容导学54学习目标掌握数据模型构建掌握概念数据模型内涵熟悉逻辑数据模型构成熟悉数据库系统结构学习重点理解数据模型的作用与组成掌握概念模型及E-R图表示方式掌握关系模型特点及优点理解三级模式与二级映像含义思政导学55关键词:数据模型,数据库技术的发展。内容要意:如何从现实世界到计算机世界,本章将介绍模型的基本概念,概念模型、逻辑数据模型,以及数据库系统结构、映像与数据独立性,本章内容是理解数据库开发技术的基础。思政点播:从中国数据库举例,如人大金仓、武汉达梦、神舟通用、南大通用等,分析数据模型组成;从校园教务管理数据库、银行数据库,联系应用,体会与理解数据库系统结构和数据独立性的重要意义。思政目标:培养学生在思考数据库的全局全领域发展中增强战略思维能力;通过了解我国数据库的飞速发展历程,增强学生自信心,培养坚持不懈的毅力以及爱国敬业的理想。2.1数据模型
2.1.1数据与信息
2.1.2数据模型
2.1.3数据模型的组成要素562.1数据模型57
现实世界存在大量数据,这些数据散乱存在,不利于数据的访问、组织与管理,因此,必须把现实数据按照一定的方式组织起来,以方便对其进行操作和使用,这些组织的形式被称之为模型。2.1.1数据与信息58
现实世界人们需要描述各种事物,用自然语言直接描述过于繁琐,也不利于用计算机来表达。因此,通过只抽取事物的特征或属性进行各种事物的描述。例如一名计算机专业的学生李辉,他是信息学院计本2023级,2301班,20岁北京生源的学生。可以用提取的如下特征(S202301011,李辉,男,20,计本2001,信息学院,北京)来描述。这样的一行数据称为一条记录,描述事物的符号称为数据,将从数据中获得的有意义的内容称为信息。
数据有一定的格式,如姓名是不超过10个汉字的字符串,性别是一个汉字的字符。此格式是数据的语法,而数据的含义是数据的语义。因此,数据是信息存在的一种形式,数据只有通过解释或处理,才能成为有意义的信息。2.1.1数据与信息59一般来说,数据库中的数据具有静态特征和动态特征两个方面。(1)静态特征。数据的静态特征包括数据的基本结构、数据间的联系以及对数据的取值范围的约束。(2)动态特征。数据的动态特征是指对数据可以进行的操作以及操作规则。对数据库数据的操作主要有查询、插入、删除和更新,一般由Select、Insert、Delete和Update命令实现。一般对数据的静态特征和动态特征的描述称为数据模型的三要素,即在描述数据时,要包括数据结构、数据约束条件(这两个属于静态特征)和定义在数据上的操作(属于动态特征)三个方面。2.1.2数据模型60数据模型是对现实世界数据特征的抽象。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型是数据库系统的核心和基础2.1.2数据模型61数据模型分为三类(1)概念数据模型也称概念模型或信息模型,它是数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统无关。(2)逻辑数据模型也称为逻辑模型,主要用来描述数据的逻辑关系,是为了在数据库系统实现的模型,如层次模型、网状模型、关系模型等。此模型既要面向用户,又要面向系统。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。2.1.2数据模型(3)物理数据模型也称为物理模型,是对数据最底层的抽象,面向计算机物理表示的模型,描述了数据在存储介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。622.1.3数据模型的组成要素631.数据结构---描述系统的静态特性2.数据操作---描述系统的动态特性3.数据的完整性约束条件1.数据结构数据模型的数据结构描述数据库的组成对象,以及对象之间的联系描述的内容1.与对象的类型、内容、性质有关2.与数据之间联系有关数据结构是对系统静态特性的描述642.数据操作数据操作对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则数据操作的类型查询更新(包括插入、删除、修改)652.数据操作数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述663.数据的完整性约束条件一组完整性规则的集合,是对系统静态特性的描述完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容672.2概念数据模型
2.2.1基本概念
2.2.2实体-联系模型682.2.1基本概念(1)实体(Entity)
客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
唯一标识实体的属性集称为码。692.2.1基本概念(3)联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系实体之间的联系通常是指不同实体集之间的联系实体之间的联系有一对一、一对多和多对多等多种类型702.2.2实体-联系模型
概念模型的一种表示方法:实体-联系方法,其中最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach)。该方法用E-R图(E-RDiagram)来描述现实世界的概念模型,E-R方法也称为E-R模型。如图2.1中所示,表示一对一(a),一对多(b)和多对多(c)的关系。71图2.1实体及其联系示例2.3逻辑数据模型
2.3.1层次模型
2.3.2网状模型2.3.3关系模型722.3逻辑数据模型
逻辑数据模型是从数据的组织形式来描述信息。目前数据库领域中主要的逻辑数据模型有:层次模型(HicrarchicalModel)、网状模型(NetworkModel)、关系模型(RelationalModel)、面向对象模型
(ObjectOrientedModel)和对象关系模型(ObjectRelationalModel)。下面着重介绍层次、网状和关系这三种模型的数据结构。732.3.1层次模型层次模型是数据库系统中最早出现的数据模型层次数据库系统的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系741.层次模型的数据结构层次模型的定义:满足下面两个条件的基本层次联系的集合为层次模型(1)有且只有一个结点没有双亲结点,这个结点称为根结点(2)根以外的其它结点有且只有一个双亲结点层次模型的特点:(1)任何一个给定的记录值只有从层次模型的根部开始,按路径查看时,才能明确其含义,任何子节点都不能脱离父节点而存在。(2)只能直接处理一对多的实体联系(3)每个记录类型可以定义一个排序字段,也称为码字段751.层次模型的数据结构
如图2.2是由学院到专业,由专业到教师,由学院到学生均是一对多的层次联系。76图2.2学院层次数据模型1.层次模型的数据结构图2.3是图2.2数据模型对应的一个值。该值是D02信息学院记录值及其所有后代记录值所组成的一棵树。D02学院有三个专业记录值R01、R02、R03和三个学生记录值S24001、S24002、S24003。软件工程教研室R01有三个教师记录值为TR2401、TR2402、TR2403,教研室R03有两个教师记录值
TN2401、TN2402。77图2.3学院层次数据模型值范例2.层次模型的数据操作与完整性约束层次模型的数据操作层次模型的数据操作主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件层次模型的完整性约束条件无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除783.层次模型的优缺点优点层次模型的数据结构比较简单清晰查询效率高,性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点现实世界中很多联系是非层次性的,不适合用层次模型表示。对插入和删除操作的限制多,应用程序的编写比较复杂查询子女结点必须通过双亲结点由于结构严密,层次命令趋于程序化792.3.2网状模型
数据库语言研究会(ConferenceOnDataSystemLanguage,CODASYL)下属的数据库任务组(DataBaseTaskGroup,DBTG)于1971年提出了一个系统方案——DBTG系统,也称CODASYL系统,对网状数据模型和语言进行了定义。因此网状数据模型,又称为CODASYL模型或DBTG模型。801.网状模型的数据结构
在现实世界中,事物之间的联系更多的是非层次关系的,是一种比层次模型更具普遍性的结构。如果去掉层次模型中的两点限制,即成为网状模型。(1)
允许一个以上的结点无双亲。(2)一个结点可以有多于一个的双亲。
与层次模型一样,网状模型中每个节点表示一个记录类型,每个记录类型可包含若干个字段,节点间的连线表示记录类型之间一对多的父子联系。811.网状模型的数据结构
例如图2.4中(a)、(b)、(c)都是网状模型的例子。(a)中R3有两个双亲记录R1和R2,而R1和R2
两个节点都没有双亲。82图2.4网状模型的范例1.网状模型的数据结构
网状模型和层次模型从逻辑上看,都是用连线表示实体之间的联系,用节点表示实体;从物理实现上看,二者都是用指针来实现文件以及记录之间的联系,差别在于网状模型中的连线或指针更复杂、交错,从而相应的数据结构也更复杂,如图2.5为学生教师课程网状结构组织数据。83图2.5网状结构示意图2.网状模型的操纵与完整性约束网状模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操作都加了一些限制,提供了一定的完整性约束(如DBTG)码:唯一标识记录的数据项的集合一个联系中双亲记录与子女记录之间是一对多联系支持双亲记录和子女记录之间某些约束条件843.网状模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节852.3.3关系模型关系数据库系统采用关系模型作为数据的组织方式1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型计算机厂商新推出的数据库管理系统几乎都支持关系模型861.关系模型的数据结构关系模型与以往的模型不同,它是建立在严格的数学概念的基础上的。从用户观点看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。右侧以“大学生项目管理”为例,三个关系对应了三张表。87学号Sno姓名Sname性别Ssex年龄Sage所在学院DnoS202301011李辉男20DP02S202301012张昊男18DP03S202301013王翊女21DP02……………项目号Pno项目名称Pname项目类型ProjecttypeP1001大学生创新创业训练计划项目学生大创项目P1002全国大学生数学建模竞赛数学建模竞赛P2003电子商务三创赛双创竞赛………学号Sno项目号Pno时间Times获奖Awards指导教师SupervisorS202301012P30052022省二等奖周顺S202301011P20032020校二等奖顾明S202301017P10022021省一等奖张载之……………1.关系模型的数据结构关系模型要求规范化的,即要求关系必须满足一定的条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。例如,表2.1中工资和扣除是可分的数据项,工资又分为基本工资、岗位津贴和业绩津贴。因此,表2.1的结构就不符合关系模型要求。88教工号姓名职称工资扣除实发基本工资岗位津贴业绩津贴三险86051陈平讲师2305120018501605195……………………表2.1教师表2.关系模型的操作与完整性约束数据操作是集合操作,操作对象和操作结果都是关系查询、插入、删除、更新存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”关系的完整性约束条件实体完整性参照完整性用户定义的完整性893.关系模型的优缺点优点建立在严格的数学概念的基础上概念单一实体和各类联系都用关系来表示对数据的检索结果也是关系关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作903.关系模型的优缺点缺点存取路径对用户透明,查询效率往往不如格式化数据模型为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度912.4数据库系统结构
2.4.1模型的基本概念
2.1.2三级模式结构2.1.3模式映像与数据独立性922.4数据库系统结构从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构从数据库最终用户角度看,数据库系统的结构分为:单用户结构主从式结构分布式结构客户/服务器浏览/服务器结构等932.4.1模式的基本概念“型”和“值”的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如学生记录:(学号,姓名,性别,系别,年龄,籍贯)一个记录值:(S202301011,李辉,男,计算机系,20,北京市)942.4.1模式的基本概念模式(Schema)数据库中全体数据的逻辑结构和特征的描述是型的描述,不涉及具体值反映的是数据的结构及其联系模式是相对稳定的实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动952.4.1模式的基本概念例如2.3.3节大学生项目管理,它的数据库模式中包含学生表、项目表和参与表。
2023年学生项目管理数据库实例,包含:2023年学校中所有学生的记录学生参加各类课外创新项目实践2022年度学生信息与项目信息与
2023年度学生信息与项目信息不同的962.4.2三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,如图2.6所示。97图2.6数据库系统的三级模式结构1.外模式(ExternalSchema)外模式也称为用户模式或子模式,它是对现实系统中用户关注的整体数据的局部描述,是局部数据的逻辑结构和特征,是数据库整体结构(即模式)的子集或局部重构。外模式通常是模式的子集。一个数据库可以有多个外模式。例如,学生项目管理数据库,学生可查看自己的信息,教师可统计学生的项目获奖情况,这都是不同的外模式,访问局部数据库,所访问的信息是数据库信息的组合或重构。981.外模式(ExternalSchema)外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统使用但一个应用程序只能使用一个外模式991.外模式(ExternalSchema)外模式的用途保证数据库安全性的一个有力措施每个用户只能看见和访问所对应的外模式中的数据1002.模式(Schema)模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关1012.模式(Schema)模式的定义定义数据的逻辑结构(数据项的名字、类型、取值范围等)定义数据之间的联系定义与数据有关的安全性、完整性要求1023.内模式(InternalSchema)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式或底层描述数据的物理存储方式索引的组织方式数据是否压缩存储,数据是否加密数据存储记录结构的规定一个数据库只有一个内模式1032.4.3模式映像与数据独立性三级模式是对数据的三个抽象级别二级映象在数据库管理系统内部实现这三个抽象层次的联系和转换1.外模式/模式映像2.模式/内模式映像1041.外模式/模式映像模式:描述的是数据的全局逻辑结构外模式:描述的是数据的局部逻辑结构同一个模式可以有任意多个外模式每一个外模式,数据库系统都有一个外模式到模式的映像,定义了该外模式与模式之间的对应关系映象定义通常包含在各自外模式的描述中1051.外模式/模式映像保证数据的逻辑独立性当模式改变时,由数据库管理员,调整各个外模式到模式的映像,使外模式保持不变应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性1062.模式/内模式映像
模式/内模式映像定义了数据库逻辑结构与物理存储之间的对应关系。该映像关系通常被保存在数据库系统表中,由DBMS自动创建和维护。保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。1072.模式/内模式映像数据库模式即全局逻辑结构是数据库的中心与关键独立于数据库的其他层次设计数据库模式结构时应首先确定数据库的逻辑模式数据库的内模式依赖于它的全局逻辑结构独立于数据库的用户视图,即外模式独立于具体的存储设备1082.模式/内模式映像将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率数据库的外模式面向具体的应用程序定义在逻辑模式之上独立于存储模式和存储设备1092.模式/内模式映像当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动设计外模式时应充分考虑到应用的扩充性数据库的二级映像保证了数据库外模式的稳定性数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。除非应用需求本身发生变化,否则应用程序一般不需要修改。110习题一、选择题1.以下哪个不是数据模型组成三要素的内容()。A.数据结构B.数据存储C.数据操作D.数据完整性约束2.下列关于概念层数据模型的说法,错误的是()。A.概念层数据模型应该采用易于用户理解的表达方式B.概念层数据模型应该比较易于转换成组织层数据模型C.在进行概念层数据模型设计时,需要考虑具体的DBMS的特点D.在进行概念层数据模型设计时,重点考虑的内容是用户的业务逻辑1113.关于E-R模型,错误的是()。A.信息世界的数据模型B.设计数据库时与用户交流时使用C.也称为实体联系图D.是代码编写阶段的工具4.以下关于层次模型的说法中,错误的是()。A.层次数据模型属于格式化数据模型B.层次模型不具备数据和程序的物理独立性C.层次模型有且仅有一个无双亲的根结点D.层次模型是一种以记录类型为结点的有向树结构1125.描述数据库全体数据的全局逻辑结构和特性的是()A.模式B.内模式C.外模式D.用户模式6.要保证数据库的逻辑数据独立性,需要修改的是()A.模式与外模式的映射B.模式与内模式之间的映射C.模式D.三层模式113习题二、简答题1.什么是数据模型?试述其分类和组成要素。2.什么是概念模型?试述概念模型的作用。3.试述层次模型、网状模型和关系模型的区别与优缺点。4.说明实体-联系中的实体、属性和联系的概念,并举例说明实体之间的联系。5.试述数据库系统的三级模式结构,分别说明每一级模式的作用。6.试述数据库系统的二级映像指什么?如何保证数据库的独立性?114Clicktoeditcompanyslogan.谢谢115《数据库原理与应用》第3章关系数据库116第三章内容提要关系数据结构3.1关系操作3.2关系完整性3.3117逻
关系代数辑数据3.4内容导学118学习目标掌握关系数据结构及形式化定义熟悉关系操作和关系数据语言的分类掌握关系的三类完整性学会关系代数的表示方法学习重点关系的定义、性质和关系模式关系的三类完整性约束的具体应用专门的关系运算的应用思政导学119关键词:关系模型,关系模式,完整性约束,关系代数。内容要意:关系数据库系统是基于关系模型的数据库系统,也是目前使用最广泛的数据库系统。关系模型是建立在严格的数学概念基础上的,关系的三类完整性约束是为了保证数据库中数据的正确性和有效性。关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。思政点播:结合大学生项目管理数据库实例,介绍关系的三类完整性约束的具体应用,使学生能够根据实际问题进行分析;介绍关系代数的表达方法,让学生体会关系代数运算的严谨性和科学性。思政目标:通过对完整性约束和关系代数表达式的讲解和具体应用,培养学生科学严谨的逻辑思维,根据具体问题进行具体分析,培养学生的探索和创新精神。关系数据库简介关系数据库系统是基于关系模型的数据库系统。1970年,美国IBM公司的E.F.Codd系统地提出了关系模型,开创了数据库系统的新纪元。关系模型由关系数据结构、关系操作集合和关系完整性约束三要素组成。关系模型的数据结构描述了现实世界的实体以及实体间的联系。也就是说,在关系模型中,现实世界的实体以及实体间的联系均用关系来表示。3.1关系数据结构3.1.1关系的定义与性质3.1.2关系模式3.1.3关系数据库3.1.1关系的定义与性质单一的数据结构----关系现实世界的实体以及实体间的各种联系均用关系来表示逻辑结构----二维表
从用户角度,关系模型中数据的逻辑结构是一张二维表,但不是所有的二维表都叫关系。建立在集合代数的基础上关系的定义与性质(续)1.域(Domain)
2.笛卡儿积(CartesianProduct)
3.关系(Relation)1.域(Domain)域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数指定长度的字符串集合{‘男’,‘女’}……………..2.
笛卡儿积(CartesianProduct)笛卡儿积给定一组域D1,D2,…,Dn,允许其中某些域是相同的。
D1,D2,…,Dn的笛卡儿积为:
D1×D2×…×Dn={(d1,d2,…,dn)|di
Di,i=1,2,…,n}所有域的所有取值的一个组合不能重复笛卡儿积(续)
元组(Tuple)笛卡儿积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(李辉,经济学院)、(赵岚,计算机学院)等都是元组
分量(Component)笛卡儿积元素(d1,d2,…,dn)中的每一个值di叫作一个分量李辉、经济学院等都是分量
笛卡儿积(续)基数(Cardinalnumber)一个域允许的不同取值个数称为这个域的基数。若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:笛卡儿积的表示方法笛卡尔积可表示为一张二维表表中的每行对应一个元组,表中的每列对应一个域笛卡儿积(续)例如,给出2个域:D1=学生集合={李辉,赵岚,王翊},D2=学生所在学院集合={计算机学院,经济学院}D1,D2的笛卡尔积为:D1×D2={(李辉,计算机学院),(赵岚,计算机学院),(王翊,计算机学院),(李辉,经济学院),(赵岚,经济学院),(王翊,经济学院)}。基数为3×2=6
笛卡尔积(续)学生所在学院李辉计算机学院赵岚计算机学院王翊计算机学院李辉经济学院赵岚经济学院王翊经济学院
笛卡儿积(续)3.关系(Relation)(1)关系
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为
R(D1,D2,…,Dn)
R:关系名n:关系的目或度(Degree)关系(续)(2)元组关系中的每个元素是关系中的元组,通常用t表示。(3)单元关系与二元关系当n=1时,称该关系为单元关系(Unaryrelation)或一元关系当n=2时,称该关系为二元关系(Binaryrelation)关系(续)(4)关系的表示关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域.(5)属性关系中不同列可以对应相同的域为了加以区分,必须对每列起一个名字,称为属性(Attribute)n目关系必有n个属性关系(续)(6)码候选码(Candidatekey)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码简单的情况:候选码只包含一个属性全码(All-key)最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)关系(续)(6)码(续)主码若一个关系有多个候选码,则选定其中一个为主码(Primarykey),一个关系中只有一个主码。主属性包含在候选码中的属性称为主属性(Primeattribute)不包含在任何侯选码中的属性称为非主属性(Non-Primeattribute)或非码属性(Non-keyattribute)关系(续)D1,D2,…,Dn的笛卡儿积的某个子集才有实际含义例:表3.1的笛卡尔积没有实际意义取出有实际意义的元组来构造学生-学院关系假设:学生与学院:n:1,一个学生只属于一个学院。学生所在学院李辉计算机学院赵岚经济学院王翊计算机学院表3.2学生-学院关系关系(续)(7)三类关系基本关系(基本表或基表)实际存在的表,是实际存储数据的逻辑表示查询表查询结果对应的表视图表由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据关系(续)(8)关系的性质①列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。②不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名③同一关系中,任意两个元组不能相同④列的顺序无所谓,列的次序可以任意交换关系的性质(续)⑤行的顺序无所谓,行的次序可以任意交换⑥分量必须取原子值这是规范条件中最基本的一条
表3.3非规范化关系小表学生所在学院学生1学生2李辉王翊计算机学院赵岚
经济学院3.1关系数据结构3.1.1关系3.1.2关系模式3.1.3关系数据库3.1.2关系模式1.什么是关系模式2.定义关系模式3.关系模式与关系1.什么是关系模式关系模式(RelationSchema)是型关系是值关系模式是对关系的描述元组集合的结构属性构成属性来自的域属性与域之间的映象关系完整性约束条件2.定义关系模式关系模式可以形式化地表示为:
R(U,D,DOM,F)
R 关系名
U
组成该关系的属性名集合
D
U中属性所来自的域
DOM 属性向域的映象集合
F
属性间数据的依赖关系的集合定义关系模式(续)关系模式通常可以简记为
R(U)或R(A1,A2,…,An)R:关系名A1,A2,…,An:属性名注:域名及属性向域的映象常常直接说明为属性的类型、长度3.关系模式与关系关系模式对关系的描述静态的、稳定的关系关系模式在某一时刻的状态或内容动态的、随时间不断变化的关系模式和关系往往笼统称为关系通过上下文加以区别3.1关系数据结构3.1.1关系3.1.2关系模式3.1.3关系数据库3.1.3关系数据库关系数据库在一个给定的应用领域中,所有关系的集合构成一个关系数据库关系数据库的型与值关系数据库的型:关系数据库模式,是对关系数据库的描述关系数据库的值:关系模式在某一时刻对应的关系的集合,通常称为关系数据库第三章关系数据库3.1关系数据结构3.2关系操作3.3关系的完整性3.4关系代数3.2.1基本的关系操作
常见的关系操作:查询、插入、删除和修改四种操作又可以分为两大类:数据查询:选择、投影、连接、除、并、交、差、笛卡儿积。数据更新:插入、删除、修改。选择、投影、并、差、笛卡儿积是5种基本操作关系操作的特点集合操作方式:操作的对象和结果都是集合。3.2.2关系数据库语言的分类
关系代数语言用对关系的运算来表达查询要求代表:ISBL关系演算语言:用谓词来表达查询要求元组关系演算语言谓词变元的基本对象是元组变量代表:APLHA,QUEL域关系演算语言谓词变元的基本对象是域变量代表:QBE具有关系代数和关系演算双重特点的语言代表:SQL(StructuredQueryLanguage)第三章关系数据库3.1关系数据结构3.2关系操作3.3关系的完整性3.4关系代数关系的三类完整性约束实体完整性和参照完整性关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持用户定义的完整性应用领域需要遵循的约束条件,体现了具体领域中的语义约束3.3关系的完整性3.3.1实体完整性3.3.2参照完整性3.3.3用户定义的完整性3.3.1实体完整性
实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值空值就是“不知道”或“不存在”的值
例:学生(学号,姓名,性别,年龄,学院编号)关系中学号为主码,则学号不能取空值。如果主码由若干属性组成,则所有这些主属性都不能取空值。例:参与(学号,项目编号,时间,奖项,指导教师,备注)关系中,“学号、项目编号”为主码,则“学号”和“项目编号”两个属性都不能取空值。实体完整性(续)实体完整性规则的说明(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。(3)关系模型中以主码作为唯一性标识。(4)主码中的属性即主属性不能取空值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性3.3关系的完整性3.3.1实体完整性3.3.2参照完整性3.3.3用户定义的完整性3.3.2参照完整性1.关系间的引用2.外码3.参照完整性规则1.关系间的引用现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。关系的外码体现了关系与关系的联系,也存在着关系与关系之间的引用。2.外码(ForeignKey)设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是R的外码基本关系R称为参照关系(ReferencingRelation)基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)外码(续)[例3.1]学生实体和学院实体可以用下面的关系来表示,其中主码用下划线标识。学生(学号,姓名,性别,年龄,学院编号)学院(学院编号,学院名称,学院负责人,办公电话)学生关系的“学院编号”与学院关系的主码“学院编号”相对应。“学院编号”属性是学生关系的外码。学院关系为被参照关系或目标关系,学生关系为参照关系。外码(续)[例3.2]学生、项目、学生与项目之间的多对多联系可以用如下三个关系表示:学生(学号,姓名,性别,年龄,学院编号)项目(项目编号,项目名称,项目类型)参与(学号,项目编号,时间,奖项,指导教师,备注)参与关系的“学号”与学生关系的主码“学号”相对应;参与关系的“项目编号”与项目关系的主码“项目编号”相对应,“学号”和“项目编号”属性是参与关系的外码。学生关系和项目关系均为被参照关系或目标关系,参与关系为参照关系。外码(续)[例3.3]学生(学号,姓名,性别,年龄,学院编号,班长)关系中,学号是主码,“班长”属性表示该学生所在班级的班长学号。“班长”与本身的主码“学号”相对应“班长”是外码学生关系既是参照关系也是被参照关系外码(续)关系R和S不一定是不同的关系目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别。3.参照完整性规则
参照完整性规则若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值参照完整性规则(续)[例3.1]中学生关系中每个元组的“学院编号”属性只取两类值:(1)空值,表示尚未给该学生分配学院。(2)非空值,这时该值必须是学院关系中某个元组的“学院编号”值,表示该学生不可能分配一个不存在的学院。参照完整性规则(续)[例3.2]中参与(学号,项目编号,时间,奖项,指导老师,备注)“学号”和“项目编号”可能的取值:(1)参与关系中的主属性,不能取空值。(2)只能取相应被参照关系中已经存在的主码值。参照完整性规则(续)[例3.3]中学生(学号,姓名,性别,年龄,学院编号,班长)“班长”属性值可以取两类值:(1)空值,表示该学生所在班级尚未选出班长。(2)非空值,该值必须是本关系中某个元组的学号值。3.3关系的完整性3.3.1实体完整性3.3.2参照完整性3.3.3用户定义的完整性3.3.3用户定义的完整性针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能。用户定义的完整性(续)例3.2学生关系中,“学号”属性必须取唯一值;非主属性“性别”为“男”或“女”;“年龄”属性取值大于0。第三章关系数据库3.1关系数据结构3.2关系数据操作3.3关系的完整性3.4关系代数3.4关系代数关系代数是一种抽象的查询语言,它用对关系的运算来表达查询关系代数运算对象是关系运算结果亦为关系关系代数的运算符有两类:集合运算符和专门的关系运算符传统的集合运算是从关系的“水平”方向即行的角度进行专门的关系运算不仅涉及行而且涉及列3.4关系代数关系代数运算符类型运算符含义集合运算符∪并差∩交笛卡儿积专门的关系运算符选择投影连接除
3.4关系代数3.4关系代数3.4.1
传统的集合运算3.4.2
专门的关系运算(1)并(Union)R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域R∪S
仍为n目关系,由属于R或属于S的元组组成
R∪S={t|t
R∨t
S}并(续)ABC123456789ABC123456789101112ABC456789101112RSRUS(2)差(Difference)R和S具有相同的目n相应的属性取自同一个域R-S
仍为n目关系,由属于R而不属于S的所有元组组成
R-S={t|t
R∧t
S}差(续)ABC123RSR-SABC123456789ABC456789101112(3)交(Intersection)R和S具有相同的目n相应的属性取自同一个域R∩S仍为n目关系,由既属于R又属于S的元组组成
R∩S={t|t
R∧t
S} R∩S=R–(R-S)交(续)ABC456789RSR∩SABC123456789ABC456789101112(4)笛卡儿积(CartesianProduct)严格地讲应该是广义的笛卡儿积(ExtendedCartesianProduct)R:n目关系,k1个元组S:m目关系,k2个元组R×S
列:(n+m)列元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1×k2个元组R×S={tr
ts|tr
R∧ts
S}笛卡儿积(续)R.AR.BR.CS.AS.BS.C123456123789123101112456456456789456101112789456789789789101112RSR×SABC123456789ABC4567891011123.4关系代数3.4.1传统的集合运算3.4.2专门的关系运算3.4.2专门的关系运算先引入几个记号(1)R,t
R,t[Ai]
设关系模式为R(A1,A2,…,An)
它的一个关系设为R
t
R表示t是R的一个元组
t[Ai]则表示元组t中相应于属性Ai的一个分量
专门的关系运算(续)(2)A,t[A],A
若A={A1,A2,…,Ak},其中A1,A2,…,Ak是A1,A2,…,An中的一部分,则A称为属性列或属性组。
t[A]=(t[A1],t[A2],…,t[Ak])表示元组t在属性列A上诸分量的集合。
A则表示{A1,A2,…,An}中去掉{A1,A2,…,Ak}后剩余的属性组。专门的关系运算(续)(3)trtsR为n目关系,S为m目关系。
tr
R,ts
S,trts称为元组的连接。
trts是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。专门的关系运算(续)1.选择2.投影3.连接4.除专门的关系运算(续)
Student大学生项目管理数据库:学生关系Student、学院关系Department、项目关系Project和参与关系SP。学号Sno姓名Sname性别Ssex年龄Sage所在学院DnoS202301011李辉男20DP02S202301012张昊男18DP03S202301013王翊女21DP02S202301014赵岚女19DP01S202301015韦峰男20DP04S202301016刘瑶瑶男18DP03S202301017陈恪男22DP02专门的关系运算(续)Department学院号Dno学院名Dname院长Dprexy电话DphoneDP01经济学院张长弓81660128DP02计算机学院李岚春81660148DP03数学学院赵聪81660168DP04管理学院朱照81660188专门的关系运算(续)Project项目号Pno项目名称Pname项目类型ProjecttypeP1001大学生创新创业训练计划项目学生大创项目P1002全国大学生数学建模竞赛数学建模竞赛P2003电子商务三创赛双创竞赛P2004基于深度学习的恶意软件防御分析教师科研项目P3005全国信息安全与对抗技术竞赛网络安全竞赛专门的关系运算(续)
SP学号Sno项目号Pno时间Times获奖Awards指导教师Supervisor备注RemarkS202301012P30052022省二等奖周顺
S202301011P20032020校二等奖顾明
S202301017P10022021省一等奖张载之
S202301012P20042023国家二等奖毛舜城
S202301011P10012023国家级项目立项殷开山
S202301014P30052022省一等奖朱毅
S202301011P20042021省部级立项项目王锡城
S202301015P10012022省级项目立项刘弼州
S202301016P10022021国家二等奖罗熠
S202301013P20032019国
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钠离子电池及储能装备生产线项目立项报告
- 2026年物流行业智能仓储系统应用报告
- 公司团建入场管理方案
- 企业预算定额管理方案
- 企业项目融资统筹方案
- 企业数据治理实施方案
- 2025-2030年婚礼租车服务企业县域市场拓展与下沉战略分析研究报告
- 2025-2030年多功能组合微波炉行业跨境出海战略分析研究报告
- Unit 5 课时6 Section B (Project-Reading Plus)教学设计-八年级英语下册
- 2025-2030年网络直播综艺节目行业深度调研及发展战略咨询报告
- 公路四新技术培训课件
- 跨境电商文化内涵介绍
- 2026年北京航空航天大学工科面试航空航天兴趣与工程实践含答案
- 外墙瓷砖改涂真石漆施工方案
- 心梗合并室间隔穿孔课件
- 红斑狼疮患者术前准备注意事项
- 素描基础的入门课件
- 高考语文范文《成事须有“三力”-心力、能力、外力》
- 2018马原第七章共产主义崇高理想及其最终实现
- 制造工艺设计规范
- 盆栽种植与养护劳动课件
评论
0/150
提交评论