SQL_1_简介
了解一门语言,还是应该从名字开始。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 把数据清楚地分成一个个唯一集的过程叫什么名字