数据库原理与应用课件全套 第1-11章-绪论与项目案例介绍-课堂教学版 - 数据库新技术与发展趋势-课堂教学版_第1页
数据库原理与应用课件全套 第1-11章-绪论与项目案例介绍-课堂教学版 - 数据库新技术与发展趋势-课堂教学版_第2页
数据库原理与应用课件全套 第1-11章-绪论与项目案例介绍-课堂教学版 - 数据库新技术与发展趋势-课堂教学版_第3页
数据库原理与应用课件全套 第1-11章-绪论与项目案例介绍-课堂教学版 - 数据库新技术与发展趋势-课堂教学版_第4页
数据库原理与应用课件全套 第1-11章-绪论与项目案例介绍-课堂教学版 - 数据库新技术与发展趋势-课堂教学版_第5页
已阅读5页,还剩1494页未读, 继续免费阅读

下载本文档

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

文档简介

常玉慧欢迎进入数据库世界《数据库原理与应用》学时安排教学内容讲课实验合计第一讲数据库系统概论2

2第二讲关系数据库基础4

4第三讲建立表和定义完整性约束2

2第四讲数据库设计8

8第五讲关系数据库标准语言SQL4

4第六讲数据库的编程基础2

2第七讲数据库管理10

10实验1数据库设计概念数据模型设计

22数据库设计

22实验2使用SQL语句对数据表操纵建立表和定义完整性约束

22数据操作及体验完整性约束

22数据查询

22实验3视图、存储过程、触发器的设计与使用视图的建立和应用

22游标的设计和使用

22存储过程的设计和使用

22DML触发器的设计和应用

22实验4数据库管理用户管理和权限管理

22并发事务控制

22数据恢复

22

合计322456课程考核作业:10%实验:20%阶段性测试:20%期终考试:50%课程目标

1.理解与掌握数据库基础知识、数据库设计的方法、数据库规范化理论、数据库管理知识,并能灵活运用这些知识,为解决计算机复杂工程问题打下良好基础;具备在实际环境中,能够针对复杂软件工程问题,根据具体的信息描述和特定的需求,制订优化的数据库设计方案,设计合理的数据库管理方案,包括数据库安全性保护方案、数据库完整性保护方案、数据库并发保护方案和数据库恢复方案。2.掌握SQL语句,并能熟练利用SQL语言进行数据库系统的开发及实施。能够根据特定的需求,合理设计数据库中的表、视图、索引、存储过程、触发器等各类对象,并能够结合相关高级语言开发软件系统的相关模块。3.掌握一种数据库建模工具并能在数据库设计的过程中正确的使用。能够针对复杂软件工程问题,在进行数据库设计的过程中,正确使用PowerDesigner创建数据库的概念模型、逻辑模型和物理模型。绪论与项目案例介绍第1章2026数据库原理与应用教材第1页本章知识要点第1章【知识要点】教材第1页02/58数据库系统定义、重要性与基本组成三级模式二级映像关系、作用与数据独立性数据模型概念、组成与分类关系模型特点与优势数据库的角色在应用系统中的作用以上五项为教材列出的本章知识要点。数据库在外卖点餐系统中的作用第1章【场景】教材第1页03/58教材原文数据库的定义:数据库是存储、管理和检索大量点餐数据的核心组件,对于确保系统高效运行与用户体验至关重要。存储保存点餐系统中的大量数据管理支撑数据的组织与维护检索为业务操作提供数据访问第一章的教材结构第1章内容结构教材第1—20页04/581.1数据库系统概述数据管理、发展历史与基本组成1.2三级模式二级映像数据抽象、三级模式与数据独立性1.3数据模型模型层次、三个世界与E-R图1.4外卖点餐系统案例功能、规则、非功能与数据需求1.5章节结语回顾概念并衔接后续章节教材项目的主要功能范围1.4数据库系统应用教材第17页05/58餐饮分类浏览商家选择商品选购订单管理地址管理教材项目主要实现以上功能,并支持用户注册登录和历史订单追溯。数据库系统概述1.12026数据库原理与应用教材第1—9页1.1.1数据:定义与基本形式1.1.1数据与数据管理教材第1页07/58教材原文数据的定义:描述事物的符号记录称为数据,能够被计算机所识别、存储和处理。数值数据数值形式的符号记录文本数据文字形式的符号记录音频、视频数据声音与影像形式的符号记录数据的四个基本特征1.1.1数据与数据管理教材第2页08/58类型和值商家名称为字符型,其值为“张三麻辣烫”等。类型和取值范围约束订单状态为整数类型,正常取值范围在0—1之间。定性数据和定量数据饮品分量可用“大杯/中杯/小杯”,也可用“1L/500ML/250ML”。多种表示形式用户性别可用“男/女”表示,也可用0或1表示。数据与信息:加工结果及其相对性1.1.1数据与数据管理教材第2页09/58教材原文信息的定义:经过进一步加工后具有新的事实知识的数据称为信息。信息是对数据加工、处理的结果,对接收者有意义,并对决策具有价值。销售总管日销售额或月销售额仍是原始数据;还需按地区、商店分析并规划市场策略。本地商店销售人员同一销售额可看作信息,用于规划下一步促销行动。教材结论数据与信息类似原料与成品的关系,同时又具有相对性。数据处理与数据管理1.1.1数据与数据管理教材第2页10/58数据管理收集信息、表示数据、组织和保存数据数据加工对数据进行变换、抽取和运算数据传播在空间或时间上以各种形式传播信息,不改变数据的结构、性质和内容数据处理是将数据转换成信息的过程;数据管理是数据处理的中心问题。1.1.2数据库技术的发展历史1.1.2数据库技术的发展历史教材第3—4页11/58阶段一人工管理20世纪50年代中期以前阶段二文件系统20世纪50年代后期至60年代中期阶段三数据库系统20世纪60年代后期开始发展标志:存储冗余不断减小、数据独立性不断增强、数据操作更加简单方便。人工管理阶段:三个主要特点1.1.2数据库技术的发展历史教材第3页12/58数据不能保存计算结束后,数据空间随程序空间一起被释放。数据不能独立数据与程序不可分割;修改数据必须修改程序。数据面向程序一组数据对应一个程序,冗余高且不能共享。图1-1人工管理阶段程序与数据的关系文件系统阶段:三个主要特点1.1.2数据库技术的发展历史教材第3页13/58数据长期保留数据可在外存上反复查询、修改和删除。具有一定独立性文件逻辑结构与物理存储结构由系统转换。支持实时处理可采用顺序批处理或实时处理,存取单位为记录。图1-2文件管理阶段程序与数据的关系数据库系统阶段:DBMS实现统一管理1.1.2数据库技术的发展历史教材第4—5页14/58统一管理软件出现数据库管理系统DBMS。面向全组织数据不再只针对某一个特定应用。共享数据库相关数据按统一数据模型汇集并供各应用使用。图1-3数据库系统阶段程序与数据的关系数据库系统的主要特点(一)1.1.2数据库技术的发展历史教材第4页15/58(1)数据结构化数据面向全组织;不仅内部结构化,整体也结构化,数据之间具有联系。(2)共享性高、冗余度低、易扩充多个用户和应用共享数据,减少冗余,避免同一数据不同副本不一致。整体结构化是数据库的主要特征之一,也是数据库管理系统与文件系统的本质区别。数据库系统的主要特点(二)1.1.2数据库技术的发展历史教材第5页16/58(3)数据独立性高数据的使用与数据的组织结构、存储方式分离,包括逻辑独立性和物理独立性。(4)由DBMS统一管理和控制提供数据安全性保护、完整性检查、并发控制和数据库恢复。数据定义从程序中分离,数据存取由DBMS负责,可简化程序编制和维护。表1-1数据管理三个阶段的比较1.1.2数据库技术的发展历史教材第6页17/58比较项目手工管理文件管理数据库管理数据管理者用户(程序员)文件系统数据库系统数据针对者特定应用程序面向某一应用面向整体应用共享性无共享共享差、冗余大共享好、冗余小独立性无独立性独立性差独立性好结构化无结构记录有结构,整体无结构整体结构化控制能力应用程序自己控制应用程序自己控制DBMS提供安全、完整性、并发控制和恢复1.1.3数据库:定义与特性1.1.3数据库系统的基本组成教材第7页18/58教材原文数据库的定义:数据库是长期储存在计算机内的、有组织的、可共享的数据集合,也是现实世界中相互关联的大量数据及数据间关系的集合。逻辑关系和确定意义逻辑上无关的数据集合不能称为数据库。明确的应用目标数据库为一组用户及其应用程序服务。现实世界的“小世界”数据库应随其所表示的小世界的改变而改变。数据库管理系统:定义与主要功能1.1.3数据库系统的基本组成教材第7—8页19/58教材原文数据库管理系统(DBMS)的定义:数据库管理系统(DBMS)是位于用户和操作系统之间的数据管理软件,由一组计算机程序构成。数据定义提供DDL,定义数据对象的逻辑结构数据操纵查询、插入、删除和修改数据运行管理保证安全、完整、并发控制与恢复建立和维护输入转换、转储恢复、重组织与性能监视数据库系统:组成与目标1.1.3数据库系统的基本组成教材第8页20/58数据库系统(DBS)采用数据库技术的人机系统,目标是存储信息并支持用户检索和更新。系统组成应用系统、应用开发工具、DBMS、操作系统、数据库、用户。图1-4数据库系统的组成相互关联的数据的集合

