收藏 分销(赏)

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

上传人:精*** 文档编号:9884037 上传时间:2025-04-12 格式:DOC 页数:53 大小:1.78MB 下载积分:14 金币
下载 相关 举报
学生信息管理系统数据库设计报告.doc_第1页
第1页 / 共53页
学生信息管理系统数据库设计报告.doc_第2页
第2页 / 共53页


点击查看更多>>
资源描述
学生信息管理系统数据库设计 52 / 53 目 录 一、需求分析 4 组合的业务处理流程图: 8 二、概念分析 9 三、逻辑设计 16 四.物理设计阶段 24 五、系统实现 25 六、主要代码 31 七、课程设计总结 53 班级信息查询 班级信息删除 班级信息增加 班级信息修改 系统 课程信息管理 学生信息管理系统 成绩信息管理 用户管理 宿舍信息管理 班级信息管理 课程信息查询 课程信息删除 课程信息增加 课程信息修改 成绩信息查询 成绩信息删除 成绩信息增加 成绩信息修改 查询用户 修改用户 删除用户 添加用户 宿舍信息查询 宿舍信息删除 宿舍信息增加 宿舍信息修改 退出系统 一、需求分析 1.1功能需求分析 总体任务的实现是建立在对系统正确的需求分析基础之上的。需求分析分是数据库系统开发的第一步,也是最重要的一步。在大学的学习生活中学生的活动范围很广,信息量相对于以前增加,学生在学习生活中不仅仅与寝室和同班同系的同学联系有时候还要与自己所学学科的任课老师交流联系,还要与本系的辅导员以及自己所在寝室的宿舍管理员等进行联系,这些信息分布比较散乱,难于集合起来。所以创建该数据库尽可能的将与学生相关的信息集合起来,将一些数据结构化,方便用户查询。 学生信息系统的基本情况 由于整个系统是由多个部分组成,所以各个信息如下: (1)学生信息:记录在学校中学生的基本信息,包括姓名,学号,出生年月,所属院系,所在班级,联系电话等等; (2)教师信息:记录与学生相关的教师的基本信息,包括教师姓名,联系电话,教授课程等等; (3)导师信息:记录学生所在院系的导师的相关信息,包括导师姓名,联系电话,领导院系等等; (4)宿舍信息:记录学生所住寝室的相关信息,包括寝室号和寝室宿管联系电话等等。 1.2需求分析阶段的目标 (1)信息要求:用户能够查找到有关学生的所有相关信息包括学生基本信息还有相关老师的信息 (2)处理要求:当信息发生变化时,一些信息能够自行修改而不造成插入删除错误。 (3)完整性要求: ①.各种信息记录的完整性,信息记录内容不能为空; ②.各种数据间相互的联系的正确性; ③相同的数据在不同记录中的一致性。 1.3信息需求分析 ①院系的基本信息 院系编号、院系名称、联系电话、院系主任 ②班级的基本信息 班级编号、院系编号、班级名称、班长、学生数 ③学生的基本信息 学号、班级编号、姓名、性别、出生日期、家庭住址 ④课程的基本信息 课程编号、课程名称、学分、讲师 ⑤成绩的基本信息 学号、课程编号、成绩、学分 ⑥讲师的基本信息 讲师编号、讲师姓名、教授班级、联系电话 ⑦宿舍的基本信息 宿舍编号、宿舍地址、联系电话、所属院系 ⑧导师的基本信息 导师编号、导师姓名、联系电话、所属院系 1.4需求分析阶段成果 根据实际业务处理过程,绘制业务流程图如图所示: (a)验证模块 教务员 注册信息 注册表 验证模块 拒绝信息 (b)查询模块 教务员 院系信息表 查询模块 查询结果 学生信息表 课程信息表 成绩信息表 宿舍信息表 查询信息 (c)选课模块 学生 选课信息 课程信息表 选课模块 选课结果 选课信息表 (d)维护模块 教务员 维护信息 维护模块 维护结果 院系信息表 学生信息表 课程信息表 注册信息表 组合的业务处理流程图: 教务员 查询维护信息 注册表 验证模块 拒绝登录 查询模块 查询信息 维护信息 维护模块 系信息表 学生信息表 课程信息表 选课信息表 维护结果jieguo结果 维护结果 数据流程图 顶层数据流程图: 教务管理 系统 注册信息 验证 查询要求 查询结果 修改要求 修改结果 教务员 学生 选课输入 选课结果 二层数据流程图: 选课表 教务员 未通过 维护 查询 学生 验证 注册信息 注册信息 未通过 验证 选课 选课信息 信息表 注册表 包括:系信息、学生信息、课程信息 查询结果 选课结果 二、概念分析 2.1对数据进行抽象 概念结构是对现实的一种抽象。首先对于该数据库系统中涉及的数据进行分类,及抽象了该数据库涉及数据的型与值,而在E-R图模型中,实体就是这种抽象;接着进行另一种抽象---聚集,即定义某一类型的组成成分。它抽象了该数据库涉及对象内部类型和成分,而在E-R模型中若干属性的聚集组成了实体型;最后在数据库中涉及对象中进行定义类型之间的一种子集联系。 学生 学号 性别 出生年月 姓名 班级 住址 所属院系 寝室号 1. 学生实体与其属性 班级 班级编号 院系编号 班级名称 学生数 班长 2.班级实体及其属性 院系 院系编号 院系名称 班级数 院系主任 联系电话 3.院系实体及其属性 成绩 学号 课程编号 学分 成绩 4.成绩实体及其属性 课程 课程编号 学分 课程 讲师 5.课程实体及其属性 讲师 讲师编号 讲师姓名 电话 所属院系 教授课程 6.讲师实体及其属性 宿舍 宿舍地址 宿舍编号 所属院系 宿舍电话 7.宿舍实体及其属性 导师 导师编号 导师姓名 所属院系 联系电话 8.导师实体及其属性 2.2创建局部应用,设计分E-R图 整个系统中最核心的数据内容是学生信息,所有一切应用都是围绕着学生这些数据来进行的。 将学生和班级院系结构化,方便查询学生所在班级院系的查询,创建有关的分E-R图如下: 学生 指导 导师 领导 院系 班级 在这个应用或这个分E-R图中主要的应用是,当查询一个学生的班级和院系所涉及的数据时,这个应用能够将所涉及的院系和班级的详细信息集合在一起,而且在需要联系导师时能够将导师的联系电话等相关信息展现出来,方便了用户在查询涉及学生的相关导师、院系、班级的信息。 (2)学生有关课程和教师的数据结构话形成一个查询应用: 学生 成绩 课程 教授 教师 该应用主要是涉及学生上课这部分的查询,将学生涉及课程和教师的信息整合起来,这其中可以让用户查询有关对象指定课程的成绩和学分或是指定课程的任课老师的联系电话,方便同老师进行交流,或者时可以查询核定学生的所有学科的成绩或是查询某一科所有同学的成绩,并按照一定的顺序排序。 (1) 学生有关宿舍的一个应用: 学生 宿舍 该应用比较简单,时当用户在查询涉及指定对象的有关宿舍的基本信息,在这个应用中用户可以查询到指定用户的宿舍号和联系电话以及地址。能够方便的查询到所涉及的信息。 2.3合并分E-R图,形成总E-R图 学生 宿舍 指导 导师 领导 院系 班级 成绩 教授 讲师 课程 完整E-R图 三、逻辑设计 3.1完成关系模式的转化 根据关系模式的转换规则可得到如下的关系模式,加下划线的属性为相应的主码。 ①院系的基本信息(院系编号、院系名称、联系电话、院系主任) ②班级的基本信息(班级编号、院系编号、班级名称、班长、学生数) ③学生的基本信息(学号、班级编号、姓名、性别、出生日期、家庭住址) ④课程的基本信息(课程编号、课程名称、学分、讲师) ⑤成绩的基本信息(学号、课程编号、成绩、学分) ⑥讲师的基本信息(讲师编号、讲师姓名、教授班级、联系电话) ⑦宿舍的基本信息(宿舍编号、宿舍地址、联系电话、所属院系) ⑧导师的基本信息(导师编号、导师姓名、联系电话、所属院系) 3.2数据字典 数据和表的建立 表名 含义 Department 院系 Class 班级 Student 学生 Course 课程 Grade 成绩  Teacher 讲师 Hourse 宿舍 Director 导师   表结构 (1)、Department 表1-1 Department表结构 字段名 数据类型 字段含义 约束 Dept_ID Decimal 院系编号 Primary Key Department varChar(50) 院系名称 Not Null Phone varChar(50) 联系电话   Director varChar(50) 院系主任   (2)、Class 字段名 数据类型 字段含义 约束 Class_ID Char(7) 班级编号 Primary Key Dept_ID Decimal 院系编号 Foreign Key Class varChar(30) 班级名称 Not Null Monitor varChar(24) 班长   Student_NO Decimal 学生数 Not Null Default 0 (3)、Student 字段名 数据类型 字段含义 约束 Student_ID varChar(9) 学号 Primary Key Class_ID Char(7) 班级编号 Foreign Key Name varChar(24) 姓名 Not Null Gender varChar(2) 性别 男,女 Birthday Datetime 出生日期 Address varChar(50) 家庭地址   H_ID varChar(50) 寝室号   Department Varchar(50) 所属院系 H_ID Varchar(50) 宿舍编号 Foreign Key (4)、Course 字段名 数据类型 字段含义 约束 Course_ID varChar(8) 课程编号 Primary Key Course varChar(50) 课程 Not Null Credit Decimal 学分   Teacher Varchar(50) 讲师   T_ID Varchar(50) (5)、Grade 字段名 数据类型 字段含义 约束 Student_ID varChar(9) 学号 Foreign Key Primary Key Course_ID varChar(8) 课程编号 Foreign Key Grade Decimal 成绩   Not Null G_Value Decimal 学分   Not Null (6)、Teacher 字段名 数据类型 字段含义 约束 T_ID varChar(9) 讲师编号 Primary Key T_Name varchar(50) 讲师姓名 Course varChar(50) 教授课程 T_Phone varChar(50) 电话 Department Varchar(50) 所属院系 Insert into teacher Values ('001','王玉贤',' java ','','信管',) Insert into teacher Values ('002','焦华光','网站设计与规划','','电商',) Insert into teacher Values ('003','郭慧峰',' c语言','','信管',) Insert into teacher Values ('004','范海平','管理学','','管理',) Insert into teacher Values ('005','范朝奇',' photoshop ','','电商',) Insert into teacher Values ('006','赵金鹏','计算机网络','','信管',) (7)、Hourse 字段名 数据类型 字段含义 约束 H_ID varChar(50) 宿舍编号 Primary Key H_Address Varchar(50) 宿舍地址 H_Phone varChar(50) 联系电话 Department Varchar(50) 所属院系 Insert into teacher Values ('210', '西区','','信管',) Insert into teacher Values ('220', '西区','','电商',) Insert into teacher Values ('230', '西区','','信管',) Insert into teacher Values ('310', '东区','','管理',) Insert into teacher Values ('320', '东区','','管理',) (8)、Director 字段名 数据类型 字段含义 约束 D_ID varChar(9) 导师编号 Primary Key D_Name Varchar(24) 导师姓名 D_Phone varChar(50) 联系电话 Department varChar(50) 所属院系 Dept_ID varChar(50) 院系编号 Foreign Key Insert into director Values ('301', '东区','','信管', '01 ') Insert into director Values ('501', '东区','','电商', '03 ') Insert into director Values ('803', '东区','187','管理', '02') Insert into director Values ('302', '东区','153','信管', '01') 3.3处理逻辑描述(判定表或判定树) 判定条件 决策 判断用户查询涉及的功能模块 系部基本信息模块、宿舍楼基本信息模块、学生基本信息模块、讲师基本信息模块、导师基本信息模块、学生成绩基本信息模块、学生课程基本信息模块:先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。 判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中 系部基本信息模块、宿舍楼基本信息模块、学生基本信息模块、讲师基本信息模块、导师基本信息模块、学生成绩基本信息模块、学生课程基本信息模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。 四.物理设计阶段 4.1物理设计阶段的目标与任务 数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务: (1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构; (2)对物理结构进行评价,评价的重点是时间和空间效率。 4.2数据存储方面 为数据库中各基本表建立的索引如下: 1. 由于基本表class,Student的主码Class_ID,Student_ID经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引; 2. Course的主码Course_ID,Teacher经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引; 3. 基本表Student的一属性StuName,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引; 4. 基本表Hourse、Director的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引; 5. 基本表Teacher,Grade的属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。 五、系统实现 5.1建立数据库 create database Student_Dormitory_Management; 5.2建立数据表 Course表的建立 create table course( course_ID varchar(8) not null unique, course varchar(50) not null, credit decimal, teacher varchr) Department表的建立 create table department( Dept_ID Decimal not null unique, Department varChar(50) Not Null, Phone varChar(50), Director varChar(50), primary key(Dept_ID)) Director表的建立 create table director( D_ID varChar(9) not null unique, D_Name Varchar(24), D_Phone varChar(50), Department varChar(50), primary key(D_ID)) Grade表的建立 create table Grade( Student_ID varChar(9) not null unique, Course_ID varChar(8) not null unique,, Grade Decimal Not Null, G_Value Decimal Not Null,. foreign key(Student_ID, Course_ID)) Hourse表的建立 create table Hourse ( H_ID varChar(9) not null unique, H_Address , Varchar(50 ), H_Phone Varchar(50 ), Department Varchar(50)) Student表的建立 create table Student( Student_ID varChar(9) not null unique, Class_ID Char(7) , Name varChar(24), Gender varChar(2), Birthday Datetime, Address varChar(50), H_ID 寝室号, Department Varchar(50), primary key(Student_ID), foreign key(Class_ID), check(gender or gender)); Teacher表的建立 create table Teacher( T_ID varChar(9) not null unique,, T_Name varchar(50) Course varChar(50), T_Phone varChar(50), Department Varchar(50), primary key(T_ID)) 5.3关系图 Class.dept_id=department.dept_id=director.dept_id Class.class_id=student.class_id Student.student_id=grade.student_id Grade.course_id=course_course_id Course.T_id=teacher.T_id Student.H_id=hourse.H_id Director dept_id student h_id course t_id 5.4 建立视图 (1)用于查询和更新学生班级基本信息的视图定义如下 create view classview(班级编号、班级名称、学生数、班长、 院系编号) select * from class (2)方便于宿舍楼基本信息查询、更新的视图定义如下: create view departmentView(院系编号、院系名称、联系电话 院系主任) as select * from department (3) 显示学生基本信息的视图定义如下: create view stuview(学号、班级编号、姓名、性别、 出生日期、家庭地址、寝室号、 所属院系) as select * from student (4) 可用于学生课程基本信息的查询、更新的视图定义如下: create view courseview(课程编号、课程、学分、讲师) as select * from course (5)用于查询和更新 学生成绩基本信息的视图定义如下 create view gradeiew(学号、课程编号、成绩、学分) 、 as select * from grade (6)查询导师的基本信息的视图定义如下: create view teacheriew(讲师编号、讲师姓名、教授课程、电话、 所属院系) as select * from teacher (7)查询住宿信息的视图建立如下 create view hourseviewview(宿舍编号、宿舍地址、联系电话、 所属院系) as select * from hourse (8)用于查询学生导师的视图建立如下 create view Directorview(导师编号、导师姓名、联系电话、所属院系) as select * from Director 六、主要代码 6.1 查询 1.表查询某同学已登录的所有成绩: select COURSE.Course,GRADE.Course_ID,Grade,G_Value from COURSE,GRADE where COURSE.Course_ID=GRADE.Course_ID and GRADE.STUDENT_ID='8730201' 2.表查询某班所有同学的信息 select * from STUDENT where Class_ID like '873%' 6.2更新 更新学号为8730102的学生的性别为女 Update student Set gender='女' From student Where Student_ID='8730102' 6.3插入 在学生信息表中新插入信息: Insert into Student Values ('','8734','许芯','女','1990-01-01','西安','西区','08级电商','230') Insert into Student Values ('2008','1234','黄斌','男','1993-11-04','渭南','东区','08级信管','310') Insert into Student Values ('2008','1234','魏韵','女','1993-06-21','运城','西区','08级信管','230') Insert into Student Values ('2008','1234','金野明','男','1992-01-01','西安','东区','08级信管','310') Insert into Student Values ('20092401006','2345','马志飞','男','1990-08-11','临汾','东区','09级管理','310') Insert into Student Values ('20102801015','4567','赵子龙','男','1991-11-01','昆明','东区','10级信管','320') Insert into Student Values (20102901001', '567','林羽墨','女','1990-09-01','西安','西区','10级电商','230') Insert into Student Values ('20102901005','567','郎江峰','男','1990-03-12','西安','东区','10级电商','310') Insert into Student Values (20102901006','567','李菁菁,'女','1990-01-01','西安','西区','10级电商','230') Insert into Student Values ('20102901004','567','付诗音','女','1992-05-15','西安','西区','10级电商','230') Insert into Student Values ('8734065','8734','吉亚尼','女','1992-11-21','西安','西区','08级电商','230') Insert into department Values ('01','信管','','李建国') Insert into department Values ('02','管理','','徐胜 ') Insert into department Values ('01','电商','','李雨生') Insert into class Values ('8734','03, '08级电商','刘星','23') Insert into class Values ('1234','01, '08级信管','张弛','33') Insert into class Values ('2345','02, '08级管理','陆翔','25') Insert into class Values ('4567','01, '10级信管','王雨','32') Insert into class Values ('567','03, '10级电商','郭燕','36 ') Insert into course Values ('2201',' Photoshop','5,'范朝奇','005') Insert into course Values ('2206',' 网站设计与规划','5,'焦华光','002') Insert into course Values ('2202',' java','5,'王玉贤','001') Insert into course Values ('2203',' 计算机网络','5,'赵金鹏','006') Insert into course Values ('2204',' c语言','5,'郭慧峰','003') Insert into course Values ('2205',' 管理学','5,'范海平','004') Insert into grade Values ('8734065','2201','78','5') Insert into grade Values ('8734065','2202','89','5) Insert into grade Values ('8734065','2203','69','5) Insert into grade Values ('20082301001','2201','77','5') Insert into grade Values ('20082301001','2206','74','5') Insert into grade Values ('20082301002','2204','66','5') Insert into grade Values ('20082301002','2205','69','5') Insert into grade Values ('20082301003','2203','86','5') Insert into grade Values ('20082301003','2205','75','5') Insert into grade Values ('20082301003','2006','69 ','5') Insert into grade Values ('20092401006','2201','65 ','5') Insert into grade Values ('20092401006','2203','68 ','5') Insert into grade Values ('20092401006','2206','85 ','5') Insert into grade Values ('20102801015','2202','97','5') Insert into grade Values ('20102801015','2206','87','5') Insert into grade Values (20102901001', '2205','85 ','5') Insert into grade Values (20102901001', '2206','77 ','5') Insert into grade Values ('20102901005','2202','65','5') Insert into grade Values ('20102901005','2204','68','5') Insert into grade Values ('20102901005','2206','77','5') Insert into grade Values (20102901006','2206','90,'5') Insert into grade Values (20102901006','2205','83,'5') Insert into grade Values ('20102901004','2203','69','5') Insert into grade Values ('20102901004','2204','69','5') Insert into grade Values ('8734065','2205','77','5') Insert into grade Values ('8734065','2206','87','5') 6.4删除 删除学号为8030200 的学生信息: Delete student Where student_ID=’’ 系统的演示界面 界面的菜单栏里包括六个部分,分别是系统,用户管理,班级管理,成绩管理,宿舍管理,课程管理,详细见下图所示: 登陆界面如图所示; 其中每个菜单(除系统外)的下拉菜单里都包括四个方面: 系统包括打开和退出系统: 用户管理里包括查询用户,新建用户,删除用户,修改密码四个方面: 查询用户界面如图所示: 删除用户界面如图所示: 新建用户界面如图所示: 修改密码界面如图所示: 班级管理里包括查询班级,增加班级,删除班级,修改班级信息四个方面: 查询班级界面如图所示: 删除班级界面如图所示: 添加班级界面如图所示: 修改班级界面如图所示: 查询成绩界面如图所示: 删除成绩界面如图所示: 添加成绩界面如图所示: 七、课程设计总结 这次数据库大作业,是从E-R图到数据表到数据录入以及相关sql语句的编写都是由小组自行完成。可以说是在整个这个学数据库学习的4个实验的总和。当然
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服