数据库课程设计学生学籍管理系统
- 格式:docx
- 大小:169.10 KB
- 文档页数:22
学生学籍管理系统数据库设计与实现一、概述学生学籍管理系统是一种提供学生信息管理以及相关协同工作的软件系统。
本文将介绍学生学籍管理系统的数据库设计与实现。
二、数据库需求分析1. 学生数据管理:包括学生基本信息、学号、姓名、性别、年龄、出生日期、家庭住址等。
2. 班级数据管理:包括班级名称、班主任、班级人数等。
3. 课程数据管理:包括课程名称、授课教师、上课时间、上课地点等。
4. 成绩数据管理:包括学生在每门课程中的成绩信息。
5. 其他辅助数据管理:包括教师信息、家长信息等。
三、数据库设计1. 学生表(Student)学号(ID):主键姓名(Name)性别(Gender)年龄(Age)出生日期(Birthdate)家庭住址(Address)2. 班级表(Class)班级编号(ClassID):主键班级名称(ClassName)班主任(Teacher)班级人数(StudentCount)3. 课程表(Course)课程编号(CourseID):主键课程名称(CourseName)授课教师(Teacher)上课时间(ClassTime)上课地点(ClassLocation)4. 成绩表(Score)学号(StudentID):外键,关联学生表的学号课程编号(CourseID):外键,关联课程表的课程编号成绩(Result)5. 教师表(Teacher)工号(TeacherID):主键姓名(Name)性别(Gender)年龄(Age)电话(Phone)电子邮箱(Email)6. 家长表(Parent)家长编号(ParentID):主键学生学号(StudentID):外键,关联学生表的学号姓名(Name)性别(Gender)电话(Phone)电子邮箱(Email)四、数据库实现1. 数据库软件选择:根据系统需求和数据库管理经验,我们选择使用MySQL数据库。
2. 创建数据库和表:根据上述数据库设计,创建相应的数据库和表格。
数据库学籍管理系统课程设计一、引言随着信息技术的不断发展和普及,大量学生信息需要被高效地管理和记录。
数据库学籍管理系统应运而生,旨在提高学生信息管理的效率和准确性。
本文将针对数据库学籍管理系统进行设计与分析。
二、系统概述数据库学籍管理系统旨在管理学生的基本信息、课程信息、成绩信息等内容。
其主要功能包括学生信息录入、查询、修改、删除、课程表管理、成绩录入和查询等。
系统通过数据库技术实现数据的存储、管理和查询,提供方便快捷的操作界面供用户使用。
三、系统需求分析1.学生管理:包括学生基本信息、入学年份、学籍状态等;2.课程管理:包括课程名称、课程编号、学分等;3.成绩管理:录入、修改、查询学生成绩;4.用户权限管理:确定管理员和普通用户权限;5.界面友好性:设计简洁、易操作的用户界面。
四、数据库设计1. 学生信息表(Student)•字段:学生编号(StudentID)、姓名(Name)、性别(Gender)、入学年份(EnrollmentYear)等;•主键:学生编号(StudentID)。
2. 课程信息表(Course)•字段:课程编号(CourseID)、课程名称(CourseName)、学分(Credit)等;•主键:课程编号(CourseID)。
3. 成绩信息表(Score)•字段:学生编号(StudentID)、课程编号(CourseID)、成绩(Grade)等;•主键:学生编号(StudentID)、课程编号(CourseID)。
五、系统设计与实现1. 界面设计通过Web页面实现用户操作,包括学生信息录入、查询、修改、课程管理、成绩管理等功能。
2. 数据库设计使用MySQL数据库存储学生信息、课程信息和成绩信息,建立Student、Course、Score三张表。
3. 后端开发采用Python语言结合Flask框架实现后端逻辑,实现与数据库的交互和数据处理。
4. 前端开发利用HTML、CSS和JavaScript实现用户友好的前端界面,与后端进行数据交互。
使用数据库语言编写的学生学籍管理系统学生学籍管理系统是一种通过数据库语言进行编写的学生信息管理工具。
它可以帮助学校或教育机构有效地管理学生的个人信息、学习成绩、出勤记录等数据。
本文将就学生学籍管理系统的概念、功能以及实现方法进行阐述。
一、引言学生学籍管理系统是一种利用数据库语言编写的软件系统,旨在方便学校或教育机构对学生的信息进行统一管理和查询。
随着现代教育的发展和学生数量的增加,传统的手工记录已经无法满足管理的需求,因此,采用数据库语言来编写学生学籍管理系统成为较为理想的选择。
二、学生学籍管理系统的功能1. 学生信息管理:学生学籍管理系统能够记录学生的基本信息,包括姓名、性别、年龄、籍贯等,同时还可以添加照片或证件扫描件等附件信息,方便学校进行身份识别和查询。
2. 学生成绩管理:学生学籍管理系统能够记录学生的考试成绩和平时成绩,提供成绩录入、查询和统计功能,帮助学校全面了解学生的学习情况。
3. 学生出勤管理:学生学籍管理系统能够记录学生的出勤情况,包括迟到、早退、请假等情况。
通过系统的统计功能,学校可以及时掌握学生的出勤情况,以便进行相应的管理和调整。
4. 学生费用管理:学生学籍管理系统还可以记录学生的缴费情况,包括学费、住宿费、食堂费等费用的缴纳记录。
学校可以通过系统的财务模块,对学生的费用情况进行统计和审核。
5. 数据安全管理:学生学籍管理系统具备数据备份和恢复的功能,以及权限管理和操作记录功能,确保学生的个人信息安全可靠。
三、学生学籍管理系统的实现方法1. 数据库选择:学生学籍管理系统通常采用关系型数据库来存储和管理数据,如MySQL、Oracle等。
选择合适的数据库可以根据具体需求和资源情况进行决策。
2. 数据库设计:在实现学生学籍管理系统时,需要先进行数据库的概念设计和逻辑设计,包括表的设计、字段的定义和关系的建立等。
3. 数据库编程:学生学籍管理系统的开发主要依赖于数据库语言,如结构化查询语言(SQL),开发人员需要根据需求编写相应的SQL 语句来实现各项功能。
数据库学籍管理系统课程设计随着信息化的发展,各个领域的管理都越来越需要借助计算机来实现。
在高校中,学籍管理是一项非常重要的工作,其管理水平的高低直接影响着学校的办学质量。
为了提高学籍管理的效率和准确性,本文提出了一种基于数据库的学籍管理系统设计方案。
一、系统需求分析我们需要对学籍管理系统的功能需求进行分析。
学籍管理系统需要能够完成以下功能:1. 学生信息管理:包括学生基本信息、学籍信息、成绩信息等;2. 教师信息管理:包括教师基本信息、教学信息、教学成果等;3. 课程信息管理:包括课程基本信息、选课信息、考试信息等;4. 班级信息管理:包括班级基本信息、班级成员等;5. 用户管理:包括管理员、教师、学生等用户的权限管理。
二、系统设计方案1. 数据库设计在学籍管理系统中,数据库是至关重要的。
本系统中,采用MySQL数据库进行数据存储和管理。
数据库的设计应该遵循范式化设计原则,以保证数据的完整性和一致性。
具体地,可以考虑以下表的设计:- 学生表:包括学生ID、姓名、性别、出生日期、学籍号、年级、专业等字段;- 教师表:包括教师ID、姓名、性别、出生日期、职称、所属学院等字段;- 课程表:包括课程ID、课程名称、课程学分、任课教师等字段;- 成绩表:包括成绩ID、学生ID、课程ID、成绩等字段;- 班级表:包括班级ID、班级名称、班主任等字段。
2. 系统界面设计学籍管理系统的界面设计应该符合操作习惯,方便用户使用。
具体地,可以按照以下设计思路:- 登录界面:用户登录时需要输入用户名和密码,以验证身份;- 学生信息管理界面:管理员可以对学生的基本信息、学籍信息、成绩信息进行管理,包括添加、修改、删除等操作;- 教师信息管理界面:管理员可以对教师的基本信息、教学信息、教学成果进行管理,包括添加、修改、删除等操作;- 课程信息管理界面:管理员可以对课程的基本信息、选课信息、考试信息进行管理,包括添加、修改、删除等操作;- 班级信息管理界面:管理员可以对班级的基本信息、班级成员等进行管理,包括添加、修改、删除等操作;- 用户管理界面:管理员可以对管理员、教师、学生等用户的权限进行管理,包括添加、修改、删除等操作。
课程设计报告科目:数据库系统设计题目:学生学籍管理系统专业:计算机科学与技术姓名:数据库设计一. 需求分析1.数据需求: (1)数据字典主要涉及到以下七个表,分别为:专业参照表、班级信息表、课程表、学生基本信息表、教学计划表、教师授课表、学生成绩表。
以下是数据字典:专业参照表班级信息表课程表学生基本信息表教学计划表教师授课表(假设教师无重名)学生成绩表 2. 功能需求:(1)录入一位学生,包含学号、姓名、性别、出生年月、班级等信息 (2)按学号、姓名、专业三种方式查询学生基本信息 (3)录入一学生成绩(5)查询一位学生的必修课平均成绩、所有课程平均成绩(平均成绩应按学分加权)(6)查询一位学生被哪些教师教过课(7)查询快要被开除的学生(距被开除差3学分之内)二.数据库设计1.概念结构设计局部ER图整体的ER图2. 逻辑结构设计(1)ER图转换为关系模型由ER图可见:图中有五个实体:专业,课程,班级,教师和学生;五个关系:专业和班级的1:n二元关系、专业和课程的1:n二元关系,学生和班级的1:n二元关系、教师、课程和班级的三元关系、学生和课程的1:n二元关系。
由于每个实体必须构造表,所以可以先得到五个实体的信息表,实体的码就是关系的码,实体的属性即关系模型的属性:(有下划线的属性为主码,斜体的属性为外码)学生信息表:S (sno, sname, ssex, sbirth)课程信息表:C (cno, cname, cnature, cterm, ccredit)专业信息表:M (mno, mname)教师信息表:T (tno, tname)班级信息表:L (lno)对应的属性分别为:学号,姓名,性别,出生日期课程编号,课程名,课程性质,课程学期,课程学分专业编号,专业名教师编号,教师名班级编号转换为关系的属性,而关系的码为n端实体的码。
以上ER图中学生和班级的关系、学生和课程的关系、专业和班级的关系、专业和课程的关系为1:n关系,所以转换的关系模式为:学生分班表:SL (sno, lno)专业分班表:LM (lno, mno)专业教学表:MC(mno, cno)学生选课表:SC (sno, cno, score)对于3个或3个以上实体间的一个多元关系可以转换为一个关系模式。
数据库实验报告一实验名称学生学籍管理系统二实验目的数据库课程设计实验是一门独立开设的实验课程。
数据库课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
本课程设计实验主要数据库设计,进行数据库编程实践。
通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。
1. 掌握数据库设计的基本方法,熟悉数据库设计的步骤;2. 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;要求学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的.三实验简述随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。
在各大中小学校,用计算机管理学校的信息已经越来越普遍了。
用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性,提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
该课程设计要求设计一个学籍管理的数据库系统,数据库中包含学生的基本信息,学校院系信息,班级信息以及课程设置的信息。
同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。
而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。
我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
四系统设计与实现1.数据库设计(1)概念结构设计(E-R图)⑵逻辑结构设计,完整性约束设计与实现学生信息:(学号,姓名,入学时间,班号,性别,联系电话,出生日期,专业,状态)课程信息:(课程号,课程名,课程类型,学分)班级信息:(班号,年级,专业,班主任)选课表:(学号,姓名,课程号,课程名)教学计划:(年级,专业,学期,课程名)⑶整理《数据库表目录》和《数据库结构表》数据库表/视图一览表表3.1 学生信息表表3.4 选课表2. 系统设计 (1)程序功能模块图(2)功能描述,包括查询内容实现学生基本情况的录入,修改,删除等基本操作.对学生基本信息提供灵活的查询方式. 完成一个班级的学期选课功能.实现学生成绩的录入,修改,删除等基本操作. 能方便的对学生的各学期成绩进行查询.具有成绩统计,排名等功能.具有留级,休学等特殊情况的处理功能.能输出常用的各种报表.具有数据备份和数据恢复功能.学生成绩表的设计,要考虑到不同年级的教学计划的变化3. 系统实现⑴建立数据库对象,查询语句的全部SQL命令(存储过程)create table学生信息(学号int primary key NOT NULL,姓名char(10),性别char(2),出生日期datetime,班号char(12),年级char(10),电话号码char(11),入学日期datetime,专业char(10),状态char(10),)create table课程信息(课程号char(10)primary key not null,课程名char(10),课程类型char(10),学分char(10))create table班级信息(班号char(12)primary key not null,年级char(10),班主任char(10),专业char(10))create table选课表(学号char(10),姓名char(10),年级char(10),课程号char(10),课程名char(10),)create table成绩信息(学号int not null,姓名char(10),课程号char(10),课程名char(10),成绩float(8),学分char(10),学期int)Create table教学计划表(年级char(10),专业char(10),班号char(12),学期int,课程号char(10),课程名char(10),)CREATE procedure添加学生信息(@学号int,@姓名char(10),@性别char(2),@出生日期datetime,@班号char(12),@电话号码char(11),@入学日期datetime,@专业char(10),@状态char(10),@回复char(20)output)asif exists(select*from学生信息where学号=@学号)beginset @回复='本条记录已经存在'endelseinsertinto学生信息values(@学号,@姓名,@性别,@出生日期,@班号,@电话号码,@入学日期,@专业,@状态) GOCREATE procedure删除学生信息(@学号int)asif exists(select*from学生信息where学号=@学号)DELETEFROM学生信息WHERE学号in(@学号)if exists(select*from选课表where学号=@学号)DELETEFROM选课表WHERE学号in(@学号)if exists(select*from成绩信息where学号=@学号)DELETEFROM成绩信息WHERE学号in(@学号)GoCREATE PROCEDURE修改学生信息(@学号int,@姓名char(10),@性别char(2),@出生日期datetime,@班号char(12),@电话号码char(11),@入学日期datetime,@专业char(10),@状态char(10))asUPDATE学生信息SET学号=@学号,姓名=@姓名,性别=@性别,出生日期=@出生日期,班号=@班号,电话号码=@电话号码,入学日期=@入学日期,专业=@专业,状态=无WHERE学号=@学号Gocreate procedure查询学生信息@姓名char(10)asSELECT*FROM学生信息WHERE姓名=@姓名gocreate procedure班级选课(@班号char(12),@年级char(10),@专业char(10),@学期int)AsInsertInto选课表Values('select学号from学生信息where(年级=@年级and班号=@班号and专业=@专业)','select姓名from学生信息where(年级=@年级and班号=@班号and专业=@专业)','select课程号from教学计划where(年级=@年级and班号=@班号and专业=@专业and 学期=@学期)','select课程名from教学计划where(年级=@年级and班号=@班号and专业=@专业and学期=@学期),select学分from课程信息where课程号=(select课程号from教学计划where年级=@年级and班号=@班号and专业=@专业)')GoCreate procedure添加成绩信息(@学号int,@姓名char(10),@课程号char(10),@课程名char(10),@成绩float(8),@学分char(10))AsInsert into成绩信息Values(@学号,@姓名,@课程号,@课程名,@成绩,@学分)GoCreate procedure删除成绩信息(@学号int)AsDELETEFROM成绩信息WHERE学号in(@学号)GoCreate procedure修改成绩信息(@学号int,@姓名char(10),@课程号char(10),@课程名char(10),@成绩float(8),@学分char(10))AsUpdate成绩信息set学号=@学号,姓名=@姓名,课程号=@课程号,课程名=@课程名,成绩=@成绩,select学分from课程信息where课程号=@课程号where学号=@学号GoCreate procedure成绩查询@学号,@学期AsSelect学号,姓名.成绩from成绩信息where学号=@学号and学期@学期、GoCreate procedure成绩排名(@班号char(12),@年级char(10),@专业char(10))AsSelect学号,姓名,成绩from成绩信息,班级信息where成绩信息.(select学号from学生信息where班号=@班号and年级=@年级and专业=@专业)=班级信息.(select学号from学生信息where班号=@班号and年级=@年级and专业=@专业)Order by成绩DESCGoCreate procedure成绩统计(@班号char(12),@年级char(10),@专业char(10))AsSelect sum(成绩)总成绩from成绩信息,班级信息where成绩信息.(select学号from学生信息where班号=@班号and年级=@年级and专业=@专业)=班级信息.(select学号from学生信息where班号=@班号and年级=@年级and专业=@专业)Group by学号GoCreate procedure留级休学AsIf((select sum(学分)from成绩信息group by学期)<=20)Begin update学生信息set状态='留级'EndElseBeginUpdate学生信息set状态='null'EndGo数据库备份Use masterGoExec sp_addumpdevice’disk’,’学生管理系统_1’,DISK=”c:\Program Files\Microsoft SQL Sever\MSSQL\BACKUP\学生管理系统_1.dat”GoBACKUP DATABASE学生管理系统TO学籍管理系统_1Go还原数据库备份RESTORE DATABASE学生管理系统From学籍管理系统_1Go。
数据库学生学籍管理系统设计一、需求分析在现代教育管理中,学生学籍管理是一个重要的组成部分。
为了更高效、准确地管理学生的学籍信息,设计一个数据库学生学籍管理系统势在必行。
该系统应能够方便地记录学生的基本信息、课程成绩等数据,并实现对学生信息的查询、修改、删除等功能。
为满足实际需求,我们将设计一个高效、易用的数据库学生学籍管理系统。
二、系统功能设计1. 学生信息管理系统应能够录入、查询、修改和删除学生的基本信息,包括学号、姓名、性别、班级、联系方式等。
2. 课程信息管理系统应支持录入课程信息,包括课程编号、课程名称、学分等。
3. 成绩管理系统应能够记录学生的课程成绩,包括学生学号、课程编号、成绩等信息。
4. 查询功能系统应提供综合查询功能,可以根据学生学号、课程名称等条件进行查询。
5. 统计功能系统应支持按条件进行数据统计,如统计某门课程的平均成绩、某学生的绩点等。
三、数据库设计1. 学生表•学生编号(主键)•学生姓名•性别•班级•联系方式2. 课程表•课程编号(主键)•课程名称•学分3. 成绩表•学生编号•课程编号•成绩四、系统界面设计根据功能设计分别设计出相应的界面,确保简洁易用。
五、系统部署与测试系统应在数据库环境下部署,并进行测试,确保系统可以稳定运行、数据准确无误。
六、总结本文基于对数据库学生学籍管理系统的设计思路进行了详细阐述,通过系统功能设计、数据库设计、界面设计、系统部署与测试等方面的分析,为构建一个高效、便捷的数据库学生学籍管理系统奠定了基础。
希望该系统能够满足实际需求,提高学生学籍管理效率。
高校学籍管理系统数据库课程设计一、介绍高校学籍管理系统是高校学生信息管理的重要组成部分,其建设涉及学生的各类信息管理和学校资源的整合利用。
数据库课程设计是计算机专业学生的重要课程之一,通过设计高校学籍管理系统数据库,可以帮助学生深入理解数据库的相关知识和实际应用,提高他们的数据库设计和管理能力。
二、深入评估1. 主题分析高校学籍管理系统数据库课程设计是一个综合性的课程设计项目,涉及数据库设计、数据管理、系统架构等多个方面的知识。
在课程设计过程中,学生需要综合运用所学的数据库理论知识和技术手段,设计一个完整的学籍管理系统数据库,包括学生信息、课程信息、教师信息、成绩管理等多个模块。
2. 深度分析在进行高校学籍管理系统数据库课程设计时,学生需要首先对系统的功能需求进行分析。
这包括对学校学籍管理的实际需求进行调研和分析,确定系统需要支持的功能和业务流程。
学生需要进行数据库设计,包括实体关系模型设计、数据库表结构设计、数据字典编制等,在设计过程中需要考虑到数据的一致性、完整性和安全性。
学生需要进行系统实现和测试,包括数据库的创建和填充、系统界面的设计和开发、系统功能的测试和调试等,最终完成一个完整的高校学籍管理系统数据库课程设计项目。
3. 广度分析高校学籍管理系统数据库课程设计涉及的知识领域非常广泛,涵盖了数据库理论、数据库设计、数据库管理、系统分析与设计、软件工程等多个方面的知识。
在课程设计过程中,学生需要综合运用这些知识,进行系统化的设计和实现工作。
高校学籍管理系统数据库课程设计不仅可以帮助学生巩固数据库理论知识,还可以培养他们的系统设计和实现能力,为他们未来的工作和学习打下坚实的基础。
三、文章撰写在这篇文章中,我将会结合深度和广度的要求,对高校学籍管理系统数据库课程设计进行全面的评估和探讨,帮助读者更深入地理解这一课程设计项目的重要性和复杂性。
高校学籍管理系统数据库课程设计的重要性不言而喻。
作为计算机专业学生的重要课程之一,这一课程设计项目对学生的数据库设计和管理能力有着重要的培养作用。
学籍管理系统源课程设计一、课程目标知识目标:1. 学生能够理解学籍管理系统的基础知识,掌握数据库的基本概念和操作方法。
2. 学生能够掌握学籍管理系统中的数据表设计,了解表与表之间的关系。
3. 学生了解学籍管理系统的功能模块,并掌握其基本操作流程。
技能目标:1. 学生能够运用所学知识,独立完成学籍管理系统的数据表设计。
2. 学生能够使用数据库管理软件,对学籍管理系统进行基本的数据操作,如添加、修改、删除和查询。
3. 学生能够通过小组合作,共同完成学籍管理系统的功能模块设计和实现。
情感态度价值观目标:1. 学生培养对信息技术的兴趣和热情,认识到信息技术在现实生活中的重要性。
2. 学生在学习过程中,培养解决问题的能力,增强自信心和自主学习能力。
3. 学生通过小组合作,培养团队协作精神,学会与他人共同解决问题。
课程性质:本课程为信息技术学科,结合实际生活中的学籍管理系统,让学生在掌握基础知识的同时,提高实际操作能力。
学生特点:学生为初中年级,对信息技术有一定的基础,具备一定的自学能力和探究精神。
教学要求:注重理论与实践相结合,培养学生的动手操作能力和实际问题解决能力,同时关注学生的情感态度价值观的培养。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 数据库基础知识:介绍数据库的基本概念、数据表、字段、记录等要素,使学生理解学籍管理系统数据库的结构。
- 教材章节:第三章 数据库基础- 内容列举:数据库的定义、数据表的设计、字段属性、主键与外键2. 数据表设计:讲解学籍管理系统中的数据表设计方法,包括表与表之间的关系,如学生表、课程表、成绩表等。
- 教材章节:第四章 数据表设计- 内容列举:表与表之间的关系、实体关系图、数据表设计原则3. 数据库操作:教授学籍管理系统中常用的数据库操作,如添加、修改、删除和查询数据。
- 教材章节:第五章 数据库操作- 内容列举:数据添加、修改、删除、查询命令、SQL语句基础4. 学籍管理系统功能模块:分析学籍管理系统的功能模块,如学生信息管理、课程管理、成绩管理等,并进行实际操作演示。
1 开发背景1.1 课题背景学生学籍信息是学校的一项非常重要的数据资源,因为它的复杂性而难以单纯依靠人工进行管理,这样的管理不仅不规范效率也很低。
为此本系统针对高校学生信息的特点以及管理中的弊端进行设计,以实现学生学籍信息管理的电子化,减轻了管理人员的工作负担,能够规范、高效的管理大量的学生系,并避免人为操作错误和不规范行为。
同时还提供给学生查询自身某些信息的功能,使信息管理更加方便和有效。
1.2 课题实现运用SQL Server2000的企业管理器和查询分析器建立数据库,并运用SQL 语句对数据库进行相关的查询、添加和修改等操作,运用Visual Baisc6.0做出学籍管理系统,连接数据库,使用户可以在学籍管理系统界面上轻松的进行相关操作。
1.3 软件介绍1.3.1 SQL Server2000SQL Server 2000 是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超Oracle 数据库的趋势。
用它可以方便地管理数据库和开发应用程序,它使用了最先进的数据库构架,与Windows NT/2000 平台紧密集成,具有完全的Web 功能。
1.3.2 Visual Baisc6. 0微软公司的Visual Basic 6.0 是Windows 应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。
Visual Basic 提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
利用Visual Basic 程序设计语言,可以很方便地设计出在Windows环境下运行的应用程序。
故而,实现本系统VB 是一个相对较好的选择。
2 系统开发1.1 数据库设计数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理设计、数据库实施阶段和数据库的运行和维护阶段。
1.1.1需求分析系统管理功能:实现用户基本信息查询和重新登录。
系信息管理功能:实现系信息的添加、查询和修改操作。
班级信息管理功能:实现班级信息的添加、删除、修改和查询操作。
学籍信息管理功能:实现对学生信息的添加、删除、查询和修改操作。
根据对学生学籍管理系统的需求分析,一个标准的学生学籍管理系统应该包含系统管理、系信息管理、班级信息管理和学籍信息管理等功能,如图1.1所示。
对于每个功能模块都包含了一系列的子模块。
图1.1 学生学籍管理系统功能1.1.2概要结构设计此学生学籍信息管理系统包括4个实体,学生、系、班级和专业。
它们的关系模式如下:学生STUDENT (学号,姓名,年龄,班号)班CLASS (班号,专业名,系名,入学年份)系DEPARTMENT (系号,系名)专业MASTER(专业名).图1.1 学生实体属性图1.2 班级实体属性图1.3 系实体属性图1.4专业实体属性学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。
图1.5 实体-联系E-R图1.1.3逻辑结构设计( 1 ) 根据系统要求实际数据表如下表1.1学生表( 2 ) 各表之间的联系如下图图1.6 表联系图1.1.4详细设计1 用SQL语言完成以下功能:( 1 ) 每个表建表的主外码系信息表代码如下:use XJGLgocreate table DEPT( deptid char ( 10 ) not null,deptname nvarchar (10 ) primary key ,) ;班级信息表代码如下:use XJGLgocreate table CLASS( classid char ( 8 ) primary key,proname nvarchar ( 20 ) not null,deptname nvarchar ( 10 ) not null,smalldatetime not null) ;学生信息表代码如下:create table STUDENT( sno char ( 5 ) primary keysname nvarchar ( 10 ) not null,sage int not null,classid char ( 8 ) not null,) ;各表外码声明如下:use XJGLgoalter table STUDENTadd foreign key ( classid ) references CLASS ( classid )alter table CLASSadd foreign key ( deptname ) references DEPT ( deptname )( 2 ) 每个班级的人数不能超过30人。
alter table CLASS add studentnum smallintcreate rule studentnum_rule as @ studentnum > = 0 and @ studentnum < = 30( 3 ) 学生的年龄介于15到40岁之间。
alter table STUDENTadd check ( sage between 15 and 40 )( 4 ) 只有班里没有学生的时候,才能删除该班级。
deletefrom CLASSwhere studentnum = 02 插入如下数据CLASS (101,软件,计算机,1995; 102,微电子,计算机,1996;111,无机化学,化学,1995; 112,高分子化学,化学,1996;121,统计数学,数学,1995; 131,现代语言,中文,1996;141,国际贸易,经济,1997; 142,国际金融,经济,1996;) STUDENT (8101,张三,18,101; 8102,钱四,16,121;8103,王玲,17,131; 8105,李飞,19,102;8109,赵四,18,141; 8110,李可,20,1428201,张飞,18,111; 8302,周瑜,16,112;8203,王亮,17,111; 8305,董庆,19,102;8409,赵龙,18,101; 8510,李丽,20,142 ) DEPARTMENT(数学; 002,计算机;003,化学; 004,中文;005,经济;)代码如下:insert into DEPT values ( ' 001 ' , ' 数学 ' )insert into DEPT values ( ' 002 ' , ' 计算机 ' )insert into DEPT values ( ' 003 ' , ' 化学 ' )insert into DEPT values ( ' 004 ' , ' 中文 ' )insert into DEPT values ( ' 005 ' , ' 经济 ' )insert into CLASS values ( ' 101 ' , ' 软件 ' , ' 计算机 ' , ' 1995 ' , ' 2 ' ) insert into CLASS values ( ' 102 ' , ' 微电子 ' , ' 计算机 ' , ' 1996 ' , ' 2 ' ) insert into CLASS values ( ' 111 ' , ' 无机化学 ' , ' 化学 ' , ' 1995 ' , ' 2 ' ) insert into CLASS values ( ' 112 ' , ' 高分子化学 ' , ' 化学 ' , ' 1996 ' , ' 1 ' ) insert into CLASS values ( ' 121 ' , ' 统计数学 ' , ' 数学 ' , ' 1995 ' , ' 1 ' ) insert into CLASS values ( ' 131 ' , ' 现代语言 ' , ' 中文 ' , ' 1996 ' , ' 1 ' ) insert into CLASS values ( ' 141 ' , ' 国际贸易 ' , ' 经济 ' , ' 1997 ' , ' 1 ' ) insert into CLASS values ( ' 142 ' , ' 国际金融 ' , ' 经济 ' , ' 1996 ' , ' 2 ' ) insert into STUDENT values ( ' 8101 ' , ' 张三 ' , ' 18 ' , ' 101 ' )insert into STUDENT values ( ' 8102 ' , ' 钱四 ' , ' 16 ' , ' 121 ' )insert into STUDENT values ( ' 8103 ' , ' 王玲 ' , ' 17 ' , ' 131 ' )insert into STUDENT values ( ' 8105 ' , ' 李飞 ' , ' 19 ' , ' 102 ' )insert into STUDENT values ( ' 8109 ' , ' 赵四 ' , ' 18 ' , ' 141 ' )insert into STUDENT values ( ' 8110 ' , ' 李可 ' , ' 20 ' , ' 142 ' ) insert into STUDENT values ( ' 8201 ' , ' 张飞 ' , ' 18 ' , ' 111 ' ) insert into STUDENT values ( ' 8203 ' , ' 王亮 ' , ' 17 ' , ' 111 ' ) insert into STUDENT values ( ' 8302 ' , ' 周瑜 ' , ' 16 ' , ' 112 ' ) insert into STUDENT values ( ' 8305 ' , ' 董庆 ' , ' 19 ' , ' 102 ' ) insert into STUDENT values ( ' 8409 ' , ' 赵龙 ' , ' 18 ' , ' 101 ' ) insert into STUDENT values ( ' 8510 ' , ' 李丽 ' , ' 20 ' , ' 142 ' ) 3 完成以下查询功能( 1 ) 找出所有姓李的学生,并按其年龄由小到大排序。