国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

时间:2022-09-01 08:12:14


大数据3V    Volume(海量)  velocity(速度快)  variety(多样化)

表是二维表

Table/Relation (表)
(Column):一个属性,有明确的数据类型
例如:数值类型(e.g., int, double),字符串类型(varchar)
类别类型
(有些像程序语言中的enum)
必须是原子类型,不能够再进一步分割,没有内部结构
(Row):一个记录(tuple, record
表是一个记录的集合
记录之间是无序的
通常是一个很瘦长的表
几列到几十列
成千上万行,很大的表可以有亿/兆行

Key ()
特殊的列
有什么用?
取值是唯一的
唯一确定一个记录
• Primary key (主键)
唯一确定本表中的一个记录
• Foreign key (外键)
是另一个表的Primary key
唯一确定另一个表的一个记录
SQL Create Table
1Student8

ID Name Birthday Gender Major Year GPA

创建表
create table Student (                       //Student表名     
ID integer,
Name varchar(20),                             //20限制长度
Birthday date,
Gender enum(M, F),                             //枚举型   从两个里面选一个
Major varchar(20),
Year year,

GPA float,
primary key(ID)                                                                 //声明主键

);
有些像程序语言中
的函数定义

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接
国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

字符串用单引号

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接


国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接


国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

先选择再投影

Join (连接)
• Equi-join(等值连接)
最简单、最广泛使用的连接操作
理解和实现其它种类join的基础和精华部分
我们这里只介绍equi-join
概念
已知两个表RSR表的a列和S表的b
R.a = S.b为条件的连接
找到两个表中互相匹配的记录
33
R
R.a = S.bS
R.a
S.b被称为join key

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

SQL Select
select 列名,…,列名
from ,…,
where 条件
38
选择,连接
选择,连接
投影
group by 列名,…,列名
having 条件
order by 列名,…,列名
国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

国科大大数据复习笔记 陈世敏 关系型数据管理系统(1)SQL增删查改 选择 投影 链接

思考:如何计算平均成绩?
已知 Student.GPA 为截止上学期的平均成绩
需要重新计算每位学生的GPA
写一个SQL语句输出
44

ID Name Birthday Gender Major Year GPA

Student
TakeCourse

Couse ID Student ID Year Semester Grade

Student.Name NewGPA

select Student.Name, avg(Grade) as NewGPA
from TakeCourse, Student
where TakeCourse.StudentID = Student.ID
group by Student.ID, Student.Name;