
《基于国产数据库的项目实训教程》以项目开发过程为主要框架,贯穿数据库课程的主要知识点,完整地记录了基于国产数据库(HighGo Database)和Python语言平台开发管理信息系统的全过程。本书以学生常见并易于理解的学生选课系统为例,以项目开发的主要阶段(需求分析、数据库设计、界面设计、功能实现)为组织提纲,以数据库应用及Python开发为技术要点,引导读者从无到有、循序渐进地完成一个完整项目的开发。
前言 ??Preface?? 对于计算机技术的学习者而言,在完成编程语言、数据库技术等基础知识的学习后,设计并开发一套完整的信息管理系统(MIS)是对其所学知识的综合性检验。本书可以帮助读者熟悉MIS开发的整体流程,通过使用国产数据库和Python语言完成一个选课系统的设计与开发,在增强读者动手能力的同时,有针对性地提升其就业竞争力。“良好的开始是成功的一半”,本书将带领读者自信满满地走上项目开发之路。 在同类书籍中,本书具有以下特点。 阶段性:从内容的组织上,本书体现了软件开发的流程性和阶段性,通过需求分析介绍了选课系统的主要功能要求,并在需求分析的基础上介绍了系统功能及数据库设计细节;通过对HighGo Database和Python开发平台的介绍,读者可熟悉技术细节,进而完成选课系统的功能实现;软件开发各阶段过渡衔接自然、不生硬,体现了不同开发阶段的侧重点。 覆盖度:本书涵盖了数据库系统概论课程的基本知识点,包含了MIS开发涉及的数据库知识和技能,既包括数据库设计的基本理论和模型,如概念设计的ER模型、逻辑设计的关系模型等,又包括常用数据库对象的应用知识,如数据库的创建、数据表的创建、约束、索引、视图、存储过程、触发器等。 渐进性:“麻雀虽小,五脏俱全”,虽然本书的选课系统的功能比较简单,但涉及MIS开发常见的知识和技术。对于没有任何项目开发经验的读者而言,本书能够使其有据可循、有例可依,按照本书的章节安排一步一步地完成完整MIS的开发。 启发性:本书描述并实现的系统只是真实选课系统的一个简化的雏形,在功能和技术实现方面有很多可以改进的地方。本书对这些可改进、扩展之处做出了提示,对读者有一定的启发。 国产化:本书中选课系统的实现采用了自主知识产权的HighGo Database数据库。 学习本书前的预备知识 ? 了解数据库的基础知识和基本对象 ? 了解Python的基本语法 本书的学习安排 本书第1章对选课系统的需求进行了描述,通过分析需求引导读者得出了系统的功能设计。第2章基于第1章给出的系统需求及功能,对系统数据库进行了概念结构设计、逻辑结构设计和物理结构设计。接下来的两章主要对数据库和编程两方面的技术进行了介绍,其中第3章讲解了HighGo Database的配置和使用,并使用HighGo Database完成了系统数据准备(建立和使用各种数据库对象,如数据库、数据表、约束、索引、视图、存储过程、触发器等);第4章介绍了Python开发环境的配置、Python IDE的使用及Python GUI开发工具(PyQt5),并以简易计算器的设计及实现为例,介绍了桌面应用程序的开发。如果读者对HighGo Database、Python开发环境及PyQt5比较熟悉,可以有选择性地跳过第3章和第4章。第5章根据第1章对选课系统的功能设计,借助第4章介绍的PyQt5及其工具,完成了对各功能界面的设计。第6章给出了各功能的具体实现细节和关键代码。 读者在学习本书的过程中,可能会遇到一些暂时无法完全理解的理论知识或技术点,建议读者先跟着本书的章节安排完成各部分的任务,一步一步形成可见的“样品”,再通过实践体会原来不明白之处,一定会有豁然开朗的感觉。 相关资源 HighGo Database安装介质下载链接可通过注册访问瀚高技术支持平台获得(文章ID:018611202)。更多HighGo Database及PostgreSQL学习资源请访问瀚高技术支持平台、PGFans问答社区、PostgreSQL中文资源网及PostgreSQL开源专区。 本书PPT、源代码、数据库脚本等更多配套资源,可登录华信教育资源网(www.hxedu.com.cn)免费下载。
第1章 系统需求与功能 1 1.1 需求分析 1 1.1.1 系统用户分析 1 1.1.2 学生功能 2 1.1.3 教师功能 3 1.1.4 管理员功能 3 1.2 功能设计 5 1.2.1 系统通用功能 6 1.2.2 学生功能 7 1.2.3 教师功能 7 1.2.4 管理员功能 8 1.3 小结 9 第2章 数据库设计 10 2.1 概念结构设计 10 2.2 逻辑结构设计 11 2.3 物理结构设计 13 2.3.1 学院表(t_college) 13 2.3.2 管理员表(t_admin) 14 2.3.3 学生表(t_student) 14 2.3.4 教师表(t_teacher) 15 2.3.5 课程表(t_course) 16 2.3.6 教师课程表(t_teach_course) 16 2.3.7 学生选课表(t_stu_course) 17 2.4 小结 17 第3章 HighGo Database环境 18 3.1 HighGo Database概述 18 3.2 HighGo Database的安装及配置 20 3.3 系统数据准备 34 3.3.1 数据库的创建 35 3.3.2 数据表的创建 39 3.3.3 操作表中的记录 45 3.3.4 数据完整性 52 3.3.5 索引 60 3.3.6 视图 62 3.3.7 存储过程 65 3.3.8 触发器 68 3.4 小结 69 第4章 Python开发环境 70 4.1 Python 3.8.6的安装及配置 70 4.2 PyCharm的安装及配置 71 4.3 PyQt5的安装及配置 75 4.3.1 安装PyQt5 75 4.3.2 PyQt5工具及配置 78 4.4 小例子:简易计算器 80 4.4.1 功能设计 80 4.4.2 界面设计 81 4.4.3 信号与槽的关联 85 4.4.4 逻辑实现 87 4.5 小结 87 第5章 系统界面设计 89 5.1 用户登录界面 89 5.2 学生用户界面 90 5.2.1 学生用户主界面 90 5.2.2 “选修课程”界面 91 5.2.3 “退选课程”界面 94 5.2.4 “密码修改”界面 95 5.2.5 “关于”界面 96 5.3 教师用户界面 98 5.3.1 教师用户主界面 98 5.3.2 “开设课程”界面 99 5.3.3 “选课成绩”界面 100 5.4 管理员用户界面 102 5.4.1 管理员用户主界面 102 5.4.2 “学院信息管理”界面 103 5.4.3 “学生信息管理”界面 104 5.4.4 “教师信息管理”界面 106 5.4.5 “课程信息管理”界面 108 5.4.6 “管理员用户管理”界面 110 5.5 小结 112 第6章 功能实现 113 6.1 使用Python操作HighGo Database 113 6.2 学生功能 117 6.2.1 登录功能 117 6.2.2 学生用户主界面 119 6.2.3 选修课程 120 6.2.4 修改密码 123 6.3 教师功能 124 6.4 管理员功能 129 6.4.1 学院信息管理 129 6.4.2 学生信息管理 135 6.5 小结 137 附录A 命名规范 140