零点起飞学VisualBasic之大型程序必备-数据库基础.pptx_第1页
零点起飞学VisualBasic之大型程序必备-数据库基础.pptx_第2页
零点起飞学VisualBasic之大型程序必备-数据库基础.pptx_第3页
零点起飞学VisualBasic之大型程序必备-数据库基础.pptx_第4页
零点起飞学VisualBasic之大型程序必备-数据库基础.pptx_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第18章大型程序必备 数据库基础 数据处理在现代社会中起到至关重要的作用 为解决特定的任务 以一定的组织方式存储在一起的相关数据的集合被称为数据库 使用VisualBasic可以非常轻松地建立功能全面的数据管理程序 数据库基础内容不仅适用于VisualBasic程序 还适用于其他任何涉及数据库内容的程序 学习本章 读者可以掌握设计数据库文件的方法和创建数据库的技巧 18 1数据库简介 数据库可以理解为按照数据结构来组织 存储和管理数据的仓库 一个设计良好的数据库可以在后期非常方便地维护和扩展程序功能 设计数据库通常包括确定设计目的 组织数据信息 创建数据库文件 18 1 1为什么要使用数据库 数据库设计如同建筑工程一样需要明确程序内容的需要 必须根据程序设计开发的需要来设计数据库存放的物理文件和逻辑功能 一个良好的数据库设计方案是实现数据库最重要的一步 包括以下特点 最简洁有效的方式存放数据 避免数据库浪费太多的空间 更新数据功能简单快捷 数据库结构易于维护 数据库文件易于扩展 可以在后期修改时实现更多功能 数据库文件具有一定的安全性和保障性 18 1 2数据库设计流程 设计一个功能完善的数据库包括如图18 1所示几个主要步骤 图18 1设计数据库步骤 以上图示中必须根据应用程序需要选择不同类型数据库 如果是大型商业程序可能需要使用大型数据库文件 如SQLserver等 如果为小型单机版程序可以选择Access数据库 选定数据库程序后 根据应用程序所需实现功能来设计数据库基本结构 例如 一个邮件发送系统需要地址表和邮件内容表 从而确定表之间的关系 索引 查询内容 18 1 3组织数据 一个优秀的数据库设计方案的重要方面是如何组织具体数据存放在数据库中 尽量以最易于维护 易于查询方式来组织数据 在数据库中 数据保存在一个或多个表中 通过应用程序数据库接口实现对数据的管理 1 规范化组织数据 数据规范化是删除数据库中冗余数据 使每条信息只显示一次 数据规范化将增加数据库文件复杂度 以订货信息为例列出需要的顾客信息和货物信息 如图18 2所示 图18 2订货信息表 以上信息包括序号 姓名 地址 电话 商品 型号 单位等基本信息 如图18 1所示 订货信息表内很多信息都是重复的 该表不符合数据规范化要求 根据数据规范化要求可以将该表分离成3个表 顾客信息表 商品信息表和订货表 订货表通过顾客信息表和商品信息表的唯一序号来标识不同的顾客和商品信息 2 基本表 表是数据库结构的基础 用于存储所有相关数据 3 索引 数据添加到数据库时 数据记录通常呈递增方式存放 该顺序为数据的物理顺序或自然顺序 在程序中可能需要一种不同的方式来查看和处理数据 索引方式提供了一种以特殊方式显示表中数据的一种方法 索引本身以一种特殊的方式存放实际记录 一个表中可以包含多个不同索引 根据程序需要使用不同的索引显示数据记录 如销售表中可以有序号索引 日期索引 付款方式索引等 18 2可视化管理数据 VisualDataManager VisualBasic中提供了一个创建和修改数据库的程序文件 可视化数据管理器 VisualDataManager 该程序可以通过选择 外接程序 可视化数据管理器 命令运行 程序界面如图18 3所示 图18 3可视化数据管理器 注意 可视化数据管理器 VisualDataManager 可以处理早期Access数据库文件 Jet dBase数据库 Foxpro数据库和ODBC数据库 一般情况下 在VisualBasic中使用其来创建和管理数据库文件 18 2 1创建数据库文件 创建数据库需要创建一个物理文件 该文件为数据存放提供了一个物理空间 示例18 1 创建Access数据库文件 操作过程如下 1 选择 新建 MicrosoftAccess Version7 0MDB命令 弹出 文件新建数据库 对话框 如图18 4所示 图18 4 文件新建数据库 对话框 2 在 文件名 文本框中输入文件名称 选择保存目录 单击 保存 按钮 显示如图18 5所示的设计界面 图18 5设计界面 VisualDataManager提供了一种以树状视图显示数据库信息模式 该视图可以快速查看数据库中的表和查询 18 2 2创建表 创建一个数据库文件后 右击数据库窗口中的空白处 在弹出的快捷菜单中选择 新建表 命令 弹出 表结构 对话框 如图18 6所示 单击 添加字段 按钮可以增加一个新字段 如图18 7所示 图18 6创建表窗体 图18 7添加字段 单击 关闭 按钮可以保存该表结构并退出 示例18 2 将创建一个表 操作过程如下 1 在VisualDataManager的数据库窗口中 右击空白处 在弹出的快捷菜单中选择 新建表 命令 弹出 表结构 对话框 2 在创建表窗体中输入表名称 如gzb 工资表 3 单击 添加字段 按钮 在弹出的 添加字段 窗体中输入相应的信息 如表18 1所示 表18 1添加字段信息 4 单击 关闭 按钮保存表退出 18 2 3修改表 当数据库中表结构需要改变时可以在表结构窗体中进行修改 单击 删除字段 按钮 可以删除一个列表中显示的字段 单击 添加索引 按钮 可以增加一个新索引 单击 删除索引 按钮 可以删除一个已有索引 18 3使用MicrosoftAccess MicrosoftAccess是Microsoft公司创建的一个Office程序中的一个组件 该程序可以以可视化方式创建和修改Access数据库程序 18 3 1创建数据库文件 MicrosoftAccess可以非常简单地创建一个新数据库 可以添加表 查询 窗体等 本书只涉及到创建表一项内容 18 3 2创建和修改表 创建表可以通过3个选项来实现 使用设计器创建表 使用向导创建表 通过输入数据创建表 18 4什么是SQL语言 结构化查询语言SQL StructureQueryLanguage 是一种高级的非过程化编程语言 该语言无需用户了解数据的存放方法和具体存放方式 允许用户在高层数据结构上工作 SQL语句创建一个由数据库引擎处理的查询 该查询定义了需要处理的表 字段 记录 SQL支持以下实现特殊功能的编程命令 从一个或多个表中查询数据 通过插入 删除或更新记录来处理表中的数据 可以汇总表中数据 如总和 最大值 最小值等 创建 修改或删除数据库中的表 SQL语言仅需要一行或几行代码实现的功能需要VisualBasic在程序开发中上百行代码才可能执行 SQL语句包括两种基本类型 数据处理语言 Data manipulationLanguage DML 和数据定义语言 Data definitionLanguage DDL 本章主要探讨论述数据处理DML语句 18 5SQL语言常用语句 SQL结构化查询语言主要包括以下几个重要语句 SELECT DELETE INSERTINTO和UPDATE语句 SELECT语句在表或动态集合中提取查询的数据 DELETE语句从表中删除数据 INSERTINTO语句向表中添加数据 UPDATE语句更新表中已有字段值 本节分别介绍以上语句语法及如何使用该语句 关于SQL结构化查询语言实例请参见第19章DAO数据对象和第20章ADO数据对象和第21章报表设计有关内容 18 5 1查询语句SELECT SELECT语句实现从表或动态集合中查询数据 允许进行进一步操作 其标准语法如下 SELECT ALL DISTINCT FROM FORCE DatabaseName Table AS Local Alias INNER LEFT OUTER RIGHT OUTER FULL OUTER JOINDatabaseName Table AS Local Alias ONJoinCondition INTODestination WHEREJoinCondition ANDJoinCondition AND ORFilterCondition AND ORFilterCondition GROUPBYGroupColumn GroupColumn ORDERBYOrder Item ASC DESC Order Item ASC DESC 其中常用参数说明如下所示 ALL参数 默认项 显示所有记录 DISTINCT参数 显示不重复记录 TOPnExpr PERCENT 参数 显示前几名或百分比 FROM参数 后跟表名称 DatabaseName参数 指定数据库名称 AS Local Alias参数 设置表的别名 INNERJOIN 内连接 设置两表之间数据互相相等 LEFT OUTER JOIN 左连接 设置左侧表显示全部记录 右侧表仅是相等于左侧表中记录的记录 RIGHT OUTER JOIN 右连接 设置右侧表显示全部记录 左侧表仅是相等于右侧表中记录的记录 INTODestination参数 可以将所有指定条件查询的所有数据保存到一个指定名称的表内 以备将来查询 Destination为表的名称 WHERE参数 可以使用以下条件运算式 表示等于 表示完全等于 LIKE表示模糊查询 表示不等于 表示大于 表示大于等于 表示小于 表示小于等于 Betweenexp1andexp2表示在exp1和exp2之间 示例18 3 SQL语言不同的数据过滤表达式 1 客户id和订单id相等 customer cust id OrdeRs cust id 2 工资薪水大于等于1000元 payments amount 1000 3 客户消费金额在1000 5000元之间 customer moneyBETWEEN1000AND5000 4 客户代码不包含101 102 103的所有数据 customer postalcodeNOTIN 101 102 103 5 客户表中国家为中国的所有数据 customer countryLIKE china GROUPBYGroupColumn GroupColumn 参数可以创建一个记录组 如果对客户表进行分组 则对每个客户仅有一个记录 可以使用计算函数来汇总各种数据 如总和 最大值 最小值等 ORDERBYOrder Item参数表明按字段名称顺序排列 DESC参数表明降序排列查询数据 示例18 4 演示常见的几种SELECT语句的使用 1 从table表中查询所有数据 SELECTALLFROMtable 2 从table表中查询不同职务数据 SELECTDISTINCTjobNameFROMtable 3 从table表中查询金额为前10名的客户名称 SELECTTOP10 FROMcustomeRs 4 从客户表中查询客户id和订单id相等的销售前10名的客户名称 SELECTTOP10 FROMTestdata customerINNERJOINTestdata OrdeRsONCustomer cust id OrdeRs cust id 5 从table表中查询姓 张 的客户数据 SELECTALLFROMtableWHERENamelike 张 6 从table表中汇总所有姓 张 的客户销售额总和 SELECTsum money FROMtableWHERENameLIKE 张 18 5 2删除语句DELETE DELETE语句实现从表中删除数据 其标准语法如下 DELETEFROMtableName WHEREstatement 参数说明 FROM参数为必需项 表明删除表名 WHERE参数为可选项 限定待删除记录范围 示例18 5 演示DELETE语句删除数据 1 从客户表中删除所有数据 DELETEFROMcustomeRs 2 从客户表中删除名字为张三的客户 DELETEFROMcutomeRsWHEREcust Name 张三 注意 Delete语句在从表中删除数据后 无法再恢复 18 5 3插入语句INSERTINTO INSERTINTO语句向表中添加数据 使用该语句需要先用Select语句查询数据 再在表或动态集合中添加数据 其标准语法如下 INSERTINTOtableName fName1 fName2 VALUES eExpression1 eExpression2 参数说明如下 TableName为必需项 表明需要添加数据表名 fName1为可选项 表明需要添加数据字段名称 eExpression1为可选项 表明需要添加字段内容列表 示例18 6 演示INSERTINTO语句添加数据 1 向客户表中添加客户名称为 李四 的记录 INSERTINTOcustomeRs NameVALUE 李四 2 向客户表中添加客户名称为 李四 职务为 经理 的记录 INSERTINTOcustomeRs Name customeRs jobVALUE 李四 经理 18 5 4更新语句UPDATE UPDATE语句更新表中已有字段值 其标准语法如下 UPDATE DatabaseName1 TableName1SETColumn Name1 eExpression1 Column Name2 eExpression2 WHEREFilterCondition1 AND ORFilterCondition2 参数说明 DatabaseName1 TableName1为必需项 表明数据库内表名称 Column Name1为必需项 表明字段名称 eExpression1为必需项 表明更新字段内容 Wher

温馨提示

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

评论

0/150

提交评论