首页 > 数据库 >SQL Server的关系代数(选择投影连接除)

SQL Server的关系代数(选择投影连接除)

时间:2024-09-26 23:23:59浏览次数:8  
标签:下面 这个 里面 运算 投影 Server SQL 连接 就是

目录

1.博客素材来源

2.传统的关系运算

3.专门的关系运算

3.1选择:

3.2投影:

3.3自然连接:

3.4等值链接:

3.5自然连接:

3.6除法: 


1.博客素材来源

这个是某个大学老师在新冠时候的这个线上课程,确实讲得很好!!!强烈推荐!!

数据库 关系代数,很详细!看完必会!_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1hE411V7vu/?spm_id_from=333.337.search-card.all.click&vd_source=a432cb5e896a2b96961d1f73a6ebe0ca

下面的这个就是我们下面的这个运算介绍的时候用到的表格数据,需要的时候可以到这个地方进行查找; 

 

2.传统的关系运算

并运算:就是横着看的,按照每一行进行这个数据的合并,这个案例可以帮助我们很好的理解

差运算:就是和离散数学里面一样,在第一个里面存在,第二个里面不存在的;

交运算:就是两个列表里面相同的行;

笛卡尔积:就是第一个列表里面的每一行依次去和这个第二个里面的每一行进行组合,相当于我们学过的这个排列组合;

象集:其实这个通过下面的例子很好理解,不要去硬记概念,结合案例去理解,其实这个就是我们数学里面学习的映射的这个东西;

3.专门的关系运算

3.1选择:

从一个表里面选择出来符合要求的行,使用的就是一个类似于西格玛的符号;

下面的这个就是使用上面的这个符号进行数据的筛选,括号里面的就是我们的数据表的名字;

我们的这个筛选条件可以是相等的,也可以是不等关系;

3.2投影:

从列的角度进行操作,选择出来符合条件的列进行操作;

列在这个里面称之为投影,就是从这个表里面取出来我们需要的几列数据罢了;

下面的这个就是取出来所有的系,这个时候使用投影取出来对应的这个列就可以了;

3.3自然连接:

就是选出来相同的,进行这个表之间的合并,不相同的就会被舍弃掉;

3.4等值链接:

这个和上面的区别就是判断条件,需要我们的这个判断的条件就是两个表里面的某行或者列相等

3.5自然连接:

这个是我们后续经常使用的连接方式,

外连接和内连接都属于自然连接:

下面的这个就是外连接的案例:

下面的是外连接的一种类型:

下面的这个是外连接的另外一个类型:

这个是根据对应的这个表进行的连接操作,连接之后选择出来我们想要的,实际上就是上面的运算的一个综合;

筛选出来CS系的实际上就是取出来的某些行,这个时候使用的就是西格玛符号,然后再去找到这个学号等信息,这个就是列的内容,实际上就是我们的类似于π的符号;

下面的这个是最考验我们的,用到了三个运算,而且这个方案不唯一,我们可以合并表之后一层层筛选,也可以初步筛选之后再次进行合并,都是可以的,综合考量即可;

主要的差别就是这个效率的问题,因为是可以优化嘛,初学的时候我们只需要理解就可以了,达到一定水平之后再去考虑优化类的问题; 

这个是用到了上面的传统的运算符,只是让大家见一见这个使用的场景:

3.6除法: 

下面的这个博客写得很好,学这个就好了,我就不班门弄斧了;

数据库基础--关系代数中的除法运算_像集 除法的运算-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_42023723/article/details/80876568

标签:下面,这个,里面,运算,投影,Server,SQL,连接,就是
From: https://blog.csdn.net/binhyun/article/details/142499717

