数据库关系代数

数据库关系代数,第1张

因为存在 *** 作符和 *** 作数, *** 作数为表, *** 作符为交、并等;

关系代数有分为基于集合的关系代数和基于包的关系代数;

关系代数的基本 *** 作:并、选择、投影、笛卡尔积、差、重命名;

基本 *** 作的意思是其他的 *** 作符可以通过基本 *** 作推出;

注意:如果我们使用并、交、差运算,必须保证R和S的属性集合是相同的,当然如果不同,也可以通过重命名 *** 作;

study(sno,cno,score)查询至少选修了两门课程的学生学号:π1(σ(1=4Λ2!=5)(study x study))。

select sno(学生的学号) from sc(学生选课表)

group by sno having count()>1

select a学号,b姓名,acnt as 选修门数 from

(select 学号,count(1) as as cnt from 选课表 group by 学号

having count(1)=(select count(1) from 课程表)) a,

学生表 b where a学号=b学号;

扩展资料:

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:

R-S={t|t∈R∧t∉S}

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:

R∩S={t|t∈R∧t∈S}

这里的笛卡尔积严格地讲是广义笛卡尔积(Extended Cartesian Product)。在不会出现混淆的情况下广义笛卡尔积也称为笛卡尔积。

两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。

参考资料来源:百度百科-关系代数

SQL语句如下:

1

select from Student where SName='李政'

2

这题见鬼了,没有年龄字段,更没有出生日期等信息,写什么?

3

select SName,SNO from Student where exists(select 1 from Class where ClsNAME='计算机01' and ClsNO=StudentClsNo)

4

select ClsNAME from Class where exists(select 1 from Student where SName='张山' and ClsNo=ClassClsNO)

法语助手里有解释。

关系代数 (数据库) Algèbre relationnelle

关系代数是一阶逻辑的分支,是闭合于运算下的关系的集合。运算作用于一个或多个关系上来生成一个关系。关系代数是计算机科学的一部分。

在纯数学中的关系代数是有关于数理逻辑和集合论的代数结构。

关系代数在1970年EF Codd发表数据的关系模型之前很少受到注意。Codd曾是皮尔士选集编辑者Arthur W Burks的博士研究生。Codd提议这样一种代数作为数据库查询语言的基础。第一个基于Codd的代数的查询语言是ISBL,许多作者都认同这个先驱的工作展示了一个使Codd的想法成为有用语言的方式。商务系统12是追随ISBL先例的短命工业级实力的关系DBMS。在1998年Chris Date和Hugh Darwen提议了一种叫Tutorial D的语言,意图用于教学关系数据库理论,它的查询语言也吸取了ISBL的想法。Rel是Tutorial D的一个实现。即使SQL的查询语言也松散的基于了关系代数,尽管SQL中的 *** 作数(表)不完全是关系,很多有用的关于关系代数的理论在SQL对应者中不成立。

这个跟数据库表的设计有关,你的问题应该设计3个表,一个是学生表(学号,姓名,专业),一个是课程表(课程代号,课程名),还有一个是成绩表(学号,课程代号,分数),那么所求问题的SQL语句是:

SELECT A学号,A姓名,A专业,C分数 FROM 学生表 A,课程表 B,成绩表 C WHERE A学号=C学号 AND B课程名="数据库原理" AND B课程代号=C课程代号 AND C分数〉90

join的意思就是连接

当对两个表进行连接 *** 作时,用join来表示,只是一种专业的记法而已,就像数学中的一些符号,为了是书写简单

示例:

将学生表和选课表连接,就可以写

join(StudentSno=SCSno)

这样既简单,又专业

希望可以帮助你

以上就是关于数据库关系代数全部的内容,包括:数据库关系代数、数据库中用关系代数表达式,查询至少选修两门课程的学生的学号和姓名怎么写、数据库相关问题,用关系代数表达式表示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9835616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存