学生信息管理系统数据库设计报告.docx

上传人:b****8 文档编号:29410567 上传时间:2023-07-23 格式:DOCX 页数:47 大小:245.15KB
下载 相关 举报
学生信息管理系统数据库设计报告.docx_第1页
第1页 / 共47页
学生信息管理系统数据库设计报告.docx_第2页
第2页 / 共47页
学生信息管理系统数据库设计报告.docx_第3页
第3页 / 共47页
学生信息管理系统数据库设计报告.docx_第4页
第4页 / 共47页
学生信息管理系统数据库设计报告.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

学生信息管理系统数据库设计报告.docx

《学生信息管理系统数据库设计报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数据库设计报告.docx(47页珍藏版)》请在冰豆网上搜索。

学生信息管理系统数据库设计报告.docx

学生信息管理系统数据库设计报告

 

学生信息管理系统数据库设计

 

 

一、需求分析

功能需求分析

总体任务的实现是建立在对系统正确的需求分析基础之上的。

需求分析分是数据库系统开发的第一步,也是最重要的一步。

在大学的学习生活中学生的活动范围很广,信息量相对于以前增加,学生在学习生活中不仅仅与寝室和同班同系的同学联系有时候还要与自己所学学科的任课老师交流联系,还要与本系的辅导员以及自己所在寝室的宿舍管理员等进行联系,这些信息分布比较散乱,难于集合起来。

所以创建该数据库尽可能的将与学生相关的信息集合起来,将一些数据结构化,方便用户查询。

学生信息系统的基本情况

由于整个系统是由多个部分组成,所以各个信息如下:

(1)学生信息:

记录在学校中学生的基本信息,包括姓名,学号,出生年月,所属院系,所在班级,联系电话等等;

(2)教师信息:

记录与学生相关的教师的基本信息,包括教师姓名,联系电话,教授课程等等;

(3)导师信息:

记录学生所在院系的导师的相关信息,包括导师姓名,联系电话,领导院系等等;

(4)宿舍信息:

记录学生所住寝室的相关信息,包括寝室号和寝室宿管联系电话等等。

 

需求分析阶段的目标

(1)信息要求:

用户能够查找到有关学生的所有相关信息包括学生基本信息还有相关老师的信息

(2)处理要求:

当信息发生变化时,一些信息能够自行修改而不造成插入删除错误。

(3)完整性要求:

①.各种信息记录的完整性,信息记录内容不能为空;

②.各种数据间相互的联系的正确性;

③相同的数据在不同记录中的一致性。

 

信息需求分析

①院系的基本信息

院系编号、院系名称、联系电话、院系主任

②班级的基本信息

班级编号、院系编号、班级名称、班长、学生数

③学生的基本信息

学号、班级编号、姓名、性别、出生日期、家庭住址

④课程的基本信息

课程编号、课程名称、学分、讲师

⑤成绩的基本信息

学号、课程编号、成绩、学分

⑥讲师的基本信息

讲师编号、讲师姓名、教授班级、联系电话

⑦宿舍的基本信息

宿舍编号、宿舍地址、联系电话、所属院系

⑧导师的基本信息

导师编号、导师姓名、联系电话、所属院系

 

需求分析阶段成果

根据实际业务处理过程,绘制业务流程图如图所示:

(a)验证模块

 

(b)查询模块

 

(c)选课模块

(d)维护模块

组合的业务处理流程图:

数据流程图

顶层数据流程图:

二层数据流程图:

选课表

教务员

未通过

维护

查询

学生

验证

注册信息

注册信息

未通过

验证

选课

选课信息

信息表

注册表

包括:

系信息、学生信息、课程信息

查询结果

选课结果

二、概念分析

对数据进行抽象

概念结构是对现实的一种抽象。

首先对于该数据库系统中涉及的数据进行分类,及抽象了该数据库涉及数据的型与值,而在E-R图模型中,实体就是这种抽象;接着进行另一种抽象---聚集,即定义某一类型的组成成分。

它抽象了该数据库涉及对象内部类型和成分,而在E-R模型中若干属性的聚集组成了实体型;最后在数据库中涉及对象中进行定义类型之间的一种子集联系。

