3.1 SQL概述

SQL(Structured Query Language) 结构化查询语言,是关系数据库的标准语言

SQL是一个通用的、功能极强的关系数据库语言

功能:查询,数据库模式创建,数据库数据的插入与修改,数据库完整性、安全性定义等

应用发展:数据库厂家推出各种SQL软件及其接口软件,使得大多数数据库均使用SQL作为共同的数据存取语言和标准接口

3.1.1 SQL 的产生与发展

SQL的历史

1970年,codd提出关系模型,由于关系代数或者关系太数学了,难以被普通用户接收,于是1973年IBM开展System R的研制工作。

System R以关系模型为基础,但是摒弃了数学语言,以自然语言为方向,诞生了结构化的英语查询语言(Structured English query language, SEQUEL), 更名为SQL。

1986年,美国国家标准局ANSI数据库委员会批准了SQL作为关系 数据库语言的美国标准,并公布SQL的标准文本(SQL-86)。

1987年,国际标准化组织ISO也通过这一标准。

1988年, System R获得ACM“软件系统奖”

SQL标准的进展过程

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

3.1.2 SQL的特点:

综合统一 、 高度非过程化 、 面向集合的操作方式 、 以同一种语法结构提供多种使用方式 、 语言简洁,易学易用

1、综合统一

 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言 (DCL)功能于一体。

 可以独立完成数据库生命周期中的全部活动:  定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库;  对数据库中的数据进行查询和更新;  数据库重构和维护 , 数据库安全性、完整性控制,以及事务控制

嵌入式SQL和动态SQL定义

用户数据库投入运行后,可根据需要随时、逐步修改模式,不影响数据库的运行,具有良好的可扩展性。

数据操作符统一:增删改查等每种操作都只需一种操作符

2、高度非过程化  

非关系数据模型的数据操纵语言“面向过程”,必须指定存取路径。 SQL只要提出“做什么”,无须了解存取路径。

存取路径的选择以及SQL的操作过程由系统自动完成。

优点:大大减轻用户负担,有利于提高数据独立性。

3、面向集合的操作方式

非关系数据模型采用面向记录的操作方式,操作对象是 一条记录 如,查询所有平均成绩在80分以上的学生姓名,用户必须逐条 把满足条件的学生记录找出(要说明具体处理过程,包含哪条路径, 如何循环等)

SQL采用集合操作方式

 操作对象、查找结果可以是元组的集合  

一次插入、删除、更新操作的对象可以是元组的集合

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

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

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

优点:两种情况下,SQL语法结构基本一致,提供了极大的灵活性和 方便性

5、语言简洁,易学易用

SQL功能极强,完成核心功能只用了9个动词,易于学习

3.1.3 SQL的基本概念

SQL支持关系数据库三级模式结构

外模式包括若干视图和部分基本表,模式包括若干基本表; 内模式包括若干存储文件。

基本表

 本身独立存在的表 ,一个关系就对应一个基本表 ,一个(或多个)基本表对应一个存储文件, 一个表可以带若干索引。

存储文件

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

视图

从一个或几个基本表导出的表,视图是一个虚表,数据库中只存放视图的定义而不存放视图对应的数据,用户可以在视图上再定义视图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571465.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js网页侧边悬浮滚动广告

原生js实现网页侧边随页面滚动广告效果 css /*测试用的高度*/html {height: 3000px;}#rightroll {position: absolute;}.close {position: absolute;right: 0;top: -10px;}.close img {width: 20px;height: 20px;}li {list-style: none;width: 80px;height: 80px;background-c…

argocd部署

一、前言 ArgoCD 是一个开源的、持续交付工具,用于自动化部署应用程序到 Kubernetes 集群。它基于 GitOps 理念,通过使用 Git 作为单一的源头来管理应用程序的配置和部署状态,argocd会定时监控git仓库中的yaml配置文件,当git仓库中…

Linux(CentOS)/Windows-C++ 云备份项目(服务器网络通信模块,业务处理模块设计,断点续传设计)

此模块将网络通信模块和业务处理模块进行了合并 网络通信通过httplib库搭建完成业务处理: 文件上传请求:备份客户端上传的文件,响应上传成功客户端列表请求:客户端请求备份文件的请求页面,服务器响应文件下载请求&…

【JVM】JVM简介

文章目录 🌴简介🌲JVM发展史🌸Sun Classic VM🌸Exact VM🌸HotSpot VM🌸JRockit🌸J9 JVMTaobao JVM(国产研发) 🌳JVM 运行流程⭕总结 🌴简介 JVM …

精酿啤酒:特殊酵母的发酵特性与风味表现

Fendi Club啤酒在酿造过程中采用了特殊的酵母,这些酵母具有与众不同的发酵特性和风味表现,为啤酒带来了与众不同的风味和口感。 Fendi Club啤酒使用的酵母种类繁多,包括艾尔酵母和拉格酵母等。这些不同种类的酵母在发酵过程中具有不同的特性和…

靠谱服装库存管理系统大盘点,商陆花、管家婆、秦丝哪家强?

在服装行业,库存管理是至关重要的环节。对于咱服装老板来说,选对的库存管理系统是提高效率、降低运营成本的关键。市场里有不少系统,我们今天拿出来最常见的5款,给大家一个详细指南。 选择服装库存管理系统时应考虑以下因素&…

65W智能快充—同为科技桌面PDU插座推荐

近10年,移动设备的智能化、功能化已经完全且紧密的融入到我们的基础生活与工作当中。 在常态化的电子设备的应用中,设备的电力续航以及后续的供电充电就尤为重要。 就目前而言,所有消费电子产品中的输入以及充电的接口,usb-c可以…

Mysql--sqlyog远程连接

下载安装MySQL 我们在MySQL官方网站中找到我们对应系统的MySQL安装包(如果需要别的安装包可以在下方网站内查找),这里我用redhat9作为演示 MySQL :: Download MySQL Community Server (Archived Versions) 这里我们选择第一个下载到我们主…

【码银送书第十五期】一本书掌握数字化运维方法,构建数字化运维体系

前言 数字化转型已经成为大势所趋,各行各业正朝着数字化方向转型,利用数字化转型方法论和前沿科学技术实现降本、提质、增效,从而提升竞争力。 数字化转型是一项长期工作,包含的要素非常丰富,如数字化转型顶层设计、…

Android源码阅读WorkMangaer - 6

前言 由于笔者目前水平限制,表达能力有限,尽请见谅。 WorkManager 是 Android Jetpack 库的一部分,提供了一种向后兼容的方式来安排可延迟的异步任务,这些任务即使在应用退出或设备重启后也应该继续执行,它是 Androi…

vs2022安装和使用教程(详细)

vs2022和vs2019一样强大,C/C,Python,F#,ios,Android,Web,Node.js,Azure,Unity,HTML,JavaScript等开发都可以执行,大家快来使用它吧~ 如…

【C++】1323. 扩建花圃问题

问题:1323. 扩建花圃问题 类型:整数运算 题目描述: 梅山小学有一块长方形花圃(花圃的长宽都是整数),长 m 米,宽未知。 在修建校园时,花圃的长增加了 n 米,此时发现增加…