大学计算机基础 课件 第7章 数据库系统_第1页
大学计算机基础 课件 第7章 数据库系统_第2页
大学计算机基础 课件 第7章 数据库系统_第3页
大学计算机基础 课件 第7章 数据库系统_第4页
大学计算机基础 课件 第7章 数据库系统_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章数据库系统7.1数据库的基本概念7.2数据模型目录contents7.3关系数据库7.4关系代数7.5数据库设计7.1数据库的基本概念7.1.1数据与数据处理1.数据即描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图像、声音等,数据有多种表现形式,它们都可以经过数字化后存入计算机。理解:数据是一个抽象概念,在应用中只要是能输入到计算机中的任何东西,都称之为数据。在学校的学生档案中,可以记录学生的姓名、性别、出生日期、所在系、手机号码和入学时间等;按这个次序排列组合成所下所示的一条记录:(王爱国,男,2006-10-01,五官医学院2024)这条记录里所包含的各项信息,便是数据的具体体现。7.1.1数据与数据处理2.信息信息是一种被加工成特定形式的数据,这种数据对于用户来说具有特定的意义。理解:人们通常是说天气预报为信息,并不是说数据。数据与信息的关系主要表现在以下4个方面:(1)数据是信息的符号表示,或称载体。(2)信息是数据的内涵,是数据的语义解释。(3)数据是符号化的信息。(4)信息是语义化的数据。7.1.1数据与数据处理数据数据处理数据存储信息3.数据处理

是指将数据转换成信息的过程。理解:“出生日期”是与生俱来的基本特征之一,属于原始数据。而“年龄”是由“当前时间”减去“出生日期”,具有相对性和变化性。1)怎样有效地存储和管理数据?

数据库技术2)怎样有效地处理和加工数据?

计算机编程技术7.1.2数据库、数据库管理系统与数据库系统1.数据库:是存储在计算机存储设备中的、结构化的相关数据的集合,简称DB(Database)。2.数据库管理系统:是指位于用户与操作系统之间的、方便用户管理与组织数据库的一种数据库管理软件,简称DBMS(DatabaseManagementSystem)。3.数据库应用系统:是指在数据库系统的基础上、针对某一类应用而开发出来的软件,以方便用户实现对数据的加工与处理。如教务管理系统、财务管理系统等。4.数据库系统:由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台5个部分所组成。简称为DBS(DatabaseSystem)。人们通常所说的数据库是指数据库系统。7.1.2数据库、数据库管理系统与数据库系统用户学生数据图书数据库图书馆存放数据数据库管理系统图书馆管理机构管理数据数据库应用系统流通部、阅览室…处理数据数据库、数据库管理系统、数据库应用系统各自的作用7.1.2数据库、数据库管理系统与数据库系统数据库系统(DBS)由数据库(DB)、数据库管理系统(DBMS)

、数据库管理员(DBA)

