数据库系统
数据库的四个基本概念:
1、数据:描述事物的符号记录
2、数据库:
3、数据库管理系统
4、数据库系统
数据库系统的特点:
- 数据结构化
- 数据共享性高,冗余度低且易扩充
- 数据的独立性高
4.数据由数据库管理系统统一管理和控制
a、数据的安全性保护
b、数据的完整性检查
c、并发控制
d、数据库恢复
数据模型的组成要素:
1、数据结构
2、数据操作
3、数据完整性约束
常用的数据模型:
1、层次模型——1:n
2、网状模型——m:n
3、关系模型
关系数据库
关系的三种类型:
基本关系、查询和视图表
关系的每一个分量都必须是不可再分的数据项
关系代数:
笛卡尔积
除运算
选择
选择又称为限制(Restriction)
选择运算的含义
在关系中选择满足给定条件的诸元组
选择运算符σ
[例1] 查询信息系(IS系)全体学生
σsdept
='IS'
(Student)
[例2] 查询年龄小于20岁的学生
σsage<20
(Student)
[例3] 查询信息系年龄小于20岁的学生
σsdept='IS'
(Student)∩sage<20
(Student)
∧ 逻辑与
∨ 逻辑或
注:选择运算是从行的角度进行的运算
投影
投影运算的含义
从R中选择出若干属性列组成新的关系
投影运算符π
投影操作主要是从列的角度进行运算
但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)
3) 举例
[例1] 查询学生的姓名和所在系
即求Student关系上学生姓名和所在系两个属性上的投影
π Sname,Sdept(Student)
[例2]查询学生关系Student中都有哪些系
π Sdept(Student)
[例3] 查询CS系的学生姓名
π Sname(σSdept='CS'(Student) )
[例4] 查询没有选过课的学号
思路:所有学生号-选过课的学生号
π Sno(Student)- π Sno(SC)
[例5]查询没有不及格的学号
思路:所有学号-有不及格的学号
π Sno(Student)- π Sno(σGrade < 60 (SC))
查询没有不及格的学号
这样做有错, 为什么?
π Sno(σGrade>= 60 (SC))
这是查询有过及格的学号!!!
[例6]查未被选修的课号
所有课号 - 被选修的课号
π cno(Course) -π cno(SC)
连接
1)连接运算的含义
从两个关系的笛卡尔积中选取属性间满足一定条件的元组
A和B:分别为R和S上的属性组
θ:比较运算符
2)两类常用连接运算
等值连接(equijoin)
θ为“=”的连接运算称为等值连接
自然连接(Natural join)
两关系中相同属性组的等值连接
结果中去掉重复属性列
[例 1]查询有成绩>95的学号,姓名
分析:成绩在SC表中, 姓名在STUDENT表中
如果有一张大表,有学号、姓名、成绩 就好了
自然连接STUDENT和SC即可
π Sno,Sname (σgrade>95(Student连接SC) )
问题:什么时候要用到连接运算?
结论:当查询条件和结果来自两个关系时, 用连接
[例 2] 查询选修了2号课程的学生的学生名。
π Sname(σCno=‘2’(Student 连接 SC ))
[例3] 查询选修了先行课为5号课的课程的学生姓名。
π Sname(σ Cpno='5'(Student 连接 SC 连接 Course))
或
π Sname(π Sno,Sname(Student) 连接 SC 连接 σCpno='5'(Course))//性能更好
[例4] 查询没有选过课的学号,姓名
π Sno,Sname (Student 连接 (πSno(Student) - πSno(SC)) )
练习题:
1.查询CS系的学生姓名
投影 Sname(选择 Sdept=’cs’( Student))
2.查询有成绩>90的学号
投影 Sno 选择 Grade90(c))
3.查询没有被选修的课号
投影Cno(Course)-投影cno(sc)
4.查询没有被选修的课号,课名
投影 Cno, Cname(Course连接(投影Cno( Course)-投影cno(Sc)
5.查询CS系成绩〉90的学号,姓名
投影sno, Sname选择 Sdept='cs'( Student)连接选择 Grade>90(sC)连接 Student)
6.查询数据库原理课成绩〉90的学号
投影 sno(选择 Cname='数据库原理'(Course)连接 选择Grade>90(sc))
7.查询CS系数据库原理课成绩〉90的学号,姓名
投影 Sno, Sname(选择 Cname='数据库原理'( Course)连接 选择 Grade>90 (Sc )连接 Student)
标签:学号,Sno,投影,查询,Student,数据库系统,连接 From: https://www.cnblogs.com/hinima/p/16897485.html