第十一章 一个数据库应用系统的设计与实现.ppt

上传人:marr****208 文档编号:134475753 上传时间:2020-06-05 格式:PPT 页数:28 大小:362.50KB
返回 下载 相关 举报
第十一章 一个数据库应用系统的设计与实现.ppt_第1页
第1页 / 共28页
第十一章 一个数据库应用系统的设计与实现.ppt_第2页
第2页 / 共28页
第十一章 一个数据库应用系统的设计与实现.ppt_第3页
第3页 / 共28页
第十一章 一个数据库应用系统的设计与实现.ppt_第4页
第4页 / 共28页
第十一章 一个数据库应用系统的设计与实现.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第十一章 一个数据库应用系统的设计与实现.ppt》由会员分享,可在线阅读,更多相关《第十一章 一个数据库应用系统的设计与实现.ppt(28页珍藏版)》请在金锄头文库上搜索。

1、一个数据库应用系统的设计与实现 1应用背景与需求说明 1应用背景与需求说明在单机上实现一个教学管理系统的例子 并且可以很容易地把它移植到C S结构中 只涉及教学管理中的对学生 课程和教师的管理部分 项目的具体要求是 运行环境是Windows95 98操作系统 数据库的前端开发环境是VB5 0 一门课程可由多名教师来讲授 一个教师可讲授多门课程 一个学生可以选修多门课程 需产生的报表有 每学期开学时要生成学生修课情况表 内容包括学号 姓名 课程名 修课类别 其中修课类别分为必修 选修 重修 每学期结束时要生成学生修课成绩表 内容包括学号 姓名 课程名 修课类别 平时成绩 卷面成绩 总评成绩 生成

2、教师授课服务表 内容包括教师号 教师名 课程名 授课类别 学时数 班数 授课类别分为主讲 辅导 带实验 安全性要求本门课程的主讲教师才具有对其所讲授课程的成绩的修改权 教学秘书和系主任才有修改教师授课服务表中的内容的权力 其它人只有查询有关信息的权力 2数据库设计 2 1概念设计核心活动 是系统中的其它活动都是围绕这个活动展开的或与此活动是密切相关的活动确定系统的核心活动 对现实系统分析的关键该教学管理系统中 核心活动就是授课 学生与课程之间是通过授课发生联系的 教师与课程之间是通过教师授课发生联系的 系统所包含的实体 课程 元素为由一个主讲教师负责且教学内容相同的教学活动单位 用课程号来标识

3、此实体 学生 元素为一个学生 由学号来标识 教师 元素为一个教师 由教师号来标识 初步E R图 课程号 课程名 讲授学期 学时数 学号 姓名 系 专业 班级 教师号 教师名 系 教研室 2数据库设计 2 2设计关系模式设计基本关系模式主要就是从E R图出发 将其直接转换为关系模式 转换的规则为 1 将每个实体都转换为一个关系模式 实体的属性就是关系的属性 实体的主码就是关系的主码 2 将每个联系也转换为一个关系模式 该关系模式的属性由与该联系相连的各个实体的主码及该联系的属性组成 该联系的主码分三种情况 若联系是1 1的 则每个实体的主码即是该联系的候选码 若联系是1 n的 则此联系的主码是n

4、端实体的主码 若联系是m n的 则此联系的主码是各个实体的主码的并 此E R图的关系模式为 1 课程 课程号 课程名 讲授学期 学时数 主码为课程号 2 学生 学号 姓名 系 专业 班 主码为学号 3 教师 教师号 教师名 系 教研室 主码为教师号 4 修课 学号 课程号 修课类别 平时成绩 卷面成绩 总评成绩 主码为 学号 课程号 5 授课 课程号 教师号 授课类别 班数 主码为 课程号 教师号 2 2设计关系模式确定表中各属性的详细信息 1 课程表课程号 字符串型 10字节 主码课程名 字符串型 20字节 非空讲授学期 字符串型 2字节 非空学时数 整型 非空 2 学生表学号 字符串型 1

