罗湾湾课程设计分析方案Word格式.docx
《罗湾湾课程设计分析方案Word格式.docx》由会员分享,可在线阅读,更多相关《罗湾湾课程设计分析方案Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
6
设计中创新性评价
7
论文书写规范化评价
8
综合应用能力评价
综合评定等级
摘要
本书系统、完整地介绍了数据库理论与应用的发展历史,结合具体的开发平台和应用案例,深入浅出地介绍了数据库的概念与应用,紧密围绕关系数据库这个主题,通过数据库及其应用系统概述、数据库基础理论、关系数据库表间关系的物理实施及应用系统创建、基于BorlandDelphi的关系数据库应用系统实施、分布式数据库系统及其相关理论、关系数据库的结构化查询语言SQL及其应用、关系数据库系统的规范化设计、数据库系统及其数据安全、数据库信息系统与可靠性、数据库应用系统的框架设计的介绍,体现了原理与应用的完美结合。
本书可作为高等院校计算机、信息技术、信息管理专业及理工科各专业的“数据库原理”、“数据库系统”、“面向对象数据库程序设计”、“管理信息系统”等课程的教材,也可作为计算机应用系统开发人员和相关科研工作者的参考书。
第一章数据库系统简介及课设目的
1.1数据库指什么
《数据库应用系统开发:
SQLServer+VisualBasic案例驱动教程》以数据库知识以及基于数据库的应用系统开发为内容,以SQLServer2000以及VisualBasic6.0为例子,深入浅出地介绍相关知识和应用;
力求使学生在掌握数据库基本知识的同时,培养开发基于数据库的应用系统的能力,真正达到“学”以致“用”。
全书以“高校学生成绩管理系统”案例为主线,以该数据库应用系统的开发为内容贯穿始终,针对性强。
该书的新颖之处在于从书的一开始便提出任务,明确教案目标,从而实现以任务驱动教案、以案例贯穿教案的教案方法,充分尊重和符合学生的认知规律。
全书内容选取精细、知识结构新颖且合理。
SQLServer+VisualBasic案例驱动教程》适用于各高等院校计算机公共基础课教案,也可作为相关读者的参考书。
1.2数据库的一些基本用途
严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。
在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。
例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等>
存放在表中,这张表就可以看成是一个数据库。
有了这个"
数据仓库"
我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。
这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。
此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"
数据库"
,使其可以利用计算机实现财务、仓库、生产的自动化管理。
J.Martin给数据库下了一个比较完整的定义:
数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;
数据的存储独立于使用它的程序;
对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。
这种数据集合具有如下特点:
尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。
从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
+
1.3VisualStudio2008
VisualStudio2008是微软公司推出的开发环境。
VisualStudio是Windows平台应用程序的开发环境,它是建立在IDE(统一开发环境>
的基础之上,可用于开发多种不同类型的应用程序。
微软宣称VisualStudio2008的承诺是开发者可以针对众多的应用程序进行开发,诸如Windows7、Office、Web、智能手机、云应用框架等。
微软除了支持其基本平台外,也准备提供对新兴应用趋势的工具支持,即云计算和并行设计,以充分利用高性能的多核系统。
例如,为并行编程提供了更多支持,包括增加调试窗口,增加对NETFrameworkPLINQ、本地ParallelPatternLibrary和ConcurrencyRuntime并行扩展编码的支持。
1.4SQLserver2005简介
SQLServer2005是微软公司推出的大型数据库管理系统,建立在成熟而强大的关系模型基础之上,可以很好地支持客户机/服务器网络模式。
SQLServer2005是一个杰出的数据库平台,能够满足各种类型的企事业单位对构建网络数据库的需求,同时还具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。
它与Windows操作系统紧密集成,具有方便易用的图形界面,并提供了一套完整的管理工具和实用程序,大大减轻了管理员的工作量,使用户对数据库的操作变得非常简单,使许多以前需要手工进行处理的复杂任务,现在可以通过图形化界面和向导工具来轻松地完成。
正是由于SQLServer2005具有操作简单、功能强大、安全性高等特点,目前已经成为各类学校学习大型数据库管理系统的所选对象之一。
1.5课设的目的:
是加深学生对这门课的了解,培养学生的动手能力和解决实际问题的能力。
提高网页设计与制作技能的运用。
具体的课设目的应达到以下几个目的:
1.提高学生在实际操作中收集信息,对信息进行价值判断,进行信息整理、加工的能力。
2.在实际的工程任务中培养网页设计方面的素养。
3.在实际的工程任务中使学生网页编程和制作的能力得到提高。
4.培养相关知识和技能的综合应用能力。
5、掌握运用ASP.NET语言及数据库原理知识进行系统分析和设计的方法
6、掌握关系数据库的设计方法
7、掌握SQLSever2008数据库系统开发的应用
8、掌握简单的数据库应用程序编写方法。
第二章模块图和E-R图分析
1需求分析
1.1系统目标:
实现一个通用学籍管理系统,完成对学生学籍信息的增加、删除、修改、查询、显示全部学生学籍信息等功能。
1.2系统功能需求:
本系统只在学校内部使用,故无需登录。
用户可直接进入到主界面,进行各种操作,诸如录入学生信息、删除已不在的学生的学籍信息、修改有错误信息的学生的学籍信息、查询所要找的学生的学籍信息以及查看所有学生的学籍信息。
(1)功能划分:
用户无需经过身份验证,直接进入到学籍管理系统的主界面。
主界面为用户提供了6个功能,即增加记录、删除记录、修改记录、查询记录、显示全部记录和退出。
(2)功能描述:
增加记录:
用户进入到主界面后,若想添加新的学生学籍信息,可点击增加记录按钮。
则会跳出一增加记录的对话框,用户可在各对应的框内填写所要填写的信息。
当然这些不能胡乱的填写,要根据日常情况来填写。
删除记录:
用户进入到主界面后,若想把那些已不在的学生删除掉,可点击删除记录按钮。
则会跳出一删除记录对话框,用户填写所要删除学生的学号,点击确定。
若该学生的学籍信息不在数据库中,则会出现提示信息“无此学生”。
若在数据库中有该学生的学籍信息,则会显示另一提示信息“确定删除吗?
”,点击确定,又会出现一提示信息“删除成功”。
虽然有些繁琐,但能确保不误删学生的学籍信息。
修改记录:
用户进入到主界面后,倘若想修改那些由于各种情况所造成的错误信息时,可点击主界面上的修改记录按钮。
点击后会跳出一修改记录的对话框,用户可以根据有错误信息的学生的学号,先进行查询,查询后会显示该学生的全部学籍信息,用于可将错误的信息纠正过来,然后点击修改。
返回主界面可点击退出按钮。
查询记录:
用户进入到主界面后,如果想要查看某个学生的学籍信息,可点击查询记录按钮。
则会跳出一查询记录的对话框,用户输入想要查询学生的学号就可以查看到该学生的全部学籍信息。
全部记录:
用户进入到主界面后,想要查看全部学生的学籍信息,可点击全部记录按钮。
则会在主界面的下部显示全部学生的学籍信息。
退出:
用户进入到主界面后,进行了各种操作后,想要退出该学生学籍管理系统,可点击主界面上的退出按钮。
点击后,用户就可以退出本系统。
2数据库的概念设计
2.1系统的概念模型:
图2-1学生学籍管理系统概念模型的E/R图
图2-2学生学籍信息的属性E/R图
上面两张图是学生学籍管理系统的概念模型的E/R图,该系统所涉及的实体集有:
学生学籍信息实体集:
具体属性有学号、姓名、性别、政治面貌、出生年月、专业、系院、籍贯、家庭住址。
用户实体集:
具体属性有使用权限。
用户可以对多个学生的学籍信息进行管理,所以用户与学生学籍信息之间的关系为1:
N。
3将概念模型转换为改性模型
3.1将E-R模型转换为关系模式
<
1)学生学籍信息转换为关系:
STUDENT(CODE,NAME,SEX,POLITICAL,NATIVE,BIRTH,DEPARMENT,MAJOR,ADDRESS>
CODEE表示学号,NAME表示姓名,SEX表示性别,POLITICAL表示政治面貌,NATIVE表示籍贯,BIRTH表示出生年月,DEPARMENT表示院系,MAJOR表示专业,ADDRESS表示家庭地址。
3.2数据库表结构设计:
把关系模型转化为表结构:
学生学籍信息表<
student)所包含的学生学籍信息,定义如下:
表1学生学籍信息表
域名
含义
数据类型
例子
备注
code
学号
nvarchar<
10)
1071301208
主键
name
姓名
30)
陈云龙
sex
性别
2)
男
political
政治面貌
Nvarchar<
16)
团员
native
籍贯
8)
江苏
birth
出生年月
1989
deparment
院系
计算机工程
major
专业
科学与技术
address
家庭地址
100)
启东
3.3实现数据完整性
通过各种约束,缺省,规则和触发器实现数据的完整性。
由于学生学籍管理系统的重要性,和各个数据之间的复杂相关性,保证数据的完整性显得更为重要。
不能让用户随意的删除,修改数据。
(1)CHECK约束保证查询时只能输入学号。
2)PRIMARYKEY约束在表中定义了一个惟一标识每一列的主键,即code<
学号)。
3)使用默认值和规则。
4)各种外键约束保证数据的完整性,不能随意删除。
5)主键约束保证实体的完整性。
6)创建规则保证学生的出生年月只能输入数字,不会输入错误数据。
7)创建触发器,保证在添加学生信息的时候,自动将该班级的必修课添加到选课表中。
4应用程序设计
4.1学生学籍管理系统的处理流程图:
图4-1模块设计图
4.2总体结构和外部模块设计:
图4-2模块设计图
第三章数据库和VisualStudio2008运行结果
3.1SQLServer2008
图1
CREATETABLE[dbo].[T_Adjoy_Info](
[专业编号][varchar](50>
NULL,
[专业名称][nvarchar](50>
[所属系部][nvarchar](50>
NULL
>
ON[PRIMARY]
图2
CREATETABLE[dbo].[T_Class_Info](
[班级编号][varchar](10>
[班级名称][nvarchar](10>
[入学年份][varchar](4>
[所属专业][nvarchar](12>
[班主任][nvarchar](6>
图3
CREATETABLE[dbo].[T_Course_Info](
[课程编号][varchar](10>
[课程名称][nvarchar](10>
[学时][varchar](3>
图4
CREATETABLE[dbo].[T_Department_Info](
[系部编号][varchar](10>
[系部名称][nvarchar](10>
[系主任][nvarchar](6>
[备注][nvarchar](max>
图5
CREATETABLE[dbo].[T_Score_Info](
[学号][varchar](10>
[课程编号][nvarchar](10>
[学年][nchar](10>
[成绩][int]NULL
ON[PRIMARY
图6
CREATETABLE[dbo].[T_Student_Info](
[学号][varchar](50>
NOTNULL,
[姓名][nvarchar](6>
[性别][nvarchar](4>
[籍贯][nvarchar](8>
[民族][nvarchar](50>
[出生日期][varchar](20>
[班级编号][varchar](50>
[政治面貌][nvarchar](4>
[身份证号][varchar](20>
[联系电话][varchar](11>
[家庭住址][nvarchar](max>
[图片][varchar](50>
CONSTRAINT[PK_T_Student_Info]PRIMARYKEYCLUSTERED
(
[学号]ASC
WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON>
图7
CREATETABLE[dbo].[T_User_Login](
[ID][uniqueidentifier]NOTNULL,
[UserName][varchar](16>
[PassWord][varchar](16>
[Power][varchar](2>
CONSTRAINT[PK_T_User_Login]PRIMARYKEYCLUSTERED
[ID]ASC
3.2VisualStudio2008运行结果
body{
margin-left:
0px。
margin-top:
margin-right:
margin-bottom:
background-color:
#1D3647。
}
.editbox4
{}
.style2
{
width:
100%。
}
.style3
60px。
text-align:
right。
.style4
left。
.wenbenkuang
57px。
-->
/style>
scripttype="
text/javascript"
functiona(>
{
vardiv=document.getElementById("
div1"
。
varusername=document.getElementById("
username"
.value。
if(username.length<
=0>
div.style.display='
'
else
div.style.display="
none"
functionb(>
div2"
varpassword=document.getElementById("
password"
if(password.length<
functionc(>
div3"
varcheckcode=document.getElementById("
checkcode"
if(checkcode.length<
functioncheck(>
vara=document.getElementById("
varb=document.getElementById("
varc=document.getElementById("
varform=document.getElementById("
myform"
if(a.length<
=0||b.length<
=0||c.length<
alert('
输?
入?
不?
能ü
为a空?
!
?
return0。
functionabc(>
{if(check(>
!
vars=document.cookie。
//获?
取?
cookie值μ
varb=s.split("
="
vars1=parent.String(b[1]>
.toLowerCase(>
vars2=document.getElementById("
s2=parent.String(s2>
if(s1!
=s2>
returntrue。
functioncorrectPNG(>
vararVersion=navigator.appVersion.split("
MSIE"
varversion=parseFloat(arVersion[1]>
if((version>
=5.5>
&
&
(document.body.filters>
for(varj=0。
j<
document.images.length。
j++>
varimg=document.images[j]
varimgName=img.src.toUpperCase(>
if(imgName.substring(imgName.length-3,imgName.length>
=="
PNG"
varimgID=(img.id>
?
"
id='
"
+img.id+"
:
varimgClass=(img.className>
class='
+img.className+"
varimgTitle=(img.title>
title='
+img.title+"
+img.alt+"
varimgStyle="
display:
inline-block。
+img.style.cssText
if(img.align=="
left"
imgStyle="
float:
left。
+imgStyle
right"
right。
if(img.parentElement.href>
cursor:
hand。
varstrNewHTML="
span"
+imgID+imgClass+imgTitle
+"
style=\"
+img.width+"
px。
height:
+img.height+"
+imgStyle+"
filter:
progid:
DXImageTransform.Microsoft.AlphaImageLoader"
(src=\'
+img.src+"
\'
sizingMethod='
scale'
\"
/span>
img.outerHTML=strNewHTML
j=j-1
}
window.attachEvent(