第02章_关系数据库.ppt

QBE的使用: (1)启动QBE ; (2)屏幕显示空白表格; ? ? (3)用户在最左边一栏输入要查询的关系名,例如 Student: Student (4)系统显示该关系的属性名 (5)用户在上面构造查询要求 ? Student Sno Sname Ssex Sage Sdept ? ? P. T ? AO. CS ? Student Sno Sname Ssex Sage Sdept ? ? ? (6)屏幕显示查询结果 Student Sno Sname Ssex Sage Sdept ? ? 李勇 张立 ? ? ? 二. 域关系演算语言QBE(续) 1.检索操作 ①简单查询 ②条件查询 ③集函数 ④对查询结果排序 2.修改操作 3.插入操作 4.删除操作 构造查询的几点说明: 示例元素 (域变量) 一定要加下划线 示例元素是这个域中可能的一个值,它不必是查询结果中的元素 打印操作—— P. 指定查询结果所含属性列 查询条件 (不用加下划线) 可使用比较运算符>,≥,<,≤,=和≠ 其中=可以省略 排序要求 在相应列下面填入 AO.或者 DO. 如:AO.(1) ①简单查询 例:查询全体学生的全部数据。 Student 例:查询全体学生的全部数据。 Student Sno Sname Ssex Sage Sdept Student Sno Sname Ssex Sage Sdept P.S1 P. 李勇 P.男 P.20 P.CS 方法2: Student Sno Sname Ssex Sage Sdept P. ②条件查询 ◇ 简单条件? 例:求信息系全体学生的姓名。 Student Sno Sname Ssex Sage Sdept P. A IS ◇ 复合条件? 例: 求计算机科学系年龄大于19岁的学生的学号。 方法(1):把两个条件写在同一行上 Student Sno Sname Ssex Sage Sdept P.S1 19 CS 方法(2): 把两个条件写在不同行上,但使用相同的示例元素值 Student Sno Sname Ssex Sage Sdept P.S1 CS P.S1 19 例: 查询既选了C1号课又选了C2号课的学生的学号。 SC Sno Cno Grade P.S1 C1 P.S1 C2 例: 查询计算机科学系或者年龄大于19岁的学生的学号。 Student Sno Sname Ssex Sage Sdept P.S1 CS P.S2 19 ◇ 多表连接 例: 查询选修C1号课程的学生姓名。 Student Sno Sname Ssex Sage Sdept S1 P.A SC Sno Cno Grade S1 C1 注意:示例元素Sno是连接属性,其值在两个表中要相同. 思路:显示学号为S1的学生名字,而该学生选修C1号课程的情况为假 例: 查询未选修C1号课程的学生姓名 Student Sno Sname Ssex Sage Sdept S1 P.A SC Sno Cno Grade ┐ S1 C1 RANGE Course CX SC SCX GET W (Student.Sname): ?SCX(SCX.Sno=Student.Sno∧ ?CX (CX.Cno=SCX.Cno∧CX.Pcno=‘c2))? 例:查询至少选修一门其先行课为c2课程的学生名字 前束范式形式: … … GET W (Student.Sname): ?SCX ?CX(SCX.Sno=Student.Sno∧ CX.Cno=SCX.Cno∧CX.Pcno=‘c2) (7)带有多个关系的表达式的检索 例:查询成绩为90分以上的学生姓名与课程名。 Sno Cno Grade s1 c1 70 s1 c2 92 s1 c4 56 s2 c1 80 s2 c3 97 s3 c1 70 s3 c2 96 s3 c3 60 SC Sno Sname Ssex Sage s1 A 女 21 s2 B 女 22 s3 C 男 21 Student Couse Cno Cname Cpno Ccredit C1 AA C2 3 C2 BB

文档评论(0)

1亿VIP精品文档

相关文档