数据库课程设计——学籍管理系统

目录
1  问题的提出	1
2  需求分析	2
2.1需求描述	2
2.2数据字典	3
2.2.1数据项	3
2.2.2主要的数据流定义	6
2.3数据流图和业务流图	7
2.3.1顶层数据流图	7
2.3.2第一层数据流图	8
2.3.3第一层数据流图	8
2.3.4第一层数据流图	9
2.3.5第一层数据流图	9
3  概念结构设计	10
3.1实体属性E-R图	10
3.2总E-R图	13
4  逻辑结构设计	14
5  物理结构设计	17
1.学生表(student)	17
2.班级表(class)	17
3.专业表(major)	17
4.学院表(academy)	17
5.学生处分表(disposal)	18
6.系统管理员表(intendant)	18
7.学生奖励表(prize)	18
8.申诉信息表(lawsuit)	18
9.处理记录表(handle)	19
10.异常表(exception)	19
6  结论	19
7  附录	20

1 问题的提出

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。任何一个单位需要高效率地把内部活动有机地组织起来并迅速发展,就必须建立与自身特点相适应的管理系统。对于我们学校而言,毫无疑问,在实现学校信息化的过程中,实现学生学籍管理的信息化就显得尤为重要。在传统的数据信息管理模式下,工作效率不仅低下,而且数据在存储、更新、删改等操作上会出现错误。基于以上出现的问题,开发一个学籍管理系统就显得很重要。
学生学籍管理系统主要用于学校学生学籍的管理, 总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生学籍进行日常管理,如查询、修改、增加、删除,针对这些要求来设计大学生学籍管理系统。
而如何设计出一个系统化、科学化、规范化和自动化的大学生学籍管理系统是本次数据可课程实习的根本问题所在。
在本次实验中,我们需要学习并掌握数据库设计的流程和基本方法。在这基础上完成对学生学籍系统数据库的设计和相应文档的编写工作,从而更加深入地掌握数据库系统份析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。

2 需求分析

2.1需求描述

该高校学籍管理系统主要是实现对大学在校生的学籍信息的系统化管理,具体的功能涉及实现对学生的基本信息、班级、专业、院系等的查询、修改和删除等功能,同时也会实现学生学籍异常信息的查询以及处理,实现学生对学籍信息的申诉功能,实现学生的奖惩信息管理,实现对学生申诉信息和系统管理员处理请求的信息的记录。
(1)对于学生,需要买满足学生对个人学籍信息的查阅需求,同时如果学生发现问题,对学籍信息存在质疑,还需满足学生的申诉需求,同时还需提供异常处理机制,如果学生学籍存在异常,导致学生无法正常毕业,需要记录异常信息并且提供解决建议,帮助学生解决异常问题。
(2)对于系统管理员,需要满足系统管理员对学生学籍信息的管理需求,同时需要满足系统管理员对学生申诉请求的管理,提供给系统管理系统完善的处理申诉请求的机制,以及提供系统管理员对校外机构和学校对学生的奖励和处分请求的处理功能,更好地记录学生在校期间的表现,以及辅助系统管理员实现对学生申诉需求信息以及管理员处理请求的详细信息的记录。
(3)对于学校,需要满足学校对学生学籍信息的整体管理需求,包括但不限于对学生学籍信息的增删改查等基本功能,满足学校对学生申诉请求的处理,同时需要满足学校对学生的奖励和处分需求。
(4)对于校外机构,需要满足校外机构对学生的奖励和处分需求。

2.2数据字典

2.2.1数据项

(1)学生表相关数据项

数据库课程设计——学籍管理系统_第1张图片

(2)班级表相关数据项
数据库课程设计——学籍管理系统_第2张图片

(3)申诉信息表和处理信息表相关数据项
数据库课程设计——学籍管理系统_第3张图片

(4)专业表和学院表相关数据项
数据库课程设计——学籍管理系统_第4张图片

(5)系统管理员表和异常表相关数据项
数据库课程设计——学籍管理系统_第5张图片

(6)学生处分表和学生奖励表相关数据项

数据库课程设计——学籍管理系统_第6张图片

2.2.2主要的数据流定义

