我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL语言概况(4.1)

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL语言概况(4.1)

SQL语言概况(4.1)

SQL语言概况(4.1)

目录

  • SQL语言概况(4.1)
    • 4.1 SQL语言概况
      • 4.1.1 历史及标准简介
      • 4.1.2 SQL语言定义及特点
      • 4.1.3 使用说明

参考资料:

数据库原理及设计(第3版)

配套数据库为:microsoft sql server

参照ANSI SQL-92标准

4.1 SQL语言概况

4.1.1 历史及标准简介

一切都源于关系型数据库之父——Edgar Frank Codd 于1970年6月首次提出了关系数据模型。

之后嘛,肯定是经历了以下这个过程:

  • 各学校、公司开始理论研究,看看这个玩意儿能不能给带来利益?!

  • 诶?!好像可以带来利益诶……那我们开发成产品商化吧,再配套一个使用工具(语言)!

  • 权威机构:麻了?!怎么发展的这么蓬勃(五花八门)?!不得行,是时候我出场统一一下标准了!

  • 基于标准开发,再来点扩展,投放市场使用……

    其它公司:诶?!好玩意儿……可是我们的开发应用要界面啊,能不能把这个嵌入到其他语言中使用?!

  • ……

至此,我们来梳理一下真正的历史过程

  • 1974年BoyceChamberlin提出SQL

  • 20世纪70年代中期,IBM公司在研制System R 的过程中,开发了世界上最早的SQL语言

  • 1979年,Oracle公司最先提出了商用的SQL语言

  • SQL标准变迁史

    • 1986年10月,ANSI制订,SQL-86
    • 1989年,ANSI改进,SQL-89
    • 1992年,ANSI与ISO合作改动完善,SQL-92
    • 1999年,增加面向对象特征扩展,提出SQL:1999
    • 2003年,SQL:2003
    • ……

    可以说,命名就很有意思了,就是年份结尾嘛,但是1999年开始变成四位数字,具体原因我也是百度了一篇博客,放出来《SQL标准简介》

    https://blog.csdn.net/lengye7/article/details/80606489

    还有一点,非正式的一些称呼

    • 第一代SQL语言,SQL1,SQL-86 & SQL-89
    • 第二代SQL语言,SQL2,SQL-92
    • 第三代SQL语言,SQL3,SQL:1999

其中,针对于SQL-92来说,绝大多数RDBMS产品不是完全支持的,那差异一般都会体现在SQL命令的语法上面。

针对这个不完全支持,我们可以从两个方向上来看

  • SQL-92中的某些功能,在实际RDBMS中可能没有得到支持
  • 实际RDBMS也有可能出现该标准中没有的功能和特性

那么根据支持SQL-92的程度,我们可以分为三种:

  • 入门(entry)级:其功能特性接近SQL-89
  • 中间(intermediate)级:包含SQL-92近一半的新特点
  • 完全(full)版:完全支持

因此,所给的建议是:

  • 使用具体的RDBMS时,查阅产品的技术资料
  • 增强SQL代码的移植性,最好采用在SQL标准中也推荐的功能

4.1.2 SQL语言定义及特点

