数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

这篇具有很好参考价值的文章主要介绍了数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

目录

关系 

关系运算 

 元组、域关系演算表达式

 题目

 关系代数表达式——例

元组演算表达式——例 

域演算表达式——例


        关系数据库是以二维表形式组织数据,应用数学方法处理数据库组织的方法。目前关系数据库系统在数据管理中已占据了主导地位。

关系 

关系一个关系就是一张二维表,每个关系有一个关系名。在计算机里,一个关系可以存储为一个文件。


元组:表中的行称为元组。一行为一个元组,对应存储文件中的一个记录值。

属性:表中的列称为属性,每一列有一个属性名。属性值相当于记录中的数据项或者字段值。


属性的取值范围,即不同元组对同一个属性的值所限定的范围。例如,逻辑型属性只能从逻辑真(如.T.)或逻辑假(如.F.)两个值中取值。

关系模式:对关系的描述称为关系模式,格式为:关系名(属性名1,属性名2,...,属性名n)一个关系模式对应一个关系文件的结构。


关键字(或码):属性或属性组合,其值能够唯一的标识一个元组。


主关键字(或主码):在一个关系中可能有多个候选关键字,从中选择一个作为主关键字。主关键字在关系中用来作为插入、删除、检索元组的操作变量。


外关键(或外码):如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。

关系是一张关系表,表的一行是一元组,所以元组的集合就是关系;

关系模式是表一行中的某些值,所以关系模式是属性的集合;

同理元组则是,属性的值的集合;

一个关系模型是若干个关系模式的集合。

 关系的数学定义:笛卡尔积( 符号X )

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

关系运算 

 传统的集合运算:并、交、差、除和笛卡尔积运算

关系的并:关系R和关系S的所有元组合并,再删去重复的元组,组成一个新关系,称为R和S的并


关系的差:关系R和关系S的差是由属于R而不属于S的所有元组组成的集合,即关系R中删去与S关系中相同的元组,组成一个新关系


关系的交:关系R和关系S的交是由既属于R又属于S的元组组成的集合,即在两个关系R与S中取相同的元组,组成一个新关系


