第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对关系数据库模式的支持


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


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


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


相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
204 3
|
19天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
5天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
19天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
22天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
36 4
|
23天前
|
SQL 关系型数据库 MySQL
go语言中安装数据库驱动
【11月更文挑战第1天】
40 5
|
20天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
24天前
|
SQL 关系型数据库 MySQL
go语言中数据库操作
【10月更文挑战第22天】
30 4
|
23天前
|
关系型数据库 MySQL 数据库连接
go语言中打开数据库连接
【11月更文挑战第1天】
30 2
|
1月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
19 2