、硬件平台和软件平台5个部分所组成。其中数据库管理系统是数据库系统的核心,其目标是方便用户管理与使用数据库中的数据。硬件操作系统数据库管理系统数据库应用系统9.1.3数据库技术的发展计算机在数据管理方面也经历了由低级到高级的发展过程。计算机数据管理随着计算机硬件、软件技术和计算机应用范围而发展,先后经历了人工管理、文件系统和数据库系统三个阶段。人工管理文件系统数据库系统9.1.3数据库技术的发展1.人工管理阶段20世纪50年代以前,数据的组织和管理完全靠程序员手工完成。其硬件是:外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备;软件是:没有操作系统,没有管理数据的软件;数据处理方式是批处理。计算机数据应用程序+结果计算机处理数据的过程应用程序1数据1应用程序2数据2……应用程序n数据n数据与应用程序之间的关系1)数据不能长期保存,数据经过一次输入、处理、输出后,得到一个特定的结果。2)一个应用程序对应一个特定数据,即应用程序为了这个特定数据而编制。所有数据基本上都是专用,没有提供数据共享的能力。9.1.3数据库技术的发展9.1.3数据库技术的发展2.文件系统阶段20世纪50年代后期到60年代中期,这时硬件方面已有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,而且能够联机实时处理。由于文件系统具有数据的增、删、改等操作,使得数据管理变得轻松,且数据可以反复使用。文件系统应用程序1文件1应用程序2文件2……应用程序n文件n数据与应用程序之间的关系提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享能力。可以把它看成数据库系统的雏形,而不是真正的数据库系统。9.1.3数据库技术的发展3.数据库系统阶段20世纪60年代后期以来,计算机越来越多地应用于管理领域,使得数据量急剧增长。同时,人们对数据共享的要求也越来越强烈。文件系统管理数据已经不能满足应用的需求,于是为了解决多用户、多应用程序共享数据的要求,使数据为尽可能多的应用服务,出现了统一管理数据的专门软件系统即数据库管理系统。数据库管理系统应用程序1应用程序2…应用程序n数据与应用程序之间的关系数据库数据库中的数据具有集成与共享的特点,即数据库集中了各种应用的数据,进行统一的存储与管理,从而使它们可被不同应用程序所共同使用。9.1.3数据库技术的发展数据管理技术的3个阶段比较发展阶段人工管理阶段文件管理阶段数据库系统管理阶段背景应用目的科学计算科学计算、管理大规模管理硬件背景无直接存取设备磁盘、磁鼓大容量磁盘软件背景无操作系统有文件系统有数据库管理系统处理方式批处理联机实时处理、批处理分布处理、联机实时处理和批处理特点数据管理者人文件系统数据库管理系统数据面向的对象某个应用程序某个应用程序现实世界数据共享程度无共享,冗余度大共享性差,冗余度大共享性大,冗余度小数据的独立性不独立,完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性数据的结构化无结构记录内有结构,整体无结构整体结构化,用数据模型描述数据控制能力由应用程序控制由应用程序控制由DBMS提供数据安全性、完整性、并发控制和恢复9.1.4数据库系统的基本特点1.实现数据共享,减少数据冗余。这是数据库的基本特征。例如:全校学生的成绩都保存在教务处的数据库中。2.采用特定的数据模型。数据库中的数据都有特定的结构。3.具有较高的数据独立性。数据在数据库中怎样表示与存放,不影响到应用程序对数据的加工与处理。4.有统一的数据控制功能。例如:多个售票窗口同时卖票时,每个人都能卖到一个不同的票。9.1.5数据库系统的体系结构为了实现数据的独立性,数据库系统均遵循“三级模式和两级映射”的设计架构。1.数据库系统的三级模式结构数据库系统通过概念模式、外模式、内模式的分层架构,以抽象与封装实现数据高效管理,各层级各司其职、相互衔接。1)概念模式(模式)定位:数据库核心层级,全局数据逻辑结构的统一描述功能:定义数据的实体、属性及关系,以标准化逻辑模型(如关系模型)呈现整体架构,不涉及物理存储细节,是全体用户的共享数据视图。2)外模式(子模式/用户模式)定位:面向用户的局部数据视图,应用程序与数据库的交互接口功能:从概念模式中抽取用户所需数据,按用户认知组织呈现;支持多外模式(一个数据库可含多个外模式,均为概念模式子集),实现差异化数据访问。3)内模式(物理模式)定位:数据库最底层,描述数据物理存储细节功能:定义数据在物理介质(磁盘、SSD等)的存储形式,包括文件组织方式(顺序/索引存储)、分配策略、压缩与加密方法,直接影响数据存取效率与安全性。9.1.5数据库系统的体系结构2.数据库系统的两级映射通过外模式/概念模式映射、概念模式/内模式映射,在三级模式间搭建桥梁,保障数据逻辑独立性与物理独立性,提升系统稳定性与可维护性。1)外模式/概念模式映射定义:为每个外模式建立与概念模式的对应规则,关联局部数据逻辑(外模式)与全局数据逻辑(概念模式)独立性保障:当概念模式变更(如新增实体、调整关系)时,仅需修改该映射,外模式与应用程序无需变动(应用程序基于外模式编写),实现数据逻辑独立性。2)概念模式/内模式映射定义:唯一且固定的映射,界定全局逻辑结构(概念模式)与物理存储结构(内模式)的转换规则,将逻辑数据转化为物理记录独立性保障:当内模式变更(如更换存储设备、优化存储格式)时,仅需调整该映射,概念模式、外模式及应用程序不受影响,实现数据物理独立性,让存储层变动对上层透明。9.1.5数据库系统的体系结构三级模式、两级映射关系图7.2数据模型7.2数据模型计算机无法直接处理现实事物,需经“现实世界→信息世界→数据(机器)世界”三步规范化转化,将事物转化为计算机可存储的数据库数据。1)现实世界:独立于人脑的客观世界,含各类事物及相互联系,是信息与数据的根本源头。2)信息世界:现实世界在人类认知中的映射,经人脑感知、理解与抽象,将事物转化为概念化的信息实体及关系。3)数据(机器)世界:通过数据化手段,将信息世界的抽象实体转化为计算机可处理格式,用数据模型精确描述事物及关联,完成概念到数据的最终转换。7.2.1概念模型概念模型是对现实世界中客观事物、事物属性及事物间关联关系的高度抽象与语义化表达,专门用于信息世界的建模工作。它既保留客观事物的核心逻辑,又剥离复杂细节,是数据库设计初期的“业务总纲”。1)沟通友好性以简洁直观的形式(如实体-属性-关系图)呈现数据逻辑,无需技术背景也能理解,成为用户(业务方)与数据库设计人员对接需求、确认业务规则的关键工具,避免“需求偏差”。2)技术无关性完全独立于具体计算机系统、操作系统及数据库管理系统(DBMS,如MySQL、Oracle),不涉及数据存储格式、索引设计等技术细节,仅聚焦“事物是什么、事物间有什么关系”的语义逻辑。3)业务聚焦性帮助设计人员在项目初期脱离技术束缚,专注分析业务场景中的核心数据实体(如“用户”“订单”)、实体属性(如用户的“姓名”“手机号”)及实体关联(如“用户下单”),确保模型贴合业务本质,具备高通用性和业务适配性。7.2.1概念模型1.实体与实体集:数据建模的基础单元实体是现实世界中可区别于其他对象的物体。实体可以是人,也可以是物;可以指实际的对象,也可以指某些概念;还可以指事物与事物间的联系。实体集由相同类型、共享相同属性的多个实体组成的集合,相当于对同类对象的“集合归类”。例如,全班学生就是一个实体集。类型说明示例具体实体看得见、摸得着的实际对象学生“李阳”、教室“302室”、电脑“联想小新Pro”抽象实体无物理形态的概念或关系订单“20240508001”、课程“数据库原理”、请假记录7.2.1概念模型2.属性:实体特征的“描述维度”用于描述实体“特征、属性、状态”的具体信息维度,是实体集成员共有的“描述要素”,相当于给实体贴的“信息标签”。同一实体集的所有实体,必须包含相同类型的属性(如“学生”实体集,每个学生都有“学号”、“姓名”属性,不会有学生缺少“学号”);不同实体的同一属性,取值可能不同(如“学号”属性,学生A是“20243821001”,学生B是“20243821002”)。7.2.1概念模型属性举例:(1)学生基本信息实体“学生”实体,具有的属性包括学号、姓名、性别、籍贯、出生年月、班级、专业、院系,还可以增加备注、照片和简历。设置这些属性的目的是为了方便地实现信息查询。(2)成绩信息实体“成绩”实体,具有学号、课程代码、期中成绩、平时成绩、期末成绩和综合成绩等属性,还可以增加所得学分属性,这些属性都是成绩中必须的,是教学管理系统需要的信息。(3)课程信息实体“课程”实体具有课程代码、课程名、课时、学分属性。7.2.1概念模型3.关键字和域:实体的标识与边界1)关键字(码):实体的“唯一身份证”实体集中,能唯一确定某个具体实体的单个属性或多个属性的组合,相当于实体的“身份证号”,必须满足“取值唯一、无重复”的核心要求。例如,学生实体集,学号因其具备唯一性,可作为关键字;而姓名存在重复的可能性,无法确保对每个实体的唯一标识,因此不适合作为关键字。2)域:属性的“取值规则手册”每个属性的有效取值范围与数据类型,明确“属性能取什么类型的值、能取哪些范围的值”,相当于给属性定的“规则手册”,避免无效数据录入。数据类型:如字符串(姓名)、数值(年龄)、日期(出生年月)、布尔值(是否党员);​取值范围:如年龄“12-40”(针对学生群体)、成绩“0-100”(百分制);格式要求:如手机号“11位数字”、邮箱“含@符号”。7.2.1概念模型4.联系:实体间的“关联逻辑”现实世界中,事物并非孤立存在(如学生要选课、教师要授课),联系就是将这种“现实关联”抽象到信息世界的模型,体现实体间的交互逻辑。1)