什么是SQL语言

  • 是最流行的一种数据库语言
  • 结构化查询语言(structured query language
  • 是RDBMS支持的数据库语言

很多人会跟我有一样的疑问,为啥叫查询语言???

  • 首先不要被这个名字误导了,并不是它只支持查询,它的功能还有很多,,比如数据模式定义、数据的“增、删、改”以及安全和事务控制功能。

    所以说……一个好的名字还是很重要的……

  • 具体原因:从操纵数据的角度来看,查询是最重要也是用的最多的操作(想想你们自己管理开发的时候,是不是动不动就要查询这个查询那个?!)

接下来,我们看看这个SQL语言有哪些功能特点呢

  1. 功能一体化。

    说的有点玄乎,实际上就是,它作为数据库语言的一种,也是遵循数据库语言的划分,由3个子语言构成:

    • DDL(data definition language)
    • DML(data manipulation language)
    • DCL(data control language)

    各个自语言又有很多自己的功能……

  2. 语言非过程化。

    之前我们说过,它的名字中有结构化,那什么是结构化,什么是过程化呢?

    • 结构化是相对于过程化来说的
    • 过程化的语言:需要用户在程序设计中指明程序“做什么”,还需要程序员按照一定的算法编写出“怎么做”的程序来。
    • 结构化的预言(以RDBMS为例):用户只需要定义“做什么”,RDBMS系统内部会解决“怎么做”。
  3. 交互式与嵌入式使用。

    • 交互式(interactive):用户直接在RDBMS控制台上使用SQL语言中的SQL命令直接交互。
    • 嵌入式(embedded):在过程化语言(宿主host语言)中使用。
  4. 标准化与易移植性。

    之前,我们也说过,各个具体的RDBMS产品中支持的SQL语言情况是有所差异的,但是大多都能支持标准的大部分,因此,移植起来会相对容易。

4.1.3 使用说明

利用SQL语言,可以完成关系模型的具体化,那我们之前知道,任何模型都包括3方面的内容:

  • 数据结构
  • 完整性约束
  • 数据操纵

那么如何将这三部分具体化呢?

这由SQL语言中的两个子语言承担:

  • DDL完成数据结构和完整性约束
  • DML完成数据操纵

之后,我将会分块对这两个子语言进行学习……

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL语言概况(4.1)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SQL语言概况(4.1)

SQL语言概况(4.1)目录SQL语言概况(4.1)4.1 SQL语言概况4.1.1 历史及标准简介4.1.2 SQL语言定义及特点4.1.3 使用说明参考资料:数据库原理及设计(第3版)配套数据库为:microsoft sql server参照ANSI SQ
SQL语言概况(4.1)
2017-08-18

Go语言在商业界的应用概况

Go语言是一种由Google开发的开源编程语言,它的设计初衷是为了提升软件开发的效率和简化大型软件系统的构建。自Go语言于2007年发布以来,其在商业界的应用逐渐增加。本文将探讨Go语言在商业界的应用概况,探讨它的优势和劣势,并介绍一些使用
Go语言在商业界的应用概况
2024-03-04

SQL语言基础

1.定义对数据库进行查询和修改操作的语言叫做SQL(Structured Query Language,结构化查询语言)SQL是一种数据库查询和程序设计语言,用于存储数据以及查询、更新和管理关系数据库系统;与其他程序设计语言不同的是,SQL由很少的关键字组成,
SQL语言基础
2020-08-11

css语言的概念是什么

这篇文章主要讲解了“css语言的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css语言的概念是什么”吧!css语言是一种用来表现HTML或XML等文件样式的计算机语言;其英文全称
2023-07-05

Go语言基础概念解析

go 语言是一门高性能、并发编程语言,其基础概念包括:基本类型(整数、浮点数、布尔值、字符串、字符);通过 var 关键字声明变量,并支持类型推断;使用 const 关键字声明常量;提供标准的控制流语句;通过 func 关键字声明函数;通过
Go语言基础概念解析
2024-04-08

go语言的概念是什么

本文小编为大家详细介绍“go语言的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。go语言是一种计算机编程语言,又称Golang,是Go
2023-07-05

Python面向对象语言的概念

这篇文章主要讲解了“Python面向对象语言的概念”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python面向对象语言的概念”吧!在我们的程序中,我们都是根据操作数据的函数或语句块来设计程
2023-06-17

Go语言GOPATH的概念是什么

这篇“Go语言GOPATH的概念是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言GOPATH的概念是什么”文章吧
2023-07-05

c语言指针的概念是什么

C语言中的指针是一个变量,用于存储另一个变量的地址。简单来说,指针就是指向内存中某个位置的变量。指针的概念可以帮助我们实现一些高级的内存操作,例如动态内存分配、数据结构的实现等。通过指针,我们可以直接访问和修改内存中的数据,而不需要通过变量
2023-09-16

Go语言中引用类型的概述

Go语言中引用类型的概述Go语言是一种由谷歌开发的开源编程语言,其设计目标之一是简洁、高效且易于使用。在Go语言中,引用类型是一种特殊的数据类型,它们在内存中存储的是数据的引用而不是数据本身。本文将介绍Go语言中的引用类型,并提供具体的代
Go语言中引用类型的概述
2024-02-22

了解Go语言中数组的概念

数组概述数组是Go语言中一种基本的数据类型,用于存储一组具有相同类型的数据元素。数组中的每个元素都有一个唯一的索引,可以通过索引来访问该元素。数组的长度是固定的,一旦创建就不能改变。创建数组可以使用以下语法创建数组:var array
了解Go语言中数组的概念
2024-01-31

编程热搜

目录