资源描述
学生管理系统数据库系统概论综合设计1第一章第一章系统概要介绍系统概要介绍.1一、系统研发背景.1二、系统研发目的.2三、系统研发意义.2四、系统使用用户.3五、用户使用权限.3六、系统实现的功能.4第二章第二章需求分析需求分析.6一、系统开发环境.6二、功能划分与描述.61、班级管理.62、课程管理.63、成绩管理.74、档案管理.75、奖、惩管理.76、奖学金、助学贷款管理.87、用户管理.88、财务管理.8三、系统的运行需求.8第三章第三章概念结构设计概念结构设计.10一、抽象实体.10二、实体间的联系.10三、系统 ER 图.121、系统ER模型图.122、系统用户信息实体ER图.123、学生基本信息实体ER图.134、课程信息实体ER图.135、成绩信息实体ER图.146、院系信息实体ER图.147、班级信息实体ER图.158、贷款信息实体ER图.159、奖学金信息实体ER图.1610、奖惩信息实体ER图.1611、教工信息实体ER图.17第四章第四章逻辑结构设计逻辑结构设计.18一、数据定义.18二、结构设计.21附录附录 SQL 语句及实现过程语句及实现过程 .22一、数据库创建.222二、数据库创建.22三、基本表创建.24四、创建视图.28五、用户授权.30(一).SQL实现方式.30(二) 。可视界面实现方式.31六、操作举例.331第一章第一章 系统概要介绍系统概要介绍一、一、 系统研发背景系统研发背景学生管理系统是一个综合性管理软件,该系统可以实现信息的规范管理、信息快速查询等功能,极大地方便了学生信息的更新、维护和查询,提高了学生信息管理的效率,降低学生管理的成本,提高管理水平。然而长期以来,很多地方高校基本上都是使用传统人工的方式来管理学生信息。而这种传统的管理方式随着科学技术的发展也渐渐的显现出效率低下、保密性差等弊端。另外,随着时间的增长将会产生大量的文件和数据,这对于查找、更新和维护都带来了很多的困难。随着技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生管理的效率,也是科学化、正规化管理与世界接轨的重要条件。因此,开发这样一套管理软件是十分有必要的事情。2二、二、 系统研发目的系统研发目的学生信息管理系统作为高校信息化建设的主要组成部分,主要解决以下问题:1 、工作量大,效率低下2 、数据共享问题3 、网络化程度低,资源浪费4 、对学生信息动态管理三、三、 系统研发意义系统研发意义1、学生信息管理是十分繁重和琐碎的工作。由于大多数的信息资料都是纸质的,无论是分类还是校对,都要耗费大量的人力资源和时间,致使效率低下。对信息资料进行网上管理以后可以避免很多无用的工作,使工作便于开展,提高了效率.2、现在高校的许多部门都是分别统计和校对各自的信息,缺乏应有的信息共享,存在信息反复收集的现象。学生信息管理系统的实现,使信息对各个部门开放,可以直接使用,这样一来促进了各部门之间的沟通交流,对提高高校的管理效率、增加高校的竞争力起着不可替代的作用。3、传统的学生信息管理,全部都是纸质资料,这些资料给高校各部门工作带来了许多不便,无论是在存放还是在管理上都存在着严重的资源浪费.本系统可以避免这种不合理的资源浪费,加快高校的信3息化进程。4、传统的学生信息管理形式,缺乏条理和延续性,对年数已久的资料查找和管理工作成为十分困难的问题。本系统的应用,实现了对学生信息的动态管理,使所有的资料一目了然,而且方便了查询工作,进一步提高了高校各部门的工作效率。综上所述,高校学生信息管理系统的开发是高校信息化建设的需求,本系统的实现,符合我国高校的实际情况,为各高校的日常工作和管理体系提供了必要的平台支撑和技术保障.四、四、 系统使用用户系统使用用户1、系统管理员2、教务管理员3、奖惩管理员4、教职工5、学生五、五、 用户使用权限用户使用权限1 1、系统管理员、系统管理员添加班级信息,修改班级信息,查询班级信息,添加档案信息,修改档案信息,查询档案信息,设置课程信息,添加奖学金信息,修改奖学金信息,查询奖学金信息,添加贷款信息,修改贷款信息,查4询贷款信息,添加奖惩信息,修改奖惩信息,查询奖惩信息,添加学生成绩信息,修改学生成绩信息,查询学生成绩信息,院系设置,添加用户,修改密码,修改权限,删除用户等。2 2、教务管理员、教务管理员添加班级信息,查询班级信息,添加档案信息,查询档案信息,设置课程信息,添加奖学金信息,查询奖学金信息.3 3、奖惩管理员、奖惩管理员添加奖惩信息,修改奖惩信息,查询奖惩信息.4 4、财务管理员财务管理员修改奖学金信息,查询奖学金信息,添加贷款信息,修改贷款信息,查询贷款信息,添加工资信息。5 5、教职工、教职工查询档案信息,查询工资奖金信息,查询课程信息,录入学生成绩,查询学生成绩信息,修改密码6 6、学生、学生查询班级信息,查询档案信息,查询奖学金信息,查询贷款信息,查询奖惩信息,查询学生成绩信息,修改密码。六、六、 系统实现的功能系统实现的功能我们通过自身的经历,在初步调查后得到我校管理学生信息的请况:5当新生入学时,各班班主任先在学生档案单上填写好自己所管理的班级的学生档案情况,然后将学生学籍单交到教学系部,再由教学系部进行学生信息的录入。在正式上课前,各系先对各个班级进行排课,安排任课老师,然后将课程表电子档发给各个班级的班长,再由班长打印出来发给每个同学,学生才能知道这学期的课程。每学期考试结束后,先由各班的班主任进行各科成绩的录入,并对期末成绩进行分析,统计学生的总成绩,考试排名情况,然后将成绩朋和电子文档信息交到系上,系上分年级将各班的成绩进行汇总,再将该系科的成绩等信息以电子文档的形式上交到教务处去,教务处将成绩进行分析、核查,包括确定各系的不及格的总人数,未参加考试、缓考学生的总人数,以及各系的留降级和退学人员的名单,确认无误后返还各系科,并保留电子信息资资料。对于可获得奖学金的学生名单由班长根据系上所划给的人数指标对学生的成绩进行人工统计,将得到的学生名单上交到系上,然后由各系进行核查,确认无误后返还各班长,并保留电子档,学生的其他的获奖情况人员名中一也是这样得出。要进行学生的信息查询,只有到系上以班为单位进行学生信息的逐个查询.6第二章第二章 需求分析需求分析一、一、 系统开发环境系统开发环境Microsoft SQL Server 2005Windows 7 Service Pack 1三星 R440(2G Intel(R) Core(TM)2 Duo CPU i5 2。23GHZ 2.23GHZ)ThinkPad SL410(2G Intel(R) Core(TM)2 Duo CPU T6670 2.20GHZ 2.20GHZ)二、二、 功能划分与描述功能划分与描述根据系统的目标,总结出系统的七大功能。具体如下:1、班级管理、班级管理班级管理的功能就是实现对各个班级的信息的管理。当学校有新生加入的时候需要增加班级,管理员则将各个班级信息通过本系统录入到数据库中进行保存;学生则可以查询自己的班级信息。2、课程管理、课程管理课程管理的功能就是要实现对各个班级的课程的管理。具体来说,在新学期开始前,由学校安排好课程,管理员将每个班级的课程通7过本系统录入到数据库中进行保存;到开学的时候,学生可以通过本系统查询他们这学期的课程。当有老师需要调课,管理员可以修改课程并通知学生,好计学生及时获得调课的信息。3、成绩管理、成绩管理学生成绩管理的功能就是要实现对学生考试成绩的管理。学生每次考试的考试成绩都由管理员通过本系统录入到数据库中进行保存.学生可以在每次考试的成绩出来后登陆本系统来查询自己的考试成绩.4、档案管理、档案管理档案管理的功能是要实现对学生的个人信息的管理。当学校有新生加入的时候,管理员可以通过本系统把这些新生的个人信息输入到数据库中,而学生也可以通过本系统查看自己的个人信息,并且可以更新自己的信息。5、奖、惩管理、奖、惩管理奖惩管理的功能是实现对学生获得奖励或受过惩罚信息的管理.当学生受到奖励或惩罚时,管理员通过本系统将该信息添加到数据库中,而学生可以查到自己所受过奖励或处罚的信息。86、奖学金、助学贷款管理、奖学金、助学贷款管理奖学金、助学贷款管理功能是实现对学生奖学金、助学贷款的管理.在奖学金管理中,当学生申请奖学金,教师通过本系统查询该学生的成绩来决定该学生是否符合要求,若符合,则交由管理员把该生的信息通过本系统录入到数据库中进行保存;在贷款管理中,当学生申请贷款通过审核,由管理员通过本系统将该学生的贷款信息录入到数据库中进行保存。7、用户管理、用户管理用户管理功能是实现对用户的管理。该功能包括添加用户,删除用户等操作。8、财务管理、财务管理财务管理功能是实现对奖学金、教工工资的管理。包括修改工资、奖学金金额。三、三、 系统的运行需求系统的运行需求1、安全性系统应具有良好安全高效的通信机制,身份认证,权限检查,以解决学生管理信息系统的安全性、保密性问题,防止信息泄密。2、健壮性9系统应有排错功能,当遇到用户异常输入或异常操作时,能提示错误并且继续运行.3、易使用性应用系统的设计应符合日常办公运作的需求,功能完备,简单易学,界面友好清晰,易于扩充。4、可维护性系统应具有可维护性,当出现故障的时候,维护的成本比较低。10第三章第三章 概念结构设计概念结构设计一、一、 抽象实体抽象实体本系统主要可以抽象出 8 个实体对象,分别为:学生基本信息,课程信息,成绩信息,院系信息,班级信息,贷款信息,奖学金信息,奖惩信息。二、二、 实体间的联系实体间的联系本系统各数据表的关系如下:1)院系表(CollegeTable)与班级信息表(ClassTable)是一对多关系,通过 Department 字段建立两个数据表的联系,院系表的一条记录可以对应班级信息表的多条记录。2)班级信息表(ClassTable)与学生信息表(StudentTable)是一对多关系,通过 Grade 字段、Class 字段建立两个数据表的联系,班级信息表的一条记录可以对应学生信息表的多条记录;班级信息表与课程信息表是多对多关系,通过 Grade 字段、Class 字段和 Course字段建立两个数据表的联系,班级信息表的一条记录对应课程信息表的多条记录,同样地,课程信息表的一条记录对应班级信息表的多条记录。113)课程信息表(CourseTable)与成绩信息表(ResultTable)是一对多的关系,通过 Course 字段、StuNum 字段建立两个数据表的联系,课程信息表的一条记录可以对应成绩信息表的多条记录。4)学生信息表(StudentTable)与奖学金信息表(ScholarshipTable) 、奖惩信息表( RewardsPunishTable) 、贷款信息表( LoanTable )是一对多的关系,通过学生信息表的 StuNum 字段分别建立两个表之间的关系.一条学生信息表的记录可以分别对应奖学金信息表、奖惩信息表和贷款信息表的多条记录.12三、三、 系统系统 ER 图图1、系统、系统 ER 模型图模型图2、系统用户信息实体、系统用户信息实体 ER 图图系统用户信息实体的属性包括用户名,密码,用户类型。其 ER 图如上所示。课程拥有院系班级属于学生成绩贷款奖惩奖学金拥有属于用户类型用户名系统用户信息表密码133、学生基本信息实体、学生基本信息实体 ER 图图学生基本信息实体的属性包括学号,姓名,性别,班级,专业,出生日期,联系地址,联系号码,家长号码.4、课程信息实体、课程信息实体 ER 图图课程信息实体的属性包括年级,班级,学期,课程,教材,任课老师,课时,上课地点,课程性质,考试类型.学号学生基本信息表姓名专业家长号码性别出生日期联系号码班级联系地址年级课程信息表班级任课老师教材学期课时上课地点课程名称课程性质考试类型145、成绩信息实体、成绩信息实体 ER 图图成绩信息实体的属性包括年级,班级,学期,学号,姓名,课程名称,分数.6、院系信息实体、院系信息实体 ER 图图院系信息实体的属性包括学院,系。年级成绩信息表班级姓名学号学期成绩课程名称院系信息表院系专业157、班级信息实体、班级信息实体 ER 图图班级信息实体的属性包括年级,班级,人数,班主任,备注。8、贷款信息实体、贷款信息实体 ER 图图贷款信息实体的属性包括学号,姓名,性别,班级,贷款时间,金额,备注。年级班级信息表专业人数备注班级班主任学号贷款信息表姓名备注贷款信息性别班级金额169、奖学金信息实体、奖学金信息实体 ER 图图奖学金信息实体的属性包括学号,姓名,性别,班级,奖项,金额,备注。10、奖惩信息实体、奖惩信息实体 ER 图图奖惩信息实体的属性包括学号,姓名,性别,奖励时间,奖励类型,奖励原因,惩罚时间,惩罚类型,惩罚原因。学号奖学金信息表姓名金额奖项性别班级备注学号奖惩信息表姓名奖励原因奖励类型性别惩罚时间惩罚类型奖励时间惩罚原因1711、教工信息实体、教工信息实体 ER 图图教工基本信息实体的属性包括工号,姓名,性别,出生日期,职称,联系号码,工资.工号教工基本信息表姓名联系号码职称性别工资出生日期18第四章第四章 逻辑结构设计逻辑结构设计一、一、 数据定义数据定义1、用户表UserTable字段名数据类型长度是否关键字说明UserIDvarchar10是账号UserPasswordvarchar10否密码UserStylevarchar10否类型2 班级信息表ClassTable字段名数据类型长度是否关键字说明Gradevarchar10是年级Classvarchar10是班级Numint4否人数HeadTeachervarchar20否班主任Sectionvarchar20否备注3、成绩表ResultTable字段名数据类型长度是否关键字说明Gradevarchar10否年级Classvarchar10否班级Termvarchar20否学期Resultfloat8否成绩StuNumvarchar20否学号Coursevarchar20是课程名称4、课程信息表CourseTable字段名数据类型长度是否关键字说明Gradevarchar10是年级Classvarchar10是班级Coursevarchar20否课程名称Termvarchar20否学期TeachigMaterialvarchar20否教材CourseStylevarchar20否课程性质ClassHourint4否课时ClassAddressvarchar20否上课地点19ExamStylevarchar10否考试类型5、奖惩信息表RewardsPunishTable字段名数据类型长度是否关键字说明StuNumvarchar20是学号StuNamevarchar20否姓名StuSexvarchar2否性别RewardTimevarchar20否奖励时间RewardStylevarchar20否奖励类型RewardReasonvarchar20否奖励原因PunishTimevarchar20否惩罚时间PunishStylevarchar20否惩罚类型PunishReasonvarchar20否惩罚原因6、奖学金信息表ScholarshipTable字段名数据类型长度是否关键字说明StuNumvarchar20是学号StuNamevarchar20否姓名StuSexvarchar2否性别Gradevarchar10否年级ScholarshipStylevarchar20否奖项Moneyvarchar20否金额Sectionvarchar20否备注7、贷款信息表LoanTable字段名数据类型长度是否关键字说明StuNumvarchar20是学号StuNamevarchar20否姓名StuSexvarchar2否性别Classvarchar10否班级LoanTimevarchar20否贷款时间Moneyvarchar20否金额Sectionvarchar20否备注8、学生信息表StudentTable字段名数据类型长度是否关键字说明StuNumvarchar20是学号StuNamevarchar20否姓名StuSexvarchar2否性别Classvarchar10否班级Gradevarchar20否年级20Moneyvarchar20否出生日期RelationAddressvarchar50否联系地址RelationNumbervarchar20否联系号码ParentsNumbervarchar20否家长号码9、院系信息表CollegeTable字段名数据类型长度是否关键字说明Majorvarchar20是专业Departmentvarchar20否院系10、教工信息表TeacherTable字段名数据类型长度是否关键字说明TNumvarchar20是学号TNamevarchar20否姓名TSexvarchar2否性别BornYearvarchar20否出生日期Positionvarchar20否职称RelationNumbervarchar20否联系号码ParentsNumbervarchar20否家长号码21二、二、 结构设计结构设计系统管理登陆模块学生用户教工用户教务管理财务管理奖学金管理奖惩管理用户管理贷款管理工资管理班级管理档案管理成绩管理课程管理奖惩管理22附录附录 SQL 语句及实现过程语句及实现过程一、一、 数据库创建数据库创建create schema S-A;create database school;二、二、 数据库创建数据库创建1。系统管理员use school CREATE login madmin with password=madminuse schoolcreate user madmin for login madminWITH DEFAULT_SCHEMA=”S-A”;修改系统管理员权限2。教务管理员CREATE login jadmin with password=jadminuse schoolcreate user jadmin for login jadminWITH DEFAULT_SCHEMA=”S-A”;c.财务管理员CREATE login cadmin with password=cadminuse schoolcreate user cadmin for login cadminWITH DEFAULT_SCHEMA=SA; d.奖惩管理员CREATE login padmin with password=padminuse schoolcreate user padmin for login padminWITH DEFAULT_SCHEMA=SA;e.教工用户CREATE login jg with password=jguse school23create user jg for login jgWITH DEFAULT_SCHEMA=S-A;f. 学生用户CREATE login st with password=stuse schoolcreate user st for login stWITH DEFAULT_SCHEMA=S-A”;三、三、 基本表创建基本表创建1.教工信息表create table SA.Teacher(TNum varchar (20) primary key,TName varchar (20) unique,TSex varchar (2),BornYear varchar (20),Position varchar (15),RelationNumber varchar(20),Wage varchar(10));2.院系信息表create table ”SA”。Major(Department varchar(20) ,Major varchar(20)primary key);3。班级信息表create table ”SA。Class(Grade varchar (10) unique,Class varchar (10)unique,Num varchar (4),TName varchar(20),Section varchar (20),primary key(Grade,Class),foreign key(TName)references S-A。Teacher(TName)24)4.学生信息表create table SA”。Student(StuNum varchar (20) primary key,StuName varchar (20)unique,StuSex varchar (2),Class varchar(10),Grade varchar (10),BornYear varchar (20),RelationAddress varchar(50),RelationNumber varchar(20),ParentNumber varchar(20),foreign key(Class)references SA”。Class(Class),foreign key(Grade)references SA。Class(Grade));5。课程信息表create table SA”。Course(Grade varchar (10),Class varchar (10),Course varchar (20),Term varchar(20),TeachingMaterial varchar (20),CourseStyle varchar (20),ClassHour varchar(4),ClassAddress varchar(20),ExamStyle varchar(10),primary key(Grade,Class,Course),foreign key(Class)references S-A。Class(Class),foreign key(Grade)references S-A.Class(Grade);6。成绩信息表create table SA。Result(Grade varchar(10) ,Class varchar(10) ,Term varchar(20),Result varchar (8),25StuNum varchar (20),Course varchar (20) primary key,foreign key(Class)references ”SA”。Class(Class),foreign key(Grade)references ”S-A”。Class(Grade),foreign key(StuNum)references SA.Student(StuNum));7.奖惩信息表create table ”SA.RewardsPunish(StuNum varchar(20) primary key,StuName varchar(20),StuSex varchar(2),RewardTime varchar (20),RewardStyle varchar (20),RewardReason varchar (20),PunishTime varchar (20),PunishStyle varchar (20),PunishReason varchar (20),foreign key(StuName)references SA。Student(StuName),foreign key(StuNum)references SA。Student(StuNum);8.奖学金信息表create table S-A”。Scholarship(StuNum varchar(20) primary key,StuName varchar(20),StuSex varchar(2),Class varchar (10),ScholarshipStyle varchar (20),Smoney varchar (20),Section varchar (20),foreign key(StuName)references ”S-A.Student(StuName),foreign key(StuNum)references S-A。Student(StuNum),foreign key(Class)references S-A。Class(Class);9.贷款信息表create table S-A”。Loan(StuNum varchar(20) primary key,26StuName varchar(20),StuSex varchar(2),Class varchar (10),LoanTime varchar (20),Smoney varchar (20),Section varchar (20),foreign key(StuName)references SA。Student(StuName),foreign key(StuNum)references S-A”.Student(StuNum),foreign key(Class)references SA。Class(Class);10.用户信息表create table ”SA”.UserTable(UserID varchar (10) primary key,UserPassword varchar (10),UserStyle varchar (10);四、四、 创建视图创建视图1。学生信息视图create view ”SA。Stuinfo(学号,姓名,性别,班级,年级,出生年份,联系地址,联系电话,父母电话)as select *from ”SA”。Student2。学生分数信息视图create view SA.Mark(学号,课程,分数)as select StuNum,Course,Resultfrom SA.Result3.教工信息查询视图create view SA”.Teainfo(工号,姓名,性别,出生年份,职称,联系电话,工资)as select *from ”S-A。Teacher274。必修课表create view ”SA。Bixiu(班级,年级,课程,考查类型)as select Grade,Class,Course,ExamStyle from ”SA”.Course28五、五、 用户授权用户授权 (一)一).SQL 实现方式实现方式1.用户jg(教工)对两个表有SELECT 权力。 GRANT SELECT ON Student,Course TO st2。用户jadmin(教务管理员)对两个表有INSERT 和DELETE 权力。 GRANT INSERT,DELETE ON Class,Course,Major,Result,Student,Teacher TO jadmin3。每个学生只对自己的记录有SELECT 权力. GRANT SELECT ON st WHEN USER()=SA”。UserTable。UserStyle TO ALL;4.用户cadmin(财务管理员)对教工信息表有SELECT 权力,对工资字段具有更新权力。 GRANT SELECT,UPDATE(Wage) ON Teacher TO cadmin5.用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。 GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT OPTION;6。用户jg(教工)具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资.CREATE VIEW avgwage ASSELECT MAX(wage),MIN(wage),AVG(wage)FROM TeacherTO jg;29(二)二) 。可视界面实现方式。可视界面实现方式1.为jadmin(教务管理员)授予对班级表的的增、删、改、查操作权限2。为jg(教工用户)授予对成绩表的查询权限和对分数列的修改六、六、 操作举例操作举例1、学生用户查询2009届03班的必修课2、学生用户选课insertinto S-A。Result(Grade,Class,Term,Result,StuNum,Course)Values (”2009,03,”2011第一学期,null,”2009154103,数据库”)3、学生用户2009154104查询成绩4、老师修改学生成绩update S-A”。MarkSet result=80when Sno=”2009154103”
展开阅读全文