第8章-网站中的数据库设计_第1页
第8章-网站中的数据库设计_第2页
第8章-网站中的数据库设计_第3页
第8章-网站中的数据库设计_第4页
第8章-网站中的数据库设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章-网站中的数据库设计第一页,共41页。本章要点◆数据库的基本知识◆Access数据库的建立

◆数据的管理和操作技术◆标准查询语言SQL的使用◆使用SQL语言查询、添加、删除和修改记录◆数据库存取组件

第二页,共41页。8.1数据库概述

数据库是存放数据的“仓库”,只不过这个“仓库”是在计算机存储设备上,而且数据是经过组织的、关于特定主题或对象的信息。

数据库系统是一种计算机化的数据保存系统,它以特有的数据存储方式将相关的数据内容整合在一起。8.28.38.4第三页,共41页。数据库系统的使用范围非常广泛,从一般的微型计算机到大型主机都可以使用。一般来说,大型主机多倾向于使用多用户的数据库系统,而一般的微计算机、个人计算机则倾向于使用单用户数据库系统。这里所谓的单用户数据库系统,是指同时最多只能有一个用户存取数据库的内容,而多用户数据库系统,则允许多个用户同时存取数据库的内容。目前比较流行的数据系统有Oracle、Sybase、MicrosoftSQLServer、Access等。由于Access的方便性,一般的虚拟主机用户或者是小站点用户都使用它作为站点数据库,而大型的站点一般使用SQLServer或者Oracle。

第四页,共41页。8.2Access数据库

8.2.1数据库的设计8.2.2数据库的创建8.2.3表的创建

8.18.38.4第五页,共41页。8.2.1数据库的设计统一规划所谓数据库设计,是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程。它包括表、查询、报表等的设计。总的原则是应从提高数据处理效率及便于数据处理两方面考虑。

第六页,共41页。设置好关键字和表间关系表的设计中关键字的设置很重要,设置关键字可以提高查询等操作的速度,有时可以用多字段作为关键字。表间的关系也很重要,例如,有主成绩表与副成绩表两个表,若表间没有建立正确的关系,则主副查询将得不到正确的结果。第七页,共41页。设计好字段的缺省值

字段的缺省值有时也需引起注意。比如,在数字型字段中,因有些记录中可能没有输入过数据,在程序处理时可能会出现一些不正确的结果。第八页,共41页。8.2.2数据库的创建一个Access数据库中可以包含表、查询、窗体、报表、宏、模块以及数据访问页。不同于传统的桌面数据库(dbase、FoxPro、Paradox),Access数据库使用单一的*.mdb文件管理所有的信息,这种针对数据库集成的最优化文件结构不仅包括数据本身,也包括了它的支持对象。

第九页,共41页。在Access中新建一个数据库有两种方法:一种是先创建一个空数据库,即建立一个没有表、查询、窗体和报表等内容的数据库,然后根据需要再创建具体的对象;另一种方法是根据Access中提供的向导,使用其提供的数据库模板创建数据库,即通过对向导所提出的选项和不同选择来设计窗体、查询和报表等,从而创建一个完整的数据库。第十页,共41页。第一种创建数据库的方法(1)在Access主窗口中,选择“文件”→“新建”命令,在主窗体右侧将出现“新建文件”任务窗格。(2)在“新建”选项区中单击“空数据库”选项,弹出“文件新建数据库”对话框。(3)在该对话框中的“保存位置”下拉列表框中选择一个保存文件的位置,在“文件名”文本框中输入数据库名,然后单击“创建”按钮,即可在相应文件夹下创建一个名为school的数据库。第十一页,共41页。8.2.3表的创建

表是Access数据库的基础,是信息的载体。其他对象如查询、窗体和报表,也是将表中的信息以各种形式表现出来,方便用户使用这些信息。在Access中,创建表的方法有三种:一是使用设计器创建表;二是通过输入数据创建表;三是利用向导创建表。

第十二页,共41页。使用设计器创建表

(1)在如下图所示的窗口中双击“使用设计器创建表”,弹出表设计器窗口。第十三页,共41页。(2)在“字段名称”列的第一行中输入字段的名字sno,然后按回车键,此时在其后的“数据类型”列中会显示出一个下拉列表框,单击下三角按钮,在弹出的下拉列表中选择“文本”选项,设置sno字段的类型为文本型。(3)在“字段属性”域的“常规”选项卡中,可以设置字段的大小、格式和规则等。(4)设置完成后,选择“文件”→“保存”命令,弹出“另存为”对话框,在“表名称”文本框中输入表名student单击“确定”按钮即完成了表student的设计工作。

