零点起飞学Visual C++之数据库应用程序设计.pptx

上传人:marr****208 文档编号:133878902 上传时间:2020-05-31 格式:PPTX 页数:116 大小:3.14MB
返回 下载 相关 举报
零点起飞学Visual C++之数据库应用程序设计.pptx_第1页
第1页 / 共116页
零点起飞学Visual C++之数据库应用程序设计.pptx_第2页
第2页 / 共116页
零点起飞学Visual C++之数据库应用程序设计.pptx_第3页
第3页 / 共116页
零点起飞学Visual C++之数据库应用程序设计.pptx_第4页
第4页 / 共116页
零点起飞学Visual C++之数据库应用程序设计.pptx_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《零点起飞学Visual C++之数据库应用程序设计.pptx》由会员分享,可在线阅读,更多相关《零点起飞学Visual C++之数据库应用程序设计.pptx(116页珍藏版)》请在金锄头文库上搜索。

1、第15章数据库应用程序设计 MFC提供了对数据库程序设计的强大支持 对于数据库的访问 MFC提供了两组类 ODBC OpenDatabaseConnectivity 和ADO ActiveXDataObjects 利用这两组功能强大的类 用户可以方便地开发出基于ODBC或ADO的数据库应用 学习本章 读者可以掌握基本的数据库知识 掌握利用MFC进行数据库程序设计的一般步骤 可以进行简单的数据库程序设计 15 1数据库的奥义 数据库技术是对数据进行管理的最新的技术 它有效解决了数据的存储和管理等问题 数据库是数据的集合 它由一个或多个表组成 每一个表中都存储了对一类对象的数据描述 表的每一列描述

2、了对象的一个属性 如姓名 出生年月等 而表的每一行则是对一个对象的具体描述 一般将表中的一行称作记录 record 或行 row 将表的每一列称作字段 field 或列 column 数据库通常还包括一些附加结构用来维护数据 数据 数据库 数据库管理系统和数据库系统是数据库技术中最为重要的几个概念 下面分别进行介绍 1 数据 数据是对客观事物的数学描述 在现实生活中 人们利用语言对事物进行描述 而计算机中 这种自然语言不可能进行直接存储 因此 人们在自然事物中抽象出来一些信息对事物进行描述 这些信息就是数据 2 数据库 对事物的特征等进行抽象之后得到数据 在计算机中把这些数据进行保存 随着数据

3、存储技术的发展 人们对数据保存的方法也越来越先进 现在数据库是数据存储的最佳场所 数据的安全性 数据的完整性和数据的独立性是数据库技术的三大优点 3 数据库管理系统 数据库管理系统是一种数据管理软件 它是位于用户和计算机系统之间的管理软件 它对数据统一进行管理 用户不必关心物理上的数据库的模式 而仅仅是逻辑上进行数据库的定义 对数据库进行操作等 4 数据库系统 数据库系统是只引入了数据库系统以后所构成的一个系统 它一般由数据库 数据库管理系统 应用系统 数据库管理员和用户组成 例如一个完整的学校选课系统就是一个数据库系统 数据库是数据的高效存储和管理的技术 随着技术的不断发展和进步 新的数据库

4、技术不断出现 数据库的概念也不断更新 数据库技术的应用也会越来越广泛 15 2关系数据库原理 数据库模型主要有三种 层次模型 网状模型和关系模型 现在又出现了面向对象模型 在这些模型中以关系模型最为简单和实用 在实际中的应用最为广泛 本节对关系模型的一些理论知识进行介绍和说明 关系数据库采用数学的方法进行数据库中数据的管理 它是采用关系模型的一种数据库技术 关系数据模型由关系数据结构 关系操作集合和完整性约束三个部分组成 关系数据结构非常简单 它的逻辑结构是一张二维表 它可以描述现实事物的信息和事物间的具体的关系 关系操作集合是关系操作采用集合的方式 操作的对象和结果都是集合 关系操作常用的包

5、括并 差 选择 连接 除等查询操作和插入 删除 修改等操作 完整性约束是指对关系的某种约束条件 一般来说关系模型的完整性约束包括事物完整性约束 参照完整性约束和用户自定义的完整性约束 若一个数据库只有一个表 则称之为简单数据库 若数据库由多个相关的表组成 则称其为关系数据库 关系数据库利用公共关键字段将它的表联系起来 例如在表15 1中 可以将学号作为一个关键字段 如果数据库中还有一个学生成绩表并且也有学号字段 则可以通过学号这个关键字段将两个表联系起来 表15 1学生信息表 在关系数据库中数据的操作是非常简单的 程序员不需要了解数据的物理存储 只要在逻辑上搞清楚各个表之间的关系 就可以方便地

