标签: relational-calculus

关系演算的实际用途是什么?

在我的数据库设计课程中,我们学习了关系代数和关系微积分。我可以看到关系代数在哪里有用,因为它与 SQL 密切相关。

我们的教授说,在一些 RDMBS 中,关系微积分被用作 SQL 的替代品,其中大部分已不再存在。关系微积分还有实际用途,还是大部分是理论性的?

database-theory relational-theory relational-calculus

7
推荐指数
2
解决办法
740
查看次数

使用元组关系微积分查找成绩最高的学生

假设我有一张学生表,其中包含他们的 ID 和成绩:

-----------------
| id  |  grade  |
-----------------
|  1  |    83   |
|  2  |    94   |
|  3  |    92   |
|  4  |    78   |
Run Code Online (Sandbox Code Playgroud)

我如何编写引用最高分的学生的元组关系微积分公式?

我的尝试:

从 SQL 的角度考虑,我会编写一个查询,该查询对表与自身进行笛卡尔乘积,取比其他等级低的每个等级,然后从原始表中减去。但是,在元组关系演算中,不可能在子查询中构建子表,这就是我被卡住的原因。

但是,我在这个方向尝试了一些东西:

{ <id> | ? grade1 ? students (id, grade) ? ? grade2 ? students (id, grade2) ? grade1 > grade2}
Run Code Online (Sandbox Code Playgroud)

我相信这会让我获得较低的成绩,但是我如何从原始学生表中减去所有这些?我不允许将此语句插入到另一个 TRC 查询中。在此先感谢您的帮助!

database-theory relational-theory relational-calculus

6
推荐指数
1
解决办法
8068
查看次数

在给定 UML 图中未指定的表之间创建关系

晚上好!

我正在从以下 UML 类图(不幸的是法语)设计我的第一个实际数据库:

数据库的UML描述

我正在创建它的关系草图,我是这样创建的:

关系图式

然而,当试图向数据库询问哪些客户从未订购过第一产品时,它会产生一些问题

确实,我不知道如何在 SQL 中做到这一点,因为ClientCommandeProduit之间似乎没有关系。它给出了以下sql代码:

CREATE TABLE Client (
IDClient INT NOT NULL,
AdresseClient VARCHAR(255)NOT NULL ,
NomContact VARCHAR(255)NOT NULL,
NumeroSIRET VARCHAR(14) NOT NULL,
CONSTRAINT cclient PRIMARY KEY (IDClient)
);

CREATE TABLE Produit (
IDProduit INT NOT NULL  ,
PrixVente INT NOT NULL ,
QuantiteEnStock INT NOT NULL ,
CONSTRAiNT cproduit PRIMARY KEY (IDProduit)
) ;

CREATE TABLE Commande (
IDNumeroCde INT NOT NULL  ,
Date DATE …
Run Code Online (Sandbox Code Playgroud)

postgresql database-design relational-theory relational-algebra relational-calculus

5
推荐指数
1
解决办法
1997
查看次数

给定 SQL 查询的等价元组关系演算

好吧,这是一个 SQL 查询:

select Employee.Name,Department.Name
from Employee,Department
where Employee.Dept_no=Department.No
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一个元组关系演算:

{t|? s ? Employee (s[Name]=t[Name] ^ 
? u ? Department(u[Name]=s[Name]^u[No]=s[No]))}
Run Code Online (Sandbox Code Playgroud)

我的方法正确吗?如果没有,那么任何人都可以帮助我理解吗?

relational-theory relational-calculus

1
推荐指数
1
解决办法
1020
查看次数