了解一门语言,还是应该从名字开始。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. Java输入输出流简单案例

    package com.jckb; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io. ...

  2. MiniDao分页的坑

    //TODO 此处切记不要传(page-1)*rows,MiniDAO底层已经做了此运算,.sql文件中也无需写limit,会自动加上List<BcProjectSampleBackEntity ...

  3. JSON(未完待续,等讲到对象时再加)

    1 定义 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Jav ...

  4. ECSHOP 商品增加新字段的方法

    在ecshop二次开发工作中,经常碰到一些ECSHOP高级使用者问我,如何给商品增加一个新字段,来录入一些新的内容. 下面我们结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品 ...

  5. elasticsearch dump加过滤条件(--searchBody)出错的解决 Unexpected token ' in JSON at position 0

    环境:本文测试在es2.4,win10下进行 es dump导数据可以加过滤条件,只导满足条件的数据.方法是用—searchBody参数,值是查询时的查询条件的json格式,例如 然而按官网和网上的格 ...

  6. 【extjs6学习笔记】1.1 初始:创建项目

    创建工作空间 sencha generate workspace /path/to/workspace 使用sencha创建应用 sencha -sdk /path/to/sdk generate a ...

  7. 关于dopost和doget中文乱码问题

    1.doPost方法请求方式为Post 请求内容中包含请求体,因此解决方法较简单,只要改变请求体的编码即可,具体方法setCharacterEncoding("utf-8"); 2 ...

  8. LR脚本示例之参数_变量介绍

    Action(){ char *url = "127.0.0.1:1080"; char arr_url[1024]; //将url变量的值复制给p_url1参数 lr_save_ ...

  9. Windows平台下如何在C#中调用Python

    最近迷上了Python,发现它能够做很多C#无法完成的事情,比如,调用CMD或者在CMD中执行一个exe文件命令行并获得输出的结果.过程简单,处理起来也非常方便,但如果要用C#调用Python文件呢, ...

  10. 洛谷 P2691 逃离

    题目描述 一个n×n栅格是由n行和n列顶点组成的一个无向图,如图所示.用(i,j)表示处于第i行第j列的顶点.除了边界顶点(即满足i=1,i=n,j=1或j=n的顶点(i,j)),栅格中的所有其他顶点 ...