《SQL课程设计学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《SQL课程设计学生信息管理系统.doc(11页珍藏版)》请在三一办公上搜索。
1、数据库原理SQL Server课程设计报告学 院: 机电学部 专 业: 电子信息专业 班 级: 电信一班 学 号: 2200090114 姓 名: 李鸿伟 指导教师: 宋亚岚 2011年 11 月 目录1.系统开发背景2.需求分析3.概念结构设计4.逻辑结构设计5.物理结构设计6.源程序代码7.结束语 学生信息管理系统1.系统开发背景:开发教师学校学生管理系统的意义:最主要的特点就是节省人力资源,使用方便。本着“提高学校管理质量”的原则,快截的管理学生信息,教师信息,课程信息。所以,开发一套学校学生管理系统来代替传统的人工管理方式是势必所然的。其次,学校学生管理系统极大提高了工作效率,大大减少
2、了以往的操作方式,为使用者带来了很多方便。学校学生管理系统,查找方便,管理方便,而且一些参数还可以手动修改。通过分析学校学生管理工作的某些不足,我们设计了一个功能全面的学生信息管理系统,该系统主要功能:学期管理,院系管理,教师管理,班级管理,学生管理,课程管理,登录日志,成绩管理,成绩分析。 2.需求分析: 学生信息管理是学校管理中很重要的一个环节,需要对学生的学号、姓名、年龄、考试成绩等一些个人信息的记录。学生入学首先要填写个人信息注册,包括姓名、入校成绩、性别、年龄、家庭住址等。然后每个人在学校的一些记录,如:基本情况、简历情况、获得奖励情况、受到处分情况、学生的家庭信息、学生的体检情况等
3、。由于本系统管理的对象简单,且每个数据内容之间都具有较强的关联性,涉及过程并不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。建立学生信息管理系统,有助于对每个学生的所有情况的能录入、修改、查询、输出学生的档案信息,这有便于学校的管理。3.概念结构分析:(E-R图) 学生管理系统E-R图如下:年级专业性别姓名学生班级年龄课程课程教师对应学号考试成绩课程名课程编号奖励与处罚 4. 逻辑机构设计:根据系统功能设计的要求以及功能模块的划分,对学生信息管理网站可以列出以下数据项及数据结构,关系模式
4、如下:学生个人基本信息:主要包括学生的学号、姓名、性别、年龄、专业、年级、班级等,主键为学号。课程信息:主要包括课程名、课程编号、任课教师等,主键为课程号。学生考试:主要包括学生的学号及成绩。用户信息:包括用户的帐号及密码。(1) 学生信息用户资料表如下: (2)学生基本资料表如下:(3)学生课程成绩表如下:(4)选课数据表如下:5. 物理结构设计:物理结构设计是指对给定的基本数据模型选择一个最合适应用环境的物理结构的过程。数据库的物理结构主要是指数据库的记录格式、存储记录、安排和存取方法。确定数据库的存储结构,主要是指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份及存储参数的配
5、置,确定数据库的存取方法。(1) 数据结构:设置每一数据表的属性名、类型、宽度。(2) 设置参照属性:学生信息表(学生学号、年龄、专业、性别、年级、班级、奖励与处罚)中的基本信息对照参数。所修课程表(课程名、课程号、课程编号、成绩等)的对照参数。 用户信息:(账号和密码)对应自己的所有信息。 (3)数据库名称:学生信息管理。 数据文件:学生信息管理dat.mdf,始初大小:1MB,最大空间:20MB,增加量:2MB。 日志文件:学生信息管理log.ldf,始初大小:1MB,最大空间:20MB,增加量:2MB。 备份设置名:BACKUP,备份文件:学生管理系统backup.dat。 (4) 索引
6、:对于每一数据表关于关键字建立索引文件。 (5)设置视图: 为学生提供可查询的学号、成绩、奖励、处罚等视图。 (6)设置存储过程: 根据学生的账号和密码,可查询在校期间的各种信息。6.源程序代码: 现在我们可以根据物理设计的结果产生一个具体的数据库。我们利用SQL Server 2000数据库系统中的SQL查询分析器来实现。下面给出的具体过程。 (1)创建学生信息管理数据库 create DATABASE 学生信息管理 ON (NAME=学生信息管理dat,FILENAME=D:SQL学生信息管理dat.mdf,SIZE=1,MAXSIZE=20,FILEGROWTH=2)Log ON(NAM
7、E=学生信息管理log,FILEGROWTH= D:SQL学生信息管理log.ldfSIZE=1,MAXSIZE=20,FILEGROWTH=2)(2)创建备份文件Sp_addumpdevicedisk,backup1,d:sql学生信息管理backup1.datgobackup database 学生信息管理 to backup1(3)创建数据表文件create table 学生信息用户资料表(用户号 char(16) PRIMARY KEY,用户密码 char(10) ) create table 学生基本资料表 (学生学号 char(6) PRIMARY KEY,学生姓名 char(8)
8、,出生日期 datetime ,电话号码 char(8) null) create table 学生课程成绩表(学号 char(16) PRIMARY KEY,课程号 char(3),成绩 int(8) create table 选课数据表 (选课号 char(3) PRIMARY KEY, 课程名 varchar(20), 教师姓名 char(8) (4)视图 create view project (学生学号,姓名,年龄,性别,专业,成绩) as select 姓名,学号,成绩,选课 from 学生信息用户资料,学生基本资料,学生成绩资料,选课数据资料 where 学生基本资料.学号=学生
9、成绩资料.学号 and 学生成绩资料.课程号=选课数据资料.课程号 (5)存储过程 create procedure lookworker id int as select 学生学号 from 学生基本资料 where 学生基本资料.学生学号=id 1. 插入:向学生课程成绩表中插入(j401,c09,99)INSERT INTO 学生课程成绩表(sno,cno,grade) values(J401,C09,99)2. 删除:删除姓名为张三的所有信息delete from 学生基本资料表where sname=张三3. 修改:将课程号为c03的教师改为小刘 update 选课数据表 set t
10、eacher=小 刘 where cno=C03(6)触发器 create trigger goodsid on 学生基本资料 for update as begin if(columns_updated()&01)0 update 学生课程成绩表 set 学生课程成绩表.学号=(select a.学号 from inserted a) where 学生课程成绩表.学号=(select b.学号 from deleted b)end7.结束语: 通过这次课程设计,使我更加的认识了数据库功能的强,。同时我也找到我自身很多的不足。 在制作一个数据库系统时,前期的分析准备工作非常的重要。在需求要明确,这样才能做到更好的设计出所需要的功能。特别是对于系统中数据的存储和重要算法的设计,设计不好会浪费存储空间,还影响查询效率。所以在制作一个数据库时,要做好所有的准备,要不断的去实践,这样才会学得更好,更能培养我们的动手能力。在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己在软件制作方面的差距。