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 视图的作用

简化用户操作
使用户以多角度看同意数据
对重构提供了一定程度的逻辑独立性
对机密数据提供安全保护
更清晰的表达查询

关系数据库标准语言 SQL (ch.3)的更多相关文章

  1. 第3章 关系数据库标准语言SQL(重点) | 数据库知识点整理

    第3章 关系数据库标准语言SQL(重点) 了解 SQL语言发展过程 关系数据库技术和关系数据库管理系统RDBMS产品的发展过程 掌握 SQL语言的特点和优点 面向过程的语言和SQL语言的区别 关系数据 ...

  2. 第3章:关系数据库标准语言 SQL

    目录 第3章:关系数据库标准语言 SQL 3.1.SQL概述 3.1.1.历史 3.3.2.SQL语言的功能 3.3.3.SQL的特点 3.3.4.基本概念 3.2.学生-课程数据库 3.3.数据定义 ...

  3. 关系数据库标准语言SQL——概述

      SQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询.SQL是一个通用的.功能极强的关系数据库语言.SQL(Structured Query Language)结构化查询语 ...

  4. 关系数据库标准语言SQL

    篇幅过长,恐惧者慎入!!!基础知识,大神请绕道!!! 本节要点: l  SQL概述 l  学生-课程关系 l  数据定义 基本表的定义.删除与修改 索引的建立与删除 l  查询 单表查询 连接查询 嵌 ...

  5. 第3章_关系数据库标准语言(SQL)_006_由元组关系演算到SQL Command_001_蕴含式 (其中有对EXISTS的分析)

    前序的链接:元组关系演算 六. 蕴含式 ===>1. 什么是“蕴含式”===>设p.q为两个命题.复合命题“如果p,则q”称为p与q的蕴含式,记作p→q,并称p为蕴含式的前件,q为后件.定 ...

  6. 3.1 关系数据库标准语言SQL综述

    一.SQL语言的特点 SQL结构查询语言 1.综合统一: 2.高度非过程化:不需要指定存储路径 3.面向集合的操作方式 4.以同一种语法提供两种使用方式:独立语言.嵌入式语言 5.语言简单,易学易用 ...

  7. 关系数据库标准语言SQL的基本问答

    1 .试述 sQL 语言的特点. 答: (l)综合统一. sQL 语言集数据定义语言 DDL .数据操纵语言 DML .数据控制语言 DCL 的功能于一体. (2)高度非过程化.用 sQL 语言进行数 ...

  8. SQL查询刚開始学习的人指南读书笔记(一)关系数据库和SQL介绍

    PART I:Relational Databases and SQL Chapter2, Ensuring Your Database Structure IsSound. 数据库设计准则 什么是关 ...

  9. 关系数据库常用SQL语句语法大全

    创建表 语法 CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件] [,<列名> <数据类型>[列级完整性约束条 ...

随机推荐

  1. MYSQL常用命令(转)

    1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldum ...

  2. 你知道的和不知道的sass

    关于sass,大多数人的认识一个写css的工具而已 其实就是的 但是这个工具的威力你发挥了多少呢... 以下全部都是干货,希望你能用在自己的项目里 定义集合 我们通常是这么定义变量的 $warning ...

  3. ip地址分类和子网掩码学习笔记

    关于ip的一些学习心得 ip的概念其实很好理解,也很形象,就像一个门牌号一样,让人困惑的其实不是ip的概念本身,而是在日常计算机网络使用中,碰到很多有特殊意义的ip地址,例如,127.0.0.1,19 ...

  4. 软件-版本控制器-VisualSVN:VisualSVN

    ylbtech-软件-版本控制器-VisualSVN:VisualSVN VisualSVN 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 0. https:/ ...

  5. 转:shell笔试题

    源地址:http://blog.csdn.net/zcsylj/article/details/6799632 1.用Shell编程,判断一文件是不是块或字符设备文件,如果是将其拷贝到 /dev 目录 ...

  6. Catenyms (POJ2337) 字典序最小欧拉路

    // 很久不写图论,连模板也不熟悉了0.0 // 这题是一个技巧性比较高的暴力DFS Catenyms 题目大意 定义catenym为首尾字母相同的单词组成的单词对, 例如: dog.gopher g ...

  7. PAT甲级——A1083 List Grades

    Given a list of N student records with name, ID and grade. You are supposed to sort the records with ...

  8. uploadify附件上传 传参

    首先 在刚加载jsp时就加入上传方法,所以 formDate 中的参数 zFileName是页面刚加载时 exp1的值 ,后来通过js方法赋值不被读过来,如果 你想要获得这个值,可在 调用upload ...

  9. gulpfile.js demo

    var config = require("./build.config") //获取build.config.js文件里的内容 var gulp = require(" ...

  10. js (function(){}()),(function(){})(),$(function(){});之间的区别

    参考:https://blog.csdn.net/stpice/article/details/80586444 (function(){}()), (function(){})() 均为立即执行函数 ...