数据库系统笔记——关系代数操作的组合与应用

来源:互联网 发布:js数字转为汉字 编辑:程序博客网 时间:2024/05/24 04:16

  • 书写关系代数基本表达式基本思路
  • 常见书写误区
    • 1语义错误
    • 2查询不完全

1.书写关系代数基本表达式基本思路

Created with Raphaël 2.1.0开始是否涉及[多表]?1. 能否使用[自然连接]?直接并、差、交、选择与投影结束2. 能否使用等值或不等值连接[θ-连接]?3. 使用广义笛卡儿积yesnoyesnoyesno

选投联思路
选投联

2.常见书写误区

(1)语义错误

举例:查询课程号为001和002的学生的学号
错误形式:

ΠS#(σC#=001C#=002(SC))

选择操作无法同时选择C#同时为‘001’与‘002’的课程

正确形式1:
这里写图片描述

通过更名创建新表SC1后,等值连接

正确形式2:
这里写图片描述

通过交运算实现

(2)查询不完全

举例:查询不学习课程号为002的学生的姓名和年龄
错误形式1:
这里写图片描述

除非学生只选了一门课且为002,否则该生也将出现在查询结果中。

错误形式2:
这里写图片描述

  • 不满足差运算的并相容性
  • 并、差、交运算前务必注意并相容性

正确形式:
这里写图片描述

差运算,构造并相容的两个表

=====================
哈工大数据库系统(上)视频链接