深圳大学实验报告(管理学院适用)课程名称:数据库原理及应用实验项目名称:学生信息管理系统指导教师:专业:报告人:学号:班级:实验时间:实验报告提交时间:指导教师批阅意见:成绩评定:指导教师签字:年月日注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。实验目的与要求:建立一个C/S结构的学生信息管理系统,学生信息的管理通过计算机来实现,将使得管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。为了提高系统开发水平和应用效果,系统应符合学校学生信息管理的规定,满足对学校学生信息管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。基本功能要求如下:1、学生信息查询功能:通过不同的检索入口,查询学生学籍信息、课程信息和成绩信息,并进行排序。2、添加功能:通过填写表格的形式输入学生学籍信息、课程信息和成绩信息等相关信息,系统能够自动避免重复信息。3、修改功能:对数据库中的信息进行修改。系统能够通过用户给出的条件查找所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。4、删除功能:对数据进行删除操作。系统能够通过用户给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库汇中删除掉。5、汇总功能:对信息进行汇总。6、统计功能:对信息进行统计,如统计不及格学生名单等。方法、步骤:1、需求分析:阐明应用系统的背景,组织结构情况以及需求分析的过程,并绘制数据流程图。2、概念数据库设计:根据概念结构设计的基本原则,确定概念模型,并阐明分析步骤和理论依据。3、逻辑数据库设计:根据需求分析和概念模型,将实体及实体间的联系按照一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主键、外键。4、用SQL语句实现数据库结构。实验过程及内容:1、需求分析:1.1用户需求分析:(一)问题描述:学生信息管理系统主要实现功能:1、学生信息查询功能:通过不同的检索入口,查询学生学籍信息、课程信息和成绩信息,并进行排序。2、添加功能:通过填写表格的形式输入学生学籍信息、课程信息和成绩信息等相关信息,系统能够自动避免重复信息。3、修改功能:对数据库中的信息进行修改。系统能够通过用户给出的条件查找所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。4、删除功能:对数据进行删除操作。系统能够通过用户给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库汇中删除掉。5、汇总功能:对信息进行汇总。6、统计功能:对信息进行统计,如统计不及格学生名单等。(二)目的:通过计算机来实现,将使得管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。为了提高系统开发水平和应用效果,系统应符合学校学生信息管理的规定,满足对学校学生信息管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。1.2业务流程分析:(一)描述系统的业务流程:操作员能够通过不同的检索入口,查询学生的学籍信息、课程信息和成绩信息等相关信息,并进行排序。能通过添加功能,以填写表格的形式输入学生的学籍、课程和成绩信息并且系统恩能够自动避免重复信息。能够使用修改、删除功能,也能实现汇总、统计功能。(二)学生信息管理系统的全局数据流程图首先需要收集的学生信息包括:1、学生的基本信息:姓名,性别,生日,学生所在院系,所在班别,入学时间,入学成绩,电话,邮箱,父亲,母亲,获奖情况,收到处分情况。2、课程信息:课程号,课程名,任课老师。3、成绩信息:学号,课程号,成绩。2、概念数据库设计2.1、实体间的联系(1)、学生基本信息表(student):学号S_NO、姓名S_NAME、性别SEX、生日BIRTHDAY、年龄AGE、所在院系DEPT_NO、邮箱E-MAIL、电话PHONE_NO、(2)、成绩信息表(SCORES):学号S_NO、课程号C_NO、成绩SCORE(3)、课程信息(COURSE):课程号C_NO、学号S_NO、课程名C_NO、任课老师T_NAME(4)、学籍变更信息表(schoolregister):记录号R_NO、学号S_NO、变更情况Change、记录时间R_TIME、详细记录R_DETAIL(5)、院系信息表(department):院系编号DEPT_NO、学号S_NO、院系名称DEPT_NAME(6)、家庭信息表(family):家庭编号F_NO、家庭住址ADDRESS、邮编MAIL、父亲FATHER、母亲MOTHER、联系电话PHONE(一)确定系统中存在的有用实体根据需求分析,在学生信息管理系统中,需要完成学生基本信息、家庭信息、奖惩信息和成绩信息的管理。我们可以很容易知道本系统中主要涉及学生、家庭、奖惩和课程等四个实体。(二)、确定实体之间联系的类型实体之间联系主要存在三种,分别是:一对一联系(1:1),一对多联系(1:N)和多对多联系(M:N)。根据需求分析,在学生信息管理系统中一个学生只能拥有一个家庭,一个家庭也只有一个孩子在班级中学习;一个学生可能有一条或多条奖惩信息;一个学生可以选修多门课程,一门课程也可以被多个不同的学生选修等。因此,以上各实体之间存在如下关系:学生:家庭1:1学生:奖惩1:N学生:课程M:N学生:院系N:1则得到总的E-R图:学生实体的E-R图为:包括学号、姓名、性别、年龄、民族、电话、院系、E-MAIL、QQ号、政治面貌家庭的E-R图为:包括家庭编号、家庭住址、邮编、家长姓名、联系电话奖惩的E-R图为:包括奖惩编号、奖惩原因、奖惩内容、奖惩时间课程的E-R图为:课程编号、课程名称、课程学分、授课学时教师信息的E-R图为:老师编号、老师姓名、性别、生日、家庭住址、邮箱家庭家庭编号家庭住址联系电话家长姓名邮编学籍学籍编号学籍变更情况处罚情况奖励情况课程课程号课程名称授课学时课程学分姓名性别学生学号年龄民族政治面貌院系E-mailQQ号电话院系的E-R图为;院系编号、院系名称、系主任3、逻辑数据库设计E-R图表示的是数据库的概念模型,它独立于任何一种数据模型,独立于任何一种具体的数据库管理系统,因此,需要把上述的概念模型转换为具体的被数据库管理系统所支持的数据模型,这就是数据库的逻辑结构设计。首先,根据完整的E-R图,将其转换为相应的关系模式。3.1转化为关系数据模型学生(学号,姓名,班级,性别,年龄,民族,电话,E-mail,QQ号)家庭(家庭编号,家庭住址,邮编,联系电话,家长姓名)课程(课程号,课程名称,课程学分,授课学时)院系(院号,院名,系主任)教师(教师编号,姓名,性别,年龄,家庭住址,邮箱)3.2学生信息管理系统的各表的结构,如下表所示:表1数据信息表数据库表名对应的关系模式名中文说明STUDENT学生学生信息表SCORES成绩成绩信息表院系院系编号院系名称系主任教师信息姓名性别家庭住址生日教师编号邮箱COURSE课程课程信息表SCHOOLCENCUS学籍学籍信息变更表REWARD奖励奖励情况表PUNISH处罚处罚情况表DEPTMENT院系院系信息表FAMILY家庭家庭信息表表2学生信息表字段名字段类型长度主键或外键字段约束对应中文属性名S_NOVARCHAR10PRIMARYKEYNOTNULL学号S_NAMEVARCHAR10NOTNULL姓名SEXVARCHAR4NOTNULLDEFAULT'男'性别BIRTHDAYDATETIMENOTNULL生日AGEVARCHAR10NOTNULL年龄DEPT_NOVARCHAR10FOREIGNKEYNOTNULL所在院系E-MAILVARCHAR10NOTNULL邮箱PHONE_NOVARCHAR16NOTNULL电话号码表3成绩信息表字段名字段类型长度主键或外键字段约束对应中文属性名S_NOVARCHER10FOREIGNKEYNOTNULL学号C_NOVARCHER10FOREIGNKEYNOTNULL课程号SCOREVARCHER6NOTNULL成绩表4课程信息表字段名字段类型长度主键或外键字段约束对应中文属性名C_NOVARCHAR10PRIMARYKEYNOTNULL课程号S_NOVARCHAR10FOREIGNKEYNOTNULL学号C_NAMEVARCHAR10NOTNULL课程名表5学籍信息表字段名字段类型长度主键或外键字段约束对应中文属性名R_NOVARCHAR10PRIMARYKEYNOTNULL记录号S_NOVARCHAR10FORGEIGNKEYNOTNULL学号CHANGEVARCHAR40NOTNULL学籍变更情况REWARDVARCHAR40NOTNULL奖励情况PUNISHVARCHAR40NOTNULL处罚情况表6家庭信息表字段名字段类型长度主键或外键字段约束对应中文属性名F_NOVARCHAR10PRIMARYKEYNOTNULL家庭编号S_NOVARCHAR10PRIMARYKEYNOTNULL学号ADDRESSVARCHAR4NOTNULLDEFAULT'男'家庭地址MAILDATETIMENOTNULL邮编F_NAMEVARCHAR10父亲M_NAMEVARCHAR10NOTNULL母亲PHONE_NO1VARCHAR16NOTNULL电话号码表7院系信息表字段名字段类型长度主键或外键字段约束对应中文属性名D_NOVARCHAR10FOREIGNKEYNOTNULL院系编号D_NAMEVARCHAR10NOTNULL院系名称S_NOVARCHAR10FOREIGNKEYNOTNULL学号8.教师信息表的建立字段名字段类型长度主键或外键字段约束对应中文属性名T_NVARCHAR10PRIMARYKEYNOTNULL教师编号T_NAMEVARCHAR10NOTNULL教师姓名C_NOVARCHAR10FOREIGNNOTNULL课程编号T_AGEVARCHAR4NOTNULL性别T_AGEVARCHAR4NOTNULL年龄T_ADDRESSVARCHAR10家庭住址EMAILVARCHAR10邮箱4、用SQL实现建立数据库4.1物理结构设计物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。输入:系统关系数据结构输出:系统数据库物理结构1.物理结构设计的主要内容:2.物理存储介质类型的选择为了提高系统的安全性,防止系统因介质的损坏而导致数据丢失的危险,因此需要三块物理磁盘。3.数据库物理位置的选择学生信息管理系统数据库的数据文件安排如下:一个主数据文件,存放在F:\PRODUCTION\DATA\STUFILE1.mdf下;一个次数据文件,存放在E:\PRODUCTION\DATA\STUFILE2.ndf下;日志文件,存放在G:\PRODUCTION\DATA\STUFILE下。应用系统可以对四块磁盘进行并行访问,从而提高对磁盘数据的读写效率。4.索引类型的选择教学信息管理系统的核心任务是对学生的学籍信息和考试信息进行有效的管理。其中,数据量最大且访问频率较高的是学生选课信息表。为了提高系统的查询效率,降低系统的查询成本,需要为学生信息表和学生选课信息表建立聚簇索引。5.数据库服务器性能参数配置数据库服务器的内存配置参数、I/O配置参数和操作系统性能配置参数使用系统安装时缺省参数4.2用SQL建立数据库(一)建立数据库CREATEDATABASESTUDATAONPRIMARY(NAME=STUFILE1,FILENAME='F:\PRODUCTION\DATA\STUFILE1.MDF',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=10MB),(NAME=STUFILE2,FILENAME='E:\PRODUCTION\DATA\STUFIL