实体内部联系:属性间的“逻辑关联”​同一实体内部,不同属性之间的依赖或计算关系。例如:​“成绩”实体:“综合成绩”=期中成绩×30%+期末成绩×70%(计算关联);​“学生”实体:“年龄”=当前年份-出生年月年份(推导关联);7.2.1概念模型4.联系:实体间的“关联逻辑”2)实体与实体间联系:不同实体的“交互关系”​是数据建模的核心,需明确“哪个实体与哪个实体关联、关联的数量规则是什么”,主要分为三类:联系类型定义示例一对一(1:1)实体集A中的1个实体,仅能关联实体集B中的1个实体;反之,实体集B中的1个实体也仅能关联实体集A中的1个实体示例:班级↔

班主任:1个班级只能有1名班主任(避免多头管理),1名班主任只能管1个班级(确保精力集中)一对多(1:N)实体集A中的1个实体,可关联实体集B中的多个实体;但实体集B中的1个实体,仅能关联实体集A中的1个实体示例:班级↔学生:1个班级有30名学生(多名关联1名),1名学生只属于1个班级(避免跨班归属)多对多(M:N)实体集A中的1个实体,可关联实体集B中的多个实体;实体集B中的1个实体,也可关联实体集A中的多个实体示例:学生↔课程:1名学生可选5门课,1门课可被40名学生选7.2.2用E-R方法表示概念模型概念模型的表示方法很多,其中最著名的是E-R方法(Entity-Relations,即实体-联系方法),它用E-R图来描述现实世界的概念模型。E-R图的主要成分是实体、联系和属性。E-R图通用的表现规则如下。矩形:表示实体集。椭圆:表示属性。菱形:用菱形表示实体间的联系,菱形框内写上联系名。用无向边分别把菱形与有关实体相连接,在无向边旁标上联系的类型。如果实体之间的联系也具有属性,则把属性和菱形也用无向边连上。线段:将属性连接到实体集或将实体集连接到联系集。双椭圆:表示多值属性。虚椭圆:表示派生属性。双线:表示一个实体全部参与到联系集中双矩形:表示弱实体集。7.2.2用E-R方法表示概念模型画出某个学校教学管理系统的E-R图。学校每学期开设若干课程供学生选择,每门课程可接受多个学生选课,每个学生可以选择学习多门课程,每门课程有一个教师主讲,每个教师可以讲授多门课程。E-R图实例7.2.3逻辑数据模型1.逻辑数据模型:数据结构化的核心框架数据库中的数据需按特定模型结构化组织,而非无序堆砌。其核心价值是定义数据间的关联关系,为数据库管理系统(DBMS)提供数据存储、检索与交互的逻辑规则。主流的逻辑数据模型主要分为层次模型、网状模型和关系模型三类。7.2.3逻辑数据模型三种模型的本质差异在于数据关联关系的表达方式,具体对比如下:模型类型核心结构数据关联特点层次模型有向树状结构严格上下级从属关系,仅支持“一对多”基础关联网状模型有向图结构突破树状限制,支持复杂多对多关联,灵活性更高关系模型二维表格结构以行(记录)、列(属性)组合定义数据及联系,直观易理解7.2.3逻辑数据模型2.层次模型:树状结构的早期数据模型数据库系统最早使用的模型,数据结构为一棵有向树,用结点表示实体(记录类型),有向边表示实体间联系。记录类型:每个结点对应一个实体类型(如“部门”、“员工”);记录值(记录):同一记录类型下的具体实例(如“技术部”是“部门”记录类型的一个记录);存取路径:从根结点逐层向下查找目标记录的路径(如“公司->技术部->前端组->员工张三”)。优势与局限性:维度具体说明优势1.结构清晰,结点间联系简单,易理解(符合人类对层次关系的认知);2.绘制时可省略有向边(已知双亲即可还原结构);3.适配现实中具有层次结构的场景(如行政层级、家族关系)。局限性1.无法表示两个以上实体型的复杂联系;2.完全不支持实体间的多对多关联(如“学生-课程”的选课关系无法体现)。7.2.3逻辑数据模型3.网状模型:突破树状限制的图结构模型取消层次模型的“根结点唯一”、“双亲唯一”限制,数据结构变为有向图,用结点表示实体,有向边(箭头)表示实体间联系。根结点可多个:允许两个或两个以上结点没有双亲(如“客户”、“商品”可同时作为顶层结点,无共同上级);双亲可多个:至少有一个结点可以有多于一个双亲(支持多上级关联,如“订单”可同时关联“客户”和“商品”两个双亲结点)。局限性:结构复杂:指针纵横交错,数据关联逻辑难梳理,增加开发与维护难度;灵活性差:指针在存储时固定,数据更新(如新增/删除记录)需频繁调整指针,系统扩充麻烦;学习成本高:需理解底层指针逻辑,对开发人员技术要求较高。7.2.3逻辑数据模型4.关系模型:当前主流的二维表格模型用二维表格结构表示实体及实体间联系的数据模型,数据结构是“二维表的集合”,每个二维表称为一个“关系”。关系->二维表(如“学生信息表”、“课程表”);元组->表格中的一行(对应一个实体实例,如“学生张三”的一条记录);属性->表格中的一列(对应实体的一个特征,如“学号”、“姓名”);主键->表中唯一标识元组的属性/属性组合(如“学生信息表”的“学号”)。优势:直观易理解:二维表格符合日常数据记录习惯(如Excel表格),非技术人员也能快速看懂;操作简便:无需关注底层存取路径,通过SQL语言即可实现数据查询、更新(如“查询张三的成绩”);灵活性高:轻松支持多对多关联(如“学生-课程”关系,通过“成绩表”中间关联即可实现)。7.2.3逻辑数据模型学生信息表学号姓名性别年龄院系ID联系电话20243821001唐三男1738011380724588820243821002王东女1638011599794655520244221003肖娅女2042211366280003320244221004胡余浩男1842211355810666620247001005王建国男20700113907199999课程表课程号课程名称学分学时教师ID备注1001高等数学364914820