1.学生实体与其属性

2.班级实体及其属性

3.院系实体及其属性

4.成绩实体及其属性

5.课程实体及其属性

6.讲师实体及其属性

 

7.宿舍实体及其属性

8.导师实体及其属性

 

创建局部应用,设计分E-R图

整个系统中最核心的数据内容是学生信息,所有一切应用都是围绕着学生这些数据来进行的。

将学生和班级院系结构化,方便查询学生所在班级院系的查询,创建有关的分E-R图如下:

在这个应用或这个分E-R图中主要的应用是,当查询一个学生的班级和院系所涉及的数据时,这个应用能够将所涉及的院系和班级的详细信息集合在一起,而且在需要联系导师时能够将导师的联系电话等相关信息展现出来,方便了用户在查询涉及学生的相关导师、院系、班级的信息。

(2)学生有关课程和教师的数据结构话形成一个查询应用:

该应用主要是涉及学生上课这部分的查询,将学生涉及课程和教师的信息整合起来,这其中可以让用户查询有关对象指定课程的成绩和学分或是指定课程的任课老师的联系电话,方便同老师进行交流,或者时可以查询核定学生的所有学科的成绩或是查询某一科所有同学的成绩,并按照一定的顺序排序。

(1)学生有关宿舍的一个应用:

该应用比较简单,时当用户在查询涉及指定对象的有关宿舍的基本信息,在这个应用中用户可以查询到指定用户的宿舍号和联系电话以及地址。

能够方便的查询到所涉及的信息。

合并分E-R图,形成总E-R图

学生

宿舍

指导

导师

领导

院系

班级

成绩

教授

讲师

课程

完整E-R图

 

三、逻辑设计

完成关系模式的转化

根据关系模式的转换规则可得到如下的关系模式,加下划线的属性为相应的主码。

①院系的基本信息(院系编号、院系名称、联系电话、院系主任)

②班级的基本信息(班级编号、院系编号、班级名称、班长、学生数)

③学生的基本信息(学号、班级编号、姓名、性别、出生日期、家庭住址)

④课程的基本信息(课程编号、课程名称、学分、讲师)

⑤成绩的基本信息(学号、课程编号、成绩、学分)

⑥讲师的基本信息(讲师编号、讲师姓名、教授班级、联系电话)

⑦宿舍的基本信息(宿舍编号、宿舍地址、联系电话、所属院系)

⑧导师的基本信息(导师编号、导师姓名、联系电话、所属院系)

 

数据字典

 

数据和表的建立

表名

含义

Department

院系

Class

班级

Student

学生

Course

课程

Grade

成绩

 Teacher

讲师

Hourse

宿舍

Director

导师

 表结构

 

(1)、Department

表1-1Department表结构

字段名

数据类型

字段含义

约束

Dept_ID

Decimal

院系编号

PrimaryKey

Department

varChar(50)

院系名称

NotNull

Phone

varChar(50)

联系电话

 

Director

varChar(50)

院系主任

 

 

(2)、Class

字段名

数据类型

字段含义

约束

Class_ID

Char(7)

班级编号

PrimaryKey

Dept_ID

Decimal

院系编号

ForeignKey

Class

varChar(30)

班级名称

NotNull

Monitor

varChar(24)

班长

 

Student_NO

Decimal

学生数

NotNullDefault0

 

(3)、Student

字段名

数据类型

字段含义

约束

Student_ID

varChar(9)

学号

PrimaryKey

Class_ID

Char(7)

班级编号

ForeignKey

Name

varChar(24)

姓名

NotNull

Gender

varChar

(2)

性别

男,女

Birthday

Datetime

出生日期

Address

varChar(50)

家庭地址

 

H_ID

varChar(50)

寝室号

 

Department

Varchar(50)

所属院系

H_ID

Varchar(50)

宿舍编号

ForeignKey

 

(4)、Course

字段名

数据类型

字段含义

约束

Course_ID

varChar(8)

课程编号

PrimaryKey

Course

varChar(50)

课程

NotNull

Credit

Decimal

学分

 

Teacher

Varchar(50)

讲师

 

T_ID

Varchar(50)

(5)、Grade

字段名

数据类型