5、0字节 主码姓名 字符串型 20字节 非空系 字符串型 20字节 非空专业 字符串型 20字节 非空班 字符串型 10字节 非空 3 教师表教师号 字符串型 10字节 主码教师名 字符串型 20字节 非空系 字符串型 20字节教研室 字符串型 10字节 4 修课表学号 字符串型 10字节 主码 学生表的外码课程号 字符串型 10字节 主码 课程表的外码修课类别 字符串型 4字节 非空平时成绩 浮点型 大于等于0 小于等于100卷面成绩 浮点型 大于等于0 小于等于100总评成绩 浮点型 大于等于0 小于等于100 5 授课表课程号 字符串型 10字节 主码 课程表的外码教师号 字符串型 10字

6、节 主码 教师表的外码授课类别 字符串型 10字节班数 浮点型 大于0 假设选修课有半个班的情况 因此取浮点型 2 3确定数据库应用的功能 最常用的功能就是对数据的增 删 改 查及生成报表1 数据录入 增加 2 数据删除3 数据修改4 数据查询5 生成报表本例三张报表 1 学生修课表 学号 姓名 课程名 修课类别 2 学生成绩表 学号 姓名 课程名 修课类别 平时成绩 卷面成绩 总评成绩 3 教师授课服务表 教师号 教师名 课程名 授课类别 学时数 班数 创建视图的SQL语句可描述为 CREATEVIEW学生修课表 学号 姓名 课程名 修课类别 ASSELECT学生 学号 学生 姓名 课程 课

7、程名 修课 修课类别FROM学生 课程 修课WHERE学生 学号 修课 学号AND课程 课程号 修课 课程号 包括对张表的数据录入 有条件删除 有权限限制 有删除确认 有条件查询后修改 有权限限制 修改后保存 根据用户提出的条件查询 所有用户都有查询权限 用数据库开发工具生成报表 对 学生成绩表 和 教师授课服务表 的处理与此类似 3数据库开发环境 在C S环境下实现时应注意数据的分布将数据全部放在服务器上 中央数据库将数据全部集中管理 数据只有一份 比如实时采集的数据一般都应该放在服务器端 将一部分数据放在服务器上 另一部分数据放在客户机上 地方数据库将数据分散管理 只将重要的 所有部门共享

8、的数据放在中央数据库中 将各个部门自己需要的数据放在地方数据库中 例 本教学管理系统中 将所设计的五张表放在服务器 便于全校统一管理 各部门共享 同时各部门有自己的地方数据库 如 修课表 中央和地方各有一个 且两者结构一致 当地方课程数据库修改时 能及时修改中央数据库 在保持数据的一致性 将数据分为中央数据库和地方数据库的好处 减少对中央数据库的操作次数 先在地方数据库中录入数据有关数据 比如本系的修课情况表 当确认准确无误之后再送到中央数据库中 数据一旦被送到中央数据库就不能被随便地修改和删除 这也增加了中央数据库数据的安全性和可靠性 数据过于庞杂 易于各部门开发自己专用的地方数据库 分类

9、3 1VisualBasic中的数据访问 Jet VisualBasic提供的数据库引擎Jet数据库引擎接口的方法 Data控件 DataControl 和数据访问对象 DAO VB中数据库编程的内容 创建数据访问对象 这些数据访问对象对应于被访问的物理数据库的不同部分 如 用这些对象的属性和方法来实现对数据库的操作 VB可以识别三类数据库 1 VisualBasic数据库 2 外部数据库 3 ODBC数据库 符合ODBC标准的客户 服务器数据库 提供有限的不需编程就能访问现存数据库的功能 DAO模型则是全面控制数据库的完整编程接口 Database 数据库 TableDef 表 Field

10、字段 Index 索引 对象 数据库文件使用与MicrosoftAccess相同的格式 dBaseIII或IVFoxPro2 0和2 5Paradox版本3 x和4 xMicrosoftExcelLotus1 2 3 MicrosoftSQLServer 3 2VisualBasic数据库体系结构 Jet引擎的作用 处理存储 检索 更新数据的结构 并提供了功能强大的 面向对象的DAO编程接口VB数据库应用程序的组成 实现 透明 访问 读取 写入或修改数据库 处理所有内部事物 显示数据并允许用户查看或更新数据窗体 VB中添加或删除记录 执行查询等 Jet包含在一组DLL文件中 被链接到VB程序

