精华内容
下载资源
问答
  • 数据库 元组演算表达式

    千次阅读 2020-03-10 16:15:28
    关于元组关系演算的一些课本定义。

    元组关系演算

    • 在元组关系演算系统中,称 {t|Φ(t)} 为元组演算表达式。其中 t 是元组变量, Φ(t) 为元组关系演算公式,简称公式
      它由原子公式和运算符组成。

    原子公式有三类:

    (1) R(t)

    • R 是关系名, t 是元组变量。 R(t) 表示 t 是 R 中的元组。于是,关系 R 可表示为: {t|R(t)}

    (2) t[i] θ u[j]

    • t 和 u 是元组变量, θ 是算术比较运算符。 t[i] θ u[j] 表示断言 “ 元组 t 的第 i 个分量与元组 u 的第 j 个分量满足比较关系 θ ” 。例如, t[2] < u[3] 表示元组 t 的第 2 个分量小于元组 u 的第 3 个分量。

    (3) t[i] θ c 或 c θ t[i]

    • 这里 c 是常量,该公式表示 “t 的第 i 个分量与常量 C 满足比较关系 θ” 。例如: t[4]=3 表示元组 t 的第 4 个分量等于 3 。
    • 在关系演算中定义了 “ 自由元组变量 ” 和 “ 约束元组变量 ” 的概念。这些概念和谓词演算中的概念完全一样。若公式中的一个元组变量前有 “ 全称量词 ” 或 “ 存在量词 ” ,则称该变量为约束元组变量,否则称自由元组变量。

    公式可以递归定义如下:

    1. 每个原子公式是公式。

    2. 如果 Φ 1 和 Φ 2 是公式,则 Φ 1 ∧ Φ 2 、 Φ 1 ∨ Φ 2 、 ﹁ Φ1 也是公式。分别表示:
      ① 如果 Φ 1 和 Φ 2 同时为真。则 Φ 1 ∧ Φ 2 才为真,否则为假;
      ② 如果 Φ 1 和 Φ 2 中一个或同时为真,则 Φ 1 ∨ Φ 2 为真,仅 Φ 1 和 Φ 2 同时为假时, Φ 1 ∨ Φ 2 才为假;
      ③ 如果 Φ 1 真,则 ﹁ Φ 1 为假。

    3. 若 Φ 是公式,则 ∃ t(Φ) 也是公式。其中符号 ∃ 是存在量词符号, ∃ t(Φ) 表示:
      若有一个 t 使 Φ 为真,则 ∃ t(Φ) 为真,否则 ∃ t(Φ) 为假。

    4. 若 Φ 是公式,则 ∀ t( Φ ) 也是公式。其中符号 ∀ 是全称量词符号, ∀ t( Φ ) 表示:
      如果对所有 t ,都使 Φ 为真,则 ∀ t( Φ ) 必为真,否则 ∀ t( Φ ) 为假。

    5. 在元组演算公式中,各种运算符的优先次序为:
      ① 算术比较运算符最高;
      ② 量词次之,且 ∃ 的优先级高于 ∀ 的优先级;
      ③ 逻辑运算符最低,且 ﹁ 的优先级高于 ∧ 的优先级, ∧ 的优先级高于 ∨ 的优先级;
      ④ 加括号时,括号中运算符优先,同一括号内的运算符之优先级遵循 ①②③ 各项。

    6. 有限次地使用上述五条规则得到的公式是元组关系演算公式,其他公式不是元组关系演算公式。
      一个元组演算表达式 {t|Φ(t)} 表示了使 Φ(t) 为真的元组集合。
      关系代数的运算均可以用关系演算表达式来表示 ( 反之亦然 ) 。下面用关系演算表达式来表示五种基本运算:
      (1) 并

      R ∪ S = { t | R(t) ∨ S(t) }

      (2) 差

      R - S = { t | R(t) ∧ ﹁ S(t) }

      (3) 笛卡尔积

      R × S = { t (n+m) | ( ∃ u(n) )( ∃ v(n+m) )(R(u) ∧ S(v) ∧ t[1]=u[1] ∧ … ∧ t[n]=u[n] ∧ t[n+1]=v[1] ∧ … ∧ t[n+m]=v[m])}
      注: t (n+m) 表示 t 有目数 (n+m)

      (4) 投影

      π i1,i2,……,ik( R ) = {t(k) | ( ∃u )( R(u) ∧ t[1] = u[ i1 ] ∧ …… ∧ t[k] = u[ ik ] )}

      (5) 选择

      σ F ®={ t | R(t) ∧ F }
      注: F 是公式。 F 用 t[i] 代替运算对象 i 得到的等价公式。

    例子

    图2.4

    • 下面用关系演算来对图2.4 学生-课程数据库进行查询。
      【例2.35】 查询信息系 (IS 系 ) 全体学生:
      SIS ={Student(t) ∧ t[5]=‘IS’}
      【例2.36】 查询年龄小于 20 岁的学生。
      S20 ={Student(t) ∧ t[4]<20}
      【例2.37】 查询学生的姓名和所在系。
      S1={ t(2) | ( ∃u )( Student(u) ∧ t[1]=u[2] ∧ t[2]=u[5] ) }

    关于元组关系演算的例子可以去看:CSDN:数据库 通过例子快速了解元组演算表达式的计算

    • 上面定义的关系演算允许出现无限关系。例如 { t | ﹁ R(t)} 表示所有不属于 R 的元组 ( 元组的目数等于 R 的目数 ) 。要求出这些可能的元组是做不到的,所以必须排除这类无意义的表达式。把不产生无限关系的表达式称为安全表达式,所采取的措施称为安全限制。安全限制通常是定义一个有限的符号集 dom(Φ) , dom(Φ) 一定包括出现在 Φ 以及中间结果和最后结果的关系中的所有符号 ( 实际上是各列中值的汇集 ) 。 dom(Φ) 不必是最小集。

    • 当满足下列条件时,元组演算表达式 {t|Φ(t)} 是安全的:
      ( 1 )如果 t 使 Φ(t) 为真,则 t 的每个分量是 dom(Φ) 中的元素。
      ( 2 )对于 Φ 中每一个形如 ( ∃ t)(W(u)) 的子表达式,若 u 使 W(u) 为真,则 u 的每个分量是 dom(Φ) 中的元素。
      ( 3 )对于 Φ 中每一个形如 ( ∀ t)(W(u)) 的子表达式,若 u 使 W(u) 为假,则 u 的每个分量必属于 dom(Φ) 。换言之,若 u 某一分量不属于 dom(Φ) ,则 W(u) 为真。

    全文摘自《数据库系统概论》2.5.2 元组关系演算;
    为了更好的对例题进行解释,所以几乎原汁原味的复制全文;
    本文在原文的基础上进行了一部分的格式修改,以便阅读;

    资料参考

    展开全文
  • 数据库——元组关系演算

    千次阅读 2020-10-11 00:13:07
    元组变量:关系表中的某一条记录。 元组关系演算公式: 表示的关系表。 在元组关系演算系统中,称 {t|Φ(t)} 为元组演算表达式。其中 t 是元组变量, Φ(t) 为元组关系演算公式,简称公式。 它由原子公式和运算符...

    元组关系演算

    概述

    • 元组:表示关系表中的记录
    • 元组变量:关系表中的某一条记录。
    • 元组关系演算公式: 表示的关系表。

    在元组关系演算系统中,称 {t|Φ(t)} 为元组演算表达式。其中 t 是元组变量, Φ(t) 为元组关系演算公式,简称公式。
    它由原子公式和运算符组成。

    种类

    在这里插入图片描述
    这是一张user

    第一种R(t)

    用元组演算表达式表示出来,是这样 {t|user(t)},用t表示某条记录,用user(t)表示t是关系表user表中的一条记录。

    这里的{t|user(t)}用于描述元组是属于哪张关系表(数据表)。

    第二种t[i] θ u[j]

    t 和 u 是元组变量, θ 是算术比较运算符。 t[i] θ u[j] 表示断言 “ 元组 t 的第 i 个分量与元组 u 的第 j 个分量满足比较关系 θ ” 。例如, t[2] < u[3] 表示元组 t 的第 2 个分量小于元组 u 的第 3 个分量。

    两个元组中分量的比较(我们已经知道元组是关系表的一条记录,元组中分量是记录中的一个属性的值),也就是比较两个记录中某个属性。

    第三种t[i] θ c 或 c θ t[i]

        这里 c 是常量,该公式表示 “t 的第 i 个分量与常量 C 满足比较关系 θ” 。例如: t[4]=3 表示元组 t 的第 4 个分量等于 3 。
    
    展开全文
  • 数据库--元组演算

    千次阅读 2013-04-28 21:49:30
    数据库查询数据时,所输入的SQL语句,是一中描述性的语言,即我们只需要告诉数据库我们要查找...元组演算也是一中关系数据库的查询语言,那么用元组演算到底是什么样子,怎么进行查询呢?   首先看最基本的元组

           在数据库查询数据时,所输入的SQL语句,是一中描述性的语言,即我们只需要告诉数据库我们要查找哪些数据,这些数据的特征是什么,而不用告诉数据库,怎么找这些数据(即通过什么样的算法,什么样的步骤)。

     

           我们缩写的SQL语句,可以用另一种等价的形式描述出来,就是元组演算。元组演算也是一中关系数据库的查询语言,那么用元组演算到底是什么样子,怎么进行查询呢?

     

    首先看最基本的元组演算公式:

     

    元组表示关系表中的记录,那么元组变量就是关系表中的某一条记录。

    元组关系演算公式就是表示的关系表。那么看过了理论之后,这个公式具体表达的是什么意思呢?看一张数据表:

                                                

     

           这是一张Student表,用元组演算表达式表示出来,是这样 {t|Student(t)},用t表示某条记录,用Student(t)表示t是关系表Studnet表中的一条记录。

     

           截图中的定义提到的原子公式有三类,分别是:首先第一类,上面提到的{t|Student(t)},用于描述元组是属于哪张关系表(数据表)。

     

           第二类,两个元组中分量的比较(我们已经知道元组是关系表的一条记录,元组中分量是记录中的一个属性的值),也就是比较两个记录中某个属性。

     

    第三类,元组中分量和常量的比较,拿元组中的某个属性和常量比较。

     

    元组演算公式之间也有交、并、非的关系,称为原子演算公式的递归定义,长用于多条件查询:

     

    还有另外的两条规则,这两条规则将结合演算公式的递归定义一起使用,从而进行对所要查找数据的描述。

     

    这是对元组演算从定义角度的描述,下一篇博客将对比元组演算和关系代数对比的角度,掌握元组演算的实际应用。

     

     

    展开全文
  • 数据库 - 关系演算

    千次阅读 2015-05-05 09:30:58
    元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA 2.域关系演算: 以域变量作为谓词变元的基本对象 域关系演算语言QBE由E.F.Codd提出 INGRES所用的QUEL语言是参照ALPHA语言研制的 语句 检索语句 GET...

    关系演算

    以数理逻辑中的谓词演算为基础
    按谓词变元不同 进行分类
    1.元组关系演算:
    以元组变量作为谓词变元的基本对象
    元组关系演算语言ALPHA
    2.域关系演算:
    以域变量作为谓词变元的基本对象
    域关系演算语言QBE

    由E.F.Codd提出
    INGRES所用的QUEL语言是参照ALPHA语言研制的
    语句
    检索语句
    GET
    更新语句
    PUT,HOLD,UPDATEDELETEDROP
    

    检索操作

    语句格式:
         GET 工作空间名  [(定额)](表达式1)
                   [:操作条件] [DOWN/UP 表达式2]
     定额:规定检索的元组个数
    格式:        数字
    表达式1:指定语句的操作对象
    格式:
    关系名| 关系名. 属性名| 元组变量. 属性名| 集函数 [,…  ]
    操作条件:将操作结果限定在满足条件的元组中
    格式:        逻辑表达式
    表达式2:指定排序方式
    格式:        关系名. 属性名| 元组变量. 属性名[,…  ]
    

    (1)简单检索

    GET 工作空间名 (表达式1)
    

    [例1] 查询所有被选修的课程号码。
    GET W (SC.Cno)
    [例2] 查询所有学生的数据。
    GET W (Student)
    格式
    GET 工作空间名(表达式1):操作条件

    [例3]查询信息系(IS)中年龄小于20岁的学生的学号和年龄
        GET  W  (Student.SnoStudent.Sage): 
         Student.Sdept='IS' Student.Sage<20

    格式
    GET 工作空间名(表达式1)[:操作条件]
    DOWN/UP 表达式2

      [例4]查询计算机科学系(CS)学生的学号、年龄,结果按年龄降   
               序排序
        GET  W  (Student.Sno,Student.Sage):
                   Student.Sdept='CS‘ DOWN Student.Sage

    格式
    GET 工作空间名(定额)(表达式1)
    [:操作条件] [DOWN/UP 表达式2]

    [例5]  取出一个信息系学生的学号。
        GET  W  (1)  (Student.Sno):
                 Student.Sdept='IS' 
    [例6]  查询信息系年龄最大的三个学生的学号及其年龄,结果按年龄降序排序。
            GET  W (3)  (Student.Sno,Student.Sage):
             Student.Sdept='IS' DOWN Student.Sage

    用元组变量的检索

    元组变量的含义
    表示可以在某一关系范围内变化(也称为范围变量Range Variable)
    元组变量的用途
    ① 简化关系名:设一个较短名字的元组变量来代替较长的关系名。
    ② 操作条件中使用量词时必须用元组变量。
    定义元组变量
    格式:RANGE 关系名 变量名
    一个关系可以设多个元组变量

    用存在量词的检索

    操作条件中使用量词时必须用元组变量

    [例8]  查询选修2号课程的学生名字。
       RANGE  SC  XGET W (Student.Sname): X(X.Sno=Student.SnoX.Cno='2')
    [例9] 查询选修了这样课程的学生学号,其直接先行课是6号课程。
       RANGE Course  CX
       GET  W  (SC.Sno): 
      CX (CX.Cno=SC.Cno∧CX.Pcno='6')
    [例10]查询至少选修一门其先行课为6号课程的学生名字
               RANGE  Course  CX
                                  SC        SCX
                GET  W  (Student.Sname): SCX (SCX.Sno=Student.Sno∧
                                       CX (CX.Cno=SCX.Cno∧CX.Pcno='6')) 
     前束范式形式: 
                  GET  W  (Student.Sname): 
                          SCXCX (SCX.Sno=Student.Sno∧                                          
                                             CX.Cno=SCX.Cno∧CX.Pcno='6')
    

    带有多个关系的表达式的检索

     [例11]  查询成绩为90分以上的学生名字与课程名字。
         RANGE  SC  SCX
         GET  W(Student.Sname,Course.Cname):       
                SCX (SCX.Grade90 ∧ 
                  SCX.Sno=Student.Sno∧
                  Course.Cno=SCX.Cno)
    

    用全称量词的检索

     [例12]  查询不选1号课程的学生名字
              RANGE  SC  SCX
              GET  W (Student.Sname):
             SCX (SCX.Sno≠Student.Sno∨SCX.Cno'1')
    用存在量词表示:
              RANGE  SC  SCX
              GET  W  (Student.Sname): 
       SCX (SCX.Sno=Student.Sno∧SCX.Cno='1')
    

    用两种量词的检索

    [例13]  查询选修了全部课程的学生姓名。
              RANGE  Course  CX
                             SC         SCX
              GET  W  (Student.Sname): 
       CX SCX (SCX.Sno=Student.Sno∧ 
                    SCX.Cno=CX.Cno)
    

    用蕴函(Implication)的检索

     [例14]  查询最少选修了200215122学生所选课程的学生学号
              RANGE  Couse  CX
                               SC     SCX 
                               SC     SCY
              GET  W  (Student.Sno):      CX(SCX
              (SCX.Sno=‘200215122'∧SCX.Cno=CX.Cno)SCY(SCY.Sno=Student.Sno∧                                                                   SCY.Cno= CX.Cno))
    

    聚集函数

    [例15]  查询学生所在系的数目。
             GET  W  ( COUNT(Student.Sdept) )
          COUNT函数在计数时会自动排除重复值。
    
    [例16]  查询信息系学生的平均年龄
                  GET  W  (AVG(Student.Sage):                  
                  Student.Sdept='IS’  )
    
    展开全文
  • 软考-数据库基础

    2021-07-25 18:08:01
    数据库 考点归纳 1、数据库模式 三级模式(外模式、概念模式、内模式)、两级独立性(物理独立性、逻辑独立性) 2、ER模型 ER图、实体联系类型重点、ER图转换为关系模型重点 3、关系运算和元组演算 关系代数的基本运算、...
  • 所以sql_and_params = "INSERT INTO table VALUES (%s, %s, %s)", var1, var2, var3cursor.execute(*sql_and_params)不上班,因为cursor.execute(*sql_and_params)将元组sql_and_params扩展为4个参数(同样,仅执行3...
  • 我想更新数据库中的第10个条目.我的想法如下,不幸的是,我得到以下错误.我试图转换为字符串,但它不起作用.任何的想法?TypeError:必须是字符串或只读缓冲区,而不是元组lookup={'Gigi':'Gigi Hofleitner','Horst':'...
  • java查询数据库中的数据并显示

    千次阅读 2021-03-01 08:35:08
    java查询数据库中的数据并显示关注:93答案:2mip版解决时间 2021-01-17 16:29提问者笑低了眉眼2021-01-17 04:11button.addSelectionListener(new SelectionAdapter() {@Overridepublic void widgetSelected...
  • 数据库期末知识点汇总 第一单元 数据库的发展阶段(了解) : 人工管理阶段 、 文件系统阶段 、 数据库管理阶段 、 高级数据库阶段 DBMS 是数据库系统的核心软件,用于数据库建立、使用和维护等管理(选择) 数据库...
  • 课程号=‘C1’--带元组变量的检索(RANGE来说明元组变量) RANGE 选课 X GET W(学生.姓名): ∃X(X.学号=学生.学号^X.课程号="C1")--查询选修C1的学生的名字 RANGE 选课 X GET W(学生.姓名): ∀X(X.学号=学生.学号^X....
  • 数据库系统--元组演算

    千次阅读 2010-01-11 03:32:00
    t:元组变量,表示一个元数固定的元组;p:公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。{t|p(t)}表示满足公式p的所有元组t的集合。2、原子公式★R(s),其中R是关系名,s是元组变量。★s[i]...
  • 数据库原理概述 数据库用户有各种类型,为了方便使用,DBMS应该提供各种不同类型的用户界面 数据是描述现实世界事务的符号记录;数据是信息的载体;信息是数据的内涵;信息是数据的语义解释 为了便于...
  • 元组与字典

    2021-08-11 19:15:04
    变量个数与元组个数一致3 元组的一些方法4 字典的定义5 字典的增修改查6 字典的案例7字典的修改总结 前言 提示:本文主要介绍: 元组,字典 提示:以下是本篇文章正文内容,下面案例可供参考 一、元组的定义? 示例...
  • 数据库安全性和安全管理 1.数据库安全性控制的一般方法 (1)用户标识与鉴别:由系统提供的最外层安全保护措施,每次用户要求进入系统时都需要输入用户标识。有以下几种方法: 1)用输入用户名来标识 2)通过...
  • 第1步:首先,我连接到一个数据库,然后从mysql表中提取出2列中的所有行(idnum,clientname)例如:(1234,雷诺),(1235,雷诺2)第2步:然后每个idnum都有一个单独的表例如:sample_divya_1234;sample_divya_1235,...
  • 希赛软考学院整理《数据库原理》第一章到第三章简答题及答案,希望对参加数据库系统工程师考试的你有所帮助!第一章 数据库概论1. 人工管理阶段数据管理的特点:(1)数据不保存在机器中(2)无专用的软件对数据进行管理...
  • 数据库的并运算和差运算

    万次阅读 2015-10-15 17:46:29
    式中“∪”为并运算符,t为元组变量,结果R∪S为一个新的与R、S兼容的关系,该关系是由属于R或属于S的元组构成的集合。 2.删除-集合的差运算 设有兼容关系R、S,则二者的差运算定义为: 式中“-”为差运算符,...
  • 什么是元组? 列表和元组,都是一个可以放置任意数据类型的有序集合。在绝大多数编程语言中,集合的数据类型必须一致。不过,对于 Python 的列表和元组来说,并无此要求。 列表: l = [1, 2, 'hello', 'world'] l ...
  • 数据库基础篇 因为急于复试,跨考之前也没有学习过数据库,这两天匆匆过了一遍基础篇,但太多Sql语句没有记住,这里赶紧自己总结一下,可能会有错误和纰漏。 绪论 人工管理阶段 文件系统阶段 数据库阶段 ...
  • 关系数据库使用一个或多个表来存储数据。 数学上把一系列域上的笛卡尔积的子集成为关系。 每个表有多个行,每个行有多个列,每个行列单元都是不能再分的原子值,同一表中各行相异,不允许重复出现完全相同的行,同一...
  • 【接地气】数据库学习笔记前言主关键字,候选关键字,外关键字,码(键),超码未完待续 前言 这里所做的笔记是笔者在校学习《数据库应用技术》的过程中,为了加深印象而做的,可能有些地方不太严谨,欢迎各位看官...
  • 关系数据库 关系数据库系统是支持关系模型的数据库系统 关系模型的组成 - 数据模型通常由数据结构、数据操作和完整性约束三个要素组成 - 关系数据结构、关系操作集合、关系完整性约束 关系数据库是以集合论中关系的...
  • 试了一下python操作数据库,准备将前端传回来的用户名和密码写入表中试了半天不会把变量加在在sql语句里面网上搜索了一下,要用元组来传递多个参数sql = "insert into userinfo values(%s,%s)"cursor.execute(sql,...
  • 二、触发器的语句格式 CREATE TRIGGER <触发器名> {BEFORE | ALTER} <触发事件> ON <表名> REFERENCING NEW| OLD ROW AS <变量> FOR EACH {ROW|STATEMENT } [WHEN <触发条件>]<触发动作体> 注意事项: 在创建触发器...
  • C#语法——元组类型

    2021-04-10 07:44:14
    元组Tuple  我们现在使用的C#语法已经可以满足日常的开发需求,但C#语法还在进行版本的更新,在创造更多更优秀的语义来让我们使用。这里介绍一下C#5.0里的提供的语法——元组。  在C#中定义Tuple对象,转到定义...
  • 关系演算

    千次阅读 2015-10-07 19:13:54
    关系演算 把数理逻辑的谓词演算引入到关系运算中,就可得到以关系演算为基础的运算。关系演算又可分为元组关系演算和域关系演算,前者以元组为变量,后者以属性(域)为...其中,t是元组变量,表示一个元数固定的元组
  • 关系数据库

    2021-10-08 10:25:26
    关系 关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成 域 域时一组具有相同数据类型的值的集合。 基数:一个域允许的不同取值个数称为这个域的基数。 笛卡尔积 可以看成是关系的域,是域上...元组:关
  • 列表和元组,到底用哪一个? 文章目录一. 列表和元组 一. 列表和元组 列表和元组,都是一个可以放置任意数据类型的有序集合。 在绝大多数编程语言中,集合的数据类型必须一致。不过,对于 Python 的列表和元组来...
  • 二、关系型数据库理论 2.1 关系型数据库中基本概念 关系(Relation) 一个关系就是一张二维表,每个关系都有一个关系名 元组 二维表中的行称为元组 属性 二维表中的列称为属性 关系模式 关系模式是对关系...
  • 数据库关系模型.ppt

    2020-01-13 22:53:03
    形式化定义 { t | Pt} 表示所有使谓词P为真的元组集合 t为元组变量 如果元组变量前有全称?或存在?量词则称其为约束变量否则称为自由变量 P是公式 由原子公式和运算符组成 原子公式 tR写成R(t) t是关系R中的一个元组 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,368
精华内容 10,547
关键字:

数据库元组变量