首页 > 代码库 > 数据库 chapter 3 关系数据库标准语言SQL

数据库 chapter 3 关系数据库标准语言SQL

第三章 关系数据库标准语言SQL

SQL集数据查询,数据操纵,数据定义和数据控制功能于一体,主要特点包括:

综合统一(各个过程各个部分的语言风格统一)

高度非过程化

面向集合的操作方式

以同一种语法结构提供多种使用方式(既可独立使用,也可以嵌入到高级语言如C程序中)

语言简洁,易学易用(完成核心功能只用了9个动词)

技术分享

技术分享

SQL通常不提供修改模式定义、修改视图定义和修改索引定义的操作。用户如果想修改这些对象,只能将它们先删除掉,然后再重建。

SQL同样支持数据库三级模式结构(外模式,模式和内模式,模式和内模式为唯一,外模式可不唯一)

技术分享

定义模式

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

基本表的定义、删除与修改

技术分享

技术分享

技术分享

关系模型中的一个重要概念是域,每一个属性来自一个域,它的取值必须是域中的值。在SQL中域的概念用数据类型来实现。

技术分享

每一个基本表都属于某一个模式,一个模式包含多个基本表。定义基本表时定义它所属的模式共有三种方法:

技术分享

若用户创建基本表(其他数据库对象也相同)时没有指定模式,系统根据搜索路径来确定该对象所属的模式。

SHOW search_path;  此语句可以显示当前搜索路径。

搜索路径的当前默认值是:$user. PUBLIC. 含义为首先搜索与用户名相同的模式名,若不存在,则使用PUBLIC模式。

修改基本表

技术分享

删除基本表

技术分享

技术分享

技术分享

索引的建立与删除

建立索引是加快查询速度de有效手段。用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。

技术分享

技术分享

技术分享

数据查询

SQL提供了SELECT语句进行数据库的查询,其一般格式为:

技术分享

SELECT既可以完成简单的单表查询(仅涉及一个表的查询),也可以完成复杂的连接查询和嵌套查询。

技术分享

最后形成一个结果关系作为输出。

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

取消取值重复的行使用DISTINCT

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

连接查询:一个查询同时涉及两个以上的表,则称之为连接查询。

技术分享

技术分享

技术分享

技术分享

自身连接:连接操作不仅可以在两个表之间进行,也可以是一个表与其自己进行连接,称为表的自身连接。

技术分享

技术分享

技术分享

技术分享

复合条件连接

WHERE子句中有多个连接条件。

技术分享

技术分享

嵌套查询

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

相关子查询是循环查询,就是先查询一个父查询元组,传入子查询,再进行父查询,然后再进行下一个元组(就是子查询的数值需要父查询传入);而不相关子查询是一次性检查完子查询,再进行父查询。

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

就是属性列名和值一一对应。

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

视图的作用:

视图能够简化用户的操作

视图使用户能以多种角度看待同一数据

视图对重构数据库提供了一定程度的逻辑独立性

视图能够对机密数据提供安全保护

适当的利用视图可以更清晰的表达查询

数据库 chapter 3 关系数据库标准语言SQL