(1)学生学籍信息:由申请主体提出查阅申请,学籍管理系统进行权限审查,如果权限审查通过则返回学生学籍信息,如果不通过则返回提示信息,提醒学生权限不足。
(2)异常信息:由申请主体提出查阅申请,学籍管理系统进行权限审查,如果权限神审查通过则返回学生学籍信息,如果学生学籍存在异常信息,如学分未修完、毕业论文未完成等,同时返回异常提示,若申请主体再次提出查询异常详情,则返回详细异常信息。
(3)申诉信息:由申请主体提出申诉申请,学籍管理系统接收申诉申请,并通知系统管理员处理,系统管理员记录申诉信息,并上报学校处理。
(4)处理信息:由申请主体提出申诉申请,学籍管理系统接收申诉申请之后,会通知系统管理员处理,系统管理员记录申诉信息,并上报学校处理,学校处理申诉后,会将处理结果返回系统管理员,系统管理员记录处理信息,并通过学籍管理系统将学籍处理结果返回给申请主体。
(5)奖励信息:由申请主体提出奖励申请,学籍管理系统接收到奖励申请之后,通知系统管理员处理,系统管理员记录奖励信息和处理信息,并将处理信息返回申请主体。
(6)处分信息:由申请主体提出处分申请,学籍管理系统接收处分申请之后,通知系统管理员处理,系统管理员记录处分信息和处理信息,并将处理信息返回申请主体。

2.3数据流图和业务流图

数据流图采用分层数据流图画法,整体上分为两层,顶层数据流图和第一层数据流图。

2.3.1顶层数据流图

数据库课程设计——学籍管理系统_第7张图片

2.3.2第一层数据流图

数据库课程设计——学籍管理系统_第8张图片

2.3.3第一层数据流图

数据库课程设计——学籍管理系统_第9张图片

2.3.4第一层数据流图

数据库课程设计——学籍管理系统_第10张图片

2.3.5第一层数据流图

数据库课程设计——学籍管理系统_第11张图片

3 概念结构设计

3.1实体属性E-R图

数据库课程设计——学籍管理系统_第12张图片

数据库课程设计——学籍管理系统_第13张图片

数据库课程设计——学籍管理系统_第14张图片

数据库课程设计——学籍管理系统_第15张图片
数据库课程设计——学籍管理系统_第16张图片

数据库课程设计——学籍管理系统_第17张图片
数据库课程设计——学籍管理系统_第18张图片
数据库课程设计——学籍管理系统_第19张图片
数据库课程设计——学籍管理系统_第20张图片
数据库课程设计——学籍管理系统_第21张图片

3.2总E-R图

数据库课程设计——学籍管理系统_第22张图片

4 逻辑结构设计

根据系统概念结构分析,将系统的实现直接抽象定位在更好的适合各层次人员的需求和操作,系统的所有初始化数均据采用界面录入的方法,由各类人员分工完成。根据实际情况,我将学生学籍基本信息、班级信息、专业信息、学院信息、学生处分信息、学生奖励信息、系统管理员信息、申诉信息、处理信息、异常信息等作为系统的初始化数据。
为满足学生对个人学籍信息的查阅需求,同时如果学生发现问题,对学籍信息存在质疑,还需满足学生的申诉需求,同时还需提供异常处理机制,如果学生学籍存在异常,导致学生无法正常毕业,需要记录异常信息并且提供解决建议,帮助学生解决异常问题;为满足系统管理员对学生学籍信息的管理需求,同时需要满足系统管理员对学生申诉请求的管理,提供给系统管理系统完善的处理申诉请求的机制,以及提供系统管理员对校外机构和学校对学生的奖励和处分请求的处理功能,更好地记录学生在校期间的表现,以及辅助系统管理员实现对学生申诉需求信息以及管理员处理请求的详细信息的记录。为满足学校对学生学籍信息的整体管理需求,包括但不限于对学生学籍信息的增删改查等基本功能,满足学校对学生申诉请求的处理,同时需要满足学校对学生的奖励和处分需求;为满足校外机构对学生的奖励和处分需求等工作提供基本的数据平台。
主要数据关系设计如下
  1.学生学籍基本信息表 (学号,姓名,性别,出生日期,政治面貌,民族,籍贯,学历,身份证号,毕业证书编号,学士证书编号,婚否,班级编号,专业编号,学院编号,奖励信息,处分信息,创建时间,更新时间,逻辑删除)。
  2.班级信息表 (班级编号,班级人数,专业编号,学院编号,创建时间,更新时间,逻辑删除)。
