关系数据库标准语言 SQL (ch.3)
3.1 SQL 概述
3.1.2 特点
1 综合统一
非关系型语言 的数据语言都分为 DDL Scheme Data Definitin Language, 模式DDL
SubScheme Data Definition Language 子模式DDL, DSDK DML
2 高度非过程话
3 面向集合的操作方式
4 用同一种语法结构提供多种功能
3.3 数据定义
一个管理系统实例可以创建多个 数据库
一个数据库可以有多个模式
一个模式包括多个表和视图等对象
3.3.1 定义模式
模式定义
CREATE SCHEMA AUTHORIZATION
模式删除
drop schema cascade|restrict
3.3.2基本表的定义 删除 修改
1 定义基本表:
create table (
。。。
[表级完整性约束条件] )
2 数据类型
3 模式与表
1 在表名中显式定义所属的模式名
2 在创建模式的时候定义表
3 设置所属的模式,这样在船舰的时候不必给出模式名
show search_path 显示搜索的默认值 $user,PUBLIC 含义是首先搜索与用户同名的模式名,然后使用public模式
管理员可以是设置搜索路径:
set search_path TO "S-T" ,PUBLIC
4 修改基本表
alter table
[ADD column [完整性约束]]
[add ]
[drop column [cascade|restrict ]
[drop consrtrainit [restrict|cascade ]]
[alter column ]
5 删除基本表
drop table [restrict|cascade]
3.3.3 索引的建立与删除
1 建立索引
create [unique][cluster] index
on (列名,次序[,列名 ,次序])
unique 表名每一个索引值对应一个唯一的数据记录
cluster 代表聚簇索引
2 修改索引
alter index rename to
3 删除索引
drop index< 索引名>
3.4 数据查询
select [all|distinct] [,] ...
from [,]
[where ]
[GROUP BY [ HAVING<条件表达式<]
[GROUP BY [ ASC|DESC]
3.4.1 单表查询
1 选择表中的若干列
2 选择元组中的若干元组
(1) 使用distinct 消除重复的行
(2)条件表达
4 聚簇函数
3.4.2# 连接查询
1 等值连接与非等值连接
[.] [·<表·名2>]
[.] between [·<表·名2>] and [. 列明> ]
2 自身连接
3 外连接
要以学生为主题进行查询(即使该学生没有选课,仍要有该学生的null 信息 (而不是舍弃)
from student Left outer join sc on (Student.Sn=Sc.Sno)
左外连接列出左边元组的所有信息。
4 多表连接
5 嵌套查询
3.4.3 嵌套查询
需要指出 子查询不可以用select 语句进行查询
相关子查询和不相关子查询
如果子查询的查询条件依赖于 父查询 就成为 相关子查询
否则就是不相关子查询。(相关嵌套查询)
3 any 和some 谓词
4 exists 谓词的使用
5
选择选修了 全部课程的学生
对于任意的XX 都满足
非( 存在一个XX 不满足)
查询至少选修了 学生X 选修了全部课程的学生号码
蕴含逻辑
若果 X 选修了a 那么Y 也选修了a
对于任意课程y 满足(如果A选了 -> B选了)
等价于
不存在课程y (Ax选了-> B 没选)
3.4.4 集合查询
包括并 交 差
union 会自动去掉重复元素 使用alll 关键字保留重复元素
3.4.5 基于派生表的查询
子查询出现在from 中称为派生表
3.4.6 select 的一般格式
3.5 数据更新
1插入元组
insert into [ ,...)]
2 插入子查询结过
insert into table [,...] 子查询;
3.5.2 修改数据
update set =
where
3.5.3删除数据
drop from table < 表名>
where
3.7 视图
3.7.1 定义视图
1 建立试图
create view [(列名) ...]
as
[with check option]
选择了with check option 会再更新插入删除的时候 自动加上限制条件
必须指定组成视图的所有列名
(1) 某一个目标列不是单纯的属性名 ,是局促函数或者是列表达式
(2)选择了同名的字段
(3)要启动更加适合的名字
如果一个视图仅仅是去掉了表中的某些行或者列 就成为 行列子集视图
不存在的列 - 》 带表达式的视图
有groupby字句的视图-》 分组视图
2 删除视图
删除基本表后 ,视图不会清楚,
需要显示的调用drop view 来清除视图
3.7.2 查询视图
视图消解 view resolution
都属关系对行列子集视图的查询都可以正确转换,但是非行列子集视图就不一定可以正确转换了,
视图一旦定义,就永久保存在数据字典中
派生表再语句执行中临时定义,执行后删除
3.7.4 视图的作用
简化用户操作
使用户以多角度看同意数据
对重构提供了一定程度的逻辑独立性
对机密数据提供安全保护
更清晰的表达查询
转载于:https://www.cnblogs.com/sfzyk/p/9175679.html
关系数据库标准语言 SQL (ch.3)相关推荐
- 【思维导图总结——数据库系统概论】关系数据库标准语言SQL
关系数据库标准语言SQL 数据库系统概论--关系数据库标准语言SQL 关系数据库标准语言SQL 一.SQL概述 二.数据定义 (一).SQL数据定义语句以及现代关系数据库的层次结构 (二).模式的定义 ...
- 第三章关系数据库标准语言SQL
第三章关系数据库标准语言SQL 3.1_SQL的特点 3.3_数据定义 3.3.1_基本表的定义.删除与修改 3.3.3_索引的建立与删除 3.4_数据查询 3.4.1_查询时消除重复行 3.4.2_ ...
- 重温《数据库系统概论》【第一篇 基础篇】【第3章 关系数据库标准语言SQL】
本篇内容为中国人民大学教授王珊.萨师煊的<数据库系统概论>自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P16-P27,属教材"[第一篇 基础篇]"的&qu ...
- 【数据库系统设计】关系数据库标准语言SQL(3)
关系数据库标准语言SQL 数据更新 插入数据 插入元组 插入子查询结果 修改数据 修改某一个元组值 删除数据 删除某一个元组的值 删除多个元组的值 带子查询的删除语句 空值的处理 空值的产生 空值的判 ...
- 【数据库系统设计】关系数据库标准语言SQL(2)
关系数据库标准语言SQL 数据查询(连接查询) 等值连接 `=` 自然连接 自身连接 外连接 `LEFR/RIGHT JOIN ... ON` 多表连接 数据查询(嵌套查询 ) 带有`IN`谓词的子查 ...
- 【数据库系统设计】关系数据库标准语言SQL(1)
关系数据库标准语言SQL SQL介绍 SQL的特点 SQL中基本概念 示例:学生-课程 数据库 数据定义 SCHEMA定义 基本表定义(重点) 定义基本表(关系模式) 数据类型 定义基本表示例 修改基 ...
- 实验一 关系数据库标准语言SQL
实验一 关系数据库标准语言SQL [实验目的] 在给定的关系数据库管理系统MySQL环境下,通过实验学生能够: 1.MySQL环境的认识及熟悉,了解其对标准SQL的扩充. 2.掌握MySQL环境下数据 ...
- 【数据库原理 • 三】关系数据库标准语言SQL
前言 数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术.它已成为各行各业存储数据.管理信息.共享资源和决策支持的最先进,最 ...
- [XJTUSE DATABASE]——第三章 关系数据库标准语言SQL
文章目录 [XJTUSE DATABASE]--第三章 关系数据库标准语言SQL 一.SQL概述 二.数据定义 模式的定义与删除 定义模式 删除模式 基本表的定义.删除与修改 数据类型 模式与表 修改 ...
最新文章
- python独立图形_在networkx中查找图形对象中的独立图形
- 如何测试连接MsSQL数据库-------UDL文件
- 60-124-340-源码-运行模式-Yarn-通过 YARN 的资源本地化技术减少 Flink 在 YARN 上的部署时间
- PHP递归遍历数组 不破坏数据结构 替换字符
- ElasticSearch - 嵌套对象 nested
- VOS3000 8.05安装及源码
- JAVA多线程面试题整理及答案
- MatLab2019下载
- linux+硬盘rd5,BackTrack5(BT5)硬盘安装完美教程 亲测可用
- i.MX6ULL 开发板在Ubuntu系统下实现串口通信
- 课程表里的表表机器人_机器人课程表
- 【ELM预测】基于蝴蝶算法优化极限学习机预测附matlab代码
- KETTLE使用通配符匹配多个文件输入到一张表中
- 使用ADF Faces 之二:数据可视化组件 Thematic Map
- 持续测试(Continuous Testing)
- app上架苹果市场流程
- NVIDIA NCCL 源码学习(五)- 路径计算
- 尚硅谷的Netty介绍(一)
- 评委打分表模板_系高中英语作文模板——邀请信
- 移动端Web不安分的小键盘