SQL课程设计报告
- 格式:doc
- 大小:1022.00 KB
- 文档页数:21
sql学生管理系统课程设计一、课程目标知识目标:1. 理解SQL的基本概念和功能,掌握数据库的基本操作;2. 学会使用SQL语句进行数据的增、删、改、查操作;3. 了解学生管理系统的功能需求,掌握数据库表的设计方法;4. 学会运用SQL语句实现学生管理系统的数据查询和管理。
技能目标:1. 能够独立完成数据库的创建、表的设计和数据的导入;2. 熟练运用SQL语句进行数据操作,提高数据处理能力;3. 能够分析实际问题,设计合理的数据库表结构,解决实际问题;4. 通过实际操作,提升编程思维和问题解决能力。
情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发学习积极性;2. 培养学生的团队协作意识,学会与他人共同解决问题;3. 培养学生严谨、细心的学习态度,养成良好的编程习惯;4. 通过课程学习,使学生认识到数据库技术在现实生活中的应用价值,增强社会责任感。
课程性质:本课程为信息技术课程,旨在让学生掌握数据库基本知识和SQL编程技能,通过实际项目——学生管理系统的开发,提高学生的实际操作能力和问题解决能力。
学生特点:本课程面向初中生,学生具备一定的计算机操作基础,对编程有一定兴趣,但SQL知识掌握程度不一。
教学要求:教师需根据学生特点,采用循序渐进的教学方法,注重理论与实践相结合,引导学生主动参与课堂实践,提高学生的动手能力。
同时,关注学生的情感态度价值观培养,激发学生的学习兴趣和积极性。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 数据库基础知识- 数据库的基本概念- 数据库管理系统的功能与作用- 数据模型与关系模型2. SQL语言基础- SQL语句的基本语法- 数据库的创建、删除与修改- 表的创建、修改与删除3. 数据操作- 数据的插入、删除与修改- 数据的查询:单表查询、多表查询、子查询等4. 学生管理系统设计与实现- 系统需求分析- 数据库表结构设计- SQL语句在学生管理系统中的应用5. 数据库安全性与完整性- 数据库的安全性控制- 数据库的完整性约束教学大纲安排:第一周:数据库基础知识学习,介绍数据库的基本概念、数据模型等;第二周:SQL语言基础,学习SQL语句的基本语法和数据库操作;第三周:数据操作,学习数据的增删改查操作;第四周:学生管理系统设计与实现,分析需求、设计表结构,编写SQL语句;第五周:数据库安全性与完整性学习,了解数据库的安全性和完整性控制。
目录一、课题来源 (2)二、创建数据库和数据表 (3)三、使用Transact-Sql语句创建查询和视图 (7)四、创建触发器 (13)五、创建存储过程 (14)六、关系图 (17)七、创建数据维护计划 (17)一、课题来源创建系统的来源与意义:随着计算机信息化的迅速发展,运用计算机进行辅助管理也逐渐在各大中型超市普及。
采用计算机管理可以节约大量的人力、物力资源,也可以避免大量的错误。
所设计的小型超市管理系统可为超市管理者提供方便的平台,更加有效地管理货物的进出等方面的问题。
小型超市的现状:目前看来,虽然大型超市都已运用了计算机管理,但有些小型超市的管理仍不能高度信息化,还必须依靠人力来计算货物的数量等,这样存在大量的错误与不足,并且是在浪费人力和资源等。
解决方案就是编辑了这个系统。
整个系统基本包括了小型超市所要用到的模块。
包括收款操作,库存的查询,供应商管理,销售管理,会员管理等等。
1、库存管理:综合查询库存明细记录。
仓库信息搜索。
仓库调度以及仓库货物信息查询。
2、商品录入:根据超巿业务特点制定相关功能,可以通过输入商品名称等来实现精确或模糊的商品录入。
其中将商品划分成不同的类型,方便管理和查询。
3、会员管理:通过这个可以查到所有会员的情况,并且可以在有人想成为新会员的时候追加会员。
通过直接输入商品名称系统自动显示该商品的详细信息。
明确显示折扣,现卖价,以及仓库剩余粮,自动计算本次交易的总金额和判断购买数量的准确性。
如果顾客是本店会员并持有本人会员卡,则在交易时选择顾客类型,并对所购物品全部实行等级折扣优惠,并将所购物品的总金额累计到该会员的总消费金额中。
4、供应商管理:根据销售情况及库存情况,制定进货计划(亦可手工制定修改),强大的查询功能可以避免盲目进货造成商品积压。
按计划单有选择性地进行自动入库登记。
综合查询进货与入库记录及金额。
订货的时候可以很容易的找到要进货的供应商的所有信息,便于联系和记录。
学号:长江工程职业技术学院《SQL Server 数据库》课程设计题目工资管理系统院系长江工程职业技术学院信息系班级姓名指导教师朱老师2010 年06 月29 日目录第一章《SQL Server 2000数据库应用技术》课程设计任务书 (5)一、实验目的: (5)二、设计要求: (5)三、课程设计题目: (5)四、课程设计功能及要求: (5)1. 数据库的建立 (5)2.创建约束、默认值及规则 (5)3. 查询语句: (5)(1)简单查询: (5)①“所有列”查询:要求T-SQL语言和图表显示。
(5)②“指定列”查询:要求T-SQL语言和图表显示。
(5)③“使用别名”查询:要求T-SQL语言和图表显示。
(5)④“消除重复取值行”查询:要求T-SQL语言和图表显示。
(5)⑤“限制返回的行数”查询:要求T-SQL语言和图表显示。
(5)⑥“符合条件”查询:要求使用>、<、>=、<=、=、!=、!>、!<等关键字,T-SQL语言和图表显示。
(5)⑦“多重条件”查询:要求使用NOT、AND和OR关键字,T-SQL语言和图表显示。
(6)⑧“指定范围”查询:要求使用(NOT)BETWEEN……AND……关键字,T-SQL语言和图表显示。
(6)⑨“指定集合”查询:要求使用(NOT)IN关键字,T-SQL语言和图表显示。
(6)⑩“字符匹配”查询:要求使用(NOT)LIKE关键字,T-SQL语言和图表显示。
(6)○11“涉及空值的查询”:要求使用IS NULL关键字,T-SQL语言和图表显示。
(6)(2)复合查询条件: (6)①使用ASC或者DESC关键字对记录进行排序,要求T-SQL语言和图表显示。
(6)②使用集合函数(如SUM、A VG、COUNT、MAX、MIN等)对结果进行统计,函数自选,要求T-SQL语言和图表显示。
(6)③使用GROUP BY子句对排序进行分组,要求T-SQL语言和图表显示。
S Q L数据库课程设计报告书(总32页)-本页仅作为预览文档封面,使用时请删除本页-数据库课程设计图书管理系统数据库设计:贺佳伟学号:指导教师:童蔚苹一、数据库需求分析用户需求系统现状及主要解决问题近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题:(1)检索速度慢、效率低。
因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。
图书馆的规模越大,这个问题越突出。
(2)借书、还书工作量大。
借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。
而且经常会出现这样那样的差错。
(3)图书统计工作难、藏书更新不能及时完成。
图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
因此必须制定一套合理、有效、规和实用的图书管理系统,对图书资料进行集中统一的管理。
系统开发的总的设计目标是实现图书管理的系统化、规化和自动化,实现对图书资料的集中统一的管理。
使图书管理者便于对图书和读者的管理。
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。
使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
要达到的具体指标(1)可随时查询书库中现有书籍的种类、数量与存放位置。
所有各类书籍均可由书号唯一标识。
sql数据库课程设计报告书⽬录⼀、课题来源 (2)⼆、创建数据库和数据表 (3)三、使⽤Transact-Sql语句创建查询和视图 (7)四、创建触发器 (13)五、创建存储过程 (14)六、关系图 (17)七、创建数据维护计划 (17)⼀、课题来源创建系统的来源与意义:随着计算机信息化的迅速发展,运⽤计算机进⾏辅助管理也逐渐在各⼤中型超市普及。
采⽤计算机管理可以节约⼤量的⼈⼒、物⼒资源,也可以避免⼤量的错误。
所设计的⼩型超市管理系统可为超市管理者提供⽅便的平台,更加有效地管理货物的进出等⽅⾯的问题。
⼩型超市的现状:⽬前看来,虽然⼤型超市都已运⽤了计算机管理,但有些⼩型超市的管理仍不能⾼度信息化,还必须依靠⼈⼒来计算货物的数量等,这样存在⼤量的错误与不⾜,并且是在浪费⼈⼒和资源等。
解决⽅案就是编辑了这个系统。
整个系统基本包括了⼩型超市所要⽤到的模块。
包括收款操作,库存的查询,供应商管理,销售管理,会员管理等等。
1、库存管理:综合查询库存明细记录。
仓库信息搜索。
仓库调度以及仓库货物信息查询。
2、商品录⼊:根据超巿业务特点制定相关功能,可以通过输⼊商品名称等来实现精确或模糊的商品录⼊。
其中将商品划分成不同的类型,⽅便管理和查询。
3、会员管理:通过这个可以查到所有会员的情况,并且可以在有⼈想成为新会员的时候追加会员。
通过直接输⼊商品名称系统⾃动显⽰该商品的详细信息。
明确显⽰折扣,现卖价,以及仓库剩余粮,⾃动计算本次交易的总⾦额和判断购买数量的准确性。
如果顾客是本店会员并持有本⼈会员卡,则在交易时选择顾客类型,并对所购物品全部实⾏等级折扣优惠,并将所购物品的总⾦额累计到该会员的总消费⾦额中。
4、供应商管理:根据销售情况及库存情况,制定进货计划(亦可⼿⼯制定修改),强⼤的查询功能可以避免盲⽬进货造成商品积压。
按计划单有选择性地进⾏⾃动⼊库登记。
综合查询进货与⼊库记录及⾦额。
订货的时候可以很容易的找到要进货的供应商的所有信息,便于联系和记录。
sql学生选课系统课程设计一、课程目标知识目标:1. 学生能理解SQL语言的基本概念,掌握其基本语法结构。
2. 学生能掌握数据库表的设计与创建,了解表之间的关系。
3. 学生能运用SQL语句实现对学生选课系统中的数据的增、删、改、查操作。
技能目标:1. 学生能够独立设计并实现一个简单的学生选课系统数据库。
2. 学生能够运用SQL语句对数据库中的数据进行有效管理,解决实际问题。
3. 学生通过实践操作,提高问题分析、解决的能力,培养编程思维。
情感态度价值观目标:1. 学生通过学习,增强对信息技术的兴趣,认识到数据库技术在生活中的应用。
2. 学生在学习过程中,培养合作意识,学会分享与交流。
3. 学生能够认识到数据安全的重要性,养成保护数据、遵守网络安全规范的良好习惯。
课程性质分析:本课程为信息技术课程,旨在帮助学生掌握数据库的基本知识,提高实际操作能力。
学生特点分析:学生为高中年级,具备一定的计算机操作基础,对编程有一定了解,求知欲强,喜欢实践操作。
教学要求:结合学生特点和课程性质,将课程目标分解为具体的学习成果,注重理论与实践相结合,提高学生的实际操作能力。
在教学过程中,关注学生的个体差异,提供有针对性的指导,使学生在完成课程学习后,能够独立设计并实现一个简单的学生选课系统。
二、教学内容1. 数据库基础知识:- 数据库的概念、作用和分类- SQL语言的基本语法和功能2. 数据库设计:- 表的设计与创建- 表之间的关系(一对一、一对多、多对多)3. SQL语句操作:- 数据查询(SELECT语句)- 数据插入(INSERT语句)- 数据更新(UPDATE语句)- 数据删除(DELETE语句)4. 学生选课系统实现:- 数据库表的设计与创建- 实现学生选课功能- 查询学生选课信息5. 数据库安全与维护:- 数据库的安全性控制- 数据库的备份与恢复教学大纲安排:第一周:数据库基础知识学习,熟悉SQL语言的基本语法和功能。
大学sql课程设计一、教学目标本课程的教学目标是使学生掌握SQL语言的基本语法和用法,能够使用SQL进行数据库的创建、修改、查询和删除操作,掌握SQL的基本事务处理和存储过程的使用,了解SQL语言在数据库管理中的应用和实践。
具体来说,知识目标包括:1.掌握SQL语言的基本语法和用法。
2.理解数据库的基本概念和原理,了解SQL在数据库管理中的应用。
3.掌握SQL的基本事务处理和存储过程的使用。
技能目标包括:1.能够使用SQL进行数据库的创建、修改、查询和删除操作。
2.能够编写简单的SQL事务处理和存储过程。
情感态度价值观目标包括:1.培养学生的信息素养,使学生能够正确使用和保护数据库信息。
2.培养学生的团队合作意识,使学生能够在团队中有效沟通和合作。
二、教学内容本课程的教学内容主要包括SQL语言的基本语法和用法、数据库的基本概念和原理、SQL的基本事务处理和存储过程的使用等方面的知识。
具体来说,教学大纲如下:1.SQL语言的基本语法和用法:SQL的数据类型、SQL的运算符、SQL的函数、SQL的查询语句、SQL的插入和更新语句、SQL的删除语句等。
2.数据库的基本概念和原理:数据库的概念、数据库的体系结构、数据库的建模方法等。
3.SQL的基本事务处理和存储过程的使用:事务的概念、事务的处理方法、存储过程的定义和调用、存储过程的参数传递等。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法、实验法等。
具体来说,教学方法如下:1.讲授法:通过教师的讲解,使学生掌握SQL语言的基本语法和用法、数据库的基本概念和原理、SQL的基本事务处理和存储过程的使用等方面的知识。
2.案例分析法:通过分析实际案例,使学生了解SQL语言在数据库管理中的应用和实践。
3.实验法:通过实验操作,使学生掌握SQL语言的基本语法和用法、数据库的基本概念和原理、SQL的基本事务处理和存储过程的使用等方面的技能。
四、教学资源本课程的教学资源主要包括教材、实验设备等。
成绩管理系统sql课程设计一、课程目标知识目标:1. 理解SQL语言在成绩管理系统中的应用和重要性。
2. 掌握SQL语言的基本语法和常用命令,如SELECT、INSERT、UPDATE、DELETE等。
3. 学会使用SQL语句进行成绩管理系统的数据查询、添加、修改和删除操作。
技能目标:1. 能够独立编写简单的SQL查询语句,实现对学生成绩的检索和统计。
2. 能够运用SQL语句解决实际问题,如按条件筛选成绩、排序和分组显示数据。
3. 能够通过实际操作,熟练使用SQL语言对成绩管理系统进行数据维护和处理。
情感态度价值观目标:1. 培养学生对数据库管理和SQL语言的兴趣,激发学习热情。
2. 培养学生的团队协作意识,使其在学习过程中主动与他人交流、分享经验。
3. 培养学生严谨、细致的学习态度,使其在编写SQL语句时注重语法规范和逻辑性。
课程性质:本课程为实践性较强的课程,以成绩管理系统为背景,结合实际案例进行教学。
学生特点:学生具备一定的计算机操作基础,了解数据库的基本概念,但对SQL语言的使用尚不熟悉。
教学要求:教师需结合实际案例,引导学生通过动手实践,掌握SQL语言在成绩管理系统中的应用。
在教学过程中,注重培养学生的实际操作能力和解决问题的能力,使学生在实践中掌握知识,提高技能。
同时,关注学生的情感态度价值观的培养,激发学生的学习兴趣,提高学习积极性。
通过分解课程目标为具体的学习成果,为后续的教学设计和评估提供明确方向。
二、教学内容1. SQL语言基础- 数据库基础知识回顾- SQL语句的基本语法和结构- 常用SQL命令的功能和使用方法2. 成绩管理系统的数据操作- 数据查询:SELECT语句的使用,包括条件查询、排序、分组等- 数据添加:INSERT语句的使用,向成绩表中添加数据- 数据修改:UPDATE语句的使用,修改成绩表中的数据- 数据删除:DELETE语句的使用,删除成绩表中的数据3. 实践操作案例- 设计成绩管理系统的数据库表结构- 实现对学生成绩的查询、添加、修改和删除操作- 综合应用SQL语句解决实际问题,如统计成绩、分析成绩分布等4. 教学内容安排与进度- 第一周:SQL语言基础,数据库知识回顾,学习SELECT语句- 第二周:数据添加、修改和删除操作,学习INSERT、UPDATE和DELETE 语句- 第三周:实践操作案例,综合运用SQL语句进行成绩管理- 第四周:课程总结,复习巩固所学内容教材章节关联:- 《数据库原理与应用》第章节:数据库的基本操作- 《SQL语言入门与应用》第章节:SQL语句的语法和使用方法教学内容依据课程目标进行选择和组织,确保科学性和系统性。
第一章系统功能分析1.1系统需求分析学生基本档案:可以了解学生的基本信息,便于老师学校对学生基本信息的了解。
学生档案查询:可以对学生的信息进行查询,也方便了公司对学生情况的调查。
学生成绩查询:可以对学生的成绩进行查询,便于了解学生基础知识水平。
学生成绩打印:可以对学生的期末成绩打印出来,寄回家给父母看。
学生数据维护:可以对学生的课程表,成绩表,系部表,学生信息表进行维护与查询。
学籍卡片与名册打印:便于学校对学生的管理,如学生的升级,留级,休学管理等等。
1.2系统可行性分析可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
1.2.1技术上的可行性技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
考试系统的设计采用了当前较流行的Visual Basic6.0进行开发,而数据库服务器选用微软公司的Access2003数据库,它是功能强大、操作简单的关系数据库管理软件,它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
1.2.2 经济上的可行性经济可行性主要是对项目的经济效益进行评价。
考试系统的设计作为一个毕业设计,无需开发经费,对于学院在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。
所以本系统在经济上是可行的。
第二章数据库概念设计2.1系统总体规划该系统主要是规划对象是学生基本档案,学生档案查询,成绩查询,简历查询,数据维护,系统登陆,学籍卡片与学生名册打印,学生成绩打印等。
基于sql的学生成绩管理系统(数据库)_课程设计报告一、实验题目学生证管理系统数据库的设计与实现描述:设计一个学生证管理系统。
实现下列功能:1.录入某位学生的学生证信息2.给定学号,查询某位学生的学生证信息;3.给定班号,显示该班所有学生的学生证信息;4.给定学号,修改该学生的学生证信息;5.给定学号,删除该学生的学生证信息;三、实验目的数据库课程设计课程实验是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节,通过实验达到深化理解和灵活掌握教学内容的目的,以及提高学生分析问题、解决问题的应用能力。
同时,使学生的工作规范和科学作风得到培养。
通过该课程的学习,要求学生能独立分析问题,设计算法,实现程序的各项功能,得到正确的可执行程序,学会调试程序,对设计过程进行系统的总结。
本实践课的主要目的:1、掌握运用数据库原理进行系统分析和设计的方法;2、掌握关系数据库的设计方法;3、掌握利用SQL Server 2000技术;4、熟悉各种SQL语句及对数据库的访问方法。
四、实验要求1.对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复五、实现思路(一)系统需求分析需求分析师整个数据库设计过程的基础,要收集数据库所有用户的信息内容和处理要求,并加以规格化分析。
学生管理系统sql课程设计一、教学目标本课程的学习目标旨在让学生掌握学生管理系统的SQL操作技能,培养学生运用SQL语言进行数据库管理的实践能力。
具体包括:1.知识目标:使学生了解SQL语言的基本概念、语法和操作步骤,掌握学生管理系统的数据库设计、表结构设计、SQL查询、更新、删除等操作。
2.技能目标:培养学生能够独立完成学生管理系统的SQL操作,具备解决实际问题的能力。
3.情感态度价值观目标:培养学生对数据库技术的学习兴趣,增强学生自主学习、团队合作的能力,使学生在实际操作中体会数据库技术在学生管理系统中的重要作用。
二、教学内容本课程的教学内容主要包括SQL语言的基本概念、语法和操作步骤,以及学生管理系统的数据库设计、表结构设计、SQL查询、更新、删除等操作。
具体安排如下:1.第1-2课时:SQL语言的基本概念、语法和操作步骤。
2.第3-4课时:学生管理系统的数据库设计。
3.第5-6课时:学生管理系统的表结构设计。
4.第7-8课时:学生管理系统的SQL查询操作。
5.第9-10课时:学生管理系统的SQL更新和删除操作。
6.第11-12课时:综合练习与实战。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体如下:1.讲授法:用于讲解SQL语言的基本概念、语法和操作步骤,以及数据库设计、表结构设计等理论知识。
2.讨论法:在课堂中引导学生针对实际案例进行讨论,培养学生的思考和分析能力。
3.案例分析法:通过分析典型学生管理系统的案例,使学生更好地理解SQL操作在实际应用中的作用。
4.实验法:安排课内外实验,让学生动手实践,巩固所学知识,提高实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《SQL Server 2016数据库教程》。
2.参考书:《SQL语言编程实战》。
3.多媒体资料:教学PPT、视频教程、在线案例等。
数据库课程设计报告题目:学生信息管理系统姓名:付进 (2008081411)莫春琴(2008081416)班级:08级信息《2》班指导老师:习慧丹老师提交时间:2010年12月28号目录1、系统需求分析 (3)1.1、课程设计目的和意义 (3)1.2、系统分析与设计 (3)1.2.1、系统功能描述 (3)1.2.2、系统模块设计 (6)1.2.3、数据流图、数据字典和E—R图 (8)2、逻辑结构设计 (17)3、数据库的实现 (17)4、数据初始化 (21)5、视图、索引的建立 (26)5.1、视图的建立 (26)5.2、索引的建立 (29)6、总结 (30)7、参考文献 (30)8、分工情况 (31)1.系统需求分析1.1、课程设计目的和意义:a、数据库课程设计是为了巩固数据库知识,加强学生的实际动手能力和提高学生综合素质。
通过本实验达到以下目的:1、熟练掌握一种数据库系统(如SQL SERVER)的使用。
2、熟练掌握一种数据库应用软件开发工具(ASP、)的使用。
3、通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
b、系统针对学生的基本情况,设计一个可以查询学生的基本信息、查询学生的选课记录、查询学生的分数、寝室楼等,可以修改学生的一些信息,还可以添加、删除等操作。
使老师更加方便了解学生的情况和使学生本人对于自己的信息更直观,该系统用于学院老师和学生本人。
1.2、系统分析与设计:1.2.1、系统功能描述:黔南民族师范学院学生管理系统主要根据全院全体学生信息需求来设计开发,主要是对学生的基本信息及情况作统一的管理,使老师更加容易掌握学生的基本信息及情况以及学生本人更加的了解自己的基本信息,学生的基本属性包括(学生学号、姓名、性别、出生年月、民族、籍贯、政治面貌)。
该系统主要用户教师和学生本人,但是主要控制由系统管理员,因此,系统主要对学生和教师开放,具体的功能需求分析如下:1、系统管理员对功能的需求:系统管理员的在所有用户中的权力最大,具有系统所有的功能,首先可以对教师的一栏的所有功能都可以进行操作,可以对教师的信息进行修改、查询、添加、浏览、删除等操作,还可以对系统进行维护等功能。
sql简单课程设计一、课程目标知识目标:1. 掌握SQL(结构化查询语言)的基本概念和功能,理解数据库的基本结构。
2. 学会使用SQL语句进行数据查询、插入、修改和删除操作。
3. 了解SQL中的数据类型、表结构设计及关键字的用法。
技能目标:1. 能够独立编写简单的SQL查询语句,获取所需数据。
2. 能够利用SQL语句进行数据的插入、修改和删除操作,完成数据管理任务。
3. 能够运用所学知识解决实际问题,例如设计简单的数据库查询系统。
情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发他们主动探索数据库知识的热情。
2. 培养学生的团队合作意识,使他们学会在团队中分享和交流SQL知识。
3. 引导学生认识到数据库技术在实际应用中的重要性,培养他们认真负责的态度。
课程性质:本课程为实践性较强的课程,旨在帮助学生掌握SQL的基础知识,培养实际操作能力。
学生特点:学生具备一定的计算机操作基础,对数据库技术有一定了解,但SQL知识相对薄弱。
教学要求:结合学生特点,注重理论与实践相结合,通过案例分析和实际操作,使学生掌握SQL的基本用法,培养实际应用能力。
在教学过程中,关注学生的情感态度变化,引导他们积极参与课堂讨论和实践操作。
将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. SQL基础概念:数据库、表、字段、记录等基本概念,SQL语句的分类及功能。
- 教材章节:第一章 数据库基础2. SQL数据查询:SELECT语句的基本用法,包括基础查询、条件查询、排序查询等。
- 教材章节:第二章 SQL查询语句3. SQL数据操作:INSERT、UPDATE、DELETE语句的使用,进行数据的插入、修改和删除。
- 教材章节:第三章 SQL数据操作4. SQL高级应用:子查询、多表查询、事务处理等高级用法。
- 教材章节:第四章 SQL高级应用5. 数据库设计基础:表结构设计、数据类型选择、主键和外键的设置。
武汉工程职业技术学院《网络数据库与SQL语言》课程设计报告专业:计算机网络班级:14级网络①班姓名:组员:指导老师:2015年12月目录1.课程性质 3 2.课程内容 3 3.课程选题以及背景意义 3 4.数据库设计 4 5.系统结构模型 5 6.程序关键代码以及截图 6 7.心得体会9 8.参考资料10课程性质:1. 数据库技术是计算机软件领域的一个重要分支,是数据处理和信息管理中的核心技术,也是一门综合性的软件技术,是编译原理、数据结构、操作系统、程序设计等许多软件知识的综合应用,其理论性和实用性都很强,是使用计算机进行各种信息管理的必备知识。
因此,数据库相关课程是计算机及其应用专业中一门重要的专业基础课程。
2.本课程系统地介绍了数据库的基本理论,并以目前比较流行的关系型数据SQL Server 2008为载体,讲述了关系数据库的概念、管理、设计和开发。
•系统掌握数据库系统基本概念、理论、主要功能、工作原理和实现技术•从实用性的角度出发理解并掌握数据库的安全性、并发控制和恢复技术•熟练地编写基本的SQL语句•掌握索引、数据完整性、视图、存储过程、触发器等概念及使用方法•进行数据库的设计、开发与管理•借助VB,VS开发工具,能独立开发某方面的数据库应用系统,为以后在数据库管理,系统平台上利用各种语言开发数据库应用系统奠定基础课程内容内容:建立一个可以查询的可视化窗口软件,学生登录软件可以看到各种相关书籍以及可以搜索相关书籍并且可以按照条件查找书籍,每本书都有内容摘要可以让学生简单明了的有选择性的去挑选相关书籍。
考虑到实际情况下书籍较多所以建立弹窗,方便学生寻找借书。
并且可以查询借书记录,当学生使用完软件后按“退出键“退出本软件。
管理员账号:管理员拥有最大权限可以“新增图书”和“修改书目”以及“删除书目”可以查询所有的图文信息,并且可以查看借书记录。
新用户:没有用户名密码的同学可以注册账号,需要输入“用户名”,“性别”,“密码”和“确认密码”提交后就可以正常使用了课程选题背景及意义选题:图书管理系统意义:当代大学生沉迷于网络,深受网络暴力的危害,逃学,打架,彻夜不归,甚至有人小偷小摸,据网易新闻报道2014-05-09号郴州职业技术学刘凯杀害室友李波有说法称,虚拟世界里的拼杀刺激了刘凯的神经,引燃的杀机最终酿成悲剧。
滁州学院数学系课程设计报告设计名称:请假信息模块(职员信息管理系统) 设 计 者: 张 广 永小组成员:何忠明、殷红路、袁文祥、张广永、 周丽专业班级:2009级数学系信息与计算科学专业(2)班 指导老师: 袁 万 莲 设计时间: 2010/2011学年度第二学期指导教师评语:指导教师签名:年 月日一、课程设计目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的:待开发的系统的名称为企业职工在线考勤系统的请假系统;我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统的请假管理信息系统,提供一个科学合理的请假管理解决方案,彻底实现无纸化作业。
根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:(1)提供简单、方便的操作。
(2)根据企业原来的请假管理制度,为企业不同管理层次提供相应的功能。
(3)通过请假管理无纸化的实现,使企业的请假管理更加科学规范。
(4)节省请假管理的成本。
(5)提高企业请假管理的透明度和效率,防止“虚假请假“的现象。
(6)对系统提供必要的权限管理。
(7)为企业实现整体信息化的其他相关系统提供必要的数据支持。
二、课程设计任务与要求1、任务:学生成绩管理系统(请假信息)模块问题描述:设计一个学生成绩管理系统的基本框架,从整体上体会软件开发过程,重点对请假信息模块进行详细设计。
2、设计要求:1)设置职工编号、请假编号2)设置请假开始时间3)设置请假结束时间4)设置请假统计天数5)设计一个完整的数据库。
要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。
三、课程设计说明书1、请假E-R图2、逻辑设计:3、物理设计在物理结构中,数据的基本存取单位是存储记录。
课程设计报告110054B————张豪创建数据库:create database SanjiangMISon primary(name=SanjiangMIS_data,filename='f:\SanjiangMIS.mdf',size=10,maxsize=unlimited,filegrowth=10%)log on(name=Sanjiang_log,filename='f:\SanjiangMIS.ldf',size=1,maxsize=unlimited,filegrowth=10%)创建表:create table Employee(EmNo int constraint pk_EmNo primary key,EmName varchar(20),EmBirtday datetime,EmCardId varchar(18),EmPosition char(20),EmSex char(2))create table Department(DepNo int primary key,DepName varchar(20),)create table Dorm(DormNo varchar(8)constraint pk_DormNo primary key constraint ck_DormNo check(DormNo like'[0-9][0-9]-[0-9][0-9][0-9]'),DormDep int constraint fk_DormDep foreign key referencesDepartment(DepNo),DormNu int constraint ck_DormNu check(DormNu in(4,6)),DormNowNu int constraint ck_DormNowNu check(DormNowNu >= 0 and DormNowNu<= 6),DormSex char(2)constraint ck_DormSex check(DormSex in('男','女')))create table Class(ClassName varchar(20),ClassNo int constraint pk_ClassNo primary key,ClassDepNo int constraint fk_ClassDepNo foreign key references Department(DepNo),Classtype varchar(20),ClassScure int,ClassTime int)create table Teacher(TeacherNo int constraint fk_TeacherNo foreign key referencesEmployee(EmNo)constraint pk_Teacher primary key,TeacherDepNo int constraint fk_TeacherDepNo foreign key referencesDepartment(DepNo),Ispartime bit)create table Income(EmployeeNo int constraint fk_EmployeeNo foreign key references Employee(EmNo),PayBase int,PayYearMon datetime,PayOther int,YearReword int,ClassPay int,)create table Student(SNo varchar(20)constraint pk_SNo primary key constraint ck_SNocheck(SNo like'[A,B,Z][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), SName varchar(20),SBirthday datetime,SCardID varchar(20),DepNo int constraint fk_DepNo foreign key references Department(DepNo), SSex char(2) constraint ck_SSex check(SSex in('男','女')),DormNo varchar(8)constraint fk_DormNo foreign key referencesDorm(DormNo),)create table StudentClass(ClassNo int constraint fk_ClassNo foreign key references Class(ClassNo), StudentNo varchar(20)constraint fk_StudentNo foreign key references Student(SNo)constraint pk_SC primary key(ClassNo,StudentNo),Grade float)create table EducateClass(EducateClassNo varchar(20)constraint pk_EducateClassNo primary key, ClassNo int constraint fk_ClassNoEdu foreign key referencesClass(ClassNo),TeacherNo int constraint fk_TeacherNo1 foreign key referencesTeacher(TeacherNo),ClassRoomNo int,ClassTerm varchar(12)constraint ck_ClassTerm check(ClassTerm like'[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9]'),ClassThink varchar(400))录入表数据:insert into Department values(1,'Computer')insert into Department values(2,'English')insert into Department values(3,'Art')insert into Department values(4,'Plant')insert into Dorm values('01-111',1,6,5,'男')insert into Dorm values('02-111',2,6,5,'女')insert into Dorm values('03-111',3,6,5,'女')insert into Dorm values('04-111',4,4,3,'男')insert into student values('A11111111','Tomy','1992-06-11',,1,'男','01-111')insert into student values('A11111112','Tony','1992-05-10',,1,'女','02-111')insert into student values('A11111113','Linda','1992-05-9',4',2,'女','03-111')insert into student values('A11111114','Tods','1992-05-8',5',1,'男','04-111')insert into Class values('Computer',1,1,'专业课',2,24)insert into Class values('English',2,2,'专业课',2,24)insert into Class values('Musci',3,3,'专业课',2,24)insert into Class values('Tree',4,4,'专业课',2,24)insert into Employee values(1,'Weiyuanyuan','1989-2-1',,'讲师','女') insert into Employee values(2,'Yuzhenghong','1988-3-1',,'副教授','男') insert into Employee values(3,'Weizhiqing','1989-2-1',,'教授','男') insert into Employee values(4,'Huanghui','1989-2-1',,'讲师','女') insert into Teacher values(1,1,0)insert into Teacher values(2,2,0)insert into Teacher values(3,3,0)insert into Teacher values(4,4,0)insert into StudentClass values(1,'A11111111',90)insert into StudentClass values(2,'A11111112',80)insert into StudentClass values(3,'A11111113',75)insert into StudentClass values(4,'A11111114',85)insert into EducateClass values(001,1,1,3311,'2011-2012-01','Good')insert into EducateClass values(002,2,2,3202,'2011-2012-01','Verty Good')insert into EducateClass values(003,3,3,2211,'2011-2012-01','Good')insert into EducateClass values(004,4,4,1111,'2011-2012-01','Good')查询学生信息:create procedure pro_AskGrade@SNo varchar(20),@CardId varchar(20)asbegin tryif(exists(select*from Student where SNo=@SNo and SCardId=@CardId)) beginDeclare @ClassCount int,@UnpassClass int,@AllScure int,@MaxGrade float,@MinGrade floatselect@ClassCount=count(ClassNo)from StudentClass where StudentNo=@SNo select@UnpassClass=count(Grade)from StudentClass where StudentNo=@SNo and Grade<60select @AllScure=sum(ClassScure)from Class where ClassNo in(select ClassNo from StudentClass where StudentNo=@SNo and Grade>60)select @MaxGrade=max(Grade)from StudentClasswhere StudentClass.StudentNo=@SNoselect @MinGrade=min(Grade)from StudentClasswhere StudentClass.StudentNo=@SNoselect ClassName as'课程名',Grade as'最高成绩'from StudentClass join Class on StudentClass.ClassNo=Class.ClassNowhere StudentClass.StudentNo=@SNo and Grade=@MaxGradeselect ClassName as'课程名',Grade as'最低成绩'from StudentClass join Class on StudentClass.ClassNo=Class.ClassNowhere StudentClass.StudentNo=@SNo and Grade=@MinGradeprint'学生'+cast(@SNo as char(12))print'选修课程数'+cast(@ClassCount as char(2))+' 不及格的课程数'+cast(@UnpassClass as char(2))+' 总学分'+cast(@AllScure as char(2))select*from StudentClass where StudentNo=@SNoendelseprint'用户名/密码错误'end trybegin catchprint'error'end catchexec pro_AskGrade 'A11111111',发放教职工工资:create procedure pro_PayTeacherasbegin trydeclare @ClassTime int,@TeacherTitle char(10),@YearReward int,@PayBase int,@PayOther int,@TeacherNo intdeclare cur_PayTeacher cursorfor select EmNo,EmPosition from Employeeopen cur_PayTeacherfetch cur_PayTeacher into @TeacherNo,@TeacherTitlewhile(@@fetch_status=0)beginselect@ClassTime=sum(ClassTime)from Class where ClassNo in(select ClassNo from EducateClass where TeacherNo=@TeacherNo)if(@ClassTime=null)set @ClassTime=0if((select Ispartime from Teacher where TeacherNo=@TeacherNo)=0) set @PayOther=1500elseset @PayOther=0if(@TeacherTitle='初级')beginset @PayBase=1000set @YearReward=1000endelseif(@TeacherTitle='中级')beginset @PayBase=1200set @YearReward=2000endelsebeginset @PayBase=1500set @YearReward=3000endif(month(getdate())!=12)insert into Incomevalues(@TeacherNo,@PayBase,getdate(),@PayOther,0,@ClassTime*80/6) elseinsert into Incomevalues(@TeacherNo,@PayBase,getdate(),@PayOther,@YearReward,@ClassTime *80/6)select*from Income where EmployeeNo=@TeacherNofetch cur_PayTeacher into @TeacherNo,@TeacherTitleendclose cur_PayTeacherdeallocate cur_PayTeacherend trybegin catchprint'error'end catchexec pro_PayTeacher了解课程情况:create procedure pro_Teach@TeacherNo int,@TeacherCardId varchar(18)asbegin tryif(exists(select*from Employee where EmNo=@TeacherNo andEmCardId=@TeacherCardId))if(exists(select*from Teacher where TeacherNo=@TeacherNo))begindeclare @CountUnpass int,@ClassNo int,@ClassNamevarchar(20),@EducateClassNo intdeclare cur_Count cursorfor select Class.ClassNo,Class.ClassName,EducateClassNo from EducateClass joinClass on Class.ClassNo=EducateClass.ClassNowhere TeacherNo=@TeacherNoorder by Class.ClassName,EducateClassNoopen cur_Countfetch cur_Count into @ClassNo,@ClassName,@EducateClassNowhile(@@Fetch_status=0)beginselect @CountUnpass=count(Grade)from StudentClass whereClassNo=@ClassNo and Grade<60print'课程名'+@ClassName+' 课程班号'+cast(@EducateClassNo aschar(2))+' 不及格学生人数'+cast(@CountUnpass as char(2))select StudentNo,SName,Grade from StudentClass join Student on SNo=StudentNo where ClassNo=@ClassNo and Grade<60select top3 StudentNo,SName,Grade from StudentClass join Student on SNo=StudentNo where ClassNo=@ClassNofetch cur_Count into @ClassNo,@ClassName,@EducateClassNoendendelse print'非合法教师'elseprint'用户名/密码错误'end trybegin catchend catchexec pro_Teach 1,新生报到:Create procedure pro_NewStudent@StudentNo varchar(20),@StudentName varchar(20),@SBirthdaydatetime,@SCardID varchar(20),@DepNo int,@StudentSex char(2)asbegin trydeclare @StudentCount int,@DormNo varchar(8)insert into studentvalues(@StudentNo,@StudentName,@SBirthday,@SCardID,@DepNo,@StudentSex ,null)select @StudentCount=count(SNo)from Studentprint'当前学生人数'+cast(@StudentCount as char(2))select @DormNo=DormNo from Dorm where DormSex=@StudentSex andDormNo=@DormNo and DormNowNu>0end trybegin catchprint'error'end catchcreate procedure pro_ChooseDorm@StudentNo varchar(20),@DormNo varchar(8)asbegin trybegin tranupdate Dorm set DormNowNu=DormNowNu-1 where DormNo=@DormNoupdate Student Set DormNo=@DormNo where SNo=@StudentNoselect*from Student where DormNo=@DormNocommit tranend trybegin catchrollback tranend catchexec pro_NewStudent 'A11111115','Tome','1992-06-11',,1,'男'exec pro_ChooseDorm 'A11111115','01-111'开课:create procedure pro_ChoseClass@TeacherId int,@TeacherCardId varchar(20),@NewClass bit,@ClassRoomNo int,@ClassNo int,@ClassTerm varchar(12)asbegin tryif(exists(select*from Teacher where TeacherNo=@TeacherId)) if(exists(select*from Employee where EmNo=@TeacherId and EmCardId=@TeacherCardId))beginif(@NewClass=1)beginif(@TeacherId!=(select TeacherNo from EducateClass where ClassNo=@ClassNo))insert intoEducateClass(EducateClassNo,ClassNo,TeacherNo,ClassRoomNo,ClassTerm) values(5,@ClassNo,@TeacherId,@ClassRoomNo,@ClassTerm)elseprint'该教师已开该课程'endselect*from EducateClass where TeacherNo=@TeacherIdendelseprint'密码错误'elseprint'非教师'end trybegin catchprint'error'end catchcreate procedure pro_ChooseStudent@ClassNo int,@SNo varchar(20)asbegin tryif(@SNo=(select StudentNo from StdentClass where ClassNo=@ClassNo)) begininsert into StudentClass values(@ClassNo,@SNo,null)declare @StudentCount intselect @StudentCount=count(StudentNo)from StudentClass where ClassNo=@ClassNoendelseprint'该生已选该课程'end trybegin catchprint'error'end catchexec pro_ChoseClass 1,,0,null,null,nullexec pro_ChooseStudent 1,'A11111112'第6题1.select avg(Grade)from StudentClassjoin Classon StudentClass.classNo=Class.ClassNojoin Studenton Student.sno=StudentClass.StudentNowhere ClassName='Computer'and SSex='男'2.select SName as'姓名',SBirthday as'生日',SCardId as'身份证号码'from Student where SSex='男'unionselect EmName as'姓名',EmBirtday as'生日',EmCardId as'身份证号码'from Employee where EmNo in(select TeacherNo from Teacher)and EmSex='男'3.create view vwFamelasselect SName as'姓名',SBirthday as'生日',SCardId as'身份证号'from Student where SSex='女'select*from vwFamel4.select count(SNo)as总人数from Student join Department onStudent.DepNo=Department.DepNogroup by DepName5.select DepNo,avg(datediff(year,SBirthday,getdate()))from Studentwhere SSex ='女'group by(DepNo)having avg(datediff(year,SBirthday,getdate()))>206.select ClassName as'课程名',Grade as'成绩',EmName as'教师姓名'from Classjoin StudentClass on Class.ClassNo=StudentClass.ClassNojoin EducateClass on StudentClass.ClassNo=EducateClass.ClassNojoin Employee on EducateClass.TeacherNo=Employee.EmNowhere StudentNo='A11111112'7.select distinct SName,SNo from Student joinStudentClass on StudentNo=SNowhere not exists(select*from StudentClass where StudentNo=Student.SNo and Grade<90)8.select*from StudentClass joinClass on Class.ClassNo=StudentClass.ClassNojoin EducateClasson Class.ClassNo=EducateClass.ClassNoorder by StudentNocompute sum(Grade)by StudentNo第7题create trigger update_Student on Studentfor updateasbegin trydeclare @NewDorm varchar(8),@OrignalDorm varchar(8),@DormNowNuint,@OrignalDep int,@NewDormDep int,@SNo varchar(20)select @NewDorm=DormNo,@SNo=SNo from insertedselect @OrignalDorm=DormNo,@OrignalDep=DepNo from deletedselect @NewDormDep=DormDep,@DormNowNu=DormNowNu from Dorm whereDormNo=@NewDormif(exists(select*from Dorm where DormNo=@NewDorm)and exists(select *from Dorm where DormNo=@OrignalDorm))beginif(@DormNowNu!=0)beginupdate Dorm set DormNowNu=DormNowNu-1 where DormNo=@NewDormupdate Dorm set DormNowNu=DormNowNu+1 where DormNo=@OrignalDorm update Student set DormNo=@NewDorm where SNo=@SNo endelsebeginprint'转入宿舍已满'rollback tranbegin tranendendelsebeginprint'不能转入别系宿舍'rollback tranbegin tranendend trybegin catchprint'error'end catch第8题create procedure pro_changeDorm@SNo varchar(20),@OrignalDorm varchar(8),@NewDorm varchar(8),@Agree bitasif(@Agree!=0)beginbegin transactiondeclare@OrignalDormSex char(2),@NewDormSex char(2),@Shengyu int,@oldDep int,@NewDep intselect@OrignalDormSex=DormSex,@oldDep=DormDep from Dorm where DormNo=@OrignalDormselect@NewDormSex=DormSex,@Shengyu=DormNowNu,@NewDep=DormDep from Dorm where DormNo=@NewDormif(@OrignalDormSex=@NewDormSex and @Shengyu>0 and @NewDep=@oldDep)beginupdate Dorm set DormNowNu=DormNowNu-1 where DormNo=@NewDormupdate Dorm set DormNowNu=DormNowNu+1 where DormNo=@OrignalDormupdate Student set DormNo=@NewDorm where SNo=@SNocommit transactionendelserollback transactionendexec pro_changeDorm 'A11111112','02-111','03-111',0。
吉林工程技术师范学院信息工程学院《 SQL Server数据库设计》课程设计报告题目:学生信息数据库管理系统设计专业:软件工程班级: R1241 姓名: xxx 学号: ********** 指导教师: XXXXXXXXXX 时间: 2014年12月21日摘要学生信息管理系统主要用来管理学生基本信息。
本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。
系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。
随着学校教育体制的迅速发展,学生的数量快速增长,对于学生的信息管理也变得越来越复杂。
因此要实现对学生信息的有效管理借助现代信息技术的管理方法,建立学生信息管理系统是我们的可以借助的有效工具。
本文通过对一个学生信息管理系统的开发实例,基于SQL 2005的学生信息管理系统进行了分析和研究。
文章首先分析了管理信息系统的概念和特点,介绍了开发工具SQL2005,然后对学生信息管理信息系统进行了设计方案论证、设计实现过程、调试运行及结果分析,在设计实现过程中要能够统计有多少人、计算平均成绩及排序(由低到高)、找出不及格的学生,创建视图存放计算机专业的学生信息、创建一个存储用来查找计算机专业学生的成绩。
关键字:学生信息管理、SQL Server目录一、课程设计的目的……………………………………………2页二、设计方案的论证(背景、意义、技术路线)………………3页三、设计实现过程………………………………………………5页四、调试运行及结果分析………………………………………6页五、测试及问题探讨……………………………………………15页六、课设总结与体会……………………………………………17页七、致谢…………………………………………………………18页八、参考文献……………………………………………………19页一、课程设计的目的学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理学生学生的信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
另外在进行本次系统开发的过程也可以让我们日常所学习的数据库技术学以致用,并且得到进一步的理解与巩固,将理论与实践相结合,让我们对数据库的基本操作有了一个完整的认识。
二、设计方案的论证2.1背景介绍学生成绩管理系统可以帮助学校完成一些日常工作,许多学校也都有自己的教务、成绩管理系统。
随便各种技术的发展,系统的速度、用户体验、安全问题越来越受到重视。
虽然硬件的发展可以提高系统的一些指标,但是我们也不能不注意系统自身的性能、安全问题。
数据的安全性只有依靠程序保证。
由于个人经验不足,只能参考其他系统完成该系统。
,管理系统的安全性直接关系到高校的日常管理工作成效,一个具有精确权限控制的管理系统势必会得到更好的用户体验,极大程度上保护高校的重要数据。
2.2设计意义为了使学生成绩管理更加的方便,我们有必要开发这样一种实用性强的学生成绩管理系统。
这个系统方便学生查看自己的成绩及选课,教师给学生打分,管理员添加学生、教师、课程。
对此课题的研究将有助于提升个人系统设计和分析能力,学会软件项目权限管理的基础实现,对以后大型项目的权限设计打下基础。
同时,将对本人以下方面起到积极作用:对SQL知识的理论实践应用;加深对系统权限管理的理解;提高自己的系统分析、设计能力;初步了解软件项目的开发过程。
在这个系统的开发中学生可以将自己所学的知识用于实践而得到很多锻炼,达到学以致用的目的。
2.3技术路线本篇课设过程,各种功能的实现都是通过SQL语句实现的。
SQL 语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。
利用SQL Server对数据库进行进基本的操作。
三、设计实现过程3.1系统功能本系统包括以下功能:1). 学生信息管理(包括学生基本信息的录入)2). 课程管理(将课程与成绩连接)3). 成绩管理(对成绩进行分类,排序)4). 信息查询(包括学生查询、课程查询、成绩查询)3.2设计理念以现代计算机技术、网络技术为基础的数字化教学正朝着信息化、网络化、现代化的目标迈进。
如今,国内的大部分学校都已接入或将要接入互联网并建成校园网,各校的硬件设施已经比较完善,通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理,从而实现教育的网络化和信息化。
与网络技术相结合的新型学生学籍管理模式,对教育、教学过程有着极为宝贵的特性,可以为新型的办学模式提供一个信息化的平台。
3.3开发工具操作系统:Microsoft Windows XP 开发环境数据库:Microsoft SQL Server 2005四、调试运行及结果分析4.1创建数据库创建一个名为PXSCJ的数据库,其初始大小为5MB,最大大小不受限制,允许数据库自动增长,增长方式按10%比例自动增长,日志文件初始为2MB,最大可增长到2MB,按1MB增长:CREATE DATABASE PXSCJON(NAME='PXSCJ_DATA',FILENAME='C:\PXSCJ.mdf',SIZE=5MB,FILEGROWTH=10%)LOG ON(NAME='PXSCJ_log',FILENAME='C:\idf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)效果图如图4-1图4-1 创建数据库4.2创建表创建三张表,命名为XSB,KCB,CJB4.2.1创建XSB代码部分如下:USE PXSCJGOCREATE TABLE XSB(XH CHAR(6) NOT NULL PRIMARY KEY,XM CHAR(8) NOT NULL,XB BIT NULL DEFAULT 1,CSSJ DATETIME NULL,ZY CHAR(12) NULL,ZXF INT NULL DEFAULT 0 CHECK(ZXF>=0 AND ZXF<=160), BZ VARCHAR(500) NULL)效果图如图4-2-1图4-2-1 创建表XSB4.2.2创建KCB代码部分如下:USE PXSCJGOCREATE TABLE KCB(KCH CHAR(3) NOT NULL,KCM CHAR(16) NOT NULL,KKXQ TINYINT NULL,XS TINYINT NULL,XF TINYINT NULL)效果图如图4-2-2图4-2-2 创建KCB表4.2.3创建CJB代码部分如下:USE PXSCJGOCREATE TABLE CJB(XH CHAR(6) NOT NULL ,KCH CHAR(3) NOT NULL ,CJ INT NULL DEFAULT 0)效果图如图4-2-3图4-2-3 创建CJB表4.3对表的增删改查操作4.3.1增加信息代码部分如下:USE PXSCJGOINSERT INTO XSBVALUES('081115','钱跃东',1,'1993-06-7','软件工程',50,NULL)GO效果图如图4-3-1图4-3-1 增加信息4.3.2删除信息代码部分如下:USE PXSCJGODELETEFROM XSBWHERE XH=081115GO效果图如图4-3-2图4-3-2 删除信息4.3.3修改信息代码部分如下:USE PXSCJGOUPDATE XSBSET XH='081219',ZY='软件工程',BZ='三好学生'WHERE XH='081215'GOSELECT * FROM XSBGO效果图如图4-3-3图4-3-3 修改信息4.3.4统计总数代码部分如下:USE PXSCJGOSELECT COUNT(XH) AS'学生总数'FROM XSB效果图如图4-3-4图4-3-44.3.5平均成绩代码部分如下:USE PXSCJGOSELECT XH,AVG(CJ)AS'PJCH'FROM CJBGROUP BY XHGO效果图如图4-3-5图4-3-5 平均成绩4.3.6升序排列代码部分如下:USE PXSCJGOSELECT XH,KCH,CJFROM CJBWHERE KCH=(SELECT KCHFROM KCBWHERE KCM='计算机基础')ORDER BY CJ效果图如图4-3-6图4-3-6 升序排列4.3.7查找不及格学生代码部分如下:USE PXSCJGOSELECT XSB.XH,XM,KCH,CJFROM XSB,CJBWHERE(XSB.XH=CJB.XH AND CJ<70)效果图如图4-3-7图4-3-7 查找不及格学生4.3.8创建视图代码部分如下:USE PXSCJGOCREATE VIEW CS_XSASSELECT *FROM XSBWHERE ZY='计算机'效果图如图4-3-8图4-3-8 创建视图4.3.9创建存储过程代码部分如下:USE PXSCJGOCREATE PROCEDURE CJ_infoASSELECT *FROM CJBWHERE XH=(SELECT XHFROM XSBWHERE ZY='计算机')效果图如图4-3-9图4-3-9 创建存储过程五、测试及问题探讨5.1 SQL SERVER2000基础上直接安装SQL SERVER2005在电脑上已经安装过SQL SERVER2000,在此基础之上安装SQL SERVER2005,由于其安装实例和默认端口是相同的,如果选择默认实例就会视为升级处理,即将原来的2000的实例覆盖了,这样的话2000就不能用了,所以有了2000再安装2005时,需要重新命名一个实例,修改一个端口。