字段含义

约束

Student_ID

varChar(9)

学号

ForeignKey

PrimaryKey

Course_ID

varChar(8)

课程编号

ForeignKey

Grade

Decimal

成绩

 

NotNull

G_Value

Decimal

学分

 

NotNull

 

(6)、Teacher

字段名

数据类型

字段含义

约束

T_ID

varChar(9)

讲师编号

PrimaryKey

T_Name

varchar(50)

讲师姓名

Course

varChar(50)

教授课程

T_Phone

varChar(50)

电话

Department

Varchar(50)

所属院系

Insertintoteacher

Values('001','王玉贤','java','','信管',)

Insertintoteacher

Values('002','焦华光','网站设计与规划','','电商',)

Insertintoteacher

Values('003','郭慧峰','c语言','','信管',)

Insertintoteacher

Values('004','范海平','管理学','','管理',)

Insertintoteacher

Values('005','范朝奇','photoshop','','电商',)

Insertintoteacher

Values('006','赵金鹏','计算机网络','','信管',)

 

(7)、Hourse

字段名

数据类型

字段含义

约束

H_ID

varChar(50)

宿舍编号

PrimaryKey

H_Address

Varchar(50)

宿舍地址

H_Phone

varChar(50)

联系电话

Department

Varchar(50)

所属院系

Insertintoteacher

Values('210','西区','','信管',)

Insertintoteacher

Values('220','西区','','电商',)

Insertintoteacher

Values('230','西区','','信管',)

Insertintoteacher

Values('310','东区','','管理',)

Insertintoteacher

Values('320','东区','','管理',)

 

(8)、Director

字段名

数据类型

字段含义

约束

D_ID

varChar(9)

导师编号

PrimaryKey

D_Name

Varchar(24)

导师姓名

D_Phone

varChar(50)

联系电话

Department

varChar(50)

所属院系

Dept_ID

varChar(50)

院系编号

ForeignKey

Insertintodirector

Values('301','东区','','信管','01')

Insertintodirector

Values('501','东区','','电商','03')

Insertintodirector

Values('803','东区','','管理','02')

Insertintodirector

Values('302','东区','','信管','01')

 

处理逻辑描述(判定表或判定树)

判定条件

决策

判断用户查询涉及的功能模块

系部基本信息模块、宿舍楼基本信息模块、学生基本信息模块、讲师基本信息模块、导师基本信息模块、学生成绩基本信息模块、学生课程基本信息模块:

先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。

判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中

系部基本信息模块、宿舍楼基本信息模块、学生基本信息模块、讲师基本信息模块、导师基本信息模块、学生成绩基本信息模块、学生课程基本信息模块:

先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。

四.物理设计阶段

物理设计阶段的目标与任务

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:

