第章数据库应用开发概述PPT课件.ppt_第1页
第章数据库应用开发概述PPT课件.ppt_第2页
第章数据库应用开发概述PPT课件.ppt_第3页
第章数据库应用开发概述PPT课件.ppt_第4页
第章数据库应用开发概述PPT课件.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

1 5 1数据库基础知识5 2数据库设计5 3SQL语言简介5 4ODBC与ADO简介5 5VB与SQLServer数据库关联 第5章数据库项目开发概述 2 本章主要内容四个基本概念数据模型SQL语言数据库访问技术 3 5 1数据库基础知识 数据库技术研究如何科学合理地组织数据 存储数据如何高效的访问数据数据库技术是应数据管理任务的需要而产生的 数据管理是指如何对数据进行分类 组织 编码 储存 检索和维护 随着计算机硬件和软件的发展 数据管理经历了人工管理 文件系统和数据库系统三个发展阶段 4 数据库系统阶段 应用程序与数据间的对应关系 数据在数据库中集中存放 统一管理 面向所有应用 应用程序1 应用程序2 数据库管理系统 数据库 5 数据库系统的Client Server结构 数据库服务器 客户机 请求数据服务 送回服务结果 应用软件 应用开发工具 客户机OS DBMS 网络OS 数据库 用户 数据库管理员 6 Database 简称DB数据库是指长期存储在计算机内 有组织 可共享 统一管理的数据的集合 它可以供用户共享 具有尽可能小的冗余度和较高的数据独立性 使得数据存储最优 数据最容易操作 并且具有完善的自我保护能力和数据恢复能力 5 1 1四个基本概念 数据库 7 5 1 1四个基本概念 数据库管理系统 DatabaseManagementSystem 简称DBMS数据库管理系统是位于用户与操作系统间的一层数据管理软件 属系统软件的范畴 数据库管理系统负责定义数据和操纵数据 并能够保证数据库中数据的安全性 完整性 以及进行多用户对数据的并发使用及发生故障后的系统恢复 Access SQLServer Oracle Sybase Foxpro是典型的数据库管理系统 8 5 1 1四个基本概念 数据库管理员 DatabaseAdministrator 简称DBADBA是指全面负责数据库系统的 规划 设计 维护 管理和正常使用的 人员 其职责如下 1 参与数据库设计的全过程 决定数据库的结构和内容 2 定义数据的安全性和完整性 负责分配用户对数据库的使用权限和口令管理 3 监督控制数据库的使用和运行 改进和重新构造数据库系统 当数据库受到破坏时 应负责恢复数据库 当数据库的结构需要改变时 完成对数据结构的修改 DBA不仅要有较高的技术专长和较深的资历 并应具有了解和阐明管理要求的能力 特别对于大型数据库系统 DBA极为重要 对于常见的微机数据库系统 通常只有一个用户 常常不设DBA DBA的职责由应用程序员或终端用户代替 9 5 1 1四个基本概念 数据库系统 数据库系统是指由数据库 数据库管理系统 应用系统 数据库管理员和用户等构成的系统 广义的讲 数据库系统由下面几部分构成硬件及数据库软件 包括操作系统 DBMS 编译系统及应用开发工具软件等人员 包括数据库管理员 用户等 数据库系统的各类人员对数据库的各种操作请求 都由DBMS完成 DBMS是数据库系统的核心软件 10 用户 用户 用户 应用系统 应用开发工具 数据库管理系统 操作系统 数据库 数据库管理员 长期储存在计算机内 有组织 可共享的数据集合 负责定义数据和操纵数据 并能够保证数据库中数据的安全性 完整性 并发控制及恢复 数据库系统组成 11 5 1 2常用数据模型 在数据库中是用数据模型这个工具来对现实世界进行抽象的 数据模型是数据库系统中用于提供信息表示和操作手段的形式构架 根据模型应用的目的不同 可将数据模型分为两类 概念模型 信息模型 按照用户的观点对数据和信息建模逻辑模型 层次 网状 关系 按照计算机系统的观点对数据建模 12 1 概念模型 三个世界 认识抽象 现实世界 信息世界概念模型 机器世界DBMS支持的数据模型 概念模型用于信息世界建模 是现实世界到信息世界的第一层抽象 是用户与数据库设计人员之间进行交流的语言 因此概念模型应强调语义表达能力 要易于用户理解 13 1 概念模型 信息世界中的基本概念实体 Entity 客观存在并可相互区别的事物称为实体 如 一个学生 一个部门 一门课 学生的一次选课 部门的一次订货等 实体集 EntitySet 同型实体的集合称为实体集 如 全体学生就是一个实体集 属性 Attribute 实体所具有的某一特性称为属性 一个实体可以由若干个属性来刻画 例如学生实体可以用学号 姓名 性别 出生年月等属性组成 码 Key 唯一标识实体的属性集称为码 如 学号是学生实体的码 14 1 概念模型 联系 事物之间的联系可以分为三类一对一联系 1 1 如果对于实体集A中的每一个实体 实体集B中至多有一个实体与之联系 反之亦然 则称实体集A与实体集B具有一对一联系 如班级和班长之间的联系一对多联系 1 n 如果对于实体集A中的每一个实体 实体集B中有n个实体与之联系 n 0 反之 对于实体集B中的每一个实体 实体集A中至多只有一个实体与之联系 则称实体集A与实体集B具有一对多联系 如班导师和学生之间的联系 15 1 概念模型 联系 多对多联系 m n 如果对于实体集A中的每一个实体 实体集B中有n个实体与之联系 n 0 反之 对于实体集B中的每一个实体 实体集A中也有m个实体 m 0 与之联系 则称实体集A与实体集B具有多对多联系 如 学生和课程之间的关系 多个实体之间也可以存在一对一 一对多 多对多的联系 如学生 课程和教科书之间的联系 同一个实体集内的各实体之间也可以存在一对一 一对多 多对多的联系 如职工实体集内有领导和被领导的联系 16 1 概念模型 概念模型的表示方法 实体联系方法实体型 用矩形框表示 矩形框内写上实体名 如 属性 用椭圆形表示 并用无向边将其与相应的实体联系起来 如 课程 学生 学生 学号 学号 学号 姓名 性别 年龄 17 1 1 概念模型 概念模型的表示方法 实体联系方法联系 用菱形表示 菱形框内写明联系名 并用无向边分别与有关实体连接起来 同时在无向边旁标上联系的类型 1 1 1 n m n 如 班级 班长 管理 1 1 班级 班长 管理 n 1 班级 学生 组成 m 班级 课程 管理 n 学生 选修 18 1 概念模型 实体联系 参考书 教师 课程 讲授 1 n m 职工 领导 1 n 19 1 概念模型 E R图实例 学生 班级 课程 学号 姓名 性别 年龄 班级编号 所属专业系 课程号 课程名 学分 教师 参考书 课程号 姓名 性别 年龄 职称 书号 书名 内容提要 价格 20 1 概念模型 E R图实例 班级 成绩 组成 领导 学生 学生人员 选修 课程 讲授 教师 参考书 1 n n 1 n m 领导 领导 1 n m 21 2 逻辑模型 不同的数据模型具有不同的数据结构形式 目前最常用的数据模型有层次模型 网状模型和关系模型 层次模型和网状模型统称为非关系模型 在非关系模型中 实体用记录表示 实体之间的联系转换成记录之间的两两联系 22 2 关系模型 关系模型中的重要概念关系 一个二维表是一个关系元组 表中的一行即为一个元组属性 表中的一列即为一个属性主码 表中的某个属性组 它可以唯一确定一个元组 域 属性的取值范围分量 元组中的一个属性值 关系模式 对关系的描述 一般表示为 关系名 属性1 属性2 属性n 23 2 关系模型 关系模型的数据结构 二维表 学号 95001950029500395004 95700 姓名 性别 系别 年龄 籍贯 李勇刘晨王名张立杨晓冬 男女女男 男 计算机科学信息数学计算机科学 物理 20191819 21 江苏山东北京北京 山西 整数 字符串 男女 信息数学 141516171819202122 北京上海山东 学生登记表 关系名 主键 关系 域 字段名 记录行 字段 列 24 关系模型 在关系模型中 实体以及实体间的联系都是用关系来表示的 例如 学生 课程 学生与课程之间的多对多联系在关系模型中可以表示如下 学生 学号 姓名 性别 系别 年龄 籍贯 课程 课程号 课程名 学分 选修 学号 课程号 成绩 关系模型要求关系必须是规范化的 关系的每一分量必须是一个不可分的数据项 25 5 2数据库设计 主要的内容 需求分析概念设计 概念模型和E R图逻辑设计 关系模型设计物理设计 26 5 2数据库设计 数据库设计的主要任务针对特定用途 在给定的软 硬件环境下 设计出结构合理 性能良好的数据库 使之能较好地满足客户需求 数据库的设计一般分为以下四个步骤 于1978年在新奥尔良会议上提出 因此简称新奥尔良法 需求分析 概念设计 逻辑设计 物理设计 27 图5 6数据库设计步骤 28 5 3关系数据库标准语言SQL简介 自结构化查询语言SQL StructureQueryLanguage 成为国际标准语言后 各个数据库厂家纷纷推出各自支持的SQL软件 SQL已成为关系数据库领域中的一个主流语言 SQL的特点 功能强大使用灵活语言简洁 易学易用 29 5 3 1SQL的基本概念 创建表 视图 索引等 向数据表中插入指定的纪录 在数据库中查找满足条件的记录 授予用户一定的访问权限 30 5 3 2常用的SQL语句 建立数据库的目的是为了查询数据 因此说数据查询是数据库的核心操作 SQL语言提供了SELECT语句进行数据库的查询 该语言具有语言灵活的使用方式和丰富的功能 查询语句一般格式为 SELECT ALL DISTINCT FROM WHERE GROUPBY HAVING ORDERBY ASC DESC 31 5 3 2常用SQL数据查询 整个SELECT语句的含义是 根据WHERE子句的表达式 从FROM子句指定的基本表或视图中找出满足条件的元组 再按SELECT子句中的目标列表达式 选出元组中的属性值形成结果表 如果有GROUP子句 则将结果按的值进行分组 该属性列值相等的元组为一个组 每个组产生结果表中的一条记录 如果GROUP子句带HAVING短语 则只有满足指定条件的组才予输出 如果有ORDER子句 则结果表还要按的值的升序或降序排序 32 学生 课程 数据库中包括三个表 1 学生信息 表StuInfo由学号 姓名 班级 来源这4个属性组成 可记为 StuInfo 学号 姓名 班级 来源 其中学号为主码 2 课程信息 表ClassInfo由课程代号 课程名称 任课教师 学分4个属性组成 可记为 ClassInfo 课程代号 课程名称 任课教师 学分 其中课程代号为主码 3 学生成绩 表StuScore由学号 课程代号 成绩3个属性组成 可记为 StuScore 学号 课程代号 成绩 其中 学号 课程代号 为主码 33 例1 查询考试成绩在80分以上的学生学号 SELECT学号FROMstuScoreWHERE成绩 80 或者 SELECTDISTINCT学号FROMstuScoreWHERE成绩 80 DISTINCT表示将查询结果中的重复信息去掉 34 例2 查询学生信息表中姓张的学生的基本信息 SELECT FROMstuInfoWHERE姓名like 张 或者 SELECT FROMstuInfoWHERE姓名like 张 代表零个或多个字符 代表一个字符 35 例3 查询学生成绩表中成绩在85 90之间的学生成绩信息 SELECT FROMstuScoreWHERE成绩BETWEEN85AND90 BETWEEN AND 指明字段值必须满足的范围 36 例4 查询学生信息表中的所有信息并按学号降序排序 SELECT FROMstuInfoORDERBY学号DESC 在ORDERBY子句中 ASC表示升序 DESC表示降序 37 例5 查询各个班级的总人数 SELECT班级 COUNT AS人数FROMstuInfoGROUPBY班级 COUNT函数用于统计个数 AS用于起别名 38 例6 查询学号为 20050001 的学生的总成绩 最高分 最低分 平均分 SELECTSUM 成绩 AS总成绩 AVG 成绩 AS平均成绩 MAX 成绩 AS最高成绩 MIN 成绩 AS最低成绩FROMstuScoreWHERE学号 20050001 SUM函数用于计算数值型数据的总和AVG函数用于计算数值型数据的平均值MAX函数用于计算数值型数据的最大值MIN函数用于计算数值型数据的最小值 39 例7 在成绩表中查询成绩不多于2门的学号和相应人数 SELECT学号 COUNT AS人数FROMstuScoreGROUPBY学号HAVINGCOUNT 2 40 例8 查询学生的姓名 课程名 成绩 SELECTstuInfo 姓名 classInfo 课程名称 stuScore 成绩FROMstuInfo classInfo stuScoreWHEREstuInfo 学号 stuScore 学号andclassInfo 课程代号 stuScore 课程代号 本例涉及到三个表之间的关联 41 SQL 数据更新之插入语句 数据更新有插入 删除 更新三种操作插入语句 一次插入一条记录的格式为 INSERTINTO表名 字段名 字段名 VALUES 常量 常量 一次插入多条记录的格式为 INSERTINTO表名 字段名 字段名 SELECT查询语句 42 例9 将一条记录 1004 计算机 王海 2插入到课程信息表中 INSERTINTOclassInfoVALUES 1004 计算机 王海 2 例10 将成绩表中学号为 20050001 的全部记录插入到scoreBack表中 其中scoreBack是一张新建的表 其表结构与成绩表相同 INSERTINTOscoreBackSELECT FROMstuScoreWHERE学号 20050001 43 SQL 数据更新之删除语句 删除语句指从数据表中删除符合条件的记录 它的格式为 DELETEFROM表名 WHERE条件表达式 例11 删除学生成绩表中学号为 20050003 的记录 DELETEFROMstuScoreWHERE学号 20050003 2020 1 27 44 45 SQL 数据更新之更新语句 更新语句指修改数据表中符合指定条件记录的某个或某些字段值 它的格式为 UPDATE表名SET列名 值表达式 列名 值表达式 WHERE条件表达式 例12 修改学生信息表中学号为 20050001 同学的来源为 河北 UPDATEstuInfoSET来源 河北 WHERE学号 20050001 46 例13 将学生成绩表中全部学生的成绩加上五分作为最终成绩 UPDATEstuScoreSET成绩 成绩 5 47 5 4ODBC与ADO简介 开放数据库互连标准 OpenDatabaseConnectivity 简称ODBC 是Microsoft推出的一种客户端连接后台数据库的技术 ODBC把SQL作为访问数据库的标准 实现了用相同的代码访问不同数据库格式的 ODBC体系结构主要由数据库应用程序 ODBC驱动程序管理器 ODBC驱动程序 ODBC数据源四部分组成 5 4 1ODBC体系结构 48 ODBC体系结构 49 5 4 2配置ODBC数据源 ODBC数据源管理器窗口 50 1 在Windows2000环境下 单击 开始 设置 控制面板 进入 控制面板 窗口 再双击 管理工具 进入 管理工具 窗口 51 2 双击 数据源 ODBC 进入 ODBC数据源管理器 对话框 选择 系统DSN 选项卡 52 3 单击 添加 按钮 进入 创建新数据源 对话框 选择 MicrosoftAccessDriver mdb 53 4 单击 完成 按钮 进入 ODBCMicrosoftAccess安装 对话框 在数据源名后面的文本框内输入一个新名称 班级学生 54 5 单击 选择 按钮 进入 选择数据库 对话框 在右边选择数据库所在的目录 左边选择指定的数据库 55 6 单击两次 确定 按钮 返回 ODBC数据源管理器 对话框 可以看到 班级学生 数据源显示在 系统DSN 选项卡的列表框中 56 实验8 示例1 ODBC数据源的配置 按照书中所述的步骤操作 部分机器会出现以下错误提示 57 实验8 示例1 ODBC数据源的配置 解决方法 工程 引用 弹出如下窗口 58 实验8 示例1 ODBC数据源的配置 选中 MicrosoftActiveXDataObjects2 5Library 59 5 4 3ADO简介 ADO对象模型主要包括连接 Connection 命令 Command 记录集 Recordset 错误 Error 参数 Parameter 字段 Field 对象 60 5 4 4ADOData控件 用ADO控件创建数据库应用程序 1 添加ADO控件到工具箱 创建一个新的VB工程 单击 工程 菜单 部件 打开 部件 对话框 选中 MicrosoftADODataControl6 0 OLEDB 单击 确定 按钮 61 2 双击工具箱中的ADO控件将其添加到窗体上并适当调整其位置 3 单击该控件的ConnectionString属性右侧的 按钮 出现 属性页 窗口 选择 使用ODBC数据源名称 选择 班级学生 数据源 单击 确定 按钮 62 4 单击该控件RecordSource属性右侧的 按钮 选择相应的数据表 5 至此 ADO控件的配置完毕 在VB窗体上添加标签与文本框控件 文本框的名字从上到下依次为txtNum txtName txtClass txtOrigin 63 6 分别设置各文本框的DataSource属性和DataField属性 各文本框的DataSource属性均为Adodc1 DataField属性则分别为学号 姓名 班级 来源 7 单击运行按钮 运行结果如图所示 64 5 4 5ADO编程 基于ADO的应用程序存取数据源的主要步骤如下 1 连接到指定的数据源 2 打开记录集对象 3 对记录集进行添加 删除 修改 查询记录等操作 4 关闭已打开的连接 两个ADO对象 Connection对象Recordset对象 65 1 用CONNECTION对象连接到数据源State属性 AdStateClosed 关闭 默认 AdStateOpen 打开 Open方法 打开到数据源的连接 如果能成功打开数据源 就可以对它发出命令并且处理结果语法为 Connection OpenConnectionString UserID Password OptionsClose方法 Connection Close例 DimcnnAsADODB ConnectionSetcnn NewADODB Connectioncnn open DSN Student con close setcon nothing 66 2 用RECORDSET对象表示执行查询所得到的记录集BOF EOF属性 BOF指明当前记录的位置位于Recordset对象的第一个记录之前 EOF指明当前记录的位置位于Recordset对象的最后一个记录之后 RecordCount属性 返回Recordset对象中的记录数目 Fields属性 包含Recordset对象的所有字段对象 假设rst是一个Recordset对象 则此记录集的第1个字段可以用rst Fields 0 来表示 而rst Fields Count则用于返回记录集的列数 67 Open方法Open方法用于打开基本表 查询结果或者以前保存的Recordset中记录的游标 Open方法的语法为 Recordset OpenSource ActiveConnection CursorType LockType OptionsClose方法Close方法用于关闭记录集对象 68 DimcnnAsADODB ConnectionDimrstAsADODB RecordsetSetcnn NewADODB ConnectionSetrst NewADODB Recordsetcnn open DSN Student str select fromcourse rst openstr cnn adOpenStatic adLockOptimistic rst Fields i rst CloseSetrst Nothing 69 5 5VB与SQLServer数据库关联 5 5 1VB与ACCESS7 0数据库关联使用控件实现VB和ACCESS关联的步骤为 1 建立数据库 70 2 与数据库关联关联的具体步骤如下 在窗体上添加数据控件 Data 如Data1 设置数据控件的相应属性 如Connect属性为 Access DatabaseName属性为 试验 mdb RecordsetType属性为 0 Table RecordSource属性为 学生信息表 在窗体上添加数据绑定控件 在VB窗体上添加标签与文本框控件 文本框的名字从上到下依次为txtNum txtName txtClass txtOrigin 设置各数据绑定控件的DataSource DataField属性 分别设置各文本框的DataSource属性为Data1 DataField属性则分别为学号 姓名 班级 来源 运行VB程序 查看关联结果 71 5 5 2VB与SQLServer数据库关联 SQLServer 关系数据库的管理系统 SQLSERVER最初是由微软和sybase公司开发的 后来微软将sqlserver移植到NT上 而sybase注重于在unix上的开发 SQLSERVER对SQL进行了有针对性的扩展 它开发的sql语句 叫transactsql ORACLE的sql语言叫PL SQL VB与SQLServer数据库关联的步骤 1 建立SQLServer数据库2 创建ODBC数据源3 与VB建立连接4 保存并运行VB工程 可以查看相应的数据 72 1 建立SQLServer数据库启动SQLServer服务 在Windows2000Server环境下 单击 开始 菜单 程序 MicrosoftSQLServer 服务管理器 单击 开始 继续 按钮 73 创建数据库 单击 开始 菜单 程序 MicrosoftSQLServer 企业管理器 即可进入企业管理器界面 展开控制台根目录 右击数据库选择 新建数据库 如左图示 就会出现 数据库属性 对话框 如右图示 输入数据库名称 student 单击 确定 即可 74 创建表 选择新建的 student 数据库 右键选择 新建 表 命令 如左图示 即会出现创建表的对话框 如右图示 创建表之后单击 保存 将该表的名称保存为 stuInfo 75 输入数据 选择新建的 stuInfo 表 右键选择 打开表 命令 选择 返回所有行 命令 如左图示 就可以打开该表并输入数据 如右图示 76 2 创建ODBC数据源在Windows2000Server环境下 单击 开始 设置 控制面板 进入 控制面板 窗口 再双击 管理工具 进入管理工具窗口 77 双击 数据源 ODBC 进入 ODBC数据管理器 对话框 选择 系统DSN 选项卡 单击 添加 按钮 进入 创建新数据源 对话框 在名称框里选择 SQLServer 78 单击 完成 按钮 进入 创建到SQLServer的新数据源 步骤之

温馨提示

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

评论

0/150

提交评论