欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    关系数据库应用基础.docx

    • 资源ID:13719561       资源大小:424.20KB        全文页数:55页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    关系数据库应用基础.docx

    1、关系数据库应用基础第12章 关系数据库应用基础本章要点 用Visual Basic进行数据访问的基本方式 Data控件和ADO Data控件的基本用法 常用数据绑定控件的基本用法本章学习目标 理解关系数据库的基本概念 熟悉使用Office Access建立和维护数据库的方法 熟悉Visual Basic进行数据访问的基本方式 掌握Data控件和ADO Data控件的基本用法 掌握常用数据绑定控件的基本用法12.1 关系数据库的概念及术语所谓数据库(Database,简称DB)就是长期存放在计算机内,以一定组织方式动态存储的、相互关联的、可共享的数据集合,它不仅包括数据本身,还包括相关数据之间的

    2、联系。数据库最大特点是通过联系减少了不必要的数据冗余。同时,不同用户可以使用同一数据库中自己所需的子集,从而实现了数据共享。关系数据库以二维表的形式来存放数据。例如,描述学生成绩的数据库内容如图12.1所示。图12.1 学生成绩的数据库及各个表之间的关系数据库最基本的术语有字段(Field)、记录(Record)和表(Table),其基本含义如下:1)字段(Field):在学生基本情况数据库中,包含了学生的学号、学生姓名、性别、出生日期、照片等内容,在数据库中,每一项就称为一个字段,即表中的一列。2)记录(Record):在学生基本情况数据库中,详细记录了一个学生具体内容的一组信息称为一个记录

    3、,即表中的一行。3)表(Table):存放了一组相似记录的集合称为表。一个数据库由若干个数据表组成,数据表由若干组结构相同的记录(行)组成,一个记录由若干个字段组成。学生成绩的学生表、课程表和成绩表等构成学生成绩数据库,该数据库记录了学生成绩的各种信息。例如,学生成绩的数据库将关于学生的信息放在一个数据表中。学生信息表与成绩表通过“学号”字段建立关联,成绩表与课程表通过“课程号”字段建立关联,各个表之间的关系如图12.1所示。12.2 Visual Basic的数据访问技术在Visual Basic中,应用程序并不是直接访问数据库中的数据信息,而只是通过特定的接口技术根据需要在数据库的基础上先

    4、生成记录集(Recordset)对象,再以此为数据源并借助数据绑定控件进行记录的操作与浏览。1数据访问接口在Visual Basic中,可用的数据访问接口主要有3种:ActiveX数据对象(ADO)、远程数据对象(RDO)和数据访问对象(DAO)。 Visual Basic中的3种数据访问接口分别代表了该技术的不同发展阶段。ADO(ActiveX Data Object)数据访问接口是一种ActiveX对象,采用了被称为OLE DB的数据访问模式,它比RDO和DAO更加简单和更加灵活。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。对于新工程,推荐使用ADO作为数据访问接口。2记

    5、录集(Recordset)记录集是一种处理数据库信息的工具,用户根据需要,通过使用记录集对象选择数据。Recordset对象表示的是来自基本表或命令执行结果的记录全集。任何时候,Recordset对象所指的当前记录均为集合内的单个记录。可使用 Recordset 对象操作来自提供者的数据。使用ADO时,通过Recordset对象可对几乎所有数据进行操作。所有Recordset对象均使用记录(行)和字段(列)进行构造。3数据源(DataSource)数据源是一种易于访问的对象,它向任何数据使用者(任何可以和外部数据源绑定的类或控件)提供数据。在Visual Basic中,数据源包括内部的Data

    6、控件、RemoteData控件和新的ADO控件,它们允许创建丰富的应用程序以查看和编辑数据。DataSource是应用程序中数据绑定控件的一个属性,它可以返回或设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库。 语法:object.DataSource =datasourceDataSource属性的语法说明:object是一个对象表达式,其值为一个对象。Datasource是一个对象引用,作为一个数据源限定,包括ADO Recordset对象,以及定义为类或用户控件(DataSourceBehavior属性=vbDataSource)。在代码中可以使用Set语句设置DataSour

    7、ce,如下所示:Set Text1.DataSource=Adodc1对于两个旧的控件,要将Data控件或RemoteData控件之一作为数据源使用,只能在设计时设置绑定控件的DataSource属性。但是,不能在运行时将另一个控件或对象的DataSource属性设置为这两个控件之一。例如,下列代码将会失败:Set Text1.DataSource = Data1 12.3 建立数据库本章介绍的数据库应用程序所操作的数据库,均由Microsoft Access97/2000(以下简称Access)数据处理系统创建。1设计各数据表的表结构本章用到的示例数据库名称为“d:sdb1.mdb”,由学生

    8、表、成绩表和课程表组成,各表的结构设计如表12.1、表12.2和表12.3所示。表12.1 学生表结构设计字段名字段类型字段大小学号字符(文本)8姓名字符8性别是/否出生日期日期/时间专业字符30奖学金货币表12.2 成绩表结构设计字段名字段类型字段大小学号字符8课程号字符6成绩数字长整型标志字符4表12.3 课程表结构设计字段名字段类型字段大小课程号字符6课程名字符40学分数字整型学时数字整型教师字符10教室字符42用Access创建数据库Microsoft Access是当前最流行的关系数据库管理系统之一,它以操作方便、简单易学以及和Microsoft Office的完美结合著称于世。用A

    9、ccess创建数据库的基本方法和步骤如下:1)在Windows“开始”菜单的“程序”选项中选择“Microsoft Access”,在Access窗口中的“新建数据库”对话框内选择“空Access数据库”。单击“确定”按钮后,出现如图12.2所示“文件新建数据库”对话框,用户应确定新建数据库文件的保存位置、文件名和保存类型。如图12.2所示,新建数据库文件为e:xscj.mdb,文件类型选择“*.mdb”表示所创建的文件e:xscj.mdb是Access数据库文件。图12.2 文件新建数据库对话框单击“创建”按钮,出现数据库”窗口。此后,需要进一步定义其所属的各个数据表。2)向数据库添加表并定

    10、义表结构。在如图12.3所示的数据库窗口中,选择“表”对象,选择“使用设计器创建表”,然后,在菜单栏中选择“新建”。图12.3 “数据库”窗口在随后出现的“新建表”对话框中选择“设计视图”、单击“确定”按钮后,出现图12.3右侧表的设计视图,在表的设计视图中,可以输入数据表中各字段的名称、数据类型以及字段大小等。按照表12.1所作学生表的结构设计,在设计视图中定义数据表各字段的名称、类型,如图12.4所示。图12.4 在数据表的设计视图中定义表结构下面给出了在创建数据表结构时经常遇到的几个术语:字段大小:在该字段中所能输入的最大字符数或数字的大小及类型。例如,当设定一个字符型的字段大小为8时,

    11、最多只能在该字段中输入8个字符或4个汉字。格式:该字段的显示格式。如对于数值字段,常常将0显示为空白,将负数显示为红色。输入掩码:该字段的数据输入模式。例如,可以让用户按“YYYY-MM-DD”格式输入日期。标题:显示给用户的字段的标题。例如,将字段学号的标题设置为“Number”的话,在显示表格时,该字段的标题是“Number”。有效性规则:对该字段中所能输入的数据的约束条件。例如,对于某日期字段,有效性规则为“Now()”,表示该字段不接受小于计算机当前日期的数据。有效性文本:当输入不符合有效性规则的数据时,系统显示的警告或说明字符串。必填字段:当前字段是否可以是NULL。索引:是否用当前

    12、字段为表建立索引。NULL是一种特殊的数据类型,可以简单地理解为“空”或“什么也没有”,如果某个变量或字段的值为NULL,则说明该变量或字段中不包含有效的数据。NULL不等同于空字符串“”,空字符串是一个字符串,只不过长度为零。选择主关键词(主键)。数据表的各字段中,只有一个字段可以被选为数据表的主关键词,用来唯一标识表中的一条记录。在“学生”表中,“学号”应为表的主关键词,因为每个学生的学号都不同,学号唯一地标识了一个学生。在“学号”字段上右击,在弹出的快捷菜单中单击“主关键词”按钮。单击“关闭”按钮,出现“您要保存对表1设计的更改吗?”对话框,单击“是”按钮,出现“另存为”对话框。在“表名

    13、称”中输入表的名称(表的名称可根据表的意义选用,这里取为“学生”),单击“确定”按钮,返回到“数据库”窗口。至此,完成了数据库xscj.mdb中“学生”表的建立及结构设计。用同样的方法,可再添加表结构如表12.2所示的“成绩”表以及如表12.4所示的“课程”表(在添加成绩表时,可以不设主关键字,因为在该表的多个记录中“学号”字段值并不是唯一的)。如图12.5所示的“数据库”窗口内,显示了该数据库文件中所添加数据表的全部图标。图12.5 “数据库”窗口至此,建立了包括3个表的数据库xscj.mdb。如果在新建表时没有在表中输入数据,那么此时数据库xscj.mdb中没有任何记录,为空数据库,可以用

    14、下列方法向表中输入和修改数据。3)向表中输入数据、修改数据。在图12.5所示数据库窗口中,选择“学生”表后,单击“打开”按钮,出现“学生”数据表的编辑窗口,可以向表中输入数据或修改表中的数据,如图12.6所示。输入或修改结束,关闭相应窗口即可。图12.6 在“学生:表”窗口输入或修改记录注意:如果数据库是使用Microsoft Access2000创建的,在当前的VB6.0环境中不能使用,需要将其转换为较低版本的Access数据库。在Access窗口中选择“工具”“数据库实用工具”“转换数据库”“到早期Access数据库版本”即可完成转换。12.4 SQL语言与数据库操作结构化查询语言SQL(

    15、Structured Query Language)是数据库处理的国际标准语言,是一种用于数据库查询和编程的语言,己经成为关系型数据库普遍使用的标准。使用这种标准数据库语言对程序设计和数据库的维护都带来极大的方便,广泛地应用于各种数据查询。SQL语言具有查询、插入、修改、删除和定义等多项功能,使用简单、功能强大,在各种语言中实现数据库应用系统,都需要使用SQL语言。由于SQL语言大量用于实现各种查询功能,本节重点介绍在VB中运用SQL语言的SELECT语句实现查询的若干应用方法。12.4.1 构 成SQL语句由命令、子句、运算符和函数等基本元素构成,下面简单介绍一下这些组成元素:(1)命令SQ

    16、L语句对数据库所进行的数据定义、数据查询、数据操纵和数据控制等操作都是通过SQL命令实现的,常用的SQL命令如表12.5所示。表12.5 常用的SQL命令命 令功 能CREATE创建新的表、字段和索引DROP删除数据库中的表和索引ALTER通过添加字段或修改字段来修改表SELECT在数据库中查找满足条件的记录INSERT向数据库中添加记录UPDATE改变指定记录和字段的值DELETE从数据库表中删除记录(2)子句SQL语句中的子句是用来修改查询条件的,通过这些子句可以定义要选择和操作的数据,常用的SQL子句如表12.6所示。表12.6 常用的SQL子句子 句功 能FROM用来指定需要从中选择记

    17、录的表名WHERE用来指定选择的记录需要满足的条件GROUP BY用来把所选择的记录分组HAVING用来指定每个组要满足的条件ORDER BY按指定的次序对记录排序(3)运算符SQL语句中可以使用两类运算符:逻辑运算符和比较运算符。逻辑运算符有AND(逻辑与)、OR(逻辑或)和NOT(逻辑非)三种,主要用来连接两个表达式,通常出现在WHERE子句中。比较运算符有9种(如表12.7所示),主要用来比较两个表达式的关系值,以决定应当执行什么操作。表12.7 比较运算符运算符功 能小于大于=大于或等于=等于不等于BETWEEN用来判断表达式的值是否在指定值的范围。如英语 BETWEEN 90 TO

    18、100LIKE在模式匹配中使用IN用来判断表达式的值是否在指定列表中出现。如性别 IN(“男”,“女”)其中,LIKE运算符的用法如表12.8所示。表12.8 LIKE运算符匹配种类模 式匹配(结果True)不匹配(结果False)多个字符“a*b”“ab”,“aXb”“abc”特定字符“a*b”“a*b”“aXb”单个字符“a?b”“aXb”“aXXb”单个数字“a#b”“a0b”“a00b”范围“a-z”“a”,“b”,“z”“0”,“$”范围之外“!a-z”“0”,“$”“a”,“b”,“z”(4)函数SQL语句中比较常用的函数是统计函数,利用统计函数可以对记录组进行操作,并返回单一的计

    19、算结果,SQL提供的统计函数如表12.9所示。表12.9 统计函数函 数功 能AVG用于计算指定字段中值的平均数COUNT用于计算所选择记录的个数SUM用于返回指定字段中值的总和MAX用于返回指定字段中的最大值MIN用于返回指定字段中的最小值12.4.2 SQL语言实现查询(SELECT语句)利用SELECT语句可以实现多种查询功能,该语句的格式选项很多,本节重点介绍其最常用的内容。1SELECT语句格式:SELECT FROM WHERE 选取条件 ORDER BY 排序字段名其中:1)待选字段表,是语句中所要查询的数据表字段的列表,多个字段必须用逗号隔开。2)数据表,是语句中查询所涉及的数

    20、据表列,多个表必须用逗号隔开。3)选取条件,是语句的查询条件(逻辑表达式)。4)排序字段名,该语句中有此项则对查询结果进行排序: 字段名ASC:按字段升序排序。 字段名DESC:按字段降序排序。缺省该选项,则按各记录在数据表中原先的先后次序排列。例如,要将“学生”表中“长沙”城市的所有学生查找出来,并按照出生日期的降序排列的Select语句为:Select 学号,姓名,出生日期,性别 From 学生 _Where 城市 = 长沙 Order by 出生日期 Desc要想将上例中用Select语句产生的查询结果记录集显示、编辑,可以通过Data控件和数据绑定控件配合实现。12.4.3 Selec

    21、t语句应用实例1简单查询例:选择表中所有记录的所有字段(“*”表示所有的字段全部选取)。Select * from 学生例:选择表中所有记录的部分字段。 Select 学号,姓名,专业 from 学生例:选择“成绩”表中所有分数小于80的学号。Select distinct 学号 from 成绩 For 分数 02重新命名字段查询例:将“学生”表中所有记录的字段名“学号”、“姓名”和“专业”改名为“学生编号”、“姓名”和“所在专业”显示出来。Select 学号 As 学生编号,姓名,专业 As 所在专业 From 学生说明:关键字As后面就是重新命名的字段,用来代替原表中的字段名。3关联查询例

    22、:查看所有学生的成绩(包括学号、姓名、课程号)。Select 学生.学号,姓名,课程号,成绩 From 学生,课程 _Where 学生.学号 = 课程.学号 说明:该查询涉及“学生”和“成绩”表,要对两张表实现关联(学生.学号 = 成绩.学号),由于学号字段在两张表中都存在,所以需要用学生.学号、及成绩.学号指定。例:查看所有学生的成绩(包括学号、姓名、课程名)。Select 学生.学号,姓名,课程名,成绩 From 学生,成绩,课程 _Where 学生.学号 = 成绩.学号 And 成绩.课程号 = 课程.课程号 说明:该查询涉及到“学生”、“成绩”和“课程”表,需要对三张表实现关联,即语句

    23、中的“学生.学号=成绩.学号 and 成绩.课程号=课程.课程号”部分。例:查看有不及格成绩的所有学生的学号、姓名、课程名和成绩。Select 学生.学号,姓名,课程名,成绩 From 学生,成绩,课程 _Where 学生.学号 = 成绩.学号 And 成绩.课程号 = 课程.课程号 And 分数 604部分匹配查询例:选择“学生”表中姓“李”的所有学生。Select * From 学生 Where 姓名 Like 李* 说明:Like运算符经常与通配符如“*”、“?”等同时使用,实现特殊匹配要求的查询。例:选择“英语”专业和“计算机应用”专业所有学生的学号、姓名和出生日期。Select学号,

    24、姓名,出生日期 From 学生 Where 专业 In(英语,计算机应用) 说明:In运算符类似于数学当中集合的“包含”运算。本例也可以写为: Select学号,姓名,出生日期 From 学生 Where 专业 = 英语 _ Or专业 = 计算机应用12.5 数据访问控件与应用前面介绍过,在Visual Basic中,可用的数据访问接口主要有3种:ActiveX数据对象(ADO)、数据访问对象(DAO)和远程数据对象(RDO)。在Visual Basic中,与3种接口相对应有3种可视化数据访问控件分别为:ADO Data控件、Data控件和RDO(Remote Data)控件。它们的功能是建立

    25、数据库的连接,并作为应用程序中数据绑定控件或类的数据源。无论是全新的ADO Data控件还是旧版的Data控件或Remote Data控件,都可以实现以下基本功能1)连接一个本地数据库或远程数据库。2)打开一个指定的数据库表,或定义一个基于结构化查询语言(SQL)的查询、或存储过程、或该数据库中的表的视图的记录集。3)将记录集的当前记录或所有记录传递给数据绑定的控件,可以在这些控件中显示或更改这些数值。4)添加新的记录,或根据对显示在绑定的控件中的数据的任何更改来更新一个数据库。 注意:数据控件本身并不能显示和直接修改记录,只能在与数据控件相关联的数据约束控件中显示各个记录。并且,数据控件只能

    26、访问数据库、修改表中数据,不能建立新表和索引,也不能改变表结构。数据控件相当于一个记录指针,用于指示记录集的当前记录,可以通过单击其左右两边的箭头按钮,移动这个“指针”来选择当前记录。数据绑定控件、数据控件和数据库三者之间的关系,如图12.7所示。图12.7 数据绑定控件、数据控件和数据库三者之间的关系本节介绍最常用的数据访问控件:Data和ADO Data的属性、事件和方法及其应用。12.5.1 Data控件与应用1Data控件属性(1)Connect属性其值为一字符串,用于指定数据库的类型,缺省为“Access”,即Microsoft Access的MDB文件。(2)DatabaseNam

    27、e属性其值为一字符串,用于返回或设置数据控件的数据库的名称及位置。(3)RecordsetType属性其值为一整数,用于返回或设置记录集合的类型,其中0为表(Table)类型,1为动态集(Dynaset)类型,2为快照(Snapshot)类型,缺省为动态集(Dynaset)类型。表类型:一个记录集合,代表能用来添加、更新或删除记录的单个数据库表。动态类型:一个记录的动态集合,代表一个数据库表或包含从一个或多个表取出的字段的查询结果。可从Dynaset类型的记录集中添加、更新或删除记录,并且任何改变都将会反映在基本表上。快照类型:一个记录集合的静态副本,可用于寻找数据或生成报告。一个快照类型的R

    28、ecordset能包含从一个或多个在同一个数据库中的表里取出的字段,但字段不能更改。动态类型和快照类型其记录集都存储在本地内存中。如果不需要应用程序从多个表中选择字段以及操作一个非ODBC源,那么表类型的Recordset在速度与内存占用方面及本地临时磁盘空间占用方面可能是最有效的。注意:使用什么记录集关键取决于要完成的任务。表类型的记录集已建立了索引,适合快速定位与排序,但内存开销太大。动态集类型的记录集则适合更新数据,但其搜索速度不及表类型。快照类型的记录集内存开销最小,适合显示只读数据。(4)RecordSource属性其值为一字符串,用于返回或设置记录的来源,可以是数据库中的一张表的名称、一个查询的名称或一条返回记录的合法SQL语句。(5)ReadOnly属性返回或设置一个逻辑值,用于指定数据库的打开方式,缺省为False,数据库的打开方式为读/写方式。该属性为True时,则不允许对数据进行修改。(6)BOFAction属性与EOFAction属性其值为一整数,用于指示在记录集对象的BOF或EOF属性为True时,Data控件进行什么操作。具体设置,如表12.10所示。表12.10 BOFAction属性与EOFAction属性的设置属 性值含 义BOFAction0(vbBOFActionMov


    注意事项

    本文(关系数据库应用基础.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开