6、对数据库进行操作 注意 关系模型是最为简单实用的数据库模型 同时大多数的数据库管理系统都支持关系模型 程序员需要根据数据库的规模 要求等多方面综合考虑选择数据库管理系统 15 3数据库标准语言 SQL语言 SQL StructuredQueryLanguage 结构化查询语言 最早由IBM提出 是专门用来处理关系数据库的基于文本的语言 SQL向数据库提供了完善而一致的接口 它不是独立的计算机语言 需要数据库管理系统DBMS的支持方能执行 15 3 1SQL概述 SQL是一种介于关系代数与关系演算之间的结构化查询语言 是当今数据库领域应用最为广泛的语言 SQL是一个通用的 功能极强的关系数据库的

7、标准操作的语言 SQL语言之所以能够为用户和数据库各界所接受 并成为国际标准 这是因为SQL是一个综合的 功能极强同时又简捷易学的语言 它对关系数据库的各种操作都提供了非常方便的语句 这样使得利用SQL语言来进行关系数据库的操作变得十分的方便和简单 一般来说SQL语言主要由数据查询 DataQuery 语言 数据操纵 DataManipulation 语言 数据定义 DataDefinition 语言和数据控制 DataControl 语言来综合构成 15 3 2主要特点 SQL语言之所以能够称为一种标准的数据库语言 是因为SQL语言对整个关系数据库操作都提供了强大的支持 同时SQL语言使用非

8、常方便 简单易学 这样使得SQL语言非常容易被接收 SQL的主要特点包括 1 综合统一的语言 数据库系统的主要功能是通过数据库管理系统所支持的数据语言来实现的 在当今大多数的数据库管理系统中都对SQL语言提供了支持 利用SQL语言可以对数据库中的数据进行存储 修改 查询 撤销等各种操作 2 非过程化语言 SQL语言是一种非过程的语言 用户需要进行某种操作时不必指定数据库系统如何去做 而只要执行SQL命令就可以了 例如要查看教学管理系统中某个学生的成绩 只要利用SQL语句进行查询 而不必关心该学生在数据库中是如何存储 又是如何被查询到的 这种非过程的语言大大减轻了程序员的工作量 3 集合的操作方

9、式 SQL语言采用集合操作方式 不仅操作对象 查找结果可以是元组的集合 而且一次插入 删除 更新操作的对象也可以是元组的集合 利用SQL语句可以方便地存储 查询 删除一些满足某种条件下的多个记录 4 嵌入式 的语言 SQL语句能够嵌入到高级语言 例如C COBOL C 程序中 供程序员设计程序时使用 而在两种不同的使用方式下 SQL语言的语法结构基本上是一致的 这种以统一的语法结构提供两种不同的使用方式的做法 提供了极大的灵活性与方便性 5 语言简捷 易学易用 SQL语言功能极强 但由于设计巧妙 语言十分简捷 完成核心功能只用了9个动词 如表15 2所示 SQL语言接近英语口语 因此容易学习和

10、使用 表15 2SQL语言的关键字 上面综合介绍了SQL语言的主要特点 作为数据库的标准语言 SQL语言提供了数据库系统中进行数据操作的基本语句 进行数据库系统的设计应该全面掌握SQL语言的特点和常用语句 读者可查阅相关数据库原理类的书籍 15 3 3数据定义语句 数据定义常用的语句包括对表的定义和索引的定义 同时包括表的修改和撤销 以及索引的撤销等操作 SQL语言使用 CREATETABLE 语句定义基本表 其一般格式如下 CREATETABLE表名 列名数据类型列级完整性约束条件 列名数据类型列级完整性约束条件 表级完整性约束条件 其中 表名 是所要定义的基本表的名字 它可以由一个或多个属

11、性 列 组成 建表的同时通常还可以定义与该表有关的完整性约束条件 这些完整性约束条件被存入系统的数据字典中 当用户操作表中数据时 由DBMS自动检查该操作是否违背这些完整性约束条件 如果完整性约束条件涉及到该表的多个属性列 则必须定义在表级上 否则既可以定义在列级 也可以定义在表级 示例15 1 建立一个学生表 包括学号 S 姓名 SNAME 性别 SEX 年龄 AGE 和家庭住址 ADDRESS 五个元素 CREATETABLESTU S CHAR 4 NOTNULL SNAMECHAR 10 NOTNULL SEXCHAR 2 AGESMALLINT ADDRESSCHAR 20 PRIM