1002高级语言程序设计472803801

2001计算机导论248803801

2002离散数学472953802

2003计算机组成原理364103803

2004数据结构472123804

7.3关系数据库7.3.1关系模型中的基本术语1.关系模型基本术语(一):表格的基础构成术语核心定义示例(以“学生表”为例)关系一张二维表,是数据组织的基本单元学生表(含学号、姓名、性别等列)元组表格中的一行记录,对应一个实体实例;关系是元组的集合一行数据:(20243821001,唐三,男,2006.03)属性表格中的一列,又称“字段”;第一行是属性名,列值为属性值;属性个数称“元/度”列“学号”“姓名”“性别”;“学号”的属性值为“20243821001”域某一属性的有效取值范围,限定属性不能超出该范围“性别”的域:{男,女};“成绩”的域:0-100关系模型以二维表格为基本数据结构,描述实体、实体属性及实体间联系,是当前应用最广泛的数据库模型。7.3.1关系模型中的基本术语2.关系模型基本术语(二):表格的规则与标识术语核心定义示例(以“学生表”为例)分量元组中的一个属性值(即“单元格”数据);要求是“不可分的数据项”(不允许表中表)元组(20243821001,唐三…)中“姓名”的分量:“唐三”关系模式对关系的结构描述,格式:关系名(属性1,属性2,…,属性n)学生(学号,姓名,性别,出生年月,籍贯,院系ID)候选关键字能唯一标识一个元组的单个/多个属性集合(无重复、无冗余)“学号”(唯一标识学生,无重复);若“身份证号”存在,也是候选关键字主关键字(主键)从多个候选关键字中选择一个作为主要标识,又称“主码”选“学号”作为“学生表”的主键7.3.1关系模型中的基本术语3.关系模型基本术语(三):表关联与集合术语核心定义示例与说明外关键字(外键)非所在关系的关键字,但是其他关系的主键;是表间关联的“纽带”“学生表”的“院系ID”不是学生表主键,但却是“院系表”的主键->“院系ID”是学生表的外键主属性包含在任一候选关键字中的属性;反之则为“非关键字属性”“学生表”中,“学号”(候选关键字)是主属性;“籍贯”(不在任何候选关键字中)是非关键字属性关系数据库对应一个关系模型的所有关系(表格)的集合;表间需通过外键关联,而非孤立教学管理系统的关系数据库:含学生表、院系表、课程表、成绩表等,表间通过外键(如院系ID、学号、课程号)关联7.3.1关系模型中的基本术语4.关系模型的5大核心特征描述一致性:用关系(表格)同时描述实体本身和实体间联系(如“课程表”描述课程实体,“成绩表”描述学生与课程的联系);支持多对多联系:通过中间表(如“成绩表”是学生与课程的中间表)轻松实现多对多关联;规范化要求:关系必须规范化,每个属性是不可分的数据项(不允许“表中表”,如“地址”不能拆成“省+市”后再嵌套);数学理论支撑:基于集合论、关系代数,逻辑严谨,操作可证明;非所有二维表都是关系:需满足以下“二维表必备性质”。7.3.1关系模型中的基本术语5.关系(二维表)的6大必备性质①每列分量是同一类型数据(如“年龄”列全为数值);②不同列需有不同属性名(避免混淆,如不能有两个“姓名”列);③列的次序可任意交换(不影响数据逻辑,如“姓名”和“性别”列互换位置);④任意两个元组(行)不能完全相同(确保实体可区分);⑤行的次序可任意交换(不影响数据含义,如学生记录顺序调整);⑥分量不可再分(无表中表,如“联系方式”不能同时存“电话+邮箱”且拆分成子项)。7.3.2关系数据库中表之间的关系1.表间关系的实现原理核心纽带:外键(参照表)+主键(被参照表);关键条件:两个表需有“公共字段”--该字段是一个表的主键,同时是另一个表的外键。2.典型示例:学生表与院系表的关联1)表结构示意院系表(被参照表)主键学生表(参照表)主键外键院系ID✔️学号✔️-院系名称-姓名--办公地点-性别----院系ID-✔️7.3.2关系数据库中表之间的关系2)

