? 5.1 应用背景与需求说明
5.2 数据库设计
5.3 数据库开发环境
5.4 创建数据库
5.5 创建数据库应用程序
5.6 网络环境下的数据库应用规划第五章 一个数据库应用系统的设计与实现
应用背景与需求说明在单机上实现一个教学管理系统的例子,并且可以很容易地把它移植到 C/S
结构中,只涉及教学管理中的对学生、
课程和教师的管理部分:
项目的具体要求是:
·,运行环境是 Windows 2000 操作系统,
数据库的前端开发环境是 VB 5.0。
· 一门课程可由多名教师来讲授 。
· 一个教师可讲授多门课程 。
· 一个学生可以选修多门课程 。
需产生的报表有
–,每学期开学时要生成学生修课情况表,内容包括学号,姓名,课程名,修课类别,其中修课类别分为必修,选修,重修 。
–,每学期结束时要生成学生修课成绩表,内容包括学号,姓名,课程名,修课类别,平时成绩,卷面成绩,总评成绩 。
– 生成教师授课服务表,内容包括教师号,教师名,课程名,授课类别,学时数,班数,
授课类别分为主讲,辅导,带实验 。
安全性要求
– 本门课程的主讲教师才具有对其所讲授课程的成绩的修改权,教学秘书和系主任才有修改教师授课服务表中的内容的权力 。 其它人只有查询有关信息的权力 。
思考,1。需求分析(信息、处理、安全、完整)
5.1 应用背景与需求说明
5.2 数据库设计
5.2.1 概念设计
核心活动,是系统中的其它活动都是围绕这个活动展开的或与此活动是密切相关的活动
确定系统的核心活动,对现实系统分析的关键
该教学管理系统中,核心活动就是授课,学生与课程之间是通过授课发生联系的,教师与课程之间是通过教师授课发生联系的。 系统所包含的实体:
课程,元素为由一个主讲教师负责且教学内容相同的教学活动单位,用课程号来标识此实体 。
学生,元素为一个学生,由学号来标识 。
教师,元素为一个教师,由教师号来标识 。
思考:初步 E- R图,
学生 修课 课程 授课 教师nmnm
课程号、课程名、
讲授学期、学时数学号、姓名、系、
专业、班级教师号、教师名、
系、教研室
5.2.2 设计关系模式设计基本关系模式主要就是从 E- R图出发,将其直接转换为关系模式。
(1)课程(课程号,课程名,讲授学期,学时数),主码为课程号。
(2)学生(学号、姓名、系、专业、班),主码为学号。
(3)教师(教师号、教师名、系、教研室),主码为教师号。
(4)修课(学号,课程号,修课类别,平时成绩,卷面成绩,总评成绩),主码为
(学号,课程号)
(5)授课(课程号,教师号,授课类别,班数),主码为(课程号,教师号)。
思考:此 E- R图的关系模式为:
学生 修课 课程 授课 教师nmnm
5.2.2 设计关系模式确定表中各属性的详细信息
(1)课程表课程号:字符串型,10字节,主码课程名:字符串型,20字节,非空讲授学期:字符串型,2字节,非空学时数:整型,非空
(2) 学生表学号:字符串型,10字节,主码姓名:字符串型,20字节,非空系:字符串型,20字节,非空专业:字符串型,20字节,非空班:字符串型,10字节,非空
(3) 教师表教师号:字符串型,10字节,主码教师名:字符串型,20字节,非空系:字符串型,20字节教研室:字符串型,10字节
(4) 修课表学号:字符串型,10字节,主码,学生表的外码课程号:字符串型,10字节,主码,课程表的外码修课类别:字符串型,4字节,非空平时成绩:浮点型,大于等于 0,小于等于 100
卷面成绩:浮点型,大于等于 0,小于等于 100
总评成绩:浮点型,大于等于 0,小于等于 100
(5) 授课表课程号:字符串型,10字节,主码,课程表的外码教师号:字符串型,10字节,主码,教师表的外码授课类别:字符串型,10字节班数:浮点型,大于 0。 假设选修课有半个班的情况,因此取浮点型 。
5.2.3 确定数据库应用的功能
最常用的功能就是对数据的增、删、改、查及生成报表
1.数据录入 ( 增加 )
2.数据删除
3.数据修改
4.数据查询
5.生成报表本例三张报表,
(1) 学生修课表(学号,姓名,课程名,修课类别)
(2) 学生成绩表(学号,姓名,课程名,修课类别,平时成绩,卷面成绩,总评成绩)
(3) 教师 授课服务表( 教师号,教师名,课程名,授课类别,学时数,班数)
创建视图的 SQL语句可描述为:
CREATE VIEW 学生修课表 ( 学号,姓名,课程名,修课类别 ) AS
SELECT 学生,学号,学生,姓名,课程,课程名,修课,修课类别 FROM 学生,
课程,修课 WHERE 学生,学号 = 修课,学号 AND 课程,课程号 = 修课,课程号包括对 5张表的数据录入有条件删除,
有权限限制,
有删除确认 有条件查询后修改,有权限限制,
修改后保存根据用户提出的条件查询,所有用户都有查询权限 用数据库开发工具生成报表对,学生成绩表,和
,教师授课服务表,
的处理与此类似
5.3 数据库开发环境
在 C/S环境下实现时应注意 数据的分布
– 将数据全部放在服务器上 --中央数据库将数据全部集中管理,数据只有一份,比如实时采集的数据一般都应该放在服务器端。
– 将一部分数据放在服务器上,另一部分数据放在客户机上 --地方数据库将数据分散管理,只将重要的、所有部门共享的数据放在中央数据库中,
将各个部门自己需要的数据放在地方数据库中。
例,本教学管理系统中,将所设计的五张表放在服务器,便于全校统一管理,各部门共享,同时各部门有自己的地方数据库。
如,修课表,,中央和地方各有一个,且两者结构一致,当地方课程数据库修改时,能及时修改中央数据库,在保持数据的一致性。
将数据分为中央数据库和地方数据库的好处:减少对中央数据库的操作次数,先在地方数据库中录入数据有关数据(比如本系的修课情况表),当确认准确无误之后再送到中央数据库中。数据一旦被送到中央数据库就不能被随便地修改和删除,这也增加了中央数据库数据的安全性和可靠性。
数据过于庞杂易于各部门开发自己专用的地方数据库分类
5.3.1 Visual Basic中的数据访问
Jet,Visual Basic 提供的数据库引擎
Jet数据库引擎接口的方法,
– Data控件
– 数据访问对象( DAO)
– 活动的数据对象( ADO)
VB中数据库编程的内容:创建 数据访问对象,
这些数据访问对象对应于被访问的物理数据库的不同部分,如,用这些对象的属性和方法来实现对数据库的操作。
Database(数据库)、
TableDef(表),Field(字段)
Index(索引)对象。
5.3.2 Visual Basic 数据库体系结构
Jet引擎的作用:
处理存储、检索、更新数据的结构,并提供了功能强大的、面向对象的编程接口
VB数据库应用程序的组成用户界面
J e t 引擎数据库实现,透明,访问
(读取、写入或修改数据库,处理所有内部事物)
显示数据并允许用户查看或更新数据窗体
VB中添加或删除记录,执行查询等
Jet包含在一组动态链接库
( DLL) 文件中,被链接到
VB程序,把应用程序的请求译成,mdb文件或其它数据库的物理操作。
包含数据表的一个或多个文件?
5.4 创建数据库
VB中创建数据库途径:
1、可视化数据管理器
2,DAO
3,Microsoft Access
不编程即可创建 Jet引擎 使用 VB的
DAO部件可以通过编程的方法创建数据库用 Access创建的数据库和直接在 VB中创建的数据库一样,两者用的数据库引擎与格式一样可视化数据管理器
数据管理器( Data Manager)可以用于快速地建立数据库结构及数据库内容。
VB的数据管理器是一个独立的可单独运行的应用程序 ――Visdata.exe 。
随安装过程放置在 VB目录中,可以单独运行,也可以在 VB开发环境中启动它。
凡是 VB有关数据库的操作,比如数据库结构的建立、记录的添加及修改以及使用 ODBC连接到服务器端的数据库,如 SQL Server,都可以利用此工具来完成。
启动数据管理器的方法:
– 打开 VB? 外 接程序?可视化数据管理器
VisData 窗体工具栏提供了三组 9个按钮在下图中介绍
– 以 VB提供的 Biblio.mdb数据库为实例介绍。
文件?打开数据库?VB目录下 的 Biblio.mdb?确定表类型记录集动态集类型记录集快照类型记录集显示数据表数据群组按钮窗体窗口打开 B i b l i o,m d b 后的 V i s D a t a 窗口 窗体窗口事务方式群组按钮所进行的增、删、
改、查等操作直接更新数据库中的数据在内存中操作,
不直接影响数据库只能读,不能改进行事物处理数据管理器
1、建立数据库? 建立数据结构文件?新 建?Microsoft Access?版本 7.0?输入 存储 的 文 件 名?如下右图添加数据表鼠标右键?新 表?出现,结构 表,
表名称,课程单击“添加字段”?输入 字 段 内容名称,课程 名,授 课 学期,学 时数 等类型,text或 integer
大 小,不 定
CREATE TABLE <表名 >
(<列名 ><数据类型 >[<列级完整性约束条件 >]
[,<列名 >[<数据类型 >[<列级完整性约束条件
>]]… ] );
建立索引
CREATE[UNIQUE][CLUSTERED]INDEX<索引名 >
ON<表名 >(<列名 1>[<次序 >][,<列名 2>[<次序 >]]…) ;
2.录入数据
数据库窗口?在 窗 体 上 使用 DBGrid控件?课程?鼠 标 右 键?打开?显示 下 图?录入 数据
3.建立查询
对已有数据的数据表进行有条件或无条件查询
VisData窗口?实 用 程序?查询 生成 器( 右键?新 查询)?输入 查询 条件
CREATE VIEW <视图名 >[(<列名 >[,<列名 >]…)]
AS <子查询 >
[WITH CHECK OPTION];
子查询
SELECT
[ALL|DISTINCT][<目标列表达式 >[,…n]]
FROM <表名或视图名 >[,<表名或视图名
>,…]
[WHERE <条件表达式 >]
GROUP BY <列名
1>[ HAVING <条件表达式 >]]
ORDER BY <列名
2>[ASC|DESC],… ] ;
5.5 创建数据库应用程序数据控件 是连接数据库中的信息和用户用来显示信息的依附控件,是简单数据库应用程序的核心。
依附控件 是为处理创建数据库应用程序的数据控件而建立的控件。
数据控件用于绑定数据库和数据库中的某个表,依附控件用于绑定表中的某个列。
数据控件是 VB工具箱中的一个可用控件,设置数据控件的步骤:
打开 VB?选择 Data控件?在 窗 体 中 画 出 Data控件?设定 Data控件的 DatabaseName和 RecordSource属性 。
用于绑定某个数据库用于绑定数据库中的某个表文本框、标签、
校验框、图片框、
图像等数据控件( Data Control)
5.5 创建数据库应用程序
例:创建一个课程表应用程序:
1、建立窗体:
打开 VB?添 加 Data控件?设置控件的属性?添 加 依 附 控 件?设置 依 附 控 件 属 性
。 Name:Course
Caption:课程
DatabaseName,JXGL.mdb
RecordSource:课程文本框名 绑定字段 对应标签的标题
T e x t 1 课程号 课程号:
T e x t 2 课程名 课程名:
T e x t 3 授课学期 授课学期:
T e x t 4 学时数 学时数:
数据访问窗体设置的 DataField和 Caption
VB设置屏幕创建一个简单的应用程序
2.浏览数据库中数据:
单击运行按钮,结果如下,
第一个记录 最后一个记录下一条记录上一条记录
5.5 创建数据库应用程序创建一个简单的应用程序
3.数据控件的其它功能,添加记录、删除记录等
5.5 创建数据库应用程序
Private Sub 添加 _Click()
Data1.Recordset.AddNew
End Sub
Private Sub 删除 _Click()
Data1.Recordset.Delete
If Not Data1.Recordset.EOF Then
Data1.Recordset.MoveNext
Else
Data1.Recordset.MoveLast
End If
End Sub
创建一个简单的应用程序
使用数据窗体模板 ( Data Form Wizard――DFW ) 创建数据窗,用此插件用户只需选择一个数据库和数据表,DFW即自动为用户生成具有对此数据表进行增、删、改、浏览功能的窗体。用户可在此基础上进行修改,使之符合自己的需要。即,DFW是一种快速原型开发或简单应用程序的很好的工具。
使用 DFW创建数据窗体的大致步骤为:
VB窗口?外 接 程序?数据 库窗 体 向 导?Access?数据 库 名( JXGL.mdb)
根据 提示( 下 一 步) 完成 此 操作,显示 结果 如下:
5.5 创建数据库应用程序
DFW 生成的课程数据窗体创建数据窗体小 结
在前面所讲的数据库知识的基础上,根据数据库应用开发的步骤,实际地讲述了一个具有实际背景的数据库应用的开发 。
目前 VB的使用范围越来越广泛,由于它简单易学,特别适合于普通应用的开发 。
VB开发工具具有开发周期短,应用范围广 ( 从界面制作到数据库开发,
包括个人机的和客户 /服务器结构的以及远程数据库的应用,到 Internet
的开发,到多媒体应用的开发无一不行 ) 等特性,因此得到广大应用开发人员的喜爱 。
我们选择 VB作为数据库开发的工具来实现我们的例子 。
目前还有许多适合于普通开发人员的 RAD( 快速应用开发工具 ) 工具,如:
Delphi,Power Builder,C++ Builder等,不要拘泥于某一种开发工具,
重要的是掌握应用开发的基本思路并熟练掌握一种开发工具,做到触类旁通以收举一反三之效 。
5.6网络环境下的数据库应用规划需求分析安全问题体系结构系统平台的选择一,需求分析主要任务,了解在网络环境下的用户要求 。
例,高校用户对管理信息系统在网络环境下的要求如下:
⑴ 将学校的各部门,如教务处、各院系部和其他行政和教学部门等,联成一个 完整的数据整体,实现信息高度共享,加强信息的可靠性和实时性,为教学管理提供及时、准确的数据。
⑵ 各级用户可在校园网上直接 通过浏览器输入和查看有关数据 。
⑶ 建立各操作人员 使用权限,对数据和流程严格控制,保证数据安全性。
⑷ 采取必要的 网络安全措施,确保数据的安全性。
二,安全问题
1.硬件平台的安全问题
2,OS和 DBS的安全问题
3.网络系统的安全问题
4.应用系统的安全问题
1.硬件平台的安全问题
硬件是软件的物理基础。
必须确保支持 DB应用系统运行的所有硬件设施 (包括计算机主机、外部设备、网络设备及其它辅助设备 )
的安全,使其免受自然灾害和人为破坏,并建立完备的安全管理制度,防止非法人员进入计算机控制室进行各种偷窃和破坏活动。
2,OS和 DBS的安全问题
为保证 DB应用系统安全、可靠地运行,在 OS和
DBS一级也应采取一定的安全保护措施。
3.网络系统的安全问题
重要手段,网络的访问控制。
主要任务,保证网络资源不被非法使用和非常访问。
访问控制方法,入网访问控制、网络的权限控制。
入网访问控制,为网络访问提供第一层访问控制。它控制哪些用户能够登录到服务器并获取网络资源,控制准许用户入网的时间和准许他们在哪台工作站入网。
网络的权限控制,针对网络非法操作所提出的一种安全保护措施。
用户和用户组被赋予一定的权限,网络能控制用户和用户组可以访问哪些目录、子目录、文件和其他资源,也能指定用户对这些文件、目录、设备可以执行哪些操作。
防火墙,原指建筑物内用来防止火灾蔓延的隔断墙,在计算机网络中,它的作用是保护网络中无危险的部分不受网络中有危险的部分的威胁。
防火墙 通常建立在一个企业或组织的内部网络和公共的
Internet主干网之间,它通过检测、限制、修改那些试图跨越防火墙的数据流,识别并屏蔽非法的请求,防止超越权限的数据访问,并尽可能地对外屏蔽内部网络的结构、
信息和运行情况,保护内部网络的安全性。
防火墙 Internet
防火墙内部网内部 Web服务器外部 Web服务器可信网络不可信网络
4.应用系统的安全问题
网络环境下的 DB应用系统的用户数目多、来源杂、操作权限各异,必须防止对应用系统的不合法使用所造成的数据泄密、更改或破坏。
基于角色的应用系统保护措施:
⑴ 用户标识和鉴定
⑵ 基于角色的权限控制
⑴ 用户标识和鉴定
用户在进入 DB应用系统前必须输入用户名称和口令,
输入正确,则用户登录成功,进入系统;否则,拒绝用户使用系统。
把 DB应用系统中的程序按最终用户的业务需要进行分类,每类称为一个 功能组 。将最终用户的职责和业务范围进行分类,每类称为一个 角色 。一个用户可同时属于多个角色,每一角色和若干个功能组相对应。
属于某一角色的用户可访问若干个功能组中的程序,可查询或更新系统中的信息。反之,如一个用户不属于任何角色,他不能访问系统中任何信息。
⑵ 基于角色的权限控制三,体系结构
1,C/S结构
2,B/S结构 (三层 C/S结构 )
3,高校 MIS中采用 B/S结构的优点
4,采用 B/S结构的问题
5,建议
6,高校 MIS的体系结构图
1,C/S结构
服务器 (一台或多台 ),完成数据存取管理、完整性控制、
安全性控制、并发控制和 DB恢复等 DBMS功能,提供查询、
更新、事务管理、索引、高速缓存、查询优化等服务;
客户机,完成各种应用功能,如图形界面、数据输入、报表输出等。用户只需在客户机上用标准的 SQL访问服务器中的数据,便可很方便地得到所需的各种数据及信息。
两层 C/S结构实现了功能的分布,但还不均衡。
客户机 (浏览器 ),主要提供用户的操作界面;
应用服务器,负责接收和处理对 DB的查询和操纵请求;
DB服务器,用于存放和管理用户数据,支持对数据的各种操作。
2,B/S结构 (三层 C/S结构 )
⑴ B/S以 Internet/Intranet为基础,代表了先进的、符合国际潮流的技术,确保系统开发完成后是代表先进水平的系统。
⑵ 在客户端可实现零安装和零维护。由于采用流行的 Internet
技术,使得所有的最终用户无须安装任何应用软件,只要有浏览器即可。
⑶ 突破地域的局限,可做到移动办公。
⑷ 由于 B/S结构的应用系统以企业内部网络为基础,以国际统一标准的浏览器为界面,因此,只要最终用户具备简单的计算机知识,经过简单的培训,就可使用该系统。
3,高校 MIS中采用 B/S结构的优点
在进行源程序的开发时,B/S结构不如 C/S结构方便
而 C/S结构首次开发成本比较低,在许多技术上都有比较成熟的应用经验。
4,采用 B/S结构的问题
高校 MIS采用集 B/S和 C/S技术于一体的体系结构,以 B/S结构为主,C/S结构作为辅助结构。
这种体系结构突破单纯的 C/S或 B/S结构的局限性,把客户机、服务器,OS,DB、开发工具等系统软、硬件资源有效地连接在一起,同时又能充分利用校园局域网和 Internet
资源,用户可在任意时间、以不同的身份通过校园网或
Internet访问高校 MIS,加强系统数据共享能力,建立一个综合、灵活、安全的运行环境。
5,建议
6,高校 MIS的体系结构图四,系统平台的选择
1,OS的选择
2,DB软件的选择
3,Internet应用开发工具的选择
1,OS的选择较流行的 OS主要包括:
Microsoft公司的 Windows NT或 Windows 2000;
各厂商推出的 Unix系统;
开放的不同版本的 Linux OS(国内使用较普遍,Red Hat版本 )。
结合高校 MIS的应用特点,学校所涉及的部门个数较多,但规模不大,系统应用不像证券交易这样实时性和稳定可靠性要求很苛刻,同时学校各部门用户计算机素质参差不齐,因此建议采用 Microsoft Windows 2000 OS。
2,DB软件的选择
可选择的 DBMS软件,SQL Server,Oracle和 Informix等。
可选择的 DB应用系统开发工具,Delphi,PowerBuilder、
Visual Basic等。
根据需要选择相应的软件,选择时除要考虑软件的功能,
还要考虑软件的价格与准备投入的资金是否匹配。
3,Internet应用开发工具的选择
开发基于 Windows平台、具有 B/S结构的 MIS,可选用
Microsoft ASP 脚本语言,也可使用基于 Java标准的
J2EE等。
ASP,成本较低,但系统移植时会出现许多问题。
J2EE,开发难度较大,但移植时的工作量较小。
实际开发时,可根据需要选择相应的开发工具。
小 结
本章在前面所讲的数据库知识的基础上,根据数据库应用开发的步骤,实际地讲述了一个具有 实际背景的数据库应用的开发 。
讨论了 网络环境下的数据库应用规划
目前 VB的使用范围越来越广泛,由于它简单易学,特别适合于普通应用的开发 。
VB开发工具具有开发周期短,应用范围广 ( 从界面制作到数据库开发,包括个人机的和客户 /服务器结构的以及远程数据库的应用,
到 Internet的开发,到多媒体应用的开发无一不行 ) 等特性,因此得到广大应用开发人员的喜爱 。
目前还有许多适合于普通开发人员的 RAD( 快速应用开发工具 ) 工具,如,Delphi,Power Builder,C++ Builder等,不要拘泥于某一种开发工具,重要的是掌握应用开发的基本思路并熟练掌握一种开发工具,做到触类旁通以收举一反三之效 。