SQL概述
结构化查询语言SQL:介于关系代数和元组演算之间的一种语言,广泛应用于商用系统中,是关系数据库的标准语言。SQL是structured query language的简称。
SQL的特点
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。
主要特点:综合统一;高度非过程化;面向集合的操作方法;以同一种语法结构提供两种使用方式;语言简洁,易学易用。
SQL数据库的体系结构
SQL数据库的体系结构基本上也是三级结构,但有些术语和传统的关系数据库术语不同。在SQL中,关系模式被称为“基本表”,存储模式被称为“存储文件”,子模式被称为“视图”,元组称为“行”,属性称为“列”。
一个SQL数据库是表(Table)的汇集,它用一个或若干个SQL模式定义。
一个SQL表有行集构成,一行是列的序列,每列对应一个数据项。
一个表或者是一个基本表(Base table),或者是一个视图(View)。基本表是实际存储在数据库中的表,而视图是若干个基本表或其他视图构成的集合的子集。
一个表可以带若干个索引,索引也可以存放在存储文件中。
一般一个基本表与一个存储文件对应,一个存储文件与外部存储器上一个屋里文件对应。在大型机上以及一些新的关系DBMS产品中,一个基本表可以放在多个存储文件中而一个存储文件也可以存放多个基本表。
存储文件的逻辑结构构成了关系数据库的内模式。存储文件的威力结构是任意的,对用户是透明的。
SQL用户可以是应用程序,也可以是终端用户。
SQL的数据定义
SQL语言数据定义功能包括定义表、定义视图和定义索引。
基本表
create table table_name(col1,col2...);
drop table table_name;
索引
create cluster index name_index on table_name ( col_name);
SQL的数据操纵
数据操纵功能包括检索查询和 插入、删除、更新等修改功能,即select、insert、delete和update 4个语句
SQL的查询语句
select distinct A from R where B=17;
SQL的修改语句
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
视图
视图是从一个或几个基本表(或者其他视图)导出的表,它与基本表不同,是一个虚表。
视图一经定义,就可以和基本表一眼被查询和删除。
视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。视图最终是定义在基本表之上的,对视图的一切操作最终也是准换为对基本表的操作。
视图的基本操作有:创建视图(create view),删除视图(drop view),修改视图,插入(insert),删除(delete)和更新(update)。
定义视图
查询视图
修改视图
视图的作用
- 能够简化用户的操作
- 使用户能有以多种角度观察同一数据
- 对重构数据库提供了一定程度的逻辑独立性
- 能够对机密数据提供安全保护
由此可知,视图应用户的查询需求而定义的,对数据库的规范要求轻松(考虑冗余等较少),但原来在几个表中的查询在视图一个表中就可以查出,所以可简化查询语句的编写;由于视图只是一个虚表,最终的数据还在基本表中,所以并不能提高查询速度。
SQL的数据控制语句
数据控制功能主要是安全控制等操作
授予权限
收回权限
嵌入式SQL