版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1部分数据库系统基础第2章关系模型和关系数据库,高级数据库系统及其应用,第2章关系模型和关系数据库,关系数据模型,2.1,关系操作和关系查询语言,2.2,SQL语言,2.3,应用关系数据库,2.4,2020/7/4 2.1.2关系模型的约束和表达式,2.1.3关系数据库,2020/7/4,4,2.1.1关系模型的基础,关系模型将数据库表示为一组“关系”。每个关系就像一个多行多列的二维值表。每个关系包含两部分信息:关系模式和关系实例。在形式关系模型术语中,表行称为记录或元组,表列标题称为属性或字段。2020/7/4,5,简单关系表的关系模式和关系示例(图2.1),2020/7/4,6,其他重要
2、的关系模型概念(1),域在关系模型中,并且每个属性必须被分配一个域。关系模式是指关系的基本模式结构定义。形式上,名为R的关系模式可以表示为: R (A1: DOM (A1),An: DOM (An)。关系实例(关系状态)的每一个数据行被称为一个元组,它可以被形式化地表示为t=,而关系实例(状态)是一个元组集或记录集,它可以被形式化地表示为: R(其他重要的关系模型概念(2),关系数据库模式是指由关系模式集R1、R2、rn和关系约束集ICs组成的定义集;R1,R2,瑞士,集成电路.关系数据库状态是指在特定时间数据库中的所有关系状态的集合,即数据库=R1、R2、rn,其中ri是关系Ri的状态。关系
3、数据库关系数据库(RDB)是一个使用关系模型来表示数据的数据库。RDB的一个州也被称为RDB。2020/7/4,8,2.1.2关系模型的约束和表达式,完整性约束,集成电路数据库管理系统(DBMS)数据库管理系统(DBMS)必须能够实施与数据库模式相关的所有约束,以便限制允许存储在数据库中的数据,并确保只有符合数据库约束的合法数据。集成电路的主要类型包括域约束、主键约束和外键约束,它们通常统称为基于模式的约束。密钥约束的超级密钥(SK)的概念可以唯一地识别关系R中每个元组的属性子集。可能存在具有冗余属性但没有超级密钥的候选密钥,超级密钥中具有冗余属性的SK。在2020年7月4日,referent
4、ialintegrityconstraint指的是要在两个不同关系之间指定的关系,以保持两个关系元组之间的一致性。该约束指定当关系元组引用另一个关系中的元组时,它只能引用现有的元组。外键(fk)定义外键条件指定了两个关系模式R1和R2之间的引用完整性约束,简称外键约束。2020/7/4,10,约束分配的应用示例,2020/7/4,11,2.2,关系运算和查询语言,2.2.1,关系代数,2.2.2,关系演算,本章中的查询表达式解释了用例模式(“水手”)(SID : Boats(bid:integer,bname:string,color : string);储量(sid :整数,bid :整数,
5、day:date日期);关系查询语言中有两种属性引用方法:(1)属性名(2)属性在关系模式中的位置或序号,2020/7/4/12,一个简单的“水手勤务”模式示例,2020/7/4/13,2.2.1关系代数,由一组运算符组成。每个运算符接受1或2个关系实例作为参数,并返回一个关系实例作为结果。以下三个因素可以突出关系代数在关系数据库管理系统中的重要性和地位:它为关系模型操作提供了形式基础;它是关系数据库管理系统查询实现和优化的基础。SQL结合并保留了关系代数的许多基本概念。关系代数运算符有两种主要类型:基于集合论的运算,包括并、交、差和叉积。这些操作的适用性源于“关系”本质上是一个元组集的事实;
6、另一种操作是专门为RDBMS开发的,包括选择、投影、连接以及为聚合操作引入的相关操作。2020/7/4,14,1。并、交、差运算都可以对应于集合论的运算,都属于二元算子,要求有两个运算对象,并且这两个关系是相容的。联合(RS):RS=t|tRtS交叉点(RS):RS=t|tRtS差异(RS) : RS=T | TRTS,2020/7/4,15,2。交叉产品操作,也称为cartesian产品,操作,2020/7/4,16,3。选择操作和投影操作。选择运算符表示为c(R),其中C是条件表达式。投影算子表示为L(R),其中L是投影输出的属性子集列表A1、Am。2020/7/4,17,4。重命名操作,
7、在很多情况下,输出列名可以直接使用输入关系的属性名。但是,当输出列是一个表达式时,或者两个输入关系的二进制运算包含同名属性时,或者要提高原属性名的可读性等。需要重命名机制。在关系代数中引入了重命名算子(),其代数表达式为:(R(A1A1,AiAi,E)例2.6基于图2.4(d)中的S1R1,写出表达式(R(1sid1,5sid2),S1R1)返回的R模式。2020/7/4,18,5。连接操作,连接操作(c),用于组合两个关系中的信息,并将两个关系中的相关“元组对”组合成一个元组以供输出。尽管在概念上,区域合作体系=1(C(RS);然而,这种方式的连接操作的效率非常低。在关系数据库管理系统中,连
8、接操作通常是以一种独立于叉积结果的方式实现的。2020/7/4,19,6。重复消除和排序操作,重复消除操作的表达式为(RB),其操作对象可以是包类型关系或集类型关系。消除重复是一项昂贵的操作,因此在许多实际系统中,投影输出不会自动消除默认的重复。排序运算的代数符号表达式是TL(R)。此操作用于按照L指定的方式对关系r的所有元组进行排序和输出。L是一个属性表达式列表,形式为A1asc|desc,A2asc|desc,2020/7/4,20,7。分组和聚合操作,分组和聚合操作的代数表达式是L(R),它以L指定的方式对关系R的所有元组进行分组.l是列表表达式。通常,聚合关系和原始关系r具有不同的模式
9、结构。聚合关系中的属性必须是l中的属性或聚合函数表达式。在许多数据库书籍或文献中,聚合操作被翻译为聚合。在这本书里,人们认为聚类已经被转化为聚类和聚集。为了避免混淆,并考虑到总摘要操作的语义,采用了聚合的翻译方法。2020/7/4,21,2.2.2 relationalcalculus,它为关系数据库查询提供了高级描述性表示。它是一种形式语言,其基础是一阶谓词逻辑(FOL),一种称为谓词演算的数理逻辑分支。在计算表达式中,不需要给出如何获得结果的操作顺序指示信息,而仅描述应该包括在结果中的信息。关系演算表达式描述了一种新的关系,它是以变量的形式指定的。变量的范围可以是新关系中的元组(元组演算)
10、或新关系中的域(域演算)。元组演算对商业关系查询语言SQL的发展有重要影响;领域演算是QBE(示例查询语言)的基础。2020/7/4/22,元组关系演算(TRC),元组变量是其值范围限于特定关系元组的变量。TRC查询的基本表达式是t|p(t),其中t代表一个元组变量,而p(t)是t应该满足的逻辑公式。查询结果是可以使逻辑公式p(t)成为真值的所有元组的集合。构造TRC查询表达式的核心任务是给出逻辑公式p(t),它本质上是FOL公式的一个子集。应用示例是搜索7级以上的水手。真相与和解委员会表示为:TRC原子公式是以下形式之一:RRel是最基本的原子公式,它表示元组变量R的值.R.aopS.b或R
11、.aopconst或constopR.a是一个比较原子公式,它表示r对其指定属性的值限制。任何TRC公式都可以通过以下任何方法递归构造:任何原子公式。p(否定)、pq(连接结构)、pq(或连接结构)、pq(含义:如果p为真,q必须为真)。R是一个元组变量。R是一个元组变量。TRC查询的语法和语义使Rel成为一个关系名;逻辑运算符op,=,R和S是元组变量,A和B分别是R和S的属性。p和q是TRC公式。这个表达式的语义是,对于p(R)(包括R)中的每个自由变量,至少有一个元组赋值可以使公式p(R)为真。(存在量词绑定到变量R),通常一个公式p(R)包含一个RRel条件和一些关于R的量词限制表达式
12、.为简洁起见,经常使用RRel(p(R)代替R(RRelp(R),并且经常使用RRel(p(R)代替R(RRelp(R),2020/7/4,24,域关系演算(DRC)。日间行车灯公式可以类似于日间行车灯公式。这两个公式定义的主要区别在于变量的取值范围。设x和y为定义域变量。DRC原子公式是以下形式之一:RelRel是具有n个属性的关系名,每个Xi 1,或者是变量或者是常数。XopY或Xopconstant或constantopX任何DRC公式都可以通过以下任何方法递归构造。任何刚果民主共和国的原子公式;p(否定),pq(连接结构),pq(或连接结构),pq(含义:如果p为真,q必须为真)X(p
13、(X),X为。X(p(X),X为。2020/7/4/25,DRC查询示例,(Q3)查询水手姓名|I,t,a(水手长官,br,d(预备役长官=Ibr=103)分配给103号值班船。如果引入速记,也可以改写为:| I,t,a(。查询所有在红船上值班的水手的名字。SQL开发简史最初是由IBM研究院设计和实现的,作为IBM早期数据库系统SYSTEMR的接口。第一个SQL标准是SQL1,也叫SQL-86,是美国国家标准局(ANSI)在1986年推出的。在SQL-86的基础上,ANSI还引入了SQL-89的改进版本。1992年,美国国家标准学会与国际标准化组织(ISO)合作,对原版本进行了大幅度的修改和扩
14、展,并联合推出了一个更完整的新SQL标准,名为SQL-92。最新的也是最后的版本是由美国国家标准学会/国际标准化组织在1999年推出的SQL-99(也称为SQL3)。SQL已经成为商业数据库管理系统的标准语言。2020/7/4,28,2.3.1,使用DDL定义数据库,(1)定义数据库模式和数据库编目数据库模式,也称为SQLschema,是由SQL-92首次引入的,旨在组织属于同一数据库应用程序的表和其他结构。在SQL-92中,用于创建模式的SQL语句是:createschemasailormdbauthorizationjsmithpassword 123(2)CREATETABLE创建或定义
15、关系表。2020/7/4/29,创建表示示例以创建“水手”小模式,2020/7/4/30,2.3.1使用DDL定义数据库,(1)定义数据库模式和数据库目录,(2)定义关系模式,以及(3)更改SQL模式以定义DROP命令:它是CREATE命令的反向命令。用于删除命名模式或模式元素,如表、字段、约束、视图等。该命令的基本格式是:DROP示例1 DropSchemarestrick示例2 DropTableCascadalter命令:用于更改表或其他模型元素的定义。,2020/7/4/31/2/3/2。1.SQL基本查询(1)SQL查询的基本形式从列表中选择不同的选择列表(2)SQL基本查询的语义(
16、概念分配策略)来计算从列表中出现的关系表的叉积;删除交叉产品结果中不符合WHERE条件的元组;删除未出现在选择列表中的列;如果指定DISTINCT,则删除重复的元组。(与实际数据库管理系统中的查询分配策略相比,概念分配策略通常不考虑效率,而是强调概念性和可理解性),2020/7/4,32,SQL基本查询应用示例(1),2020/7/4,33,SQL基本查询应用示例(2),2020/7/4,34,2 1。SQL bASic查询2。SQL命令中使用的表达式和字符串选择列表中的每个项不仅可以是相关表的属性名,还可以是更一般的表达式,如输出列名。WHERE语句中的条件项也允许包含一般表达式。3.集合操作SQL提供了三种集合操作,如UNION、INTERSECT和EXCEPT,来扩展基本查询。2020/7/4,35,使用SQL中的表达式和字符串作为示例,2020/7/4,36,使用set操作作为示例。显然,对于前两个查询Q8和Q9,通过使用集合运算符,我们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年玉林市第一人民医院医护人员招聘考试参考题库及答案详解
- 2026年浙江省中医院医护人员招聘考试参考试题及答案详解
- 2026年广发银行(海口分行)人员招聘笔试备考试题及答案详解
- 2026年天津市中西医结合医院医护人员招聘考试参考题库及答案详解
- 2026年黄石市中心医院普爱院区医护人员招聘考试备考试题及答案详解
- 2026年中国工商银行(黑龙江分行)人员招聘考试参考题库及答案详解
- 2026年解放军第180医院医护人员招聘笔试参考试题及答案详解
- 2025年中国人民解放军第44医院医护人员招聘考试试题附答案详解
- 2026年南平市第一医院医护人员招聘考试参考题库及答案详解
- 2026年榆林市中医院医护人员招聘考试参考试题及答案详解
- 爆破安全教育培训内容课件
- 2024-2025学年山东省青岛市青岛版六年级下册期末质量抽测数学试卷(无答案)
- 2025年安徽省产前筛查诊断卫生专业技术人员资格考试历年参考题库含答案详解(5套)
- 消防训练基地建设标准
- DB37-T4827-2025 水利工程运行管理标牌设置指南
- GB/Z 44267-2024自动化系统与集成工业数据数字孪生的可视化元素
- (正式版)HGT 3873-2024 增塑剂 己二酸二(2-乙基己基)酯(DOA)
- 《首件检验培训教材》课件
- 2022年吉林大学软件工程专业《计算机网络》科目期末试卷B(有答案)
- 施工现场消防安全培训课件讲义
- 项贤明主编马工程教材《教育学原理》第九章教师与学生
评论
0/150
提交评论