3.专业信息表 (专业编号,专业名称,学院编号,创建时间,更新时间,逻辑删除)。
4.学院信息表(学院编号,学院名称,创建时间,更新时间,逻辑删除)。
  5.学生处分信息表(处分编号,学号,处分名称,处分单位,处分等级,处分说明,创建时间,更新时间,逻辑删除)。
6.学生奖励信息表(奖励编号,学号,奖励名称,奖励单位,奖励等级,奖励说明,创建时间,更新时间,逻辑删除)。
  7.系统管理员信息表(管理员编号,姓名,性别,学历,出生日期,联系方式,创建时间,更新时间,逻辑删除)。
  8.申诉信息表(申诉编号,学号,奖励编号,处分编号,申诉说明,创建时间,更新时间,逻辑删除)。
9.处理记录信息表(处理编号,管理员编号,申诉编号,处理结果,处理说明,创建时间,更新时间,逻辑删除)。
10.异常信息表(异常编号,学号,异常信息,异常类型,异常详解,创建时间,更新时间,逻辑删除)。

由以上分析可以得出,本系统应该需要建立十个关系,其中画单下划线的为主键,画双下划线的为外键。为了避免数据录入的无序状况,所以数据库表之间必须建立了严格的参照完整性,并且对所有表都分配了操作权限,并将错误信息及时反馈给系统管理人员,。为关系之间建立的主键与外键约束本质在于:限制用户输入数据的合法性,只有完善的参照完整性,才能使得数据库中数据具有一致性和互操作性,并且可以维护数据库系统运行的稳定

5 物理结构设计

1.学生表(student)
数据库课程设计——学籍管理系统_第23张图片

2.班级表(class)
数据库课程设计——学籍管理系统_第24张图片

3.专业表(major)
数据库课程设计——学籍管理系统_第25张图片

4.学院表(academy)
在这里插入图片描述

5.学生处分表(disposal)
数据库课程设计——学籍管理系统_第26张图片

6.系统管理员表(intendant)
数据库课程设计——学籍管理系统_第27张图片

7.学生奖励表(prize)
数据库课程设计——学籍管理系统_第28张图片

8.申诉信息表(lawsuit)
数据库课程设计——学籍管理系统_第29张图片

9.处理记录表(handle)
数据库课程设计——学籍管理系统_第30张图片

10.异常表(exception)

数据库课程设计——学籍管理系统_第31张图片

6 结论

本次课题设计任务是开发高校学籍管理系统数据库,结合传统数据库管理的模式,初步实现了高校学籍管理数据库的一些基本的管理系统功能,这些功能能够完成一些简单的管理需求。
结合本此高校学籍管理系统的设计过程,有以下几方面需要注意。
第一,在设计数据库之前,一定要对将要设计的系统作深入的了解,其中包括有它所要实现的功能,面向的操作对象,以及维护工作等等。
第二,认真分析需求阶段的数据,深入挖掘数据之间的关系,如何建立这样的关系等一系列问题,并按照自己的设计思想逐步完成系统功能。另外为数据库建立严格的参照完整性和科学数据库结构,以减少了客户端服务器的负载,提高系统性能。
第三,认真完成需求分析,最好进行实际调研,了解广大用户的真实需求。分析需求过程中可以不必刻意追求面面俱到,但一定要清晰用户的主要需求,并着重进行分析,需求分析结束后,也要进行动态调整,不断改进。
第四,进行概念结构设计过程中,要明确各个实体之间的联系,以及从属关系。
第五,进行物理结构设计过程中,要注意不同表之间属性的联系,即外键关系,同时要符合范式规范。
当然由于时间限制与知识的欠缺,系统在许多功能方面还有待于日后进一步完善,现有的仅仅是一些最简单最基本的功能,而且由于自己知识体系的不系统性,设计出来的系统在性能,安全性,可靠性,可维护性等方面还存在许多不足。在今后的学习过程中,需要不断学习相关知识,提高完善自己的知识储备。

7 附录