12、ARYKEY S 分析 上面利用SQL语句创建一个表 并且对其中的某些列进行了约束 最后对表进行约束 此处定义了主键 随着应用环境和应用需求的变化 有时需要修改己建立好的基本表 SQL语言用 ALTERTABLE 语句修改基本表 其一般格式为 ALTERTABLE表名 ADD新列名数据类型完整性约束 DROP完整性约束名 MODIFY列名数据类型 其中 表名 是要修改的基本表 ADD 子句用于增加新列和新的完整性约束条件 DROP 子句用于删除指定的完整性约束条件 MODIFY 子句用于修改原有的列定义 包括修改列名和数据类型 例如在示例15 1创建的表中增加一列TEL 其长度为15 使用语句

13、如下 ALTERTABLESTUADDTELCHAR 15 当某个基本表不再需要时 可以使用 DROPTABLE 语句删除它 其一般格式为 DROPTABLE表名 注意 有的系统 如Oracle 删除基本表后建立在此表上的视图定义仍然保留在数据字典中 但是 当用户引用时就报错 建立索引是加快查询速度的有效手段 用户可以根据应用环境的需要 在基本表上建立一个或多个索引 以提供多种存取路径 加快查找速度 一般说来 建立与删除索引由数据库管理员DBA或表的属主 即建立表的人 负责完成 系统在存取数据时会自动选择合适的索引作为存取路径 用户不必也不能选择索引 在SQL语言中 建立索引使用 CREATE

14、INDEX 语句 其一般格式为 CREATEUNIQUEINDEX索引名ON表名列名1 列名2 其中 表名 是要建索引的基本表的名字 索引可以建立在该表的一列或多列上 各列名之间用逗号分隔 每个 列名 后面还可以指定索引值的排列次序 可选ASC 升序 或DESC 降序 默认值为ASC UNIQUE 表明此索引的每一个索引值只对应唯一的数据记录 索引一经建立 就由系统使用和维护它 不需用户干预 建立索引是为了减少查询操作的时间 但如果数据增加删改频繁 系统会花费许多时间来维护索引 这时可以删除一些不必要的索引 在SQL语言中 删除索引使用 DROPINDEX 语句 其一般格式为 DROPINDE

15、X索引名 删除索引时 系统会同时从数据字典中删去有关该索引的描述 15 3 4数据查询语句 数据库查询是数据库的核心操作 SQL语言提供了 SELECT 语句进行数据库的查询 该语句具有灵活的使用方式和丰富的功能 其一般格式为 SELECTALL DISTINCT目标列表达式1 目标列表达式2 FROM表名或视图名1 表名或视图名2 WHERE条件表达式GROUPBY列名1HAVING条件表达式ORDERBY列名2 ASC DESC整个 SELECT 语句的含义是 根据WHERE子句的条件表达式 从FROM子句指定的基本表或视图中找出满足条件的元组 再按SELECT子句中的目标列表达式 选出元

16、组中的属性值形成结果表 如果有 GROUP 子句 则将结果按 列名1 的值进行分组 该属性列值相等的元组为一个组 通常会在每组中作用集函数 如果 GROUP 子句带 HAVING 短语 则只有满足指定条件的组才能将其输出 如果有 ORDER 子句 则结果表还要按 列名2 的值的升序或降序排序 示例15 2 查询示例15 1中所有男生的姓名和年龄 按年龄从小到大排序 SELECTSNAME AGEFROMSTUWHERESEX 男 ORDERBYAGE分析 SELECT语句既可以完成简单的单表查询 也可以完成复杂的连接查询和嵌套查询 鉴于篇幅有限在此不再逐一介绍 读者可参阅相关书籍 15 3 5数据更新语句 SQL中数据更新包括插入数据 修改数据和删除数据三条语句 1 插入数据 SQL的数据插入语句INSERT通常有两种形式 一种是插入一个元组 另一种是插入子查询结果 后者可以一次插入多个元组 插入单个元组的INSERT语句的格式为 INSERTINTO表名 列名1 列名2 VALUES 常量1 常量2 其功能是将新元组插入指定表中 其中新记录列1的值为常量1 列2的值为常量2 INTO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号