【问题标题】:Requesting help in translating a SQL query to relational algebra请求帮助将 SQL 查询转换为关系代数
【发布时间】:2013-09-20 06:43:09
【问题描述】:

作为我计算机科学教育任务的一部分,我被要求将查询从 SQL 转换为关系代数表达式。

查询背后的想法是从一个具有投影仪设备类型但没有白板的单个表中查找所有房间 - 以下查询可以执行此操作,但现在我无法将其转换为关系代数表达式。

SELECT 
    e.room, e.type
FROM 
    Equipment AS e
LEFT OUTER JOIN 
    Equipment AS e2 ON e.room = e2.room AND e2.type = 'whiteboard'
WHERE 
    e.type = 'projector'
    AND e2.type IS NULL;

如果我在翻译此内容时提供任何帮助,我将不胜感激,因为我是新手,通常似乎看不到这里的逻辑。

【问题讨论】:

    标签: mysql sql relational-algebra


    【解决方案1】:

    逻辑如下。 选择房间,从房间有投影仪的设备中输入。 从有白板的设备与房间相交。 只保留路口有投影仪但没有白板的部分(AND e2.type IS NULL 表示在白板组中没有找到房间)

    http://sketchtoy.com/50426780

    改写:

    find group A from group ROOM?EQUIPMENT that has projectors
    find group B from group ROOM?EQUIPMENT that has whiteboards
    Intersect A and B
    keep the part of group A where room IDs are not found in group B
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-06
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多