数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。学生课程学生与课程之间的联系在概念数据模型中将深入讨论数据之间的联系用综合的方法组织数据

数据库能够根据不同的需要按不同的方法组织数据顺序索引聚簇后续将涉及存储管理低冗余与数据共享数据库中的数据可以共享但是是可控制、受约束的教务文件后勤文件……数据具有较高的独立性

数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。数据库的三层模式结构可以保证数据的正确性

保证数据正确的特性在数据库中称之为数据完整性。考试成绩899关系模型的完整性约束保证数据的安全、可靠

数据库技术要能够保证数据库中的数据是安全、可靠的。

有效地防止数据库中的数据被非法使用或非法修改

数据遭到破坏时能立刻将数据完全恢复主动安全被动安全安全机制备份恢复数据库安全、备份与恢复数据可以并发使用

并能同时保证数据的一致性

在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。200元200+1000=1200200-200=00元1200元200元200元?并发应用事务管理与并发控制数据库三级模式二级映像1.22026数据库原理与应用教材第9页1.2.1数据抽象:三个级别1.2.1数据抽象教材第9页22/58视图级抽象把现实世界抽象为数据库的外模式;面向用户的数据视图。概念级抽象把所有外模式视图综合为数据库整体逻辑结构。物理级抽象把概念模式抽象为内模式,描述物理存储访问细节。数据抽象为用户提供数据的抽象视图,并隐藏存储结构和存取方法等细节。1.2.2数据库的三级模式结构1.2.2数据库的三级模式结构教材第9—10页23/58外模式用户视图概念模式全局逻辑结构内模式存储结构图1-5数据库系统结构——三级模式概念模式:数据库的全局逻辑结构1.2.2数据库的三级模式结构教材第10页24/58教材原文概念模式的定义:概念模式又称数据库模式,是数据库中全部数据的逻辑结构和特征的描述。全局性一个数据库只有一个概念模式。独立于应用程序一般与具体应用程序无关。不涉及存储细节不描述硬件环境与物理存储方法。外模式:面向用户的数据视图1.2.2数据库的三级模式结构教材第10页25/58教材原文外模式的定义:外模式又称用户模式或子模式,通常由概念模式导出,是概念模式的子集。面向用户定义允许用户操作的数据库数据。多个外模式不同用户需求、使用内容与保密要求不同。逻辑表示描述某一用户或程序所涉及数据的逻辑结构和特征。内模式:数据的物理结构与存储结构1.2.2数据库的三级模式结构教材第10页26/58教材原文内模式的定义:内模式又称存储模式,是数据物理结构和存储结构的描述;一个数据库只有一个内模式。记录存储方式顺序存储、B树结构或HASH方法等索引组织索引按照什么方式组织存储细节是否压缩、是否加密及存储记录结构1.2.3数据库的二级映像功能1.2.3二级映像与数据独立性教材第11页27/58外模式/模式映像定义每个外模式与概念模式之间的对应关系。模式改变时,调整映像,使外模式保持不变。模式/内模式映像定义全局逻辑结构与存储结构之间的对应关系。存储结构改变时,调整映像,使模式保持不变。两个映像在三级模式之间建立联系,并保证数据的独立性。外模式/模式映像与逻辑独立性1.2.3二级映像与数据独立性教材第11页28/58教材原文逻辑独立性的定义:模式改变时,由数据库管理员调整外模式/模式映像,使外模式保持不变,从而应用程序不必修改。教材示例商家信息表增加起送费和配送费字段。保持不变查询商家地址时,不需要改变应用程序。模式/内模式映像与物理独立性1.2.3二级映像与数据独立性教材第11页29/58教材原文物理独立性的定义:存储结构改变时,由数据库管理员调整模式/内模式映像,使模式保持不变。发生变化数据库的物理存储结构。保持不变数据库的全局逻辑结构与应用程序。三级模式结构的四点好处1.2.3二级映像与数据独立性教材第11页30/58保证数据独立性概念模式与内模式分开;外模式与概念模式分开。简化用户接口用户按外模式编写应用程序,无需了解实际存储。有利于数据共享不同外模式由统一概念模式导出,减少冗余。有利于安全保密用户只能操作属于自己的外模式数据视图。数据模型1.32026数据库原理与应用教材第11—16页数据模型的定义与三个组成部分1.3.1数据模型及数据建模教材第11页32/58教材原文数据模型的定义:数据模型是描述数据结构、数据操作以及数据约束的数学形式体系,是数据库系统的核心和基础。数据结构刻画数据、数据语义及数据之间的联系数据操作允许执行的操作及其规则的集合数据约束对结构和操作的一致性、完整性约束概念、逻辑和物理数据模型1.3.1数据模型及数据建模教材第11—12页33/58概念数据模型面向数据库用户的现实世界模型;与具体DBMS无关。逻辑数据模型具体DBMS所支持的模型;既面向用户又面向系统。物理数据模型描述数据在存储介质上的组织结构;与DBMS、操作系统和硬件有关。1.3.2信息的三种世界1.3.2信息的三种世界教材第12页34/58现实世界中的事物及联系,经过系统分析进入信息世界,再经过数据库设计形成计算机世界的数据模型。图1-6信息的三个世界的联系和转换过程信息世界的四个基本概念1.3.2信息的三种世界教材第12页35/58实体(Entity)现实世界中可以相互区分的事物或概念。属性(Attribute)实体所具有的某些特性。实体集(EntitySet)具有相同特征或能用同样特征描述的实体集合。联系(Relation)事物内部及事物之间的联系在信息世界中的反映。计算机世界的四个基本概念1.3.2信息的三种世界教材第13页36/58数据项(Item)又叫字段,是对象属性的数据表示。记录(Record)实例的数据表示;记录有型和值之分。文件(File)对象的数据表示,是同类记录的集合。数据模型(DataModel)现实世界中的事物和相互联系数据化的结果。概念模型及其基本概念1.3.3概念模型与E-R图教材第13页37/58对象和实例商家是对象;“快乐麻辣烫”是商家的实例。属性用户实体可由用户编号、密码、用户名称、用户性别等属性描述。主码(PrimaryKey)能够唯一标识一个实体。域(Domain)属性的取值范围。概念模型是对信息世界中的管理对象、属性及联系等信息的描述形式,不依赖计算机及DBMS。两个实体集之间的三类联系1.3.3概念模型与E-R图教材第13—14页38/58两个实体集之间的联系分为一对一(1∶1)、一对多(1∶n)和多对多(m∶n)。图1-7两个实体型之间的三类联系多实体集之间的联系1.3.3概念模型与E-R图教材第14页39/58多实体集间的一对多联系一门课程可由若干教师讲授,一个教师只讲授一门课程。多实体集间的多对多联系科研成果、教师和项目三个实体之间形成多对多联系。图1-8多元实体型之间的联系E-R图的表示方法1.3.3概念模型与E-R图教材第15页40/58实体用长方形表示,长方形内写明实体名。属性用椭圆形表示,并用无向边与相应实体连接。联系用菱形表示,菱形内写联系名;通常使用动词标注。E-R方法由P.P.Chen于1976年提出,用E-R图描述现实世界的概念模型。例1.1网上选课系统E-R图1.3.3概念模型与E-R图教材第13—14页41/58【例1.1】一个学生可选多门课程,一门课程可有多个学生选修;一个教师至多讲3门课程,一门课程至多由一个教师讲授。图1-9网上选课系统中实体联系模型E-R图层次数据模型1.3.4常见的逻辑数据模型教材第15页42/58层次模型满足两个条件:①有且仅有一个节点无双亲,该节点称为根节点;②其他节点有且仅有一个双亲。图1-10简单的层次数据模型网状数据模型1.3.4常见的逻辑数据模型教材第16页43/58网状模型满足两个条件:①允许一个以上的节点无双亲;②一个节点可以有多于一个的双亲。图1-11外卖订单的简单网状数据模型关系模型1.3.4常见的逻辑数据模型教材第16页44/58教材原文关系模型的定义:关系模型是用二维表的形式表示实体和实体间联系的数据模型,以集合论中的关系概念为基础。关系即表实际关系数据库中的关系也称为表。数据库组成一个关系数据库由若干个表组成。三部分关系数据结构、关系操作集合和关系完整性约束。面向对象模型1.3.4常见的逻辑数据模型教材第15—16页45/58对象与消息对象是对一组信息及其操作的描述;对象之间通过发送和执行消息交互。对象标识符OID由系统在对象创建时赋予,系统内唯一,生存期间不改变。继承与包含继承是“isa”联系;包含是“ispartof”联系。教材列出的四类逻辑数据模型1.3.4常见的逻辑数据模型教材第15—16页46/58层次模型用树型结构表示实体及联系;适合一对多层次关系。网状模型用有向图表示实体及联系;节点可有多个双亲。关系模型用二维表表示实体和实体间联系。面向对象模型将实体抽象为对象,并使用对象标识、消息、继承与包含。教材原题:E-R图用于哪类模型设计?1.3.4常见的逻辑数据模型教材第18页47/58教材原题E-R图是()的设计工具。A.概念数据模型B.关系数据模型C.逻辑数据模型D.物理数据模型数据库系统应用以外卖点餐系统为例1.42026数据库原理与应用教材第17页项目背景、定位与教学目标1.4数据库系统应用教材第17页49/58教材原文项目说明:外卖点餐系统是连接消费者、商家和配送员的重要桥梁,本书选取实际产业项目中的部分功能进行讲解。在线餐饮订购平台面向用户提供高效、便捷、全面的在线点餐服务。主要功能餐饮分类浏览、商家选择、商品选购、订单管理、地址管理。教学目标结合学校教学资源和企业实践经验,提供真实项目实践环境。1.4.1功能需求:用户管理1.4.1功能需求教材第17页50/58用户注册填写账号密码等信息;输入用户名、密码、联系方式;校验合法性并创建用户档案。用户登录通过凭证验证访问系统;输入用户名/手机号和密码;验证身份并建立会话连接。1.4.1功能需求:用户管理模块核心业务流程:商家浏览与选择1.4.1功能需求教材第17页51/58分类展示以树状结构呈现餐饮分类,如中式、西式、快餐等。商家列表按分类展示评分、配送时间、起送价等商家信息。商家详情展示商家资质、促销活动和菜品目录。核心业务流程:购物车管理1.4.1功能需求教材第18页52/58商品添加支持多规格商品加入购物车。实时编辑修改商品数量(1≤n≤99)或删除商品。金额计算自动计算商品小计:单价×数量。费用汇总累计商品总额与配送费,实时显示总计。核心业务流程:订单生成1.4.1功能需求教材第18页53/58起送验证当总计≥商家起送价时允许下单。地址选择默认加载最近使用地址,也可从地址簿选择或新增。订单确认展示商品清单、价格明细和配送信息。订单持久化生成包含订单ID、时间戳、状态标记的订单记录。辅助功能:地址管理与订单追溯1.4.1功能需求教材第18页54/58地址管理地址簿增删改查;服务范围有效性验证;根据LBS推荐常用地址。订单追溯历史订单按时间倒序;实时跟踪准备中/配送中/已完成;展示订单完整快照。1.4.1功能需求:辅助功能模块1.4.2业务规则1.4.2业务规则教材第18页55/58业务规则教材规定计价规则总金额=Σ(菜品单价×数量)+配送费起送规则总金额≥商家设定起送金额方可下单超时机制购物车30分钟未操作自动清空库存校验下单时验证商品实时库存1.4.3非功能需求1.4.3非功能需求教材第18页56/58性能要求列表加载响应时间≤2秒并发能力支持500用户同时在线操作数据安全敏感信息加密传输(SSL/TLS)可靠性订单数据丢失率<0.1%1.4.4数据需求与1.4.5后续开发1.4.4—1.4.5数据与开发教材第18页57/58订单实体订单ID、用户ID、商家ID、总金额、配送地址等订单明细明细ID、菜品ID、数量、单价地址实体联系人、电话、详细地址、地理坐标数据库设计与开发后续章节将用数据库原理指导完成设计、开发及管理。1.5章节结语1.5章节结语教材第19页58/58数据库系统掌握数据、数据库、DBMS和DBS的基本概念与关系。三级模式二级映像理解抽象层次、映像功能与两类数据独立性。数据模型理解模型三要素、三个世界、E-R图和常见逻辑模型。项目案例认识外卖点餐系统的功能、规则、非功能和数据需求。后续章节将继续以外卖点餐系统为实践场景,学习关系数据库、SQL语言与数据库设计。MySQL数据库安装及操作第2章2026数据库原理与应用教材第21—31页本章结束时,你要完成三个可验证结果第2章导入教材第21页02/44结果1MySQL能够登录通过MySQL8.0CommandLineClient进入命令界面结果2Navicat能够连接连接列表中的连接显示为绿色结果3能够新建数据库完成名称、字符集和排序规则三个字段本章以可验证的操作结果作为学习终点。本章使用的工具链第2章导入教材第21—27页03/4401MySQLServer提供数据库服务02命令行客户端验证服务器可登录03Navicat图形化连接与操作服务器提供服务;客户端负责交互;Navicat是本书后续使用的客户端工具。今天要完成的完整操作路线第2章导入教材第21—31页04/4401认识MySQL02安装配置MySQL03命令行登录04安装Navicat05连接MySQL06新建数据库课堂节奏:教师演示一步→学生同步完成→对照原图检查→进入下一步。MySQL是什么?2.1MySQL数据库简介教材第21页05/44教材定义MySQL的定义:MySQL是目前最流行的关系型数据库管理系统之一,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。标准化SQL体积小运行速度快总体成本低开放源码使用MySQL,至少需要服务器与客户端2.1MySQL数据库简介教材第21页06/44mysqlNavicat自编客户端MySQLServer数据库服务程序监听请求|访问数据库返回结果数据库请求发向服务器,结果返回客户端;客户端不直接替代服务器。先分清服务器程序和客户端程序2.1MySQL数据库简介教材第21页07/44服务器程序做什么监听来自网络的客户端请求根据请求访问数据库将处理结果返回客户端客户端程序做什么加工用户需求并传递给服务器显示服务器返回的信息是用户与服务器交互的工具判断:Navicat属于客户端程序。教材列出的四个客户端程序2.1MySQL数据库简介教材第22页08/44mysql交互式客户端程序:发布查询并查看结果mysqldump把表的内容导出到文件mysqlimport把文件内容导入表中mysqladmin查看服务器状态,执行关闭、重启、刷新缓存等管理任务教材中的“mysglimport”在课件中校正为mysqlimport。为什么请求要经过服务器?2.1MySQL数据库简介教材第21页09/44并发处理服务器安排请求顺序多个客户端访问同一张表时,由服务器判断谁做什么、何时做网络访问按权限访问和操作数据客户端可从网络连接服务器,但只有有权限的人才能访问并执行允许的操作两项优势均来自教材:并发控制与安全访问。安装前快速确认:谁提供服务,谁负责交互?2.1MySQL数据库简介教材第22页10/44暂停检查✓真正提供数据库服务的是MySQL服务器程序。✓负责与用户交互的是客户端程序;Navicat属于客户端。两项都能回答后,再进入安装。MySQL安装阶段导航2.2MySQL安装|阶段导航教材第21—25页11/4401下载步骤1—202安装类型步骤303服务器与路径步骤404端口与密码步骤5—605Execute步骤706客户端登录步骤8—9每完成一个关键界面,都用教材原图和成功标志进行检查。第1步:进入MySQL官方网站2.2MySQL安装|第1步/9教材第23页12/44操作进入教材给出的MySQL官方网站,找到顶部DOWNLOADS入口。观察观察网站顶部导航中的DOWNLOADS。完成检查能够定位DOWNLOADS后再继续。第2步:选择CommunityEdition2.2MySQL安装|第2步/9教材第23页13/44教材图2-2|MySQL社区版下载链接操作在下载页面选择免费的CommunityEdition,并进入CommunityServer下载。观察观察DOWNLOADS入口与页面底部MySQLCommunity(GPL)Downloads。完成检查当前选择为CommunityEdition。先确认教材使用的版本口径2.2MySQL安装|第2步/9教材第22、25页14/44教材正文|第22页MySQL9.0.1截至2024年9月正文说明需要Python3.6支持教材后续截图|第25页MySQL8.0图2-8、图2-9显示MySQL8.0CommandLineClient本课件保持教材的版本语境:正文与截图分别呈现,不静默合并。第3步:运行MSI安装文件2.2MySQL安装|第3步/9教材第24页15/44教材图2-3|MySQL社区版安装界面操作启动MSI安装程序,按安装向导进入安装类型界面。观察观察左侧安装进度与中部安装类型区域。完成检查已经进入教材图2-3对应界面。第3步:安装类型保持DeveloperDefault2.2MySQL安装|第3步/9教材第23页16/44教材图2-3局部|安装类型区域操作按教材正文保持默认,选择第一个DeveloperDefault。观察原图所示新版界面显示Custom,正文与截图存在差异;操作以教材正文为准。完成检查安装类型已按教材正文确认。第3步:确认安装依赖环境2.2MySQL安装|第3步/9教材第23页17/44教材图2-3|进入依赖检查前的安装类型界面操作进入下一步,查看安装依赖环境检查结果。观察教材说明该安装过程依赖Python3.6;不新增教材之外的依赖项目。完成检查依赖环境齐全后,即可进入安装阶段。第4步:把MySQLServer加入安装列表2.2MySQL安装|第4步/9教材第23—25页18/44教材图2-4局部|MySQLServer选择区域操作选择第一个MySQLServer,并将其放置到右侧框中。观察观察左侧可选组件、移动按钮和右侧待安装列表。完成检查MySQLServer已经出现在右侧框中。第4步:安装地址优先保持默认2.2MySQL安装|第4步/9教材第24页19/44教材图2-4局部|AdvancedOptions操作优先保持默认安装地址;如需修改,通过Advanced

