数据库课程大作业报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库上机实验

一上机题目及要求

1、设计学籍管理系统

2、具体要求:

后台数据库

设计一所大学的学籍管理数据库,推荐使用SQL Server,其它DBMS 亦可。

数据库的有关语义如下:

每个学院可以若干专业,每个专业每年可以招若干班,每个班有若干学生,大二后每个专业可以分若干个方向;

学院为专业制订教学计划,学生每年必须按照教学计划修完一定学分的课程(必修课、选修课),如大一上学期必修课22学分、选修课6学分,大三计算机专业软件方向必修课20学分、选修课6学分;

教师可以给多个班带课,但是不能给一个班带多门课程;

一门课程最多允许学生一次补考,学生达到如下条件之一的被开除:一学期不及格的必修课学分超过10个;不及格必修课学分累计超过30个;不及格选修课学分累计超过20个。

前台程序

开发一个学籍管理系统来对数据库进行访问,可以使用PowerBuilder、VC、Java等集成开发环境。

系统实现功能如下:

录入学生基本信息,如学号、姓名、性别、出生日期等(其它如课程、教师等信息可以在建库时输入);

按学号、姓名查询学生基本信息;

录入学生成绩;

查询学生所选修的课程及成绩,并给出必修课平均成绩、所有课程平均成绩;

查某一个学生被哪些教师教过课;

查询快要被开除的学生(假定差2学分即被开除)。

二、实现思路:

1、首先画出ER图,将各个表组织起来

ER图如下(在纸上画出拍上来的图片)

2、建立存储数据的各个表及定义如下:

表:School

表:Major

表:MajorDirection

表:Class

表:Course

表:Teacher

表:讲课表

表:student

表:选课表

表:User

表:黑名单

表:培养计划

3、为方便前台执行时,方便查询和删改操作,建立学生表,选课表等表的视图。

三、程序实现思路:

1、创建学生表视图,在视图中存储学生的详细信息,方便前台对某个学生的信息查询时使用。

2、创建将课表,实现对学生查询被那些老师教过的功能

3、利用选课表存储学生的选课记录和成绩的分数,为学生求平均分等功能做铺垫

4、创建黑名单表,所有挂科的学生所损失的学分存储在这里,对以后评判一个学生是否即将被开除等功能做准备

5、前台通过java连接mysql数据库,绘制相应的表格和按钮,为按钮加上相应的事件监听,使功能得以实现。

四、程序源代码(sql语句+javaGui前台):

代码在附加的包里

相关文档
最新文档