相关文章

  • 易优CMS【错误代码】 SQLSTATE【42S02】:Base table or view not found:1146 Table‘111
    当你遇到“数据表或视图不存在”的错误提示时,通常是因为数据库中缺少某个表或视图。以下是一些具体的解决步骤:步骤1:确认表是否存在检查数据库表使用数据库管理工具(如phpMyAdmin)打开数据库。检查数据库中是否存在表 ey_admin_theme。如果表不存在,需要创建该表。步骤......
  • PyQt项目实战-(Pyqt5+mysql制作一个TODO清单 第一部分)
    PyQt项目实战Pyqt5实现todolist工作待办的增、改、删、查功能,连接mysql存储数据(待办事项)。目录目录        1.界面设计    2.功能实现    3.界面各Button点击事件和槽函数的链接    4.mysql数据库操作工具类    5.槽函数实现......
  • SQL sever 数据库与表的建立#基础操作
    一:创建数据库利用SQLServerManagementStudio创建数据库,名称为“学生选课”打开sqlsever进行如下操作二:创建表在学生选课数据库中建立学生表Ctrl+s(保存)保存后,进行刷新就可看到学生表。三:数据的录入与修改随机输入下面的数据。查询数据新建查询,输入以上代......
  • 易优CMS网站SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be r
    当你遇到“SQLSTATE[HY000]:Generalerror:1615Preparedstatementneedstobere-prepared”的错误时,这通常是因为数据库连接配置中的某些参数不正确。具体来说,这可能是因为数据库驱动程序在某些环境下需要特定的配置才能正常工作。解决方法找到数据库配置文件打开数据......
  • kettle从入门到精通 第八十八课 ETL之kettle kettle连接sqlserver彻底搞明白
    场景:时不时群里面会有小伙伴咨询使用kettle连接mssqlserver数据库,折腾很久浪费时间,今天刚好有时间把这一块梳理下,希望能让大家节省时间提高效率。 1、首先要知道连接sqlserver有两种方式,JTDSjdbc驱动和微软的原装驱动,如下图所示: 兼容性:jTDS:jTDS兼容旧版本的SQLSer......
  • 易优CMS请重启MYSQL数据库,或者联系空间服务商处理[错误报错·····]出现以下提示该
    当你遇到“请重启MYSQL数据库,或者联系空间服务商处理”的错误提示时,通常意味着数据库连接存在问题,可能是由于数据库服务未启动,或者是数据库配置信息不正确导致的。以下是一些基本的解决步骤:步骤1:检查数据库服务状态确认数据库服务是否启动如果你有访问服务器的权限,可以通......
  • MySQL 应对大量并发连接之道
    在当今的互联网时代,数据库面临着越来越多的并发连接请求。对于MySQL来说,如何有效地处理大量的并发连接成为了一个关键问题。本文将探讨MySQL处理大量并发连接的方法和策略。一、并发连接带来的挑战当MySQL数据库面临大量并发连接时,可能会出现以下问题:性能下降:大量的连接......
  • MySQL 中优化 COUNT()查询的实用指南
    在MySQL数据库的使用中,我们经常会用到COUNT()函数来统计行数或满足特定条件的行数。然而,在处理大规模数据时,COUNT()查询可能会变得非常缓慢,影响数据库的性能。那么,如何在MySQL中优化COUNT()查询呢?本文将为你介绍一些实用的方法。一、COUNT()函数的基本用法COUNT()函数是My......
  • Database Server Error怎么办
    遇到“DatabaseServerError”通常意味着在尝试访问或操作数据库时遇到了问题。这类错误可能由多种原因引起,下面是一些常见的解决步骤:检查连接信息:确认数据库的用户名、密码、主机地址和端口是否正确。检查网络连接是否正常。查看错误日志:查看应用程序的日志文件,通常......
  • mysql服务器无法启动怎么办
    当MySQL服务器无法启动时,你可以按照以下步骤进行排查和修复:检查错误日志:查看MySQL安装目录下的错误日志文件(通常是 host_name.err 或者 mysql.err 文件),里面会包含MySQL启动失败的具体原因。对于Linux系统,还可以查看系统的syslog日志。确认端口是否被占用:使用命令......