第十四页,共41页。8.3SQL语言简介

8.3.1SELECT语句

8.3.2INSERT语句

8.3.3DELETE语句

8.3.4UPDATE语句

8.18.28.4第十五页,共41页。8.3.1SELECT语句

SELECT语句是最常使用到的SQL语言,使用SELECT语句可以对表的记录进行查询、统计。其一般格式为:SELECT字段名列表FROM表名[WHERE查询条件][GROUPBY分组项][ORDERBY排序字段[ASC|DESC],…]

第十六页,共41页。功能:从指定的表中查找满足条件的记录。参数说明(1)字段名列表:指明要检索的数据的列。(2)表名:指明从哪(几)个表中进行检索。(3)查询条件:指明返回数据必须满足的条件。(4)分组项:指明返回的列数据通过某些条件来形成组。(5)排序字段:指明返回的行的排序顺序。其中,ASC指按升序排序,DESC指按降序排序。第十七页,共41页。SELECTsno,sname,age,emailFROMstudent这个简单的查询将会返回student表中上面选定列的数据。

添加WHERE子句

SELECTsno,sname,age,emailFROMstudentWHEREage=21

在检索时,WHERE子句可以使用多个列作为约束内容,当然在检索约束内容中还可以加入通过AND或OR以实现多个约束。

第十八页,共41页。添加ORDERBY子句

SELECTsno,sname,age,emailFROMstudentWHEREage=21ANDsnamelike'张%'ORDERBYsnoDESC这条SQL语句返回的结果是按sno列的降序排序的学生信息。思考:如果要查询每个系的学生的平均成绩,SQL语句该如何写?

第十九页,共41页。添加GROUPBY子句

SELECTCount(*),deptFROMstudentGROUPBYdept其中,Count函数是求表中数据的数量,这样这条语句返回的结果是每个系对应的学生人数信息。第二十页,共41页。8.3.2INSERT语句

INSERT语句用于将记录插入到指定的一个表中。其一般格式为:INSERTINTO表(字段名列表)VALUES(字段值)功能:向指定的表中插入数据。说明:字段值的排序应和字段名列表中的字段一一对应。

第二十一页,共41页。8.3.3DELETE语句

DELETE语句用来删除已知表中指定条件的记录。其一般格式为:DELETEFROM表名

WHERE条件功能:从指定的表中查找满足条件的记录。DeleteFromstudentWHEREDept='信息系'这条语句执行后,即删除了学生表中信息系的学生信息。如果在DELETE语句中没有指定WHERE子句,那么表中的所有记录将会被全部删除。

第二十二页,共41页。8.3.4UPDATE语句

UPDATE语句用来更新表中已经存在的数据,可以一次只更新一行数据,也可一次更新多行。其一般格式为:UPDATE表名SET字段值=表达式WHERE条件第二十三页,共41页。8.4站点访问数据库的方法8.4.1ADO组件的使用8.4.2数据库的连接8.4.3利用SQL语言操作数据8.18.28.3第二十四页,共41页。8.4.1ADO组件的使用

ADO是ActiveXDataObjects的缩写,它是微软公司的ActiveX组件,它随着IIS的安装而自动安装,是用来存取数据库中记录的一种程序,它把对数据库的主要操作封装在7个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。使用ADO数据对象,可以对来自许多种数据提供者的数据进行读取和写入操作。第二十五页,共41页。Connection

Connection是连接对象,代表打开与数据源的连接,它包含关于目标数据库数据的提供者(DataBaseProvider)的相关信息。可利用Connection对象管理与数据库的连接,包括打开连接和关闭连接及运行SQL命令。RecordSet

RecordSet是记录集对象,对象表示的是来自基本表或命令执行结果的记录的集合,由一系列字段组成。在任何时候,RecordSet对象所指的当前记录均为集合内的单个记录。RecordSet对象不仅包含某个查询返回的记录集,还包含记录中的游标(Cursor)。第二十六页,共41页。Command

Command是命令对象,定义了将对数据源执行的指定命令,通过已建立的连接发出的命令可以以某种方式来操作数据源。一般情况下,命令可以在数据源中添加、删除或更新数据,以及在表中以行的格式检索数据。Field

