第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,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
8天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
31 11
|
22天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
21天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
1月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
34 1
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
62 4
|
1月前
|
SQL 关系型数据库 MySQL
go语言中安装数据库驱动
【11月更文挑战第1天】
53 5
|
1月前
|
SQL 关系型数据库 MySQL
go语言中数据库操作
【10月更文挑战第22天】
53 4
|
1月前
|
关系型数据库 MySQL 数据库连接
go语言中打开数据库连接
【11月更文挑战第1天】
32 2
|
1月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
35 2
|
1月前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象