1.DROP TABLE student;  
2.CREATE TABLE student(  
3.    sno BIGINT NOT NULL AUTO_INCREMENT  COMMENT '学号' ,  
4.    sname VARCHAR(128)    COMMENT '姓名' ,  
5.    sex INT    COMMENT '性别 1:男性;0:女性' ,  
6.    sdate DATE    COMMENT '出生日期' ,  
7.    politics VARCHAR(1024)    COMMENT '政治面貌 政治面貌(群众,共青团员,党员)' ,  
8.    nation VARCHAR(1024)    COMMENT '民族 民族' ,  
9.    saddr VARCHAR(1024)    COMMENT '籍贯 籍贯' ,  
10.    education VARCHAR(1024)    COMMENT '学历 学历' ,  
11.    sid VARCHAR(1024)    COMMENT '身份证号 学生身份证编号' ,  
12.    gid VARCHAR(1024)    COMMENT '毕业证书编号 学生毕业证书编号' ,  
13.    bid VARCHAR(1024)    COMMENT '学士证书编号 学生学士证书编号' ,  
14.    ismarital INT    COMMENT '婚否 1:已婚;0:未婚' ,  
15.    cno BIGINT    COMMENT '班级编号 学生所在班级编号' ,  
16.    mno BIGINT    COMMENT '专业编号 学生所在专业编号' ,  
17.    ano BIGINT    COMMENT '学院编号 学生所在学员编号' ,  
18.    pno BIGINT    COMMENT '奖励信息 学生奖励信息' ,  
19.    dno BIGINT    COMMENT '处分信息 学生处分信息' ,  
20.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
21.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
22.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
23.    PRIMARY KEY (sno)  
24.) COMMENT = '学生表 ';  
25.  
26.ALTER TABLE student COMMENT '学生表';  
27.DROP TABLE class;  
28.CREATE TABLE class(  
29.    cno BIGINT NOT NULL AUTO_INCREMENT  COMMENT '班级编号' ,  
30.    cnum INT    COMMENT '班级人数' ,  
31.    mno BIGINT    COMMENT '专业编号 班级所在专业编号' ,  
32.    ano BIGINT    COMMENT '学院编号 班级所在学院编号' ,  
33.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
34.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
35.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
36.    PRIMARY KEY (cno)  
37.) COMMENT = '班级表 ';  
38.  
39.ALTER TABLE class COMMENT '班级表';  
40.DROP TABLE major;  
41.CREATE TABLE major(  
42.    mno BIGINT NOT NULL AUTO_INCREMENT  COMMENT '专业编号' ,  
43.    mname VARCHAR(1024)    COMMENT '专业名称' ,  
44.    ano BIGINT    COMMENT '学院编号 专业所在学院编号' ,  
45.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
46.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
47.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
48.    PRIMARY KEY (mno)  
49.) COMMENT = '专业表 ';  
50.  
51.ALTER TABLE major COMMENT '专业表';  
52.DROP TABLE academy;  
53.CREATE TABLE academy(  
54.    ano BIGINT NOT NULL AUTO_INCREMENT  COMMENT '学院编号' ,  
55.    aname VARCHAR(1024)    COMMENT '学院名称' ,  
56.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
57.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
58.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
59.    PRIMARY KEY (ano)  
60.) COMMENT = '学院表 ';  
61.  
62.ALTER TABLE academy COMMENT '学院表';  
63.DROP TABLE disposal;  
64.CREATE TABLE disposal(  
65.    dno BIGINT NOT NULL AUTO_INCREMENT  COMMENT '处分编号' ,  
66.    sno BIGINT NOT NULL   COMMENT '学号' ,  
67.    dname VARCHAR(1024)    COMMENT '处分名称' ,  
68.    dunits VARCHAR(1024)    COMMENT '处分单位' ,  
69.    dlevel VARCHAR(1024)    COMMENT '处分等级' ,  
70.    dexplain TEXT    COMMENT '处分说明' ,  
71.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
72.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
73.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
74.    PRIMARY KEY (dno,sno)  
75.) COMMENT = '学生处分表 ';  
76.  
77.ALTER TABLE disposal COMMENT '学生处分表';  
78.DROP TABLE intendant;  
79.CREATE TABLE intendant(  
80.    ino BIGINT NOT NULL AUTO_INCREMENT  COMMENT '管理员编号' ,  
81.    iname VARCHAR(128)    COMMENT '姓名' ,  
82.    sex INT    COMMENT '性别 1:男性;0:女性' ,  
83.    education VARCHAR(1024)    COMMENT '学历 学历' ,  
84.    tdate DATE    COMMENT '出生日期' ,  
85.    phonenum VARCHAR(1024)    COMMENT '联系方式 j教师联系方式' ,  
86.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
87.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
88.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
89.    PRIMARY KEY (ino)  
90.) COMMENT = '系统管理员表 ';  
91.  
92.ALTER TABLE intendant COMMENT '系统管理员表';  
93.DROP TABLE prize;  
94.CREATE TABLE prize(  
95.    pno BIGINT NOT NULL AUTO_INCREMENT  COMMENT '奖励编号' ,  
96.    sno BIGINT NOT NULL   COMMENT '学号' ,  
97.    pname VARCHAR(1024)    COMMENT '奖励名称' ,  
98.    punits VARCHAR(1024)    COMMENT '奖励单位' ,  
99.    plevel VARCHAR(1024)    COMMENT '奖励等级' ,  
100.    pexplain TEXT    COMMENT '奖励说明' ,  
101.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
102.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
103.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
104.    PRIMARY KEY (pno,sno)  
105.) COMMENT = '学生奖励表 学生在校期间获得奖励';  
106.  
107.ALTER TABLE prize COMMENT '学生奖励表';  
108.DROP TABLE lawsuit;  
109.CREATE TABLE lawsuit(  
110.    lno INT NOT NULL AUTO_INCREMENT  COMMENT '申诉编号' ,  
111.    sno BIGINT NOT NULL   COMMENT '学号 申诉学生编号' ,  
112.    pno BIGINT    COMMENT '奖励编号 申诉奖励编号' ,  
113.    dno BIGINT    COMMENT '处分编号 申诉处分编号' ,  
114.    lexolain TEXT    COMMENT '申诉说明 申诉情况说明' ,  
115.    lstatus INT    COMMENT '申诉状态 1:已处理;2:未处理' ,  
116.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
117.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
118.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
119.    PRIMARY KEY (lno,sno)  
120.) COMMENT = '申诉信息表 ';  
121.  
122.ALTER TABLE lawsuit COMMENT '申诉信息表';  
123.DROP TABLE handle;  
124.CREATE TABLE handle(  
125.    hno BIGINT NOT NULL AUTO_INCREMENT  COMMENT '处理编号 处理记录编号' ,  
126.    ino BIGINT NOT NULL   COMMENT '管理员编号 管理员编号' ,  
127.    lno BIGINT NOT NULL   COMMENT '申诉编号 申诉编号' ,  
128.    result INT    COMMENT '处理结果 1:申诉通过;2:申诉驳回' ,  
129.    hexplain TEXT    COMMENT '处理说明 处理情况说明' ,  
130.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
131.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
132.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
133.    PRIMARY KEY (hno,ino,lno)  
134.) COMMENT = '处理记录表 ';  
135.  
136.ALTER TABLE handle COMMENT '处理记录表';  
137.DROP TABLE exception;  
138.CREATE TABLE exception(  
139.    eno BIGINT NOT NULL AUTO_INCREMENT  COMMENT '异常编号' ,  
140.    sno BIGINT NOT NULL   COMMENT '学号 学生学号' ,  
141.    eexplain VARCHAR(1024)    COMMENT '异常信息 异常信息说明' ,  
142.    etype INT    COMMENT '异常类型 1:课程学分;2:第二课堂学分;3:论文;4:其他' ,  
143.    edetail TEXT    COMMENT '异常详解 对学籍信息的详细说明,并提供建议的解决途径' ,  
144.    create_time DATETIME    COMMENT '创建时间 创建时间' ,  
145.    update_time DATETIME    COMMENT '更新时间 最后更新时间' ,  
146.    deleted INT    COMMENT '逻辑删除 1:逻辑未删除;0:逻辑已删除' ,  
147.    PRIMARY KEY (eno,sno)  
148.) COMMENT = '异常表 ';  
149.  
150.ALTER TABLE exception COMMENT '异常表';  

你可能感兴趣的:(数据库,数据库)