(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

(2)对物理结构进行评价,评价的重点是时间和空间效率。

 

数据存储方面

为数据库中各基本表建立的索引如下:

1.由于基本表class,Student的主码Class_ID,Student_ID经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引;

2.Course的主码Course_ID,Teacher经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引;

3.基本表Student的一属性StuName,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引;

4.基本表Hourse、Director的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引;

5.基本表Teacher,Grade的属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。

五、系统实现

建立数据库

createdatabaseStudent_Dormitory_Management;

 

建立数据表

Course表的建立

createtablecourse(

course_IDvarchar(8)notnullunique,

coursevarchar(50)notnull,

creditdecimal,

teachervarchr)

 

Department表的建立

createtabledepartment(

Dept_IDDecimalnotnullunique,

DepartmentvarChar(50)NotNull,

PhonevarChar(50),

DirectorvarChar(50),

primarykey(Dept_ID))

 

Director表的建立

createtabledirector(

D_IDvarChar(9)notnullunique,

D_NameVarchar(24),

D_PhonevarChar(50),

DepartmentvarChar(50),

primarykey(D_ID))

 

Grade表的建立

createtableGrade(

Student_IDvarChar(9)notnullunique,

Course_IDvarChar(8)notnullunique,,

GradeDecimalNotNull,

G_ValueDecimalNotNull,.

foreignkey(Student_ID,Course_ID))

 

Hourse表的建立

createtableHourse(

H_IDvarChar(9)notnullunique,

H_Address,Varchar(50),

H_PhoneVarchar(50),

DepartmentVarchar(50))

 

Student表的建立

createtableStudent(

Student_IDvarChar(9)notnullunique,

Class_IDChar(7),

NamevarChar(24),

GendervarChar

(2),

BirthdayDatetime,

AddressvarChar(50),

H_ID寝室号,

DepartmentVarchar(50),

primarykey(Student_ID),

foreignkey(Class_ID),

check(genderorgender));

Teacher表的建立

createtableTeacher(

T_IDvarChar(9)notnullunique,,

T_Namevarchar(50)

CoursevarChar(50),

T_PhonevarChar(50),

DepartmentVarchar(50),

primarykey(T_ID))

 

关系图

==

=

=

=course_course_id

=

=

Directordept_id

studenth_id

courset_id

 

建立视图

(1)用于查询和更新学生班级基本信息的视图定义如下

createviewclassview(班级编号、班级名称、学生数、班长、

院系编号)

select*

fromclass

 

(2)方便于宿舍楼基本信息查询、更新的视图定义如下:

createviewdepartmentView(院系编号、院系名称、联系电话

院系主任)

as

select*

fromdepartment

(3)显示学生基本信息的视图定义如下:

createviewstuview(学号、班级编号、姓名、性别、

出生日期、家庭地址、寝室号、

所属院系)

as

select*

fromstudent

(4)可用于学生课程基本信息的查询、更新的视图定义如下:

createviewcourseview(课程编号、课程、学分、讲师)

as

select*

fromcourse

(5)用于查询和更新学生成绩基本信息的视图定义如下

createviewgradeiew(学号、课程编号、成绩、学分)

、as

select*

fromgrade

(6)查询导师的基本信息的视图定义如下:

createviewteacheriew(讲师编号、讲师姓名、教授课程、电话、

所属院系)

as

select*

fromteacher

(7)查询住宿信息的视图建立如下

createviewhourseviewview(宿舍编号、宿舍地址、联系电话、

所属院系)

as

select*

fromhourse

(8)用于查询学生导师的视图建立如下

createviewDirectorview(导师编号、导师姓名、联系电话、所属院系)

as

select*

fromDirector

六、主要代码

查询

1.表查询某同学已登录的所有成绩:

select,,Grade,G_Value

fromCOURSE,GRADE

where=and='8730201'

2.表查询某班所有同学的信息

select*

fromSTUDENT

whereClass_IDlike'873%'

更新

更新学号为8730102的学生的性别为女

Updatestudent

Setgender='女'

Fromstudent

WhereStudent_ID='8730102'

插入

在学生信息表中新插入信息:

InsertintoStudent

Values('8734065','8734','许芯','女','1990-01-01','西安','西区','08级电商','230')

InsertintoStudent

Values('001','1234','黄斌','男','1993-11-04','渭南','东区','08级信管','310')

InsertintoStudent

Values('002','1234','魏韵','女','1993-06-21','运城','西区','08级信管','230')

InsertintoStudent

Values('003','1234','金野明','男','1992-01-01','西安','东区','08级信管','310')

InsertintoStudent

Values('006','2345','马志飞','男','1990-08-11','临汾','东区','09级管理','310')

InsertintoStudent

Values('015','4567','赵子龙','男','1991-11-01','昆明','东区','10级信管','320')

InsertintoStudent

Values(001','567','林羽墨','女','1990-09-01','西安','西区','10级电商','230')

InsertintoStudent

Values('005','567','郎江峰','男','1990-03-12','西安','东区','10级电商','310')

InsertintoStudent

Values(006','567','李菁菁,'女','1990-01-01','西安','西区','10级电商','230')

InsertintoStudent

Values('004','567','付诗音','女','1992-05-15','西安','西区','10级电商','230')

InsertintoStudent

Values('8734065','8734','吉亚尼','女','1992-11-21','西安','西区','08级电商','230')

 

InsertintodepartmentValues('01','信管','','李建国')

InsertintodepartmentValues('02','管理','','徐胜

')

InsertintodepartmentValues('01','电商','','李雨生')

 

Insertintoclas

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1