设计与相关操作设计3.2.1 E-R 模型设计 学生选课管理系统中采用“实体联系模型”(E-R 模型)来描述数据库的结构与语义,是对现实世界进行第一次抽象。
E-R 模型直接从现实世界抽象出实体类型及实体间联系,然后用 E-R 图来表示数据模型。
它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。
但 E-R 模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
根据以上对系统所作的需求分析,系统设计,规划出本系统中使用的数据实体。
因此学生选课管理系统的 E-R 图如下: 密码 姓名 系部 学号 学生表 专业班级 年龄 性别 图一 学生表实体 E-R 图 教师编号 年龄 密码 教师表 教授课程编号 姓名 性别 第 4 页 共 47 页 图二 教师表实体 E-R 图 姓名 管理员信息表 密码 编号 图三 管理员信息表 E-R 图 课程编号 学分 课程名称 课程信息表 开课学期 学时 图四 课程信息表 E-R 图 学生成绩 课程编号 学分 选课信息表 课程名称 学号 学生姓名 图五 选课信息表 E-R 图 综合上述的 E-R 图,我们可以清晰的看到画出 E-R 图对于建立表提供了依据,同样表与表之间的连接通过各表相同候选码连接起来。
这也是为了后台数据库建立视图,索引,触发器,数据库的完整性等编写代码打下基础,由此可见E-R 图对于本次课设后台数据库建立起相当重要的地位。
第 5 页 共 47 页3.2.2 后台数据库与基本表的设计 图六 创建学生选课管理 student 数据库(采用界面方式创建) 图七 创建基本表表(采用界面方式创建)3.2.3 建立数据库索引 (1)设计思想: 为了从数据库的大量数据中迅速找到需要的内容,也采用类似于书目录的索 第 6 页 共 47 页引技术,不必顺序查找,就能迅速查到所需要的内容。
索引是根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,在数据库中的作用如下:快速存取数据、保证数据记录的唯一性、实现表与表之间的参照完整性、减少排序和分组的时间。
(2)索引建立的说明: 学生选课管理系统中有五个表,而聚集索引一个表只能有一个,因此有五个聚集索引。
一个表可以有一个或者多个非聚集索引,因此非聚集索引不限。
图八 命令方式创建索引3.2.4 数据库完整性设计(1)设计思想: 数据完整性是指数据库中的数据在逻辑上的一致性与准确性,数据库的完整性一般包括:实体完整性,域完整性,参照完整性性。
下面分开介绍三种完整性: 1:实体完整性:实体完整性又称行完整性,要求表中有一个主键,其值不能为空且能唯一的标识对应的记录。
通过索引、UNIQUE 约束、PRIMARY KEY约束或 IDENTITY 属性可以实现数据的实体完整性。
2:域完整性:域完整性又称列完整性,指给定列输入的有效性。
实现域完 第 7 页 共 47 页整的方法有: 格式 限制类型, (通过 CHECK 约束和规则)或可能的取值范围(通过 CHECK 约束、DEFALUT 定义、NOT NULL 定义和规则)等。
3:参照完整性:又称引用完整性。
参照完整性保证主表中的数据与从表中数据的一致性。
在 SQL Server 2008 中,参照完整性的实现是通过定义外键与主键之间或者外键与唯一键之间的对应关系来实现的。
参照完整性确保键值在所有表中的一致性。
(2)具体实现: 图九 命令方式实现数据库的完整性3.3 简要论述 ODBC 数据源3.3.1 ODBC 概念 ODBC(Open DataBase Conectivity)是标准编程接口,只要有相应的 ODBC驱动程序,就可以通过 ODBC 连结操作各种不同的数据库。
通常通过控制面板中的 ODBC Data Source 来配置 ODBC 的数据源。
所谓 ODBC 数据源就是命名的一组信息,包括需要连结的数据库所在位置(可以是磁盘目录文件,也可以是网络服务器)、对应的 ODBC 驱动程序以及访问数据库所需的其他相关信息,用户 第 8 页 共 47 页可 以 通 过 数 据 源 的 名 称 来 指 定 所 需 的 ODBC 连 接 。
3.3.2 前台与后台数据源连接 图十 数据源连接3.4 简要论述 MFC3.4.1 MFC 概念 MFC 是用于在 C环境下编写应用程序的一个框架和引擎。
MFC 的本质就是一个包含了许多微软公司已经定义好的对象的类库,我们知道,虽然我们要编写的程序在功能上是千差万别的,但从本质上来讲,都可以化归为用户界面的设计,对文件的操作,多媒体的使用,数据库的访问等等一些最主要的方面。
这一点正是微软提供 MFC 类库最重要的原因,在这个类库中包含了一百多个程序开发过程中最常用到的对象。
在进行程序设计的时候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有对象的方法就可以了。
我们还可以利用面向对象技术中很重要的“继承”方法从类库中的已有对象派生出我们自己的对象,这时派生出来的对象除了具有类库中的对象的特性和功能之外,还可以由 第 9 页 共 47 页我们自己根据需要加上所需的特性和方法,产生一个更专门的,功能更为强大的对象。
当然,也可以在程序中创建全新的对象,并根据需要不断完善对象的功能。
3.4.2 建立 MFC 工程 图十一 建立 MFC 工程3.5 华科学生选课管理系统前台界面设计3.5.1 资源视图(Resource View)设计 建立完 MFC 工程之后进入前台界面制作,在 C中界面制作分为三个模块:类视图,资源视图,文件视图。
资源视图的设计是前台制作的第一步,资源视图里分为对话框制作与菜单制作,下面就分别介绍: (1) 主菜单设计:学生选课管理系统主菜单分为学生选课与管理员管理两 个主菜单。
(2) 对话框设计:学生选课管理系统对话框设计为 25 个,具体见截图: 第 10 页 共 47 页 图十二 对话框设计3.5.2 文件视图(File View)设计 我们知道 C编程需要有头文件,界面涉及的头文件更多,在文件视图里我们可以看到学生选课对话框涉及的所有头文件,本次课程设计选课系统头文件有如下:(1) 管理员添加课程信息头文件:if definedAFX_ADMADDCDIALOG_H__A7044B91_139A_4DF0_9DA2_0C9787E9A4FF__INCLUDED_defineAFX_ADMADDCDIALOG_H__A7044B91_139A_4DF0_9DA2_0C9787E9A4FF__INCLUDED_if _MSC_VER gt 1000pragma onceendifclass CAdmADDCDialog : public CDialogpublic: CAdmADDCDialogCWnd pParent NULL enum IDD IDD_ADMADDCOURSE protected: virtual void DoDataExchangeCDataExchange pDXprotected: 第 11 页 共 47 页 afx_msg void OnAdmAddc afx_msg void OnAdmcancles DECLARE_MESSAGE_MAPprevious line.endif(2) 管理员添加学生信息头文件:if definedAFX_ADMADDSDIALOG_H__9D145081_BC47_4A8F_B590_0A8F719B7390__INCLUDED_if _MSC_VER gt 1000pragma onceendifclass CAdmADDSDialog : public CDialogpublic: CAdmADDSDialogCWnd pParent NULL enum IDD IDD_ADMADDSTUDENT protected: virtual void DoDataExchangeCDataExchange pDXprotected: afx_msg void OnAdninserts afx_msg void OnAdds DECLARE_MESSAGE_MAPprevious line.endif由于头文件代码过于多,所以选取截图作说明,具体详细代码见附录。
第 12 页 共 47 页 图十三 头文件代码3.5.3 类视图(Class View)设计由于类是在对话框创建时一并创建的,因此截图说明类的种类,代码见附录。
图十四 类视图设计 第 13 页 共 47 页3.5.4 界面与界面之间实现连接设计(1)登录主界面与管理员操作界面,学生界面,老师界面的连接include quotstdafx.hquotinclude quotStudent.hquotinclude quotLogonDialog.hquotinclude quotAdmDialog.hquotinclude qu
上一篇:
动态加载驱动和Linux内核移植
下一篇:
汽车电控发动机故障检测方法探究