汪东雷_软124_129074274_数据库课程设计

  • 格式:doc
  • 大小:2.26 MB
  • 文档页数:26

第 1 页 共 26 页 《数据库系统概论》课程设计 实验报告书

安徽工业大学计算机学院

2014年 12 月 17 日 姓 名 汪东雷

专 业 软件工程

班 级 124

学 号 129074274

指导教师 申元霞

分 数 第 2 页 共 26 页 目录

1、绪论*****************************************

2、系统需求分析与设计*************************** 3、系统实施************************************* 4、系统说明************************************* 5、总结***************************************** 附录代码**************************************** 1 绪 论 1.1 概述 1.1.1 问题的提出 高效率的完成学生成绩的管理,开发一个具有使用意义的学生成绩管理系统。 第 3 页 共 26 页 1.1.2 本课题的意义 通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。

1.2 开发环境与工具介绍

本系统采用Microsoft Visual Studio 2013作为开发工具,C#为开发语言,采用SQL server 2008版本数据库管理系统建立数据库,先在SQL server中设计并制作各部分需要调用的数据库,并进行初始数据的输入,再进行界面的设计和事件代码的编写,在指导老师的帮助下,已经基本上成功地实现了设计要求。其中数据库设计和程序设计是系统的核心部分。通过对数据库的概念设计、逻辑设计、物理设计和系统的模块设计,使得系统界面简洁,功能明确,方便了工作人员的操作。

1.2.1 ODBC简介 ODBC(Open Database Connectivity) 是"开放数据库互连"的简称,是一种使用SQL的应用程序接口(API),是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 一个完整的ODBC由下列几个部件组成: 应用程序、 ODBC管理器、 驱动程序管理器、 ODBC API、 ODBC 驱动程序、数据源。

1.2.2 学生成绩管理系统研究状况

学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。 在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。 纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。

2 系统需求分析与设计

2.1 用户需求分析 第 4 页 共 26 页 2.1.1 用户需求 要求不同的实体(学生、教师和管理员)登录系统后,能够进行合理范围的内的对数据库中的数据进行操作。

2.1.2 系统功能需求 1.学生:查询每一门课程的成绩;查询所有课程的平均成绩;查询所有选课信息;修改密码。 2.教师:添加学生成绩;修改学生成绩;查询学生成绩(按条件查询);查询所有授课信息;修改密码。 3:管理员:增删改查学生信息;增删改查教师信息;增删改查课程信息。

2.1.3 数据分析 学生表:学号,姓名,性别,年龄,班级,电话,学院,登录初始密码; 教师表:教师号,姓名,性别,年龄,职称,电话,所属学院,登录初始密码; 课程表:课程号,课程名,课程类型,课时; 学院信息表:学院名称,学院电话; 教师授课表:教师号,课程号,上课教室,上课时间; 学生选课表:学号,课程号,教师号,成绩;

2.2 系统功能模块图

2.3 数据库设计 登录 学生 教师 管理员

查询成绩 查询平均成绩 选课查询 返回登录界面 添加成绩 修改成绩 学生成绩查询 授课查询 返回登录界面

查询 添加 修改 删除 返

回登录界面 第 5 页 共 26 页 2.3.1 系统E-R图

属于 选修 学生 学院 拥有

成绩 教师号

课程 教师 讲授

学期 教室 m 1 1 n

n m n n

学号 班级 性别 年龄 姓名

电话 学院 密码 学生

教师号 地址 性别 年龄 姓名

电话 学院 密码 教师

教室 课程 课程号 课时 课程名 第 6 页 共 26 页 2.3.2 数据库逻辑结构设计 学生表:学号,姓名,性别,年龄,班级,电话,学院,登录初始密码; Student(SNo,SName,SSex,SAge,SClass,SPhone,SDept,SCode); 教师表:教师号,姓名,性别,年龄,职称,电话,所属学院,登录初始密码; Teacher(TNo,TName,TSex,TAge,TPosition,TPhone,TDept,TCode); 课程表:课程号,课程名,课程类型,课时; Course(CNo,CName,CType,CTime); 学院信息表:学院名称,学院电话; Dept(DName,DPhone); 教师授课表:教师号,课程号,上课教室,上课事件; Teach(TNo,CNo,TRoom,TTime); 学生选课表:学号,课程号,教师号,成绩; Score(SNo,CNo,TNo,Score);

学院名 电话 学院 第 7 页 共 26 页 3 系统实施

3.1 建立数据库 创建数据库表的SQL语句 Student表 Create table Student( SNo char(10), SName varchar(10) not null, SSex varchar(2) not null, SAge smallint, SClass varchar(10) not null, SPhone varchar(12), SDept varchar(20) not null, SCode varchar(20) not null, constraint student_pk PRIMARY KEY(SNo), constraint student_SSex CHECK(SSex in ('男','女')), constraint student_SAge CHECK(SAge between 15 and 30), constraint student_SDept_fk FOREIGN KEY(SDept) References Dept(DName) on delete cascade); Teacher表 Create table Teacher( TNo char(5), TName varchar(10) not null, TSex varchar(2) not null, TAge smallint, TPosition varchar(10), TPhone varchar(12), TDept varchar(20) not null, TCode varchar(20) not null, constraint teacher_pk PRIMARY KEY(TNo), constraint teacher_TSex CHECK(TSex in ('男','女')), constraint teacher_TAge CHECK(TAge>=23 and TAge<=70), constraint teacher_TDept_fk FOREIGN KEY(TDept) References Dept(DName) on delete cascade); Course表 Create table Course( CNo char(10), CName varchar(40) not null, CType varchar(4) not null, CTime smalldatetime not null, constraint course_pk PRIMARY KEY(CNo),