关联关系:一对多(1:N)逻辑:一个院系(院系表的1个元组)可对应多个学生(学生表的多个元组);例:计算机学院(院系ID=01)对应学生表中“院系ID=01”的所有学生(张三、李四等);约束:学生表的“院系ID”(外键)只能取院系表中存在的“院系ID”(主键)值,或空值(未分配院系)。3.核心价值避免数据冗余:无需在学生表中重复存储“院系名称”,通过外键关联查询即可;保障数据一致:修改院系名称时,仅需改院系表,学生表通过外键自动关联最新值。7.3.3关系模型的完整性约束1.实体完整性:主键的“唯一非空”规则1)基本概念若属性A是基本关系R的主属性(含在主键中的属性),则A不能取空值(空值=不知道”、“不存在”)。若主键是“属性组”(如成绩表”主键=学号+课程号),则所有主属性都不能取空值;例:成绩表中,“学号”和“课程号”均为主属性,两者都不能空(否则无法确定是谁的哪门课成绩)。2)规则依据(为何不能空)基本关系对应现实世界的实体集(如“学生表”对应学生实体);现实实体是可区分的(如每个学生都唯一),需主键作为唯一标识;主属性取空值->存在“不可标识的实体”,与现实逻辑矛盾。3)示例验证有效:学生表“学号=20243821001”(非空、唯一);无效:学生表“学号=null”(违反实体完整性,无法确定是哪个学生)。7.3.3关系模型的完整性约束2.参照完整性:外键的“取值规范”规则1)基本概念若属性组F是关系R的外键,且与关系S的主键Ks对应(R=参照关系,S=被参照关系),则R中每个元组的F值:要么取空值(F非主属性时);要么等于S中某个元组的Ks值(不能取S中不存在的Ks值)。2)实例:学生表(R)与院系表(S)外键F=学生表.院系ID;主键Ks=院系表.院系ID;取值要求:空值:学生未分配院系(如新生);非空:必须是院系表中存在的“院系ID”(如不能填“99”,若院系表无此ID)7.3.3关系模型的完整性约束3.用户定义的完整性:业务场景的“个性化约束”1)基本概念针对具体应用场景的语义约束,反映特定业务的需求(实体/参照完整性是通用规则,此为补充)。2)常见示例①属性唯一:“手机号”列不能重复(非主键,但业务要求唯一);②非空约束:“学生表。姓名”不能空(非主属性,但必须填);③取值范围:“成绩表。成绩”必须在0-100之间(业务限定百分制);④格式约束:“邮箱”列必须含“@”符号(符合邮箱格式)。7.4关系代数关系代数是一种抽象的查询语言,是以集合运算为基础,以关系(表)为运算对象的高级运算。任何一种运算都是将一定的运算符作用于一定的运算对象之上,从而得到预期的结果,所以运算对象、运算符和运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果也是关系7.4关系代数7.4.1传统的集合运算1.并运算设关系R和关系S具有相同的n目(属性/列),且相应的属性取自同一个域,则关系R和关系S的并(Union)由属于R或属于S的行(记录)组成。其结果关系的目数仍为n,记为。形式化定义为:

