Office中国论坛/Access中国论坛

标题: 请大家解释一下ADO是什么,SQL语句有什么作用 [打印本页]

作者: gpgpgp    时间: 2006-7-5 18:20
标题: 请大家解释一下ADO是什么,SQL语句有什么作用
给一个概念性的解释就行了。先谢谢大家了!
作者: skylark    时间: 2006-7-5 19:12
SQL介绍:


    本书假设你是在SQL操作Microsoft SQL Sever 的数据库。你也可以用SQL操作许多其它类型的数据库。SQL是操作数据库的标准语言。(事实上,关于SQL语言有一个专门的ANSI标准〕





    注意:


    不要在你的站点上试图用Microsoft Access代替Microsoft SQL Sever。SQL Sever可以同时服务于许多用户,如果你希望你的站点有较高的访问率,MS Access是不能胜任的。





    在学习SQL的细节之前,你需要理解它的两大特点。一个特点容易掌握,另一个掌握起来有点困难。


    第一个特点是所有SQL数据库中的数据都存储在表中。一个表由行和列组成。例如,下面这个简单的表包括name 和e-mail address:


    Name                  Email Address


    ................................................................


    Bill Gates               billg@microsoft.com


    president Clinton         president@whitehouse.com


    Stephen Walther         swalther@somewhere.com


    这个表有两列(列也称为字段,域〕:Name和Email Address。有三行,每一行包含一组数据。一行中的数据组合在一起称为一条记录。


    无论何时你向表中添加新数据,你就添加了一条新记录。一个数据表可以有几十个记录,也可以有几千甚至几十亿个记录。虽然你也许永远不需要存储十亿个Email地址,但知道你能这样做总是好的,也许有一天你会有这样的需要。


    你的数据库很有可能包含几十个表,所有存储在你数据库中的信息都被存储在这些表中。当你考虑怎样把信息存储在数据库中时,你应该考虑怎样把它们存储在表中。


    SQL的第二个特点有些难于掌握。这种语言被设计为不允许你按照某种特定的顺序来取出记录,因为这样做会降低SQL Sever取记录的效率。使用SQL,你只能按查询条件来读取记录。


    当考虑如何从表中取出记录时,自然会想到按记录的位置读取它们。例如,也许你会尝试通过一个循环,逐个记录地扫描,来选出特定的记录。在使用SQL时,你必须训练自己,不要有这种思路。


    假如你想选出所有的名字是“Bill Gates”的记录,如果使用传统的编程语言,你也许会构造一个循环,逐个查看表中的记录,看名字域是否是“Bill Gates”。


    这种选择记录的方法是可行的,但是效率不高。使用SQL,你只要说,“选择所有名字域等于Bill Gates的记录”,SQL就会为你选出所有符合条件的记录。SQL会确定实现查询的最佳方法。


    建设你想取出表中的前十个记录。使用传统的编程语言,你可以做一个循环,取出前十个记录后结束循环。但使用标准的SQL查询,这是不可能实现的。从SQL的角度来说,在一个表中不存在前十个记录这种概念。


    开始时,当你知道你不能用SQL实现某些你感觉应该能实现的功能,你会受到挫折。你也许会以头撞墙甚至想写恶毒的信件给SQL的设计者们。但后来你会认识到,SQL的这个特点不仅不是个限制,反而是其长处。因为SQL不根据位置来读取记录,它读取记录可以很快。


<FONT face="
作者: gpgpgp    时间: 2006-7-5 19:26
skylark兄谢谢了!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3