Options进入设置。观察观察AdvancedOptions入口。完成检查安装路径满足教材要求;修改时目录中不出现中文。第5步:第一次安装保持端口33062.2MySQL安装|第5步/9教材第25页20/44教材图2-5|数据库服务配置操作确认服务器端口号为3306;第一次安装建议不修改。观察观察Port输入框中的3306。完成检查端口号显示3306。暂停检查:服务器与端口是否正确2.2MySQL安装|暂停检查教材第24—25页21/44暂停检查✓MySQLServer已经加入右侧安装列表。✓服务器端口号保持为3306。未通过这两项检查,不进入密码设置。第6步:设置数据库密码2.2MySQL安装|第6步/9教材第25页22/44教材图2-6|密码设置页面操作按照自己的需求设置密码,并在重复输入框中再次输入。观察简单密码可能出现提示信息;教材说明可忽略该提示。完成检查两个密码输入框已经完成填写。第7步:点击Execute提交安装任务2.2MySQL安装|第7步/9教材第26页23/44教材图2-7局部|Execute按钮与任务列表操作在ApplyConfiguration页面点击Execute提交安装任务。观察观察配置任务列表与底部Execute按钮。完成检查任务已经开始执行。第7步:每项任务变为绿色对号才算成功2.2MySQL安装|第7步/9教材第25页24/44教材图2-7局部|配置任务状态区域操作等待所有配置任务执行完成。观察逐项查看任务前的状态圆圈。完成检查按教材正文:每项任务前变为绿色对号才算安装成功。第8步:找到MySQL8.0命令行客户端2.2MySQL安装|第8步/9教材第26页25/44操作安装完成后,在开始界面寻找MySQL8.0命令行客户端。观察观察MySQL8.0CommandLineClient及Unicode选项。完成检查能够在开始界面看到命令行客户端。第9步:输入密码进入MySQL命令界面2.2MySQL安装|第9步/9教材第26页26/44操作点击第一个MySQL8.0CommandLineClient,并输入安装时设置的密码。观察观察黑色命令界面与输入密码后的提示。完成检查进入MySQL命令界面,出现mysql>提示符。MySQL安装阶段最终检查2.2MySQL安装|阶段验收教材第26页27/44MySQL阶段验收✓安装任务全部完成。✓开始界面可以找到MySQL8.0命令行客户端。✓输入密码后能够进入mysql>命令界面。三项均通过,再进入Navicat。按教材顺序复盘MySQL安装2.2MySQL安装|阶段验收教材第21—25页28/4401官网下载02CommunityEdition03安装类型与依赖04Server、端口、密码05Execute绿色对号06命令行登录复盘时只按教材顺序,不加入教材未说明的配置步骤。Navicat阶段导航2.3MySQL客户端工具|阶段导航教材第25—30页29/4401认识客户端工具02选择Navicat03安装Navicat04新建MySQL连接05确认绿色状态06新建数据库Navicat阶段同样采用:操作→对照原图→检查成功状态。教材介绍了三种MySQL客户端工具2.3.1客户端工具的介绍教材第27页30/44SQLyog的定义:一个快速而简洁的图形化管理MySQL数据库的工具,由Webyog公司出品。DataGrip的定义:JetBrains公司开发的多连接数据库开发工具,可在一个应用程序中连接多个数据库。Navicat的定义:一套可创建多个连接的数据库管理工具,用于创建、管理和维护数据库。本书后续操作统一使用Navicat2.3.1客户端工具的介绍教材第27页31/44教材图2-10|Navicat图标本书选用后续章节中的SQL语句及相关操作继续使用Navicat教材判断安装步骤较为简单,初学者容易学习和操作主要用途用于创建、管理和维护数据库Navicat安装阶段导航2.3.2Navicat安装|阶段导航教材第28页32/4401进入官网02选择版本03启动安装04确认路径05完成安装Navicat安装共5步;每步完成后再进入下一页。安装第1步:进入Navicat官方产品页面2.3.2Navicat安装|第1步/5教材第28页33/44操作进入Navicat官方界面,通过导航栏“产品”进入产品选择页面。观察观察官网导航栏中的“产品”。完成检查已经进入教材所示产品页面。安装第2步:选择版本和下载方式2.3.2Navicat安装|第2步/5教材第28页34/44教材图2-12|Navicat版本选择页面操作选择需要的版本,并在14天免费使用下载与直接购买之间按需选择。观察观察版本与下载方式区域。完成检查完成教材要求的下载选择。安装第3步:启动安装向导2.3.2Navicat安装|第3步/5教材第29页35/44教材图2-13|安装界面操作双击安装包启动安装,并按安装向导选择下一步。观察观察NavicatPremium17安装向导。完成检查已经进入教材所示安装流程。安装第4步:确认或修改安装地址2.3.2Navicat安装|第4步/5教材第27—29页36/44教材图2-14|安装地址修改页面操作确认或修改安装地址。观察观察安装文件夹位置。完成检查完成路径确认后继续。安装第5步:完成Navicat安装2.3.2Navicat安装|第5步/5教材第30页37/44教材图2-15|完成安装操作在准备安装页面继续执行,完成Navicat安装。观察观察安装结束界面。完成检查安装完成,可以启动Navicat。暂停检查:Navicat能否正常启动2.3.2Navicat安装|暂停检查教材第30页38/44暂停检查✓桌面已经生成Navicat快捷方式。✓双击快捷方式能够进入Navicat使用页面。教材未要求的激活、账号登录步骤不在本章展开。使用第1步:选择MySQL连接2.3.2Navicat使用|第1步/4教材第30页39/44操作在Navicat中新建连接,并选择MySQL。观察观察顶部连接入口与MySQL选项。完成检查已经进入连接信息配置页面。使用第2步:填写连接信息2.3.2Navicat使用|第2步/4教材第30页40/44教材图2-17|Navicat连接信息操作填写连接名称;用户名使用root;密码使用安装MySQL时设置的密码。观察观察连接名称、主机、端口、用户名和密码区域。完成检查连接名称、root账号及密码均已填写。创建连接前,逐项核对三个字段2.3.2Navicat使用|第2步/4教材第30页41/44操作逐项核对:连接名称已填写;用户名为root;密码与安装时一致。观察密码框只核对是否填写,不在投影画面展示真实密码。完成检查三个字段全部核对后,再创建连接。使用第3步:连接变绿即为成功2.3.2Navicat使用|第3步/4教材第31页42/44教材图2-18|Navicat连接成功操作在连接列表中双击刚才创建的连接。观察观察连接名称与左侧原始数据库列表。完成检查连接变为绿色,即为连接成功。使用第4步:新建数据库2.3.2Navicat使用|第4步/4教材第31页43/44教材图2-19|创建数据库页面操作右击新建数据库,填写数据库名称、字符集和排序规则。观察观察新建数据库页面的三个教材字段。完成检查三个字段填写完成后创建数据库。本章最终实操检查第2章任务验收教材第31页44/44验收1MySQL命令行输入密码后能够进入命令界面验收2Navicat启动桌面快捷方式能够正常打开验收3连接状态新建连接双击后变为绿色验收4新建数据库能够填写名称、字符集和排序规则完成以上四项,后续章节继续使用Navicat进行SQL操作。关系数据库基础第3章2026数据库原理与应用教材第32—41页本章学习目标第3章导入教材第32页002/103本章结束时,你应该能够完成四类任务解释说明关系模型、关系、域、元组、属性、主码和关系模式判断判断基本关系是否满足六条基本性质运算使用集合运算与选择、投影、连接、除运算表达查询约束区分实体完整性、参照完整性和用户定义完整性本章重点不是背符号,而是理解“关系如何被变换成新关系”。本章内容路线第3章导入教材第32页003/103从“表是什么”走向“如何对表进行可靠运算”3.1关系模型与数据结构3.2关系代数3.3关系完整性约束3.4章节结语与练习学习顺序:概念→运算→约束→综合练习。外卖点餐系统中的关系数据库基础第3章导入教材第32页004/103关系数据库基础是外卖点餐系统的数据支撑1关系模型把外卖点餐系统中的实体及其联系表示为二维表。2关系代数说明怎样从已有关系得到查询所需的新关系。3完整性约束保证数据的一致性、完整性与有效性。本章围绕教材中的food、business、orders三个关系展开。3.1关系数据库理论基础3.1.1关系模型的概念教材第32页005/1033.1关系数据库理论基础关系模型的概念关系模型的数据结构先把“关系”讲清楚,再进入关系代数。关系模型的数学基础:集合理论3.1.1关系模型的概念教材第32页006/103关系模型的数学基础是集合理论1集合代数为“关系”给出严格的数学定义。2集合代数支持对关系进行各种运算。3关系模型在数据库实现中使用单一数据结构——关系。后面的每一种关系代数运算,本质上都建立在集合思想上。关系模型只有一种数据结构——关系3.1.1关系模型的概念教材第32页007/103教材定义关系的直观含义:通常所说的二维表;在关系数据库系统中,表和关系是同义词。一行:一个元组一列:一个属性一张表:一个关系关系操作:对象与结果都是集合3.1.1关系模型的概念教材第32页008/103关系操作分为查询操作与更新操作两部分查询选择、投影、连接、除、并、交、差等插入Insert删除Delete修改Update关系操作的特点:操作对象和操作结果都是集合。3.1.2关系模型的数据结构3.1.2关系模型的数据结构教材第32页009/1033.1.2关系模型的数据结构域与笛卡尔积关系与关系模式基本关系的性质定义是主线,表3-1是贯穿术语的教材例子。域的定义:同一数据类型的值的集合3.1.2关系模型的数据结构教材第33页010/103教材定义域的定义:域是一组具有相同数据类型的值的集合。整数、正数、负数、字符串(男,女)(苹果、橙子、香蕉、菠萝、西瓜)笛卡尔积的定义:从多个域中组合元组3.1.2关系模型的数据结构教材第32页011/103笛卡尔积的定义:给定域D₁,D₂,…,Dₙ,它们的笛卡尔积是所有可能组合的集合。D₁×D₂×…×Dₙ={(d₁,d₂,…,dₙ)|dᵢ∈Dᵢ}每个元素是一个n元组每个dᵢ是一个分量元组、分量与二维表3.1.2关系模型的数据结构教材第33页012/103笛卡尔积可以表示为二维表元组表中的每一行对应一个元组分量元组中的每一个值称为分量域表中的每一列对应一个域从多个域中各取一个值,按顺序组成一个元组。关系的定义:笛卡尔积的有意义子集3.1.2关系模型的数据结构教材第33页013/103教材定义关系的定义:笛卡尔积D₁×D₂×…×Dₙ的子集,叫作在域D₁,D₂,…,Dₙ上的关系。记作R(D₁,D₂,…,Dₙ)R是关系名n是关系的目或度关系的目与属性3.1.2关系模型的数据结构教材第33页014/103同一概念需要同时从“数学”和“表”两个角度理解目或度n目关系具有n个属性属性每列必须有唯一名称特殊情况n=1为单元关系;n=2为二元关系域可以相同,但不同属性必须使用不同属性名。教材表3-1:食品信息表3.1.2关系模型的数据结构教材第33—34页015/103教材用食品信息表说明关系模型中的术语食品编号食品名称食品介绍食品价格所属商家编号1001牛肉汉堡100%纯牛肉58.5011002鸡肉沙拉烤鸡肉48.5021003小龙虾麻辣口味88.503…………………………这张二维表既是“表”,也是一个“关系”。关系模型的八个常用术语3.1.2关系模型的数据结构教材第33页016/103教材围绕表3-1给出八个常用术语关系元组属性域分量主码关系模式关系数据库关系、元组与属性3.1.2关系模型的数据结构教材第33页017/103关系对应通常所说的一张二维表元组表中的一行属性表中的一列;每个属性都有属性名“一张表—一行—一列”分别对应“关系—元组—属性”。域、分量与主码3.1.2关系模型的数据结构教材第33页018/103域属性的取值范围分量元组中的一个属性值主码能唯一确定一个元组,且不含多余属性的属性或属性组主码的核心作用:唯一标识关系中的一个元组。关系模式的定义:描述关系的结构3.1.2关系模型的数据结构教材第33页019/103教材定义关系模式的定义:关系模式是对关系的结构性描述,即关系包括哪些属性。一般形式关系名(属性₁,属性₂,…,属性ₙ)食品信息表的关系模式3.1.2关系模型的数据结构教材第33页020/103食品信息表(食品编号,食品名称,食品介绍,食品价格,所属商家编号)关系名:食品信息表括号内:该关系的全部属性关系数据库的定义:关系的集合3.1.2关系模型的数据结构教材第34页021/103教材定义关系数据库的定义:关系数据库是关系的集合。foodbusinessorders……基本关系的六条性质3.1.2关系模型的数据结构教材第33—34页022/103基本关系具有六条性质①列同质②属性名唯一③列序无关④元组不重复⑤行序无关⑥分量原子化六条性质共同限定什么样的二维表才是规范的关系。性质1—2:列同质,属性名唯一3.1.2关系模型的数据结构教材第34页023/103性质1:列同质•每列中的分量属于同一类型•每列中的分量来自同一个域性质2:属性名唯一•不同列可以来自同一个域•不同属性必须有不同属性名同一列要同质,不同列要能用属性名区分。性质3与5:行列次序可以交换3.1.2关系模型的数据结构教材第33—34页024/103性质3:列序无关•列的次序可以任意交换•交换列不改变关系本身性质5:行序无关•元组的次序可以交换•交换行不改变关系本身关系是集合:集合中的元素没有固定排列次序。性质4:任意两个元组不能完全相同3.1.2关系模型的数据结构教材第34页025/103性质4:关系中的任意两个元组不能完全相同1一个关系不允许出现内容完全相同的两行。2投影操作可能产生重复行,因此投影结果必须删除重复元组。不能只看“表格能否显示重复行”,要看它是否仍满足关系的要求。性质6:分量必须是原子值3.1.2关系模型的数据结构教材第34页026/103教材定义原子值要求:关系中的每一个分量都必须是不可再分的数据项。一个单元格:一个不可再分的值不是列表不是嵌套表规范化最基本的要求3.1.2关系模型的数据结构教材第34页027/103关系模型要求关系必须是规范化的1关系模式必须满足一定的规范化条件。2这些条件中最基本的一条:每一个分量必须是不可分的数据项。3后续章节将继续讨论更系统的关系规范化问题。当前先牢牢记住:关系中的单元格必须取原子值。3.1暂停检查3.1.2关系模型的数据结构教材第33页028/103不看教材,能否完成下面四项判断?域为什么域中的值必须具有相同数据类型?关系关系与二维表是什么关系?主码主码怎样唯一确定一个元组?原子值为什么一个分量不能再分?能用自己的话回答后,再进入关系代数。3.2关系代数3.2关系代数|传统集合运算教材第34—35页029/1033.2关系代数传统集合运算专门的关系运算教材例3.1—例3.7关系代数是本章重点:每一步都把关系变成新关系。关系代数的定义:抽象的过程查询语言3.2关系代数|传统集合运算教材第34页030/103教材定义关系代数的定义:关系代数是一种抽象的过程查询语言,是施加于关系的一组集合运算。一个或多个关系作为运算对象生成一个关系作为运算结果关系代数的闭包性3.2关系代数|传统集合运算教材第35页031/103关系代数具有“闭包性”1输入:一个或多个关系。2运算:集合运算或专门的关系运算。3输出:仍然是一个关系。因为结果仍是关系,所以多个关系代数运算可以继续组合。本节使用的三个关系模式3.2关系代数|传统集合运算教材第34—35页032/103教材后续例题主要使用三个数据表foodfoodId,foodNamefoodExplain,foodPricebusinessIdbusinessbusinessIdbusinessNamebusinessAddressbusinessExplainstarPrice,deliveryPriceordersorderId,orderDateorderTotal,orderStateuserId,daId,businessId每次写关系代数表达式前,先确认属性属于哪个关系。教材表3-2:food3.2关系代数|传统集合运算教材第34页033/103foodIdfoodNamefoodExplainfoodPricebusinessId1001牛肉汉堡100%纯牛肉58.5011002鸡肉沙拉烤鸡肉48.5011003小龙虾麻辣口味88.503…………………………注意:教材表3-2中前两条食品都属于businessId=1。教材表3-3:business3.2关系代数|传统集合运算教材第34页034/103businessIdbusinessNamebusinessAddressbusinessExplainstarPricedeliveryPrice1快乐快餐蓝海路1号快餐20.005.002健康轻食蓝海路2号轻食30.006.003辣味轩蓝海路3号川菜25.005.50例3.5将从business中选择“辣味轩”。教材表3-4:orders3.2关系代数|传统集合运算教材第34—35页035/103orderIdorderDateorderTotalorderStateuserIddaIdbusinessId243312025.1.11121.500T1221311243322025.1.12150.500T1231322243332025.1.13171.500T1241343243342025.1.14124.501T1251343例3.2(2)使用daId=134且orderState=1。关系代数运算符的四类3.2关系代数|传统集合运算教材第35页036/103关系代数使用的运算符包括四类集合运算符并、交、差、笛卡尔积专门关系运算符选择、投影、连接、除算术比较符>、≥、<、≤、=、≠逻辑运算符¬、∧、∨比较运算符与逻辑运算符通常和专门关系运算符一起使用。两大运算类别:集合运算与专门运算3.2关系代数|传统集合运算教材第34页037/103传统集合运算•并、交、差、笛卡尔积•二目运算•主要从行的角度进行专门关系运算•选择、投影、连接、除•涉及二维表的行和列•用于实际查询操作两大类运算共同构成关系代数的核心工具。传统集合运算的前提3.2关系代数|传统集合运算教材第34页038/103并、差、交要求R与S具有相同的关系模式1属性个数一致。2对应属性来自相同的域。3满足相容条件后,才能比较或合并元组集合。先检查“能不能运算”,再讨论“运算结果是什么”。并运算的定义3.2关系代数|传统集合运算教材第35页039/103教材定义并运算的定义:R与S的并,是由属于R或属于S的元组组成的集合。记作R∪S“或”关系重复元组只保留一次差运算的定义3.2关系代数|传统集合运算教材第35页040/103教材定义差运算的定义:R与S的差,是由属于R但不属于S的元组组成的集合。记作R−S有方向性R−S与S−R通常不同交运算的定义3.2关系代数|传统集合运算教材第35页041/103教材定义交运算的定义:R与S的交,是由既属于R又属于S的元组组成的集合。记作R∩S“并且”关系只保留共同元组广义笛卡尔积的定义3.2关系代数|传统集合运算教材第34页042/103教材定义广义笛卡尔积的定义:R×S将R中每个元组与S中每个元组组合,得到新的元组集合。列数:r+s元组数:m×n记作R×S教材图3-1:传统集合运算举例3.2关系代数|传统集合运算教材第35页043/103教材图3-1传统的集合运算举例先识别输入关系R、S,再逐一观察(c)—(f)的结果。图3-1(c):并运算3.2关系代数|传统集合运算教材第35页044/103并运算:把属于R或属于S的元组合并,并删除重复元组。R∪S图3-1(c)包含R和S中出现过的所有不同元组结果共有4个元组图3-1(d)(e):差与交3.2关系代数|传统集合运算教材第35页045/103图3-1(d):R−S•只保留属于R但不属于S的元组•结果为(a1,b1,c1)图3-1(e):R∩S•只保留R与S的共同元组•共同元组:(a1,b2,c2)(a2,b2,c1)差关注“只在R中”,交关注“同时在R和S中”。图3-1(f):笛卡尔积3.2关系代数|传统集合运算教材第35页046/103笛卡尔积:R中每个元组分别与S中每个元组连接。|R×S|=|R|×|S|=3×3=9每个结果元组含6个分量图3-1(f)共有9个结果元组传统集合运算小结3.2关系代数|传统集合运算教材第35页047/103四种传统集合运算的关键词并∪或差−在R但不在S交∩并且积×两两组合并、差、交先要求同构;笛卡尔积不要求同构。专门的关系运算3.2关系代数|选择与投影教材第35—36页048/103专门的关系运算用于实际查询选择σ选行投影π选列并去重连接⋈按条件匹配两个关系除÷表达“全部包含”后续按“定义—表达式—教材例题—结果表”逐项学习。选择操作的定义:按条件选取元组3.2关系代数|选择与投影教材第36页049/103教材定义选择操作的定义:选择作用在一个关系上,按给定条件选出符合条件的元组。一元关系操作记作σF(R)从行的角度进行选择条件F的组成3.2关系代数|选择与投影教材第36页050/103选择条件F是取值为true或false的逻辑表达式1逻辑运算符:¬、∧、∨。2算术比较符:>、≥、<、≤、=、≠。3基本形式:X₁θY₁;属性名也可以用序号代替。只有使F为真的元组,才进入选择结果。选择是从“行”的角度进行运算3.2关系代数|选择与投影教材第35—36页051/103σF(R)={t|t∈R∧F(t)=true}输入:关系R判断:每个元组是否满足F输出:满足条件的元组集合例3.2:两项选择任务3.2关系代数|选择与投影教材第36页052/103教材例3.2包含两个选择查询例3.2(1)查找食品名称为“牛肉汉堡”的食品信息例3.2(2)查找送货地址编号为134的已支付订单信息先写条件,再决定条件作用于哪个关系。例3.2(1):查找牛肉汉堡3.2关系代数|选择与投影教材第34页053/103σfoodName='牛肉汉堡'(food)或σ2='牛肉汉堡'(food)属性名写法:foodName序号写法:第2列教材表3-5:例3.2(1)结果3.2关系代数|选择与投影教材第34页054/103选择结果只保留foodName为“牛肉汉堡”的元组foodIdfoodNamefoodExplainfoodPricebusinessId1001牛肉汉堡100%纯牛肉58.501表3-5仍然是一个关系。例3.2(2):查找已支付订单3.2关系代数|选择与投影教材第34—36页055/103σdaId=134∧orderState=1(orders)条件1:daId=134条件2:orderState=1两个条件用∧连接教材表3-6:例3.2(2)结果3.2关系代数|选择与投影教材第34—35页056/103同时满足两个条件的订单只有一条orderIdorderDateorderTotalorderStateuserIddaId243342025.1.14124.501T125134orderState=1表示已支付。选择操作暂停检查3.2关系代数|选择与投影教材第35页057/103选择操作检查方向选择主要改变行数,不改变属性列条件F为真:保留;F为假:舍弃输入一个关系输出仍然是一个关系看到σ,先读下标条件,再读括号中的关系。投影操作的定义:选取关系的某些列3.2关系代数|选择与投影教材第36页058/103教材定义投影操作的定义:投影也是一元关系操作;投影操作选取关系的某些列。输入:一个关系指定:若干属性列输出:删除重复行后的新关系投影产生新关系的两个步骤3.2关系代数|选择与投影教材第36页059/103投影运算分两步产生一个新关系1选择指定的属性,形成一个可能含有重复行的表。2删除重复行,得到满足关系要求的新关系。投影不是简单地“隐藏列”:它还必须处理重复元组。投影操作的记法3.2关系代数|选择与投影教材第36页060/103πAᵢ₁,Aᵢ₂,…,Aᵢₘ(R)π的下标:要保留的属性括号:被投影的关系属性名也可以用序号表示例3.3:两项投影任务3.2关系代数|选择与投影教材第36页061/103教材例3.3包含两个投影查询例3.3(1)从食品关系中查找所有食品名称和价格例3.3(2)查询商家关系中有哪些商家,即在编号属性上投影先确定“要哪些列”,再写π的下标。例3.3:关系代数表达式3.2关系代数|选择与投影教材第36—37页062/103πfoodName,foodPrice(food)或π2,4(food)πbusinessId(business)或π1(business)第一式保留食品名称与价格第二式保留商家编号教材表3-7:食品名称与价格3.2关系代数|选择与投影教材第36—37页063/103从food中投影foodName与foodPricefoodNamefoodPrice牛肉汉堡58.50鸡肉沙拉48.50小龙虾88.50…………结果关系只包含两列。教材表3-8:商家编号投影3.2关系代数|选择与投影教材第36—37页064/103从business中投影businessIdbusinessId123……投影后只保留商家编号属性。投影结果为什么要删除重复元组?3.2关系代数|选择与投影教材第36页065/103投影结果可能出现内容完全相同的若干元组1基本关系不允许出现完全相同的元组。2因此,投影结果中的重复元组只能保留一个。3“删除重复”是投影操作定义的一部分。投影=选列+去重。选择与投影的组合3.2关系代数|选择与投影教材第36—37页066/103选择与投影组合:先选择快餐商家,再投影商家名称。πbusinessName(σbusinessExplain='快餐'(business))先执行内层σ再执行外层π选择与投影暂停检查3.2关系代数|选择与投影教材第36页067/103选择σ•按条件选择元组•主要改变行•关键词:选行投影π•选取指定属性•主要改变列并去重•关键词:选列读表达式时从最内层关系开始,按括号由内向外执行。连接操作的定义:从积中选出匹配元组3.2关系代数|连接教材第37页068/103教材定义连接操作的定义:连接是二元关系操作,从R×S中选择两个关系的属性值满足比较关系的元组。输入:R与S先形成R×S再按AθB选择连接与笛卡尔积的区别3.2关系代数|连接教材第36页069/103笛卡尔积R×S•包含两关系所有元组组合•不附加匹配条件•结果通常较大连接R⋈S•从R×S中选择满足条件的元组•附加属性比较条件•只保留匹配组合连接不是“另一个积”,而是“积之后按条件选择”。等值连接的定义3.2关系代数|连接教材第37页070/103教材定义等值连接的定义:如果连接条件是两个关系中的两个属性进行相等比较,则称为等值连接。连接条件使用=结果保留两个连接属性列例3.4:businessId相等自然连接的定义3.2关系代数|连接教材第37页071/103教材定义自然连接的定义:自然连接要求比较同名属性的相等值,并在结果中去掉重复的属性列。同名属性相等比较去掉重复列自然连接同时涉及行和列3.2关系代数|连接教材第37页072/103一般连接•主要从行的角度运算•选择满足连接条件的元组自然连接•既处理行,也处理列•还要取消重复属性列自然连接中的连接属性通常是外键与被参照关系的主键。例3.4:关系R与S3.2关系代数|连接教材第36—37页073/103教材例3.4使用business与food的部分属性构造R、S(a)关系RbusinessIdbusinessName1快乐快餐2健康轻食3辣味轩(b)关系SbusinessIdfoodNamefoodPrice1牛肉汉堡58.502鸡肉沙拉48.503小龙虾88.50R与S的共同属性是businessId。例3.4:等值连接与自然连接3.2关系代数|连接教材第37页074/103等值连接:R⋈R.businessId=S.businessIdS自然连接:R⋈S等值连接显式写出比较条件自然连接通常省略同名属性条件教材表3-10(a):等值连接结果3.2关系代数|连接教材第37—38页075/103等值连接保留两个businessId属性列R.businessIdbusinessNameS.businessIdfoodNamefoodPrice1快乐快餐1牛肉汉堡58.502健康轻食2鸡肉沙拉48.503辣味轩3小龙虾88.50两个连接属性值相等,但两列都保留。教材表3-10(b):自然连接结果3.2关系代数|连接教材第37—38页076/103自然连接去掉重复的businessId属性列businessIdbusinessNamefoodNamefoodPrice1快乐快餐牛肉汉堡58.502健康轻食鸡肉沙拉48.503辣味轩小龙虾88.50同名连接属性只保留一列。等值连接与自然连接对比3.2关系代数|连接教材第37页077/103等值连接•相等条件•连接属性可以不同名•保留两个

温馨提示

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

评论

0/150

提交评论