关系的除:设有关系R (X,Y)与关系S (Z),其中,X、 Y、Z为属性集合。假设X、Y和Z具有相同的属性个数,且对应属性出自相同域。

        关系R(X,Y)除以S(Z〉所得的商关系是关系R在属性X上投影的一个子集,该子集和S(Z)的笛卡尔积必须包含在R(X,Y)中。(这个定义看起来很复杂,难懂,其实很好理解的,大家去网上搜一下有很多的相关知识理解!)

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

专门的关系运算:选择、投影、连接运算。

选择: 从关系中找出满足给定条件的所有元组称为选择。其中的条件是以逻辑表达式给出的,该逻辑表达式的值为真的元组被选取。

        这是从行的角度进行的运算,即水平方向抽取元组。经过选择运算得到的结果元组可以形成新的关系,其关系模式不变,但其中元组的数目小于或等于原来的关系中元组的个数,它是原关系的一个子集。

投影:从关系中挑选若干属性组成新的关系称为投影。

        这是从列的角度进行的运算,相当于对关系进行垂直分解。经过投影运算可以得到一个新关系,其关系所包含的属性个数往往比原关系少,或者属性的排列顺序不同。如果新关系中包含重复元组,则要删除重复元组。

自然连接:自然连接是除去重复属性的等值连接,它是连接运算的一个特例,是最常用的连接运算。

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

 元组、域关系演算表达式

把数理逻辑中的谓词演算应用到关系运算中,就得到了关系演算

关系演算分为元组关系演算和域关系演算,前者以元组为变量,后者以域为变量。

元组关系演算:

 在元组关系演算系统中,称 {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 。

        在关系演算中定义了 “ 自由元组变量 ” 和 “ 约束元组变量 ” 的概念。这些概念和谓词演算中的概念完全一样。

        若公式中的一个元组变量前有 “ 全称量词 ” 或 “ 存在量词 ” ,则称该变量为约束元组变量,否则称自由元组变量。

域关系演算:

域演算表达式是形为{t1…tk∣P(t1,…,tk)}的表达式,其中P(t1,…,tk)是关于自由域变量t1,…,tk 的公式。

原子公示有两种:

 ⑴ R(x1…xk),R是一个k元关系,每个xi是常量或域变量;

 ⑵ xθy,其中x,y是常量或域变量,但至少有一个是域变量,θ是算术比较符。

公式中可使用∧、∨、┐和=>等逻辑运算符,也可用(∃x)和(∀x)形成公式,但变量x是域变量,不是元组变量。

在公式中各种运算符之间也有着优先级,从高到低依次是:算术运算符量词(全称量词、存在量词)逻辑运算符

 题目

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

(1)检索"程军"老师所授课程的课程号(C#)和课程名(CNAME)。

(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3)检索至少选修"程军"老师所授全部课程的学生姓名(SNAME)。

(4)检索"李四"同学不学课程的课程号(C#)。

(5)检索至少选修两门课程的学生学号(S#>。

(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

(7〉检索选修课程包含"程军"老师所授课程之一的学生学号(S#)。

(8)检索选修课程号为k1和k5的学生学号(S#)。

(9)检索选修全部课程的学生姓名( SNAME)。

( 10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

(11)检索选修课程名为"语言"的学生学号(S#)和姓名(SNAME)。

 关系代数表达式——例

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

元组演算表达式——例 

(还是用上面那三个表):

(1)检索选修课程号为k5的学生学号和成绩。

(2)检索选修课程号为k8的学生学号和姓名。

(3)检索选修课程名为"语言"的学生学号和姓名。

(4)检索选修课程号为k1或k5的学生学号。
(5)检索选修课程号为k1和k5的学生学号。

(6)检索不选修k8课程的学生姓名和年龄。

(7)检索选修全部课程的学生姓名。
(8)检索所选修课程包含1号学生所选课程的学生学号。

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

域演算表达式——例 

(1)检索选修课程号为k5的学生学号和成绩。

(2)检索选修课程号为k8的学生学号和姓名。

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)文章来源地址https://www.toymoban.com/news/detail-400065.html

到了这里,关于数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关系数据库-9-[mysql8]中的语法校验规则sql_mode应用

    Mysql中sql_mode使用详解 sql_mode是一组mysql的语法校验规则,定义了mysql应该支持的sql语法、数据校验等。 1.3.1 ANSI模式 这是一种宽松模式,该模式下,会对所操作数据进行校验,如果不符合校验规则,数据会按照规则执行,并报warning警告。 1.3.2 STRICT_TRANS_TABLES模式 这是一种严格

    2024年02月02日
    浏览(46)
  • ​数据库原理及应用上机(实验二 SQL数据定义功能实验)

    ✨ 作者:命运之光  ✨ 专栏:数据库原理及应用上机实验   目录 ✨一、实验目的和要求 ✨二、实验内容与步骤 ✨三、附加练习 ✨四、实验总结 🍓🍓 前言:   数据库原理及应用上机实验报告的一个简单整理后期还会不断完善 🍓🍓 1.掌握利用SQL查询分析器和企业管理

    2024年02月05日
    浏览(44)
  • 数据库原理及应用实验报告-实验4-SQL的视图

    实验目的 熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和删除视图。 实验内容 定义常见的视图形式,包括: 行列子集视图 WITH CHECK OPTION的视图 基于多个基表的视图 基于视图的视图 带表达式的视图 分组视图 通过实验考察WITH CHEC

    2023年04月26日
    浏览(51)
  • 数据库复试—关系数据库标准语言SQL

    SQL:结构化查询语言 以教材中的学生-课程数据库为例进行SQL基础语法的复习 数据库实验环境选择SQLServer 11 学生表Student( Sno ,Sname,Ssex,Sage,Sdept) 课程表Course( Cno ,Cname,Cpno,Ccredit) 学生选课表SC( Sno,Cno ,Grade) 数据建立 学生表数据 学号Sno 姓名 Sname 性别 Ssex 年龄 Sage 所在系 Sdept

    2024年01月24日
    浏览(57)
  • 关系数据库SQL数据查询

    1.查询仅涉及一个表,选择表中的若干列 查询全部列 选出所有属性列: 在SELECT后面列出所有列名 将目标列表达式指定为 * 查询经过计算的值 SELECT子句的目标列表达式不仅可以为表中的属性列,也可以是表达式 使用列别名改变查询结果的列标题: 2.选择表中的若干元组

    2024年02月09日
    浏览(54)
  • 常见数据库介绍对比之SQL关系型数据库

    关系型数据库是一种基于关系模型的数据库,它使用表格来组织和存储数据。下面是一些常见的关系型数据库: MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛用于Web应用程序和企业级解决方案。它具有高性能、可靠性和易用性的特点,支持广泛的操作系统和编程语

    2024年02月09日
    浏览(60)
  • 【数据库·关系数据库标准语言SQL·学习笔记】Microsoft SQL Server数据库的建立和删除

    开发环境:SQL Server Management Studio(SSMS) 利用数据库对象资源管理器创建数据库 (1)右击对象资源管理器中的数据库,选择新建数据库 (2)在新建数据库界面输入数据库名称 ,并选择确定 利用CREAT DATABASE命令在SSM工具的新建查询中创建数据库 1.语法格式 CREATE DATABASE dat

    2024年02月08日
    浏览(56)
  • (五)关系数据库标准语言SQL

    5.1.1 create Database  5.1.2 create schema...authorization... 创建数据库和创建模式的区别 : 数据库是架构的集合,架构是表的集合。但在MySQL中,他们使用的方式是相同的。 如果没有指定模式名,那么模式名隐含为用户名。 用户可以在创建模式的同时在这个模式定义中进一步创建基本

    2024年03月11日
    浏览(43)
  • 【数据库系统概论】第三章关系数据库标准语言SQL

    1.数据查询: SELECT:用于选择需要查询的列和行。 FROM:用于指定要查询的表。 WHERE:用于指定查询条件。 GROUP BY:用于按照指定的列对结果进行分组。 HAVING:用于指定分组条件。 ORDER BY:用于指定查询结果的排序方式。 2.数据操纵: INSERT INTO:用于将数据插入表中。 UPDAT

    2024年02月08日
    浏览(118)
  • 关系数据库标准语言SQL难题整理

    文章目录 1、查询选修三门以上课程的学生学号 2、查询选修课程中至多一门70分的学生学号 3、查询平均成绩=90分的学生学号和平均成绩 4、查询成绩都大于70分学生的成绩 5、找出每个学生超过他自己选修课程平均成绩的课程号 6、查询非计算机科学系某一个学生年龄小的学生

    2024年04月17日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包