了解一门语言,还是应该从名字开始。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是许多数据库所支持的一种标准)。
原文:http://www.cnblogs.com/yajing-zh/p/5103982.html