其中,t表示关系R或S中的记录,即关系R或S中的行。注意:的结果集合是R中记录和S中记录合并在一起构成的一个新关系,特别要指出的是,合并后的结果必须要去除重复记录。7.4.1传统的集合运算1.并运算例:已知关系R和关系S如表9-7和表9-8所示,计算出关系R和关系S的并,其计算结果如表9-9所示。7.4.1传统的集合运算2.差运算设关系R和关系S具有相同的n目(列/属性),且相应的属性取自同一个域,则关系R和关系S的差(Difference)由属于R具不属于S的记录组成。其结果关系的目数仍为n,记为:形式化定义为

其中,t表示属于R而不属于S的所有元组组成,结果如图所示。7.4.1传统的集合运算3.交运算设关系R和关系S具有相同的n目(列/属性),且相应的属性取自同一个域,则关系R和关系S的交(Intersection)由属于R且属于S的记录组成。其结果关系的目数仍为n,记为:形式化定义为

其中,t表示属于R和S的所有元组组成,即关系R和S中行的公共部分。7.4.1传统的集合运算4.广义笛卡尔积运算设关系R和关系S的目(列/属性)分别为r及s。关系R和S的广义笛卡儿积(ExtendedCartesian)是一个(r+s)目的记录集合(新关系有r+s列),每个记录前r个分量(属性值)来自关系R的一个记录,后s个分量是有关系S的一个记录。关系R和关系S的笛卡尔积记为,其形式化定义为

