关系数据库与SQL语言_3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章SQL语言
SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据操纵、数据定义和数据控制四个部分。
本章要点
⏹了解SQL语言的特点,掌握基本表、视图、索引等概念
⏹掌握SQL语言的四大功能及使用方法,重
点掌握数据定义、数据查询功能及其使用:
建库、建表、建索引及修改表结构、删
除基本表、删除索引等
能进行简单查询、连接查询、嵌套查询⏹掌握基本表数据的插入、删除与修改
⏹掌握有关视图的操作:定义视图、查询视图、更新视图、撤消视图等
3.1 SQL语言的基本概念与特点
3.1.1SQL语言的发展及标准化
⏹ 1.SQL语言发展史
SQL语言是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段:
⏹1)1974年由CHAMBERLIN和BOYEE提出,当时称
为SEQUEL(STUCTURED ENGLISH QUERY
LANGUAGE);
⏹2)IBM公司对其进行了修改,并用于其SYSTEM R
关系数据库系统中;
⏹3)1981年IBM推出其商用关系关系数据库SQL/DS,
并将其名字改为SQL,由于SQL语言功能强大,简
洁易用,因此得到了广泛的使用;
⏹4)今天广泛应用于各种大型数据库,如SYBASE、
INFORMIX、ORACLE、DB2、INGRES等,也用
于各种小型数据库,如FOXPRO、ACCESS。
2.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)在起草中,增加了面
向对象的功能。
3.1.2SQL语言的基本概念
首先介绍两个基本概念:基本表和视图。
⏹基本表(BASE TABLE):是独立存在的表,不是由其它的表导出的表。一个关系对应一个基本表,一个或多个基本表对应一个存储文件。
⏹视图(VIEW):是一个虚拟的表,是从一个或几个基本表导出的表。它本身不独立存在于数据库中,数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。
⏹例如:学生数据库中有学生基本情况表STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT),
此表为基本表,对应一个存储文件。可以在其
基础上定义一个男生基本情况表
STUDENT_MALE(SNO,SNAME,SAGE,SDEPT)
⏹它是从STUDENT中选择SSEX=’男’的各个
行,然后在SNO,SNAME,SAGE,SDEPT上投
影得到的。
⏹在数据库中只存有STUDENT_MALE的定义,
而STUDENT_MALE的记录不重复存储。
⏹在用户看来,视图是通过不同路径去看一个
实际表,就象一个窗口一样,我们通过窗户
去看外面的高楼,可以看到高楼的不同部分,而透过视图可以看到数据库中自己感兴趣的
内容。
SQL
视图1视图2基本表1基本表2基本表3基本表4存储文件1存储文件2外模式
模式
内模式
图3.1 SQL 语言支持的关系数据库的三级逻辑结构 SQL 语言支持数据库的三级模式结构,如图3.1所示。其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。
3.1.3SQL语言的主要特点
1.SQL语言类似于英语的自然语言,简洁易用。
2.SQL语言是一种非过程语言,即用户只要提出
‚干什么‛即可,不必管具体操作过程,也不必了解数据的存取路径,只要指明所需的数据即可。
3.SQL语言是一种面向集合的语言,每个命令的
操作对象是一个或多个关系,结果也是一个关系。
4.SQL语言既是自含式语言,又是嵌入式语言。
可独立使用,也可嵌入到宿主语言中。
⏹自含式语言可以独立使用交互命令,适用于终端用
户、应用程序员和DBA;
⏹嵌入式语言使其嵌入在高级语言中使用,供应用程
序员开发应用程序。
5.SQL语言具有:
•数据查询(QUERY)
•数据定义(DEFINITION)
•数据操纵(MANIPULATION)
•数据控制(CONTROL)
四种语言一体化的功能。
下面以SQL SERVER 为例分别介绍其各个功能。各例题中所用的基本表如P21图1.12所示。
3.2 SQL数据定义
⏹SQL语言使用数据定义语言(DATA DEFINITION LANGUAGE,简称DDL)实现其数据定义功能,可对数据库用户、基本表、视图、索引进行定义和撤消。
3.2.1字段数据类型
⏹当用SQL语句定义表时,需要为表中的每一个字段设置一个数据类型,用来指定字段所存放的数据是整数、字符串、货币或是其它类型的数据。