网络数据库设计入门.docx
- 文档编号:11880354
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:25
- 大小:395.04KB
网络数据库设计入门.docx
《网络数据库设计入门.docx》由会员分享,可在线阅读,更多相关《网络数据库设计入门.docx(25页珍藏版)》请在冰豆网上搜索。
网络数据库设计入门
网络数据库设计入门
(一)SQL语言简介
这一教程是对网络数据库设计的一个入门介绍,简要地介绍了SQL语言的基础以及如何使用MSACCESS和MSSQLSEVER建立网络数据库。
通过本教程的学习,你可以建立、访问和操作你的数据库,可以学会如何使用SQL语句检索、增加、更新、删除数据库表中的内容。
这对于任何有关数据库的操作和开发都具有重要意义。
1.1SQL语言简介
1.1.1SQL语言及其优点
1.1.2SQL语言的分类及语法
1.2中小型关系型数据库简介
1.2.1关系型数据库简介
1.2.2Access数据库及其基本操作
1.2.3SQLServer数据库及其基本操作
1.3ODBC与ADO对象
1.3.1ASP访问数据库的几种方式
1.3.2创建和配置ODBC数据源
1.3.3用ADO实现访问数据库
1.1SQL语言简介
SQL是英文(StructuredQueryLanguage)的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
(二)SQL语言及其优点
1.1.1SQL语言及其优点
首先,让我们来了解一下使用SQL语言的优点:
●非过程化语言
●统一的语言
●是所有关系数据库的公共语言
1.非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。
SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出。
SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。
2.统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。
基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。
SQL为许多任务提供了命令,其中包括:
●查询数据
●在表中插入、修改和删除记录
●建立、修改和删除数据对象
●控制对数据和数据对象的存取
●保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
3.是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。
(三)SQL语言的分类及语法
1.1.2SQL语言的分类及语法
可执行的SQL语句的种类数目之多是惊人的。
使用SQL,你可以执行任何功能:
从一个简单的表查询,到创建表和存储过程,到设定用户权限。
在这个章节中,我们将重点讲述如何从数据库中检索、更新和报告数据,也是基于这个目的,我们应该了解的最重要的SQL语句是:
●SELCET
●INSERT
●UPDATE
●DELETE
●CREAT
●DROP
以上这些命令可简要描述如表1.1所示,这些命令看起来并不困难,在下面的例子中,我们将在实例中应用这些命令,了解其功能。
表1.1重要的SQL语句
命令
类别
说明
SELECT
数据查询语言
从一个表或多个表中检索列和行
INSERT
数据操纵语言
向一个表中增加行
UPDATE
数据操纵语言
更新表中已存在的行的某几列
DELETE
数据操纵语言
从一个表中删除行
CREATE
数据定义语言
按特定的表模式创建一个新表
DROP
数据定义语言
删除一张表
1.SELECT语句语法
表1.2SELECT语句的组件
组件
说明
SELECT
指明要检索的数据的列
FROM
指明从哪(几)个表中进行检索
WHERE
指明返回数据必须满足的标准
GROUPBY
指明返回的列数据通过某些条件来形成组
HAVING
指明返回的集合必须满足的标准
ORDERBY
指明返回的行的排序顺序
下面我们对这个重要的语句语法进行示例讲解,需要说明的是这一章节中所涉及到的例子都是基于图1.1描述的表结构。
Authors
id
name
phone
address
zip
salary
contract
图1.1在test数据库中的authors表的结构
●一个简单的SELECT语句:
SELECTid,name,phone,zip
Fromauthors
这个简单的查询的结果得出的内容为authors表中返回的选定列的数据。
在同样的检索情况下,如果你想缩小范围,比如只想知道住在福州鼓楼地区(邮编为350002)的作者的名字,你可以接着看后面的例子;
●添加WHERE子句
SELECTid,name,phone,zip
Fromauthors
WHEREzip=‘350002’
在检索表行时,WHERE子句可以使用多个列作为约束内容,当然在检索约束内容中还可以加入通过AND、OR以实现多个约束。
另外,在SELECT语句中我们还可以通过更改比较操作符来改变约束的条件,以达到我们需要的检索目的。
我们再看一个例子;
●完整约束查询
SELECTid,name,phone,zip
Fromauthors
WHEREzip<>‘350002’ANDphone=‘1234567’
这个例子查询结果返回的是住在福州鼓楼地区以外(邮编号不为350002)的且电话号码为1234567的作者的资料。
表1.3SELECT语句中支持的比较操作符
操作符
说明
=
等于
>
大于
<
小于
>=
大于等于
<=
小于等于
<>
不等于
IN
位于指定列表值中,或者指定的子查询的结果中
BETWWEEN..AND
位于两个值之间
LIKE
包含与指定串相同的模式。
此模式将与一个或多个通配符的串相比较
●添加ORDERBY子句
SELECTid,name,phone,zip
Fromauthors
WHEREzip=‘350002‘
ORDERBYid
这样,这条SQL语句返回的结果将id列的升序排序。
1.1.2SQL语言的分类及语法
2.INSERT语句语法
表1.4INSERT语句的组件
组件
说明
INSERTINTO
指明要向哪个表中加入行
同时列出指定加入的列,如未指定的对象为表中的每一列
VALUES
指明在列表中各列的填充值
SELECT
SELECT语句返回被加到表中的各行
●一个简单的INSERT语句:
INSERTINTOauthors
VALUES
(‘FZ1234’,’张三’,’1234567’,’深圳幸运计算机公司’,’350002’,’本文作者’)
这样,便向表中加入了一条记录。
我们也可以指明用哪几列来填充,看下面的例子;
●一个简单的INSERT语句:
INSERTINTOauthors(id,name,phone)
VALUES(‘FZ3456’,’李四’,’7654321’)
通过上面两个例子的方法,我们就可以往数据库中添加内容了,需要注意的是,我们插入值(包含在VALUES部分中的)要按照INSERTINTO部分中指明的列的顺序,或是在未指明的条件下按照数据库原始各列的顺序。
3.UPDATE语句语法
表1.3UPDATE语句的组件
组件
说明
UPDATE
指明要更新的表
SET
指明用来更新的列和分配给那些列的新值
FROM
指明UPDATE语句所以处理的对象表
WHERE
指明要更新的数据所满足的标准
●将列设定为确定值:
UPDATEauthors
SETzip=‘350003’
WHEREid=‘FZ4567’
通过这个语句我们可以把数据库中id为FZ4567的条记录的zip列的值改为350003。
这时如果我们无法给出确定的值,比如我们要给id为FZ1234的那位作者加薪100元,则可以这样改写SQL语句语句;
●基于已有的值来设置新的列值
UPDATEauthors
SETsalary=salary+100
WHEREid=‘FZ1234’
这样,即使不知道authors表中的salary列值,也可以用一条简单的UPDATE语句成功地把薪水增加100。
1.DELETE语句语法
表1.4DELETE语句的组件
组件
说明
DELETEFROM
指明要执行删除操作的表
WHERE
指明要删除行所满足的标准
●删除一个表中的所有值:
DELETEFROMauthors
这条语句的执行结果是删除authors表中的所有行。
●删除一个表中的指定的行
DELETEFROMauthors
WHEREid=‘FZ1234’
这条语句的执行结果是删表authors中id为FZ1234的行。
在前面的一部分内容中我们讲述了最常用的SQL语句的基本方法,但这只是SQL语句的一部分,其它的SQL语句由于不常用就不一一讲述了。
各位读者如果有兴趣可以参考一些专门的SQL语法资料,这将能使你更好地操纵数据库,更好地通过数据库来帮助你完成你的工作。
(四)中小型关系型数据库简介
1.2中小型关系型数据库简介
1.2.1关系型数据库简介
在我们对数据库操作进行讲解前,我们觉得有必要向大家介绍一下关系型数据库这个概念,因为我们觉得无论是你做什么样的系统,都或多或少要接触到数据库,而现在提到数据库,当然就是关系型数据库了。
那么,什么是关系型数据库(RDB)呢?
在关系型数据库中数据以行和列的形式存储,以便于用户理解,这一系列的行和列被称为表,一组表便组成了数据库。
在关系数据库中:
各数据项之间用关系来组织,关系(relationship)是表之间的一种连接,通过关系,我们可以更灵活地表示和操纵数据;另外,用户可以非常方便的用查询(Query)来检索数据库中的数据,一个Query是一个用于指定数据库中行和列的SELECT语句。
关系型数据库通常包含下列组件:
●客户端应用程序(Client)
●数据库服务器(Server)
●数据库(Database)
SQL是Client端通往Server端的桥梁,Client用SQL来象Server端发送请求,Server返回Client端要求的结果。
现在比较流行的大中型关系型数据库有IBMDB2、Oracle、SQLServer、SyBase、Informix等,常用的小型数据库有Access、Pradox、Foxpro等,现在个人用户比较常用的主要是基于中小型数据库MSSQLServer和Access的,所以在以下的篇幅中我们介绍这两种数据库系统的简单操作。
(五)Access数据库及其基本操作
1.2.2Access数据库及其基本操作
Access是一个数据库管理系统,它之所以被集成到Office中而不是VisualStudio中,是因为它与其它的数据库管理系统(如VisualFoxPro)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。
而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。
下面,让我们以用MSAccess创建一个数据库为例介绍这种数据库的基本用法,需要说明的是,该数据库中包含了一张结构如图1.1的表。
1.新建数据库
新建一个数据库有两种方法:
一种是创建一个空数据库,即建立一个没有表、查询、窗体和报表等内容的数据库;另一种方法是使用Access中提供的数据库模板创建数据库,即通过对向导所提出的选项和不同选择来设计窗体、查询和报表等,从而建立一个完整的数据库。
这里我们将使用第一种方法:
Step1:
在Access窗口中单击“文件(F)”菜单,在下拉菜单中选择“新建”项,将得到如图1.2所示的对话框。
图1.2“新建”对话框
Step2:
双击“数据库”图标,即会显示“文件新建数据库”对话框,如图1.3所示
图1.3“文件新建数据库”对话框
Step3:
在文件名文本框中输入要保存数据库的文件夹及新建的数据库名,如“C:
\test”,然后选择“确定”。
即可创建好一个名为“test”的数据库,并显示如图1.4。
图1.4test数据库窗口
二.添加数据表
表是Access数据库的基础,是信息的载体。
其它对象如查询、窗体和报表,也是将表中的信息以各种形式表现出来,方便用户使用这些信息。
在Access中,创建表的方法有三种:
一是使用设计器创建表;二是通过输入数据创建表;三是利用向导创建表。
在这里,我们采用第一种方法创建表:
Step4:
在图1.4的窗体中,双击“使用设计器创建表”,则会出现如图1.5所示的对话框。
图1.5表设计器对话框
Step5:
在“字段名称”列的第一行中输入authors表的第一个字段的名字id。
然后按回车键,此时在“数据类型”列中会显示出一个按钮,单击按钮,在弹出的下拉列表中选择“文本”选项,设置id字段的类型为文本型。
如图1.6所示。
图1.6设置字段数据类型
Step6:
在“字段属性”域的“常规”选项卡中,可以设置字段的大小、格式和规则等。
如我们可以把id字段的长度大小设置为12,并且规定其不能为空,因此,可以设置如下:
在“字段大小”文本框中输入12,在“必填字段”文本框中输入“是”,在“允许空字符串”文本框中输入“否”。
如图1.7所示。
图1.7设置字段属性内容
Step7:
重复上述方法,添加其它字段,并设置其属性。
Step8:
设置完成后,单击“文件(F)”菜单,在下拉菜单中选择“保存”项,将会出现一个如图1.8的对话框,在“表名称”文本框中输入表名authors,单击确定按钮。
图1.8“保存”对话框
Step9:
此时,系统会提示用户建立一关键字段。
一般情况下单击“是”完成即可。
1.2.2Access数据库及其基本操作
三.表的操作
在添加了数据表之后,我们实际上就初步地完成了一个数据库的建立工作,接下来我们就可以通过SQL语句对数据库进行操作。
当然,在Access中,对表的操作十分的方便,可以浏览表;为表添加、删除备忘录;对表记录进行排序,因为Access是面向一些普通用户的,所以其操作方法不必要用户清楚SQL语句的语法及结构。
在此,我们就简要地介绍一下在Access环境下表的操作。
(1)浏览表
打开原先建立的test数据库,在对象栏中双击authors表的图1.标即可打开表authors。
如图1.9所示。
图1.9查看表
在打开了数据表之后,我们就可以通过记录选定器(图1.9中左边界的栏目),定位按钮(图1.9中左下方)和滚动条(在记录长度和数据超过一屏可以显示的范围时,窗体将自在右边界与右下边界出现滚动条)。
(2)添加与编辑记录
在打开了的查看窗体中即可添加与编辑记录,其方法如图1.10所示。
图1.10添加与编辑表内容
(3)删除表中的记录
对表中记录的删除两种,一种是删一条的记录,其操作方法如图1.11所示,单击该条记录左边的记录选定器选定该记录,然后单击右键,在弹出的菜单中选择删除记录即可;另一种操作是删除多条记录,其方法如图1.12所示,单击第一条要删除的第一条记录的记录选定器,同时不要松开鼠标,继续向下拖动,直至覆盖要删除的其它记录为止,然后单击右键并在弹出菜单中选择删除记录。
图1.11删除单条记录
图1.12删除多条记录
(六)SQLServer数据库及其基本操作
1.2.3SQLServer数据库及其基本操作
SQLServer是一种高效的关系数据库系统,它与WindowsNT/2000及Windows9x等操作系统紧密集成。
这种安排使SQLServer能充分利用操作系统所提供的特性。
对于今天复杂的客户/服务器系统来说,SQLServer是一个很好的选择。
下面,还是让我们以图1.1所示的表为例,在SQLServer中建立一个test数据库,test库中包含了该表。
1.新建数据库
Step1:
启动SQLServerEnterpriseManager,单击服务器旁的加号(+),其中便包含了已有的数据库。
Step2:
在Databases文件夹上单击鼠票右键,选择NewDatabase菜单选项。
系统会显示DatabaseProperties对话框,如图1.13所示。
图1.13用EnterpriseManager创建一个数据库
Step3:
选择General标签(如图1.13,该标签在初始时已默认被选中),在Name的文本输入一个数据库名,我们这里输入的是test(即是创建后的数据库名)。
Step4:
在Databasefiles对话框的Databasefiles部分,输入文件名、位置、初始大小和文件组信息(一般按照默认的设置即可)。
Step5:
如果你想使SQLServer能够自动地按需要增加数据库文件的大小,就应该选择Automaticgrowfile选项,否则则不选取。
Step6:
在TransactionLog标签中的TransactionLog对话框部分,可以输入文件名、位置及服务日志的初始大小。
而日志的大小也可能通过Automaticgrowfile选项来设置是否能按需要来增加日志文件的大小。
Step7:
单击“确定”以完成创建数据库。
以上的(4)—(6)步聚均可按系统原来的默认设置来进行,这也是我们推荐的。
在SQLServer中,当然也支持通过SQL语句来创建数据库,当然这对一个普通用户来说是没有必要的,并且也是烦琐的,在此,我们不进行详细讲述。
2.创建数据表
Step1:
打开Databases文件夹,在新建的test数据库图1.点上单击鼠标右键,选择“新建”->“Table..”菜单项。
如图1.14所示
图1.14创建数据表
Step2:
在弹出的“选择”名称对话框的文本输入框中输入要创建的数据表名authors,然后单击确定以创建新表,如图1.15所示。
Step3:
设置该表的字段属性,如图1.16所示。
Step4:
保存设置并退出,新表即建立完成。
图1.15设置新表的属性
图1.16设置新表的字段属性
3.表的操作
在SQLServer中,有提供了类同于Access的界面予于用户进行对表的操作。
限于篇幅,我们就不在这里进行讲述了。
(七)ODBC与ADO对象1
1.3ODBC与ADO对象
1.3.1ASP访问数据库的几种方式
在我们介绍了数据库操作的基础知识后,我们接下来的任务是告诉大家如何用ASP访问数据库,因为一个系统不可能没有数据呀,所以我们就必须让ASP采用一个高效的方法通过Internet或Intranet来访问、操作数据库。
我们知道在传统的HTML页面中,访问数据库一般是通过公用网关接口(CGI)来实现,这种方式不仅开发困难,而且在出现大量并发请求时会显著地降低服务器的运行效率,而采用ASP实现数据库访问可以说能较好地解决这个问题。
在ASP脚本中可以通过三种方式访问数据库:
●IDC(InternetDatabaseConnector)方式
●ADO(ActiveXDataObjects)方式
●RDS(RemoteDataService)方式
从概念上来讲,这三种访问方式对数据库的访问是由InternetInformationServer来完成的。
Web浏览器用HTTP协议向Internet信息服务器(IIS)递交请求。
Internet信息服务器执行访问数据库的操作,并以一个HTML格式的文档作为回答。
1.Internet数据库接口(IDC)
IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。
使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。
2.ActiveX数据对象(ADO)
与IDC不同,用ADO访问数据库更类似于编写数据库应用程序,ADO把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。
ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。
ADO建立了基于Web方式访问数据库的脚本编写模型,它不仅支持任何大型数据库的核心功能,而且支持许多数据库所专有的特性。
ADO使用本机数据源,通过ODBC访问数据库。
这些数据库可以是关系型数据库、文本型数据库、层次型数据库或者任何支持ODBC的数据库。
ADO的主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。
相对于访问数据库的CGI程序而言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通过连接池(ConnectionPool)技术以及对数据库连接资源的完全控制,提供与远程数据库的高效连接与访问,同时它还支持事务处理(Transaction),以开发高效率、高可靠性的数据库应用程序。
正是因为使用ADO需要编写脚本程序,所以ADO能够实现更复杂、更灵活的数据库访问逻辑。
目前,ADO包括Command、Connection、Recordset等七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。
1.3ODBC与ADO对象
1.3.1ASP访问数据库的几种方式
3.远程数据服务(RDS)
RDS是IIS1.0中新提出的概念,它是由ASP中原来的AdvancedDataConnector(ADC)发展而来的。
在IIS1.0中,RDS与ADO集成到一起,使用同样的编程模型,提供访问远程数据库的功能。
ADO虽然能够提供非常强大的数据库访问功能,但是它不支持数据远程操作(DataRemoting)。
换句话说,ADO只能执行查询并返回数据库查询的结果,这种结果是静态的,服务器上的数据库与客户端看到的数据没有“活的连接关系”。
假如,客户端需要修改数据库中的数据,就必须构造修改数据的SQL语句,执行相应的查询动作。
而RDS就比ADO更进一步,它支持数据远程操作。
它不仅能执行查询并返回数据库查询结果,而且这种结果是“动态的”,服务器上的数据库与客户端看到的数据保持“活的连接关系”。
即把服务器端的数据搬到客户端,在客户端修改数据后,调用一个数据库更新命令,就可以将客户端对数据的修改写回数据库,就象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 数据库 设计 入门