其中,trts中的r,s为下标,分别表示r个分量和s个分量。若关系R的基数(行数)为k1,关系S的基数为k2,则关系R和关系S的笛卡尔积的基数为k1×k27.4.1传统的集合运算4.广义笛卡尔积运算7.4.2专门的关系运算1.选择运算从一个关系中选出满足给定条件的记录的操作称为选择或筛选。选择运算是从行的角度进行的运算,选出满足条件的那些记录构成原关系的一个子集,其中,条件表达式中可以使用=、<>、>=、>、<和<=等比较运算符,多个条件之间可以使用逻辑运算符AND()、OR()和NOT()进行连接。选择操作记作:

其中,F表示选择条件。7.4.2专门的关系运算例:在学生信息表中,如表9-14所示,查询出所有身高>180CM的所有学生的信息7.4.2专门的关系运算2.投影运算从一个关系中选出若干指定字段的值的操作称为投影。投影是从列的角度进行的运算,所得到的字段个数通常比原关系少,或者字段的排列顺序不同。投影操作记作:

其中,A为R中的属性列。7.4.2专门的关系运算例如,查询学生的姓名和联系电话的操作如下:7.4.2专门的关系运算3.连接运算连接是把两个关系中的记录按一定条件横向结合,生成一个新的关系。最常用的连接运算是自然连接,它是利用两个关系中公用的字段,把该字段值相等的记录连接起来。需要明确的是,选择和投影都属于单目运算,它们的操作对象只是一个关系,而连接则是双目运算,其操作对象是两个关系。连接操作记作:

其中,A和B分别是R和S上度数相等且可比的属性组;是比较运算符。常见的连接是自然连接,自然连接是一种特殊的等值连接,所以在介绍自然连接之前,先介绍等值连接的定义:等值连接是为=的连接。7.4.2专门的关系运算3.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论