11、把应用程序译成 mdb文件或其它数据库的物理操作 包含数据表的一个或多个文件 2 数据库应用程序的存放远程数据库客户机 服务器数据库 3 2VisualBasic数据库体系结构 客户 服务器与远程数据库数据库的存放 可同时对多个客户机的应用程序提供服务 操作数据库并对每个应用程序返回所请求的记录 4创建数据库 VB中创建数据库途径 1 可视化数据管理器2 DAO3 MicrosoftAccess4 外部数据库应用程序 不编程即可创建Jet引擎 使用VB的DAO部件可以通过编程的方法创建数据库 用Access创建的数据库和直接在VB中创建的数据库一样 两者用的数据库引擎与格式一样 VB可通过IS

12、AM或ODBC驱动程序来访问FoxPro dBASE或ODBC客户 服务器应用程序 4 1可视化数据管理器 数据管理器 DataManager 可以用于快速地建立数据库结构及数据库内容 VB的数据管理器是一个独立的可单独运行的应用程序 Visdata exe 随安装过程放置在VB目录中 可以单独运行 也可以在VB开发环境中启动它 凡是VB有关数据库的操作 比如数据库结构的建立 记录的添加及修改以及使用ODBC连接到服务器端的数据库 如SQLServer 都可以利用此工具来完成 启动数据管理器的方法 打开VB 外接程序 可视化数据管理器VisData窗体工具栏提供了三组9个按钮在下图中介绍以VB

13、提供的Biblio mdb数据库为实例介绍 文件 打开数据库 VB目录下的Biblio mdb 确定 所进行的增 删 改 查等操作直接更新数据库中的数据 在内存中操作 不直接影响数据库 只能读 不能改 进行事物处理 图1数据管理器 1 建立数据库 建立数据结构文件 新建 MicrosoftAccess 版本7 0 输入存储的文件名 如图1添加数据表鼠标右键 新表 出现 结构表 表名称 课程单击 添加字段 输入字段内容名称 课程名 授课学期 学时数等类型 text或integer大小 不定建立索引 2 录入数据 数据库窗口 在窗体上使用DBGrid控件 课程 鼠标右键 打开 显示下图 录入数据

14、3 建立查询 对已有数据的数据表进行有条件或无条件查询VisData窗口 实用程序 查询生成器 右键 新查询 输入查询条件 4 2数据访问对象 DAO的引入 数据管理器 只适合于做比较简单的应用 如果要实现复杂的应用系统 使用VB提供的数据访问对象 DAO DAO是通过编程来直接控制JET数据库引擎 来实现复杂的数据库应用系统 DAO的分层结构 数据访问对象是以分层形式组织而成的 大多数对象成员都是一个对象类别的集合 而这个集合又隶属于上一层的另一个对象类别 大多数数据访问对象被描述为 对象和集合 分层结构的顶部是MicrosoftJet数据库引擎本身 DBEngine对象 它是唯一不被其它对

15、象所包含的数据访问对象对象分层结构通过 包含 一种其它对象的 集合 实现 集合对象用于包含其它对象 集合中的对象都是同一类型的 DAO分层结构中的元素实际上是类 而不是对象 它们是对象的 蓝图 类与数据类型类似 它只描述所引用的对象的 类型 例如 声明DimMyWsAsWorkspace MyWs是一个代表Workspace类型的对象的变量 DAO分层结构图 DAO创建数据库的步骤 创建新数据库的第一步是创建Database对象本身 然后添加与设计相一致的TableDef和Field对象来定义其结构 方法 1 使用Dim语句给数据库中的每一个对象创建对象变量 除了构造构成环境的DBEnigne

16、和缺省的Workspace对象外 还需要 一个Database对象 每个表需要一个TableDef对象 每个表中的每个字段需要一个Field对象 每个表中的每个索引需要一个Index对象如 用如下代码创建一个数据库对象变量 数据库名 JXGL mdb DimMyDbAsDatabase MyWsAsWorkspaceDimStuTdAsTableDef TeaTdAsTableDef CosTdAsTableDef XKTdAsTableDef SKTdAsTableDefDimStuFlds 5 AsField TeaFlds 4 AsField CosFlds 4 AsField XKFlds 5 AsField SKFlds 5 AsFieldDimStuIdxAsIndex TeaIdxAsIndex CosIdxAsIndex XKIdx 2 AsIndex SKIdx 2 AsIndex 4 2数据访问对象 4 2数据访问对象DAO创建数据库的步骤 2 使用Workspace对象的CreateDatabase方法创建新的数据库 SetMyWs DBEngine Eorksp

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

当前位置:首页 > 高等教育 > 其它相关文档

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