了解一门语言,还是应该从名字开始。SQL中的S即Structured(结构),L即Language(语言),Q即Query(查询),但不仅仅只是查询,还可以建立数据库,添加和删除数据,对数据作联合,当数据库改变时触发动作,并把查询存储在程序或者数据库中。

  SQL是一种非过程性语言,非过程性语言指的是与具体过程无关。这样说可能不是很明确,举个例子:SQL描述了如何对数据进行检索、插入、删除,但它并不说明如何进行这样的操作。

  SQL是一种关系型数据库,且关系型数据库有12条规则,其实是13条:

0.关系型数据库必须通过关系来显示对数据的完全管理

1.所有在关系型数据库中的信息均可以在表中以数值的形式加以体现

2.在关系型数据库中的每一项数据均可以通过库名、键名和列名来准确指定

3.关系型数据库系统必须对控制(未知的和违规的数据)提供系统级的支持,有独特的缺省值,而且具有独立域

4.活动的、即时的数据联合——它的意思是在数据库中的数据应有逻辑表格的行的形式来表达,并且可以通过数据处理来访问

5.完善的数据子语句——它应该至少支持一种有严格语法规则和功能完善的语言,并且应该支持数据和定义、处理、完整性、权限以及事务等操作

6.查看更新规则——所有在理论上可以更新的视图可以通过系统操作来更新

7.数据库中数据和插入、更新与删除操作——该数据库系统不仅要支持数据行的访问,还要支持数据和的插入、更新和删除操作

8.数据和物理独立性——当数据在物理存储结构上发生变化时应用程序在逻辑上不应该受到影响

9.数据的逻辑独立性——当改变表的结构时应用程序在最大程度上不受影响

10.有效独立性——数据库的语言必须有定义数据库完整性规则的能力,数据应即时存储在线目录,而且在处理时必须通过这一五一节

11.发布的独立性——当数据第一次发布或当它重新发布时应用程序应不受影响

12.任何程序不可能使用更低级的语言从而绕过数据库语言的有效性规则定义

大多数数据库具有父子关系,也就是说在父结点中保存有子结点的文件指针。

  流行的SQL开发工具有:Microsoft Access,它是一个基于PC机的数据库管理系统,可以手工输入SQL语句,也可以使用图形界面工具来生成SQL语句。Personal Oracle7,当用户对一个数据库或一个操作系统有充分的了解以后,需要在一个孤立的电脑上进行设计时,这种方法是非常重要的。在命令行下,用户可以在SQL PLUS工具中输入不同的单的SQL语句,该工具可以把数据返回给用户,或是对数据库进行适当的操作。Micrisoft Query,它是由Visual C++和Visual Basic开发工具包中所附带的一个查询工具,是基于ODBC标准下的数据库。开放型数据库联接(ODBC),它是为应用程序接口(API)提供的访问下层数据库所用的函数库,它通过数据库引擎与数据库交流,且不针对任何一种数据库(ODBC是许多数据库所支持的一种标准)。

问题1:为什么要了解SQL?

到现在为止,如果你不知道如何利用大型数据库来进行工作,如果你要使用客户机/服务器型应用程序开发平台(VB,VC,ODBC,Delphi,PowerBuilder)以及一些已经移植到PC平台上的大型数据库系统(Oracle,Sybase)来进行开发工作,那么只有学习SQL的只是。

问题2:既然SQL是一种标准化语言,是不是可以把它用在任何数据库下进行编程?

不是。只能将它用于支持SQL的关系型数据库库系统中,如MS-Access,Oracle,Sybase和Informix。尽管不同的系统在执行时有所差别,但你只需要对SQL语句进行很小的调整即可。

有了问题,才会激发自己更好的去学习,去思考。

1 为什么说SQL 是一种非过程型语言
2 我如何知道一种数据库系统是不艺机是关系型数据库系统
3 我可以用SQL 来做什么
4 把数据清楚地分成一个个唯一集的过程叫什么名字

SQL_1_简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

随机推荐

  1. ci框架数据库相关函数

    返回查询影响的记录数 $res = $this->db->get_where('wx_life',array('id'=>$id)); $num = $res->num_row ...

  2. Spring 整合 Quartz 实现动态定时任务(附demo)

    最近项目中需要用到定时任务的功能,虽然Spring 也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 普通定时任务 首先 ...

  3. html学习笔记-DOM

    html学习笔记-DOM Table of Contents 1. 什么是 DOM? 2. DOM 节点 3. DOM 方法 4. DOM 属性 5. DOM 访问 6. DOM 修改 7. DOM ...

  4. 关于Kettle的事务和转换内步骤的顺序执行

    关于Kettle的事务和转换内步骤的顺序执行 近来有项目中遇到Kettle事务处理和转换内步骤顺序执行的问题.为此进行了研究,找到了一个解决办法. 在Kettle中,一个Job内的转换,缺省是顺序执行 ...

  5. ABAP数据转换规则

    数据转换规则: 可以将基本数据类型的源字段内容赋给其它基本数据类型的目标字段(除了数据类型 D 无法赋给数据类型 T,反之亦然).ABAP/4 也支持结构化数据和基本数据对象之间或结构不同的数据对象之 ...

  6. display:inline-block间隙产生的原因以及解决方案

    display-inline-block是让元素在一行显示,但是这些元素在html里面是上下行排列的,所以中间有换行符,于是并排显示就有了换行符带来的空隙.那么如何解决呢? 方案一:将html标签要d ...

  7. MySQL表的碎片整理和空间回收小结

    MySQL表碎片化(Table Fragmentation)的原因 关于MySQL中表碎片化(Table Fragmentation)产生的原因,简单总结一下,MySQL Engine不同,碎片化的原 ...

  8. Jmeter监控内存及CPU等

    在进行性能测试时需要查看内存和CPU等信息来判断系统瓶颈,关于CPU和内存的监控,goole开发了一款专门的jmeter插件,弥补了Jmeter这方面的不足,下面来介绍这款插件-JmeterPlugi ...

  9. 洛谷 P2905 [USACO08OPEN]农场危机Crisis on the Farm

    题目描述 约翰和他的奶牛组建了一只乐队“后街奶牛”,现在他们正在牧场里排练.奶牛们分成一堆 一堆,共1000)堆.每一堆里,30只奶牛一只踩在另一只的背上,叠成一座牛塔.牧场 里还有M(1 < ...

  10. python基础教程总结15——7 自定义电子公告板

    1. Python进行SQLite数据库操作 简单的介绍 SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守ACID的关联式数据库 ...