Field是字段对象,如果将记录集看作二维网格,字段将排列构成“列”。每一字段(列)就是一个Field对象,Field对象具有名称、数据类型和值的属性,在值属性中包含来自数据源的真实数据。第二十七页,共41页。Property

Property是属性对象,代表由提供者定义的ADO对象的动态特征,每个ADO对象都由一组惟一的Property(属性)来描述或控制对象的行为。属性有内置和动态两种类型,内置属性是ADO对象的一部分并且随时可用;动态属性则由特别的数据提供者添加条目到ADO对象的属性集合中,仅在提供者被使用时才能存在。Parameter

Parameter是参数对象,通常命令需要的变量部分即“参数”,参数可以在命令发布之前进行更改。在ADO中,Parameter对象用于管理与基于参数化查询或存储过程的Command对象相关联的参数或自变量。第二十八页,共41页。Error

Error是错误对象,应用程序在执行过程中,发生错误是不可避免的,错误通常是在无法建立连接、执行命令或对某些状态(例如试图使用没有初始化的记录集)的对象进行操作时发生的。ADO对象模型用Error对象体现错误,任意给定的错误都会产生一个或多个Error对象,随后产生的错误将会放弃先前的Error对象组。Error对象包含与ADO的单个操作有关的数据访问错误的详细信息,还包含数据库驱动程序出错时的扩展信息。第二十九页,共41页。8.4.2数据库的连接

指定要连接的服务器端数据库在ASP中,使用ADO技术连接后台数据库有两种方法。一种是静态定义数据源方式,即创建一个系统数据源名称,或者说是创建一个ODBC数据源;另一种是动态连接数据库方式。第三十页,共41页。采用静态定义数据源方式连接数据库的步骤(1)在“控制面板”中打开“管理工具”对话框,然后双击“数据源(ODBC)”图标,打开“ODBC数据源管理器”对话框。

(2)在“用户DSN”选项卡中单击“添加”按钮,弹出“创建新数据源”对话框,在“名称”列表框中选择MicrosoftAccessDriver(*.mdb)选项,单击“完成”按钮。

(3)在打开的“ODBCMicrosoftAccess安装”对话框中的“数据源名”文本框中输入myconn,单击“选择”按钮。

(4)在弹出的“选择数据库”对话框中选定数据库的路径,单击“确定”按钮,即可完成一个名为myconn的Access数据源的创建工作。

第三十一页,共41页。动态连接数据库的方法是:在ASP文件中直接指定数据库文件所在位置,可以避免程序使用人员在安装ASP程序时配置ODBC。连接字符串的一般格式为:connstr="provider=数据库驱动程序名称;datasource=服务器名称或者服务器IP地址;uid=用户名称;pwd=数据库密码;database=数据库名称"连接Access数据库的语句如下:mdbmappath("数据库名称mdb")connstr="driver={microsoftaccessdriver(*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile第三十二页,共41页。连接SQLServer数据库的语句如下:connstr="provider=SQLOLEDB;datasource=SQL服务器名称或IP地址;uid=sa;pwd=数据库密码;database=数据库名称"第三十三页,共41页。连接并打开数据库

首先在ASP中调用Server.CreateObject方法取得ADODB.Connection的实例,再使用Open方法打开数据库。conn=Server.CreateObject("ADODB.Connection")conn.Open("myconn")或者conn.Open("connstr")第三十四页,共41页。8.4.3利用SQL语言操作数据使用ADO技术可以实现从ASP页面到数据库中存取数据,在ASP页面中存取数据库中数据的一般步骤是:创建和数据库的连接、打开数据库、创建ADO记录集、打开记录集、从记录集中存取数据、关闭记录集、关闭数据库的连接。第三十五页,共41页。指定要执行的SQL命令

首先定义一个记录查询、修改或删除的SQL语句的字符串,然后调用ADODBConnection的Execute方法执行。sqlstr="SELECT*FROMstudentWHEREsname'张三'"rs=connExecute(sqlStr)第三十六页,共41页。使用RecordSet属性和方法,并显示结果

为了更灵活地使用数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。rs=ServerCreateObject("ADODBRecordSet")rsOpen(sqlStr,conn,1,X)

第三十七页,共41页。RecordSet组件中常用的属性和方法rsFi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论