了解一门语言,还是应该从名字开始。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. arcgis python 保存当前窗口图形为jpg

    1,第一步打开arcgis 将图形加载进去 第二步,将要保存的图形调到合适的比例尺,然后点击下面按钮 第三步,将写好的python 语句放到里面去: import arcpy mxd = arcpy. ...

  2. Java并发(二):基础概念

    并发编程的第二部分,先来谈谈发布(Publish)与逸出(Escape); 发布是指:对象能够在当前作用域之外的代码中使用,例如:将对象的引用传递到其他类的方法中,对象的引用保存在其他类可以访问的地方 ...

  3. JS移动端浏览器取消右划后退的几种方法

    在开发过程中,发现我们公司所使用的APP有点BUG,在APP中打开网页.H5应用之后,处于首页时,轻微的右划触发了后退事件,导致直接退出网页或者H5应用的页面,这样使得很多需要交互的手势没办法使用.本 ...

  4. ios 设置cell的间距

    1.设置假的间距,我们在tableviewcell的contentView上添加一个view,比如让其距离上下左右的距离都是10:这个方法是最容易想到的: 2.用UIContentView来代替tab ...

  5. LibreOJ #100. 矩阵乘法

    内存限制:256 MiB 时间限制:2000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 上传者: 匿名     模版 以前一直不过样例原来是读入优化没写负数.. 屠龙宝刀点击就送 #in ...

  6. 【TensorFlow入门完全指南】模型篇·线性回归模型

    首先呢,进行import,对于日常写代码来说,第二行经常写成:import numpy as np,这样会更加简洁.第三行import用于绘图. 定义了学习率.迭代数epoch,以及展示的学习步骤,三 ...

  7. [VC]ocx控件怎么屏蔽backspace的后退键

    <script Language=javascript> function   document.onkeydown()   {   if(window.event.keyCode   = ...

  8. Android(java)学习笔记108:Android的Junit调试

    1. Android的Junit调试: 编写android应用的时候,往往我们需要编写一些业务逻辑实现类,但是我们可能不能明确这个业务逻辑是否可以成功实现,特别是逻辑代码体十分巨大的时候,我们不可能一 ...

  9. Set、Map及数组去重

    https://cloud.tencent.com/developer/article/1437254 https://blog.csdn.net/weixin_34247299/article/de ...

  10. Beta版本发布

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/?page=2 这个作业要求在哪里 <作业要求的 ...