文档介绍:第3章 SQL语言
1
本章概要
SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据操纵、数据定义和数据控制四个部分。
SQL 语言简洁、方便实用、功能齐全,已成为目前应用最广的关系数据库语言。
本章要求
了解 SQL语言的特点,
掌握SQL语言的四大功能及使用方法,
重点掌握其数据查询功能及其使用。
2
SQL语言的基本概念与特点
SQL语言的发展及标准化
SQL语言发展史
SQL语言是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段:
1974年由CHAMBERLIN和BOYEE提出,当时称为SEQUEL(STUCTURED ENGLISH QUERY LANGUAGE);
IBM公司对其进行了修改,并用于其SYSTEM R关系数据库系统中;
1981年 IBM推出其商用关系关系数据库SQL/DS,并将其名字改为SQL,由于SQL语言功能强大,简洁易用,因此得到了广泛的使用;
今天广泛应用于各种大型数据库,如SYBASE、INFORMIX、 ORACLE、DB2、INGRES等,也用于各种小型数据库,如FOXPRO、ACCESS。
3
SQL语言标准化
随着关系数据库系统和SQL语言应用的日益广泛,SQL语言的标准化工作也在紧张革进行着,十多年来已制订了多个SQL标准;
1. 1982年,美国国家标准化局(AMERICAN NATIONAL STANDARD INSTITUTE,简称ANSI)开始制定SQL标准;
2. 1986年,美国国家标准化协会公布了SQL语言的第一个标准SQL86;
3. 1987年,国际标准化组织(ISO)通过了SQL86标准;
4. 1989年,国际标准化组织(ISO)对SQL86进行了补充,推出了SQL89标准;
5. 1992年,ISO又推出了SQL92标准,也称为SQL2;
6. 目前SQL99(也称为SQL3)在起草中,增加了面向对象的功能。
4
SQL语言的基本概念
首先介绍两个基本概念:基本表和视图。
基本表(BASE TABLE):是独立存在的表,不是由其它的表导出的表。一个关系对应一个基本表,一个或多个基本表对应一个存储文件。
视图(VIEW):是一个虚拟的表,是从一个或几个基本表导出的表。它本身不独立存在于数据库中,数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。
5
例如:学生数据库中有学生基本情况表STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT),此表为基本表,对应一个存储文件。可以在其基础上定义一个男生基本情况表STUDENT_MALE(SNO,SNAME,SAGE,SDEPT),
它是从STUDENT中选择SSEX=’男’的各个行,然后在SNO,SNAME,SAGE,SDEPT上投影得到的。
在数据库中只存有STUDENT_MALE的定义,而STUDENT_MALE的记录不重复存储。
在用户看来,视图是通过不同路径去看一个实际表,就象一个窗口一样,我们通过窗户去看外面的高楼,可以看到高楼的不同部分,而透过视图可以看到数据库中自己感兴趣的内容。
6
SQL
视图1
视图2
基本表1
基本表2
基本表3
基本表4
存储文件1
存储文件2
外模式
模式
内模式
SQL语言支持的关系数据库的三级逻辑结构
SQL语言支持数据库的三级模式结构,。其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。
7
SQL语言的主要特点
SQL语言类似于英语的自然语言,简洁易用。
SQL语言是一种非过程语言,即用户只要提出“干什么”即可,不必管具体操作过程,也不必了解数据的存取路径,只要指明所需的数据即可。
SQL语言是一种面向集合的语言,每个命令的操作对象是一个或多个关系,结果也是一个关系。
SQL语言既是自含式语言,又是嵌入式语言。可独立使用,也可嵌入到宿主语言中。
自含式语言可以独立使用交互命令,适用于终端用户、应用程序员和DBA;
嵌入式语言使其嵌入在高级语言中使用,供应用程序员开发应用程序。
8
5. SQL语言具有:
数据查询(QUERY)
数据定义(DEFINITION)
数据操纵(MANIPULATION)
数据控制(CONTROL)
四种语言一体化的功能。
下面以SQL SERVER 为例分别介绍其各个功能。。
9
SQL数据定义
SQL语言使