第3章 关系数据库标准语言SQL——3.1 SQL概述

简介: 第3章 关系数据库标准语言SQL——3.1 SQL概述

3.1  SQL概述


     结构化查询语言(Structured Query Language,SQL)是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库语言。其功能不仅仅是查询,而是包括数据库模式创建、数据库数据的插入与修改、数据库安全性完整性定义与控制等一系列功能。


3.1.1  SQL的产生与发展


3.1  SQL标准的进展过程

标准

大致页数

发布日期

SQL/86


198610

SQL/89(FIPS   127-1)

120

1989

SQL/92

622

1992

SQL   99(SQL 3)

1700

1999

SQL   2003

3600

2003

SQL   2008

3777

2006

SQL   2011


2010

    目前,没有一个数据库系统能够支持SQL标准的所有概念和特性。


3.1.2  SQL的特点


       SQL数据查询(data query)、数据操纵(data manipulation)、数据定义(data definition)和数据控制(data control)功能于一体,其主要特点包括以下几部分。


01 综合统一


    非关系模型(层次模型、网状模型)的数据语言一般都分为:

    (1)模式数据定义语言(Schema Data Definition Language,模式DDL)。

    (2)外模式数据定义语言(Subschema Data Definition Language,外模式DDL或子模式DDL)。

    (3)数据存储有关的描述语言(Data Storage Description Language,DSDL)。

    (4)数据操纵语言(Data Manipulation Language,DML)。

     它们分别用于定义模式、外模式、内模式和进行数据的存取与处置。当用户数据库投入运行后,如果需要修改模式,必须停止现有数据库的运行,转储数据,修改模式并编译后再重装数据库,十分麻烦。

    SQL集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括以下一系列操作要求:

>>定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库。

>>对数据库中的数据进行查询和更新。

>>数据库重构和维护。

>>数据库安全性、完整性控制,以及事物控制。

>>嵌入式SQL和动态SQL定义。

     用户在数据库系统投入运行后,可根据需要随时逐步修改模式,不影响数据库的运行。


02 高度非过程化

     非关系数据模型的数据操纵语言是“面向过程”的语言,用“过程化”语言完成某项请求必须指定存取路径。而用SQL进行数据操作时,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径。存取路径的选择以及SQL的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性


03面向集合的操作方式

    非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。SQL采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。


04 以同一种语法结构提供多种使用方式

    (1)SQL是独立的语言:能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作。

    (2)SQL又是嵌入式语言:SQL语句能够嵌入到高级语言(例如C、C++、Java)程序中,供程序员设计程序时使用。


05 语言简洁,易学易用

    SQL功能极强,由于设计巧妙,语言十分简洁,完成核心功能只用了9个动词,如表3.2所示。

3.2  SQL的动词

SQL功能

动词

数据查询

select

数据定义

createdropalter

数据操纵

insertupdatedelete

数据控制

grantrevoke



3.1.3  SQL的基本概念


     支持SQL的关系数据库管理系统同样支持关系数据库三级模式结构,如图3.1所示。其中外模式包括若干视图(view)和部分基本表(base table),模式包括若干基本表内模式包括若干存储文件(stored file)。

901daa04c90c81763e0565b8b363d47e_640_wxfrom=5&wx_lazy=1&wx_co=1.jpg

图3.1  SQL对关系数据库模式的支持


       基本表是本身独立存在的表,在关系数据库管理系统中一个关系就对应一个基本表。一个或多个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。


     存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构对最终用户是隐蔽的。


     视图是从一个或几个基本表导出的表它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。这些数据仍存放在导出视图的基本表,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图


相关文章
|
17小时前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
17小时前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
2天前
|
SQL 数据库
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
11 1
|
2天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
5 0
|
3天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
3天前
|
存储 SQL Java
【数据库】数据库语言
【数据库】数据库语言
11 1
|
4天前
|
SQL 数据库
SQL数据库基础语法-查询语句
SQL数据库基础语法-查询语句
|
4天前
|
SQL 存储 数据库
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
|
7天前
|
SQL 数据库 Windows
sql数据库安装过程,SQL数据库的安装过
本文概述了安装SQL Server数据库的步骤:准备硬件和软件环境,运行安装程序,选择安装类型,接受许可协议,设定安装路径和组件,配置实例和服务账户,选择身份验证模式,配置其他设置,然后安装并完成。安装后需检查验证SQL Server是否正常工作。确保遵循步骤以顺利完成安装。
43 3
|
9天前
|
Java 关系型数据库 数据库连接
【C 言专栏】C 语言与数据库的连接与操作
【5月更文挑战第2天】本文探讨了C语言如何连接和操作数据库,介绍了数据库连接的基本原理,如通过ODBC、JDBC或原生接口与数据库交互。文章详细阐述了使用ODBC连接的步骤,并列举了C语言在数据库操作中的常见任务,强调了错误处理、数据类型匹配和性能优化的重要性。通过实际案例,展示了在学生信息管理系统中应用C语言与数据库交互的过程。本文旨在帮助读者更好地理解和应用C语言进行数据库管理。