数据库关系代数求最大值

数据库关系代数求最大值,第1张

填坑。

逻辑:

先筛选出所有3班的学生(后面说学生表都指的是这个筛选后的结果,不做赘述)。将这张表与自己内连接,筛选条件是左边学生的成绩小于右边学生的成绩,这样得到的新的表中左边就是”‘存在另一个学生的成绩比他好’的学生“,再用3班所有的学生表减去这个新得到的表,就是”‘不存在另一个学生的成绩更好’的学生“,也就是”成绩最好的学生了“。

关系代数:

用来演示的数据库:

关系代数语句:

R = (σ class = 3 (Student))

(π name, grade (R)) - (π R1name, R1grade ((ρ R1 R) ⨝ R1grade < R2grade (ρ R2 R)))

运行结果:

很明显,得到的结果跟预想中的一致,是Derta酱。也就说明我们的表达式没有问题了。

行叫做元组或者记录,列名叫做标题或者模式,列叫做字段或者属性或者数据项

关系中的属性不可再分

同一列的列值要取自同一个域,不同列的值可能来自同一个域

域名与属性名的含义并不相同

外码可以连接关系

主码不可以是空值

把符合属性的列挑出来,并去重

交运算可以通过差运算来实现

图中的错误应该是,关系的代数运算并不满足我们平常的四则运算的去括号的规则

先做积运算,然后选择出满足条件的元组

相同属性并且属性的值相等,最后要去掉重复属性

第一个错误,学生有可能学了多门课程

第二个错误,不满足并相容性

(1) R÷S 是在 R 中的 A3 里有 c 的元组,然后 投影 出除了 A3 以外的属性;

(2) R÷S 是在 R 中的 A3 里 A1,A2 值相同,并且一个有 c 另一个有 f 的元组,然后 投影 出除了 A3 以外的属性;

(3)略

(4)略

在本例中两个式子的结果是一样的

原因:

关系数据库是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,也是一个被组织成一组拥有正式描述性的表格,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。

关系数据库特点有数据集中控制。在文件管理方法,文件是分散的,每个用户或每种处理都有各自的文件,这些文件之间一般是没有联系的。数据库则很好地克服了缺点,可以集中控制、维护和管理有关数据。

数据独立性高。数据库中的数据独立于应用程序,包括数据的物理独立性和逻辑独立性,给数据库的使用、调整、优化和进一步扩充提供了方便,提高了数据库应用系统的稳定性。

数据共享性好。数据库中的数据可以供多个用户使用,每个用户只与库中的一部分数据发生联系;用户数据可以重叠,用户可以同时存取数据而互不影响,大大提高了数据库的使用效率。

数据冗余度小。数据库中的数据不是面向应用,而是面向系统。数据统一定义、组织和存储,集中管理,避免了不必要的数据冗余,也提高了数据的一致性。

数据结构化。整个数据库按一定的结构形式构成,数据在记录内部和记录类型之间相互关联,用户可通过不同的路径存取数据。

统一的数据保护功能。在多用户共享数据资源的情况下,对用户使用数据有严格的检查,对数据库规定密码或存取权限,拒绝非法用户进入数据库,以确保数据的安全性、一致性和并发控制。

关系型数据库有以下这些:

1、大型的有:oracle、sqlserver、db2、infomix、Sybase等。

2、开源的有:MySQL、Postpresql等。

3、文件型的有:Access、SQLAnywhere、sqlite、interbase等。

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加・科德于1970年首先提出的,并配合“科德十二定律”。关系模型由关系数据结构、关系 *** 作集合、关系完整性约束三部分组成。

1,πsno,sname(σ height>‘18米’ (S))

2,πcon,credit(σ dept='计算机系' ∧semester=‘秋季’ (C))

3,πsname(σ dept=‘计算机系’∧gender=‘女生’ (C(连接符怎么打?我用join代替)join SC join S))

4,πsno,sname(σ grade>=‘90’ (S join SC))

5πsname(σ credit>‘3’(C join S)

家庭作业吗? 根据书本比葫芦画瓢都能做出来

1)查询在XYZ工资工作的员工ID和姓名列表

SELECT aEmployeeId,aEmployeeName

from Employee a,Working b,Company c

where aEmployeeId = bEmployeeId

and bCompanyId = cCompanyId

and cCompanyName = 'XYZ'

2)查找居住地和公司所在地在同一个城市的所有员工

select aEmployeeId,EmployeeName,aCity

from Employee a,Working b,Company c

where aEmployeeId = bEmployeeId

and bCompanyId = cCompanyId

and acity = ccity

3)查找在CITY BANK工作并且工资大于30000美金的员工

Select aEmployeeId,aEmployeeName,bSalary

from Employee a,Working b,Company c

where aEmployeeId = bEmployeeId

and bCompanyId = cCompanyId

and cCompanyName = 'City Bank'

and bSalary > 30000

4)查找每个公司员工的人数以及平均工资

SELECT bCompanyName,COUNT(1) as empt,avg(asalary) as avgsalary

from Working a,Company b

where apanyid = bpanyid

group by bpanyname

以上就是关于数据库关系代数求最大值全部的内容,包括:数据库关系代数求最大值、数据库_关系基本概念和关系代数、什么是关系数据库特点是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9756875.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存