版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 学生信息管理系统数据库设计1目 录一、需求分析4组合的业务处理流程图:8二、概念分析9三、逻辑设计16四物理设计阶段24五、系统实现25六、主要代码31七、课程设计总结53班级信息查询班级信息删除班级信息增加班级信息修改系统课程信息管理学生信息管理系统成绩信息管理用户管理宿舍信息管理班级信息管理课程信息查询课程信息删除课程信息增加课程信息修改成绩信息查询成绩信息删除成绩信息增加成绩信息修改查询用户修改用户删除用户添加用户宿舍信息查询宿舍信息删除宿舍信息增加宿舍信息修改退出系统一、需求分析1.1功能需求分析总体任务的实现是建立在对系统正确的需求分析基础之上的。需求分析分是数据库系统开发的第一步
2、,也是最重要的一步。在大学的学习生活中学生的活动范围很广,信息量相对于以前增加,学生在学习生活中不仅仅与寝室和同班同系的同学联系有时候还要与自己所学学科的任课老师交流联系,还要与本系的辅导员以及自己所在寝室的宿舍管理员等进行联系,这些信息分布比较散乱,难于集合起来。所以创建该数据库尽可能的将与学生相关的信息集合起来,将一些数据结构化,方便用户查询。学生信息系统的基本情况由于整个系统是由多个部分组成,所以各个信息如下:(1)学生信息:记录在学校中学生的基本信息,包括姓名,学号,出生年月,所属院系,所在班级,联系电话等等;(2)教师信息:记录与学生相关的教师的基本信息,包括教师姓名,联系电话,教授
3、课程等等; (3)导师信息:记录学生所在院系的导师的相关信息,包括导师姓名,联系电话,领导院系等等; (4)宿舍信息:记录学生所住寝室的相关信息,包括寝室号和寝室宿管联系电话等等。1.2需求分析阶段的目标(1)信息要求:用户能够查找到有关学生的所有相关信息包括学生基本信息还有相关老师的信息(2)处理要求:当信息发生变化时,一些信息能够自行修改而不造成插入删除错误。(3)完整性要求:.各种信息记录的完整性,信息记录内容不能为空;.各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性。1.3信息需求分析院系的基本信息院系编号、院系名称、联系电话、院系主任班级的基本信息班级编号、院系编号、班
4、级名称、班长、学生数学生的基本信息 学号、班级编号、姓名、性别、出生日期、家庭住址课程的基本信息课程编号、课程名称、学分、讲师成绩的基本信息学号、课程编号、成绩、学分讲师的基本信息讲师编号、讲师姓名、教授班级、联系电话宿舍的基本信息宿舍编号、宿舍地址、联系电话、所属院系导师的基本信息导师编号、导师姓名、联系电话、所属院系1.4需求分析阶段成果根据实际业务处理过程,绘制业务流程图如图所示:(a)验证模块教务员注册信息注册表验证模块拒绝信息 (b)查询模块教务员院系信息表查询模块查询结果学生信息表课程信息表成绩信息表宿舍信息表查询信息(c)选课模块学生选课信息课程信息表选课模块选课结果选课信息表(
5、d)维护模块教务员维护信息维护模块维护结果院系信息表学生信息表课程信息表注册信息表组合的业务处理流程图:教务员查询维护信息注册表验证模块拒绝登录查询模块查询信息维护信息维护模块系信息表学生信息表课程信息表选课信息表维护结果jieguo结果维护结果数据流程图顶层数据流程图:教务管理系统注册信息验证查询要求查询结果修改要求修改结果教务员学生选课输入选课结果二层数据流程图:选课表教务员未通过维护查询学生验证注册信息注册信息未通过验证选课选课信息信息表注册表包括:系信息、学生信息、课程信息查询结果选课结果二、概念分析2.1对数据进行抽象概念结构是对现实的一种抽象。首先对于该数据库系统中涉及的数据进行分
6、类,及抽象了该数据库涉及数据的型与值,而在e-r图模型中,实体就是这种抽象;接着进行另一种抽象-聚集,即定义某一类型的组成成分。它抽象了该数据库涉及对象内部类型和成分,而在e-r模型中若干属性的聚集组成了实体型;最后在数据库中涉及对象中进行定义类型之间的一种子集联系。学生学号性别出生年月姓名班级住址所属院系寝室号1 学生实体与其属性班级班级编号院系编号班级名称学生数班长2.班级实体及其属性院系院系编号院系名称班级数院系主任联系电话3.院系实体及其属性成绩学号课程编号学分成绩4.成绩实体及其属性课程课程编号学分课程讲师5.课程实体及其属性讲师讲师编号讲师姓名电话所属院系教授课程6.讲师实体及其属
7、性宿舍宿舍地址宿舍编号所属院系宿舍电话7.宿舍实体及其属性导师导师编号导师姓名所属院系联系电话8.导师实体及其属性2.2创建局部应用,设计分e-r图整个系统中最核心的数据内容是学生信息,所有一切应用都是围绕着学生这些数据来进行的。将学生和班级院系结构化,方便查询学生所在班级院系的查询,创建有关的分e-r图如下:学生指导导师领导院系班级在这个应用或这个分e-r图中主要的应用是,当查询一个学生的班级和院系所涉及的数据时,这个应用能够将所涉及的院系和班级的详细信息集合在一起,而且在需要联系导师时能够将导师的联系电话等相关信息展现出来,方便了用户在查询涉及学生的相关导师、院系、班级的信息。(2)学生有
8、关课程和教师的数据结构话形成一个查询应用:学生成绩课程教授教师该应用主要是涉及学生上课这部分的查询,将学生涉及课程和教师的信息整合起来,这其中可以让用户查询有关对象指定课程的成绩和学分或是指定课程的任课老师的联系电话,方便同老师进行交流,或者时可以查询核定学生的所有学科的成绩或是查询某一科所有同学的成绩,并按照一定的顺序排序。(1) 学生有关宿舍的一个应用:学生宿舍该应用比较简单,时当用户在查询涉及指定对象的有关宿舍的基本信息,在这个应用中用户可以查询到指定用户的宿舍号和联系电话以及地址。能够方便的查询到所涉及的信息。2.3合并分e-r图,形成总e-r图学生宿舍指导导师领导院系班级成绩教授讲师
9、课程完整e-r图三、逻辑设计3.1完成关系模式的转化根据关系模式的转换规则可得到如下的关系模式,加下划线的属性为相应的主码。院系的基本信息(院系编号、院系名称、联系电话、院系主任)班级的基本信息(班级编号、院系编号、班级名称、班长、学生数)学生的基本信息(学号、班级编号、姓名、性别、出生日期、家庭住址)课程的基本信息(课程编号、课程名称、学分、讲师)成绩的基本信息(学号、课程编号、成绩、学分)讲师的基本信息(讲师编号、讲师姓名、教授班级、联系电话)宿舍的基本信息(宿舍编号、宿舍地址、联系电话、所属院系)导师的基本信息(导师编号、导师姓名、联系电话、所属院系)3.2数据字典 数据和表的建立表名含
10、义department院系class班级student学生course课程grade成绩 teacher讲师hourse宿舍director导师 表结构(1)、department表1-1 department表结构字段名数据类型字段含义约束dept_id decimal院系编号primary keydepartment varchar(50)院系名称not nullphone varchar(50)联系电话director varchar(50)院系主任(2)、class字段名数据类型字段含义约束class_idchar(7)班级编号primary keydept_id
11、 decimal院系编号foreign keyclass varchar(30)班级名称not nullmonitorvarchar(24)班长student_nodecimal学生数not null default 0(3)、student字段名数据类型字段含义约束student_idvarchar(9)学号primary keyclass_idchar(7)班级编号foreign keyname varchar(24)姓名not nullgender varchar(2)性别男,女birthdaydatetime出生日期addressvarchar(50)家庭地址h_idvarchar(5
12、0)寝室号departmentvarchar(50)所属院系h_idvarchar(50)宿舍编号foreign key(4)、course字段名数据类型字段含义约束course_id varchar(8)课程编号primary keycoursevarchar(50)课程not nullcredit decimal学分teachervarchar(50)讲师 t_idvarchar(50)(5)、grade字段名数据类型字段含义约束student_idvarchar(9)学号foreign keyprimary keycourse_id varchar(8)课程编号foreign
13、keygradedecimal成绩not nullg_valuedecimal学分not null (6)、teacher字段名数据类型字段含义约束t_idvarchar(9)讲师编号primary keyt_namevarchar(50)讲师姓名coursevarchar(50)教授课程t_phone varchar(50)电话departmentvarchar(50)所属院系insert into teacher values ('001','王玉贤',' java ','#39;,'信管',)
14、insert into teacher values ('002','焦华光','网站设计与规划','#39;,'电商',)insert into teacher values ('003','郭慧峰',' c语言','#39;,'信管',)insert into teacher values ('004','范海平','管理学','13565478
15、790','管理',)insert into teacher values ('005','范朝奇',' photoshop ','#39;,'电商',)insert into teacher values ('006','赵金鹏','计算机网络','#39;,'信管',)(7)、hourse字段名数据类型字段含义约束h_idvarchar(50)宿舍编号primary keyh_
16、addressvarchar(50)宿舍地址h_phonevarchar(50)联系电话departmentvarchar(50)所属院系insert into teacher values ('210', '西区','#39;,'信管',)insert into teacher values ('220', '西区','#39;,'电商',)insert into teacher values ('230', '
17、;西区','#39;,'信管',)insert into teacher values ('310', '东区','#39;,'管理',)insert into teacher values ('320', '东区','#39;,'管理',)(8)、director字段名数据类型字段含义约束d_idvarchar(9)导师编号primary keyd_namevarchar(24)
18、导师姓名d_phonevarchar(50)联系电话departmentvarchar(50)所属院系dept_idvarchar(50)院系编号foreign keyinsert into director values ('301', '东区','#39;,'信管', '01 ')insert into director values ('501', '东区','#39;,'电商', '03 ')in
19、sert into director values ('803', '东区','#39;,'管理', '02')insert into director values ('302', '东区','#39;,'信管', '01')3.3处理逻辑描述(判定表或判定树)判定条件决策判断用户查询涉及的功能模块系部基本信息模块、宿舍楼基本信息模块、学生基本信息模块、讲师基本信息模块、导师基本信息模块、学生成绩基本信
20、息模块、学生课程基本信息模块:先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中系部基本信息模块、宿舍楼基本信息模块、学生基本信息模块、讲师基本信息模块、导师基本信息模块、学生成绩基本信息模块、学生课程基本信息模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。四物理设计阶段4.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要
21、是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。4.2数据存储方面为数据库中各基本表建立的索引如下:1. 由于基本表class,student的主码class_id,student_id经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引;2. course的主码course_id,teacher经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引;3. 基本表student的一属性stuname,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引;4. 基本表hourse、directo
22、r的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引;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表
23、的建立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_i
24、d)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 varcha
25、r(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 gen
26、der); 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_idclass.class_id=student.class_idstudent.student_id=grade.student_idgrade.c
27、ourse_id=course_course_idcourse.t_id=teacher.t_idstudent.h_id=hourse.h_iddirector dept_idstudent h_idcourse t_id5.4 建立视图(1)用于查询和更新学生班级基本信息的视图定义如下create view classview(班级编号、班级名称、学生数、班长、 院系编号)select *from class(2)方便于宿舍楼基本信息查询、更新的视图定义如下:create view departmentview(院系编号、院系名称、联系电话 院系主任) asselect *from dep
28、artment (3) 显示学生基本信息的视图定义如下:create view stuview(学号、班级编号、姓名、性别、 出生日期、家庭地址、寝室号、 所属院系) asselect *from student(4) 可用于学生课程基本信息的查询、更新的视图定义如下: create view courseview(课程编号、课程、学分、讲师) asselect *from course(5)用于查询和更新 学生成绩基本信息的视图定义如下 create view gradeiew(学号、课程编号、成绩、学分)、 asselect *from grade(6)查询导师的基本信息的视图定义如下:c
29、reate view teacheriew(讲师编号、讲师姓名、教授课程、电话、 所属院系) asselect *from teacher (7)查询住宿信息的视图建立如下 create view hourseviewview(宿舍编号、宿舍地址、联系电话、 所属院系) asselect *from hourse (8)用于查询学生导师的视图建立如下 create view directorview(导师编号、导师姓名、联系电话、所属院系) asselect *from director 六、主要代码6.1 查询1.表查询某同学已登录的所有成绩:select course.course,gra
30、de.course_id,grade,g_valuefrom course,gradewhere course.course_id=grade.course_id and grade.student_id='8730201'2.表查询某班所有同学的信息select *from studentwhere class_id like '873%'6.2更新更新学号为8730102的学生的性别为女update student set gender='女'from studentwhere student_id='8730102'6.3插
31、入在学生信息表中新插入信息:insert into student values ('8734065','8734','许芯','女','1990-01-01','西安','西区','08级电商','230')insert into student values ('20082301001','1234','黄斌','男','1993-11-04','渭南'
32、,'东区','08级信管','310')insert into student values ('20082301002','1234','魏韵','女','1993-06-21','运城','西区','08级信管','230')insert into student values ('20082301003','1234','金野明','男'
33、;,'1992-01-01','西安','东区','08级信管','310')insert into student values ('20092401006','2345','马志飞','男','1990-08-11','临汾','东区','09级管理','310')insert into student values ('20102801015',
34、9;4567','赵子龙','男','1991-11-01','昆明','东区','10级信管','320')insert into student values (20102901001', '567','林羽墨','女','1990-09-01','西安','西区','10级电商','230')insert into student va
35、lues ('20102901005','567','郎江峰','男','1990-03-12','西安','东区','10级电商','310')insert into student values (20102901006','567','李菁菁,'女','1990-01-01','西安','西区','10级电商','230'
36、;)insert into student values ('20102901004','567','付诗音','女','1992-05-15','西安','西区','10级电商','230')insert into student values ('8734065','8734','吉亚尼','女','1992-11-21','西安','西区
37、9;,'08级电商','230')insert into department values ('01','信管','#39;,'李建国')insert into department values ('02','管理','#39;,'徐胜')insert into department values ('01','电商','#39;,
38、9;李雨生')insert into classvalues ('8734','03, '08级电商','刘星','23')insert into classvalues ('1234','01, '08级信管','张弛','33')insert into classvalues ('2345','02, '08级管理','陆翔','25')insert into clas
39、svalues ('4567','01, '10级信管','王雨','32')insert into classvalues ('567','03, '10级电商','郭燕','36 ')insert into coursevalues ('2201',' photoshop','5,'范朝奇','005')insert into coursevalues ('2206
40、39;,' 网站设计与规划','5,'焦华光','002')insert into course values ('2202',' java','5,'王玉贤','001')insert into coursevalues ('2203',' 计算机网络','5,'赵金鹏','006')insert into course values ('2204',' c语言'
41、,'5,'郭慧峰','003')insert into course values ('2205',' 管理学','5,'范海平','004')insert into gradevalues ('8734065','2201','78','5')insert into gradevalues ('8734065','2202','89','5)insert into
42、 gradevalues ('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
43、','66','5')insert into grade values ('20082301002','2205','69','5')insert into gradevalues ('20082301003','2203','86','5') insert into gradevalues ('20082301003','2205','75','5')insert
44、 into gradevalues ('20082301003','2006','69 ','5')insert into gradevalues ('20092401006','2201','65 ','5')insert into gradevalues ('20092401006','2203','68 ','5')insert into gradevalues ('20092401006&
45、#39;,'2206','85 ','5')insert into gradevalues ('20102801015','2202','97','5')insert into gradevalues ('20102801015','2206','87','5')insert into gradevalues (20102901001', '2205','85 ','5')insert into gradevalues (20102901001', '2206','77 ','5')insert into grade values ('20102901005','2202','65','5')insert into grade values ('2010
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年建筑安装工程项目合同
- 力课件教学课件
- 2024年广告代理合作协议
- 2024年工程咨询与技术服务合作协议
- 2024年度公司用车管理协议
- 2024年度建筑工程设计、施工购销合同
- 2024年度35kv高压线路施工合同
- 2024年度某影视公司与某投资公司关于某电影项目融资的合同
- 公司年会的演讲稿模板八篇
- 为世界无车日活动宣传标语(155句)
- 2024年中国南水北调集团水网水务投资限公司及下属单位社会招聘高频难、易错点500题模拟试题附带答案详解
- (新版)食品生产企业食品安全员理论考试题库500题(含答案)
- 七年级语文上册第13课《纪念白求恩》公开课一等奖创新教案
- 统编版语文六年级上册第八单元大单元整体教学设计
- 教师个人业务学习笔记(41篇)
- 2025年高考语文复习备考复习策略讲座
- 数学史上的三次数学危机
- 2024年水电暖安装承包合同
- 缺乳(乳汁淤积)产妇的中医护理
- 2024北师大版新教材初中数学七年级上册内容解读课件(深度)
- 2024年公共营养师三级考试试卷及答案
评论
0/150
提交评论