问题标签 [relational-algebra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
743 浏览

sql - 关系代数语法

今天我第一次遇到数据库问题的关系代数,我似乎找不到答案。

我有 3 个表,批次、渠道和市场。

Batch 通过外键(channelID、marketID)连接到 Channel 和 Market。

此类查询的正确表示法是什么:

谢谢


如果我理解正确,我需要写如下:

0 投票
1 回答
675 浏览

database - 关系代数帮助

我是关系代数的新手,发现它很困难。我已经回答了几个问题;但是,它们相对简单。虽然可以帮助解决这些问题。

数据库

查询

  1. 查找医生“DR333”做过手术且结果不成功的患者的姓氏和性别。

  2. 找到在 2010 年 11 月 18 日完成并成功的操作的代码。还请列出参与手术的医生的姓名。

0 投票
2 回答
1223 浏览

intersection - 关系代数中交集的不同写法

使用基本运算符,导出附加运算符交集。

R ∩ S = ?

我认为可能是: (R ∪ S) - ((R -S) ∪ (S -R)) 但我也认为可能有更简单的方法吗?

0 投票
3 回答
34160 浏览

relational-algebra - 在关系代数中选择 DISTINCT 行

SQL 中有一个 DISTINCT 运算符。但是,我有一个任务,我需要从表中获取一些不同的值,并且我只能使用关系代数。有办法吗?

0 投票
7 回答
4106 浏览

sql - 在 SQL 中,如何执行“减法”操作?

假设我有两个表,它们都有用户 ID。我想执行一个操作,返回表 1 中所有不在表 2 中的用户 ID。我知道必须有一些简单的方法来做到这一点 - 任何人都可以提供一些帮助吗?

0 投票
5 回答
19433 浏览

max - 聚合关系代数(最大值)

我目前正在处理一项家庭作业,该作业需要进行选择,以提取包含与所有其他记录相比具有最大值的特定属性的元素。我已经阅读了许多在线资源,这些资源引用了一个称为最大值的“聚合”关系代数函数,但它们没有描述它是如何使用基本运算符工作的。如何选择包含最大值的属性?

0 投票
2 回答
377 浏览

join - 关系代数连接优化

我在我的学校教科书中看到,许多连接操作似乎从未优化连接右侧的表,而只优化了左侧的表。例如,要查找管理数据库部门的员工的姓名,您可以这样做:
name ( Mgr_ssn ( Dname = 'Database' ( Department ) ) ⨝<sub>Mgr_ssn = ssn Employee )

所以我想知道它是否会做类似的事情同样正确:
name ( Mgr_ssn ( Dname = 'Database' ( Department ) ) ⨝<sub>Mgr_ssn = ssn ( ssn, name Employee ) )

这当然是假设 Employee 具有许多其他属性。这样做时,我认为该系统将节省时间,因为不必担心加入 Employee 的所有其他属性,而最终它们无论如何都会被投射出来。我以前从未在连接的右侧看到过这样的投影,我想知道它是否可以接受和/或不必要。

0 投票
2 回答
4942 浏览

ruby-on-rails - 如何使用 arel/关系代数和 has_many 获取不同的值:通过

当我尝试显示一个人参与的所有电影,并且他们在一部电影中扮演多个角色(导演、作家、演员)时,我会得到该电影的多行。如果我添加 .select('DISTINCT id') 或 movies.* 来尝试消除重复,我会收到以下错误:

Mysql2::Error: 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法,以便在 'DISTINCT id FROM moviesINNER JOIN movie_peopleON movies.id = movie_peop' at line 1: SELECTmovies .*, DISTINCT id FROMmovies INNER JOINmovie_people ONmovies .id =movie_people .movie_id WHERE ((movie_people`.person_id = 601619)) ORDER BY title LIMIT 18 OFFSET 0附近使用

我不知道如何正确编码 arel 请求。请帮忙。
谢谢你。

应用程序/控制器

应用程序/模型

数据库/schema.rb

电影/show.html.erb

标题:华氏 9/11
年:2004 年
导演:迈克尔·摩尔
编剧:迈克尔·摩尔
演员:迈克尔·摩尔乔治·W·布什

人/show.html.erb

名称: Michael Moore
华氏 9/11 (2004)
华氏 9/11 (2004)
华氏 9/11 (2004)

0 投票
10 回答
133192 浏览

sql - Select 和 Project Operations 有什么区别

我在这里指的是基本的关系代数运算符。
在我看来,可以用 project 完成的所有事情都可以用 select 来完成。

我不知道是否有我错过的差异或某种细微差别。

0 投票
8 回答
88831 浏览

database - 如何用关系代数找到 MAX?

使用数据库,如何使用关系代数找到 MAX?