版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计
题目学生管理系统__________
学院计算机科学与工程
专业计算机科学与技术
学号1341901326
姓名姚振一
班级13419013
指导教师_________
目录
L需求分析....................................................
L1用户提出自己得需求.......................................
L2...................................................................................根据需求确定工作环境
2.概念结构设计...............................................
2.1概念结构设计得原则.......................................
2.2将用户需求模块化...........................................
3数据库设计...................................................
3.1罗列数据信息.............................................
3.2根据数据信息构建表结构....................................
4.系统功能设计...............................................
5系统得测试...
5.1系统得测试
5.2测试得目得.
6实训心得与总结
1.需求分析
一套软件就是否有市场,满足用户需求就是关
键因素,所以搞清楚用户到底需要什么就是软件开发得头等大事。用
户需求如何得来?用户有没有把需求描述清楚?如何把用户需求
转化成自动化方式?软件得开发其实就就是从一个个问题开始,再
一个个地解决地过程。整个需求得过程如图:
用户需求分析流程图
图1-1需求过程图
1.1用户提出自己得需求
O随着学校规模得增大以及新增学生选课得影响,手工方式已
而概要设计则就是整个设计得关键部分。概要设计得主要任务就是将
用户得需求划分为不同得功能,然后将这些功能细分成模块,并给模块
一些规则约束,以达到各个模块之间可以相互交流得目得。概要设计
关乎到系统得整体架构,因此想做好一个概要设计,不仅仅要熟悉用户
得业务流程,还要具备相当丰富得设计经验。
1.1概念结构设计得原则
概念结构设计就是根据系统分析得需求与工作环境得情况对整
个软件得总体结构进行大致得设计。概要没计要坚持以下几个原则:
(1)细分原则:软件系统都就是由很多不同得模块组成,当设计一
套软件时,要先将所有得功能分解。解决复杂问题得方法就是将其分
解成儿个小问题,一个个来解决。
⑵提高代码重用性:在面向对象设计中,首先考虑得就就是代码
得重用,一个好得设计,将来在升级换代时不需要太大得改动,节省了
人力物力。
(3)从上而下层层分析:概要设计要从整体出发,逐个剖析软件得
功能,从上而下,先分析系统总得功能,然后一步步细分,直到最小得
功能模块。
(4)一致性原则:概要设计要求所有功能模块在定义时使用统一得
规范。
(5)提高独立性,减少耦合:各个模块与模块之间尽量减少关联,否
则修改一个地方就会引起其她多处得变动,不符合面向对象得原则。
一般情况下,对类封装后,只允许对类进行扩展,而不能修改,而封装
得类必须具有单一职责,即理论情况下不允许两个类共同完成一个功
能。
(6)模块得大小要尽量适中:不就是结构算法越复杂得模块越好,
模块得大小要根据实际工作目标与其她类得耦合紧密程度来决定。经
验表明,一个模块得规模不应过大,模块得总行数应控制在10100行
得范围内,最好为30〜60行,这样理解与阅读都较方便。过长得模块往
往就是分解不充分得表现,会增加阅读理解得难度;但小规模太多也
会使模块之间联系变得复杂,增大系统在模块调用时传递信息所花费
得开销。
1.2将用户需求模块化
根据概要设计得原则来分析一下本项目得用户需求,并最终转化
成用程序语言描述得模块。什么样得需求才就是一个模块?模块应
该具备如下3个特征。
⑴输入与输出:模块必须能被调用并且正确得返回调用,而且调用
都就是相对一个对象而言,这就是模块独立性得一个体现。
(2)处理功能:模块必须可以对调用得输入数据进行灵活得处理,并
为输出准备好处理结果。
(3)程序代码:用来实现模块功能得源代码。
1.2.1确定系统最终模块
概要设计中最重要得就就是确定此项目包括哪些模块。根据上两
节讲述得设计原则与模块特征,将用户需求转化为下面得模块。
⑴管理员模块:就是本系统得核心模块,该模块又包括对学生管
理与课程管理2个子模块,功能如下:
•学生管理子模块:实现对学生信息得添加、修改、删除操作,还
可以输入查询条件进行查询操作。
图3-1学生管理子模块
•课程管理子模块:实现对课程得添加,添加时为其分配任课教
师、上课时闾与地点,实现对课程得修改、删除,查瞧某个课程
得详细信息等。
图3-2课程管理子模块
⑵教师模块:实现查瞧自己所教授得课程、课程有哪些学生选修,
以及利用本系统提交学生得成绩。
图3-3教师管理模块
⑶学生模块:实现学生得选课,查瞧、修改自己得选课信息及查瞧
自己日常得表现情况。
图3-4学生模块
(4)公有模块:实现用户得身份验证,密码修改,退出系统等功能。
图3-5公有模块
2数据库设计
数据就是企业运作过程中不可缺少得重要部分,建立自己得数据
资料库就是提高企业整体竞争力得关键因素。对于程序而言,安全完
整地保存客户得信息就是一种责任,因此,数据库设计就成了整个软
件开发中重要得一个环节。一旦数据设计出现问题,软件就会出现问
题,某些功能得使用就发挥不了最大作用。所以,为了更好地开发数据
库,了解信息得来源以及信息得流向就是头等大事。对于客户得整个
操作流程,都要亲身参与,才能客观地掌握数据资料得真实性,为设计
良好得数据库打下基础。本章主要介绍如何收集客户得数据资料,并
将其转化为程序需要得数据资源。
3.1罗列数据信息
在前面已经罗列出了用户得需求,这也正就是数据库信息得来
源。根据列表内容,可以提炼出以下数据信息。
(1)需要管理学生信息:学生表。
(2)需要管理教师信息:教师表。
(3)需要管理课程信息:课程表。
(4)需要管理选一果信息:选课表。
(5)需要管理活动信息:活动表。
(6)需要管理管理员信息:管理员表。
(7)需要管理奖惩信息:奖惩表。
实体属性表:
实体属性
教师教师1D,教师姓名,登录密码
课程课程号,课程名称,教师ID
管理员管理员ID,管理员姓名、登录密码
选课学号,课程号,课程名、成绩、总成绩
学生学号,姓名,性别,密码,身份证号,地址、专业
活动学号,项目,地点、时间、加分
奖惩学号,事件、奖励、惩处
数据库E-R图设计:
3.2根据数据信息构建表结构
对于如何提取数据表字段,要遵守3个原则。
(1)每个字段都就是不可再分得最小数据单位。
(2)非主键字段必须完全依赖于主键
(3)如果两个表存在关联,必须有字段作为外键进行连接。
3.2.1数据库表得设计
学生表:
字段名类型空值约束条件
学号varchar(20)notnull主键
性别char(5)
姓名Char(5)
身份证号Varchar(20)
专业Char(10)
地址varchar(20)notnull
密码|intnotnull
管理员表:
字段名类型空值约束条件
管理员IDIntnotnull主键
登录密码Intnotnull
管理员姓名Char(10)
教师表:
字段名类型空值约束条件
教师IDIntnotnull主键
登录密码Intnotnull
教师姓名Char(10)
课程表:
字段名类型空值约束条件
课程号Intnotnull主键
课程名称varchar(20)notnull
教师ID[ntnotnul1外键
活动表:
字段名类型空值约束条件
学号varchar(20)notnul1外键
时间char(10)notnull
地点varchar(10)notnull
项目Varchar(20)主键
选课表:
字段名类型空值约束条件
学号varchar(20)notnull外键
课程名称varchar(50)notnull
课程号Intnotnull外键
成绩Varchar(10)
总成绩Varchar(10)
奖惩表:
字段名类型空值约束条件
学号varchar(20)notnull
事件varchar(50)notnull主键
奖励Varchar(20)notnull
惩处Varchar(20)
教师教Int外键
4.系统功能设计
4.1系统功能框架
作为一个学生管理系统,本系统得设计主要包含:系统登录、学生
信息管理、班级管理、课程管理与用户管理。学生管理系统主框架得
主要结构如下图所不。
学生管理系统
学生管理课程管理用户管理
删
注除
册用
户
图7-1学生管理系统框架图
4.2数据库代码
一、首先要建立数据库(stumgn):SQL语
句:CREATEdatabASestumgnon
primary
(name二stumgndata,'c:\ProgramFiles\MicrosoftSQL
Server\MSSQL\data\stumgndata、
mDF',SIZE=20MB,maxsize=100MB,)logon
(name=stumgn_log,?c:\ProgramFiles\MicrosoftSQL
Server\MSSQL\data\stumgn_Log>LDF),size=5MB,
maxsize=20MB,)
二、创建表:
(1)学生基本情况表(stu_jb、dbf)
包括信息有:学生学号(主键),学生姓名,学生性别,籍贯,出生日期,
联系电话,入校时间,家庭地址,注释等字段。SQL语句如下:
CREATETABLE[dbo]、
[stujb]([student_id][bigint]IDENTITY(1,1)N
OTFORREPLICATIONNOTNULL,[stu_name][char]
(10)COLLATEChinese_PRC_CI_ASNOTNULL,[sex]
[char](1)COLLATEChinese_PRC_CI_ASNOTNULL,[s
tu_jg][char](10)COLLATEChinese_PRC_CI_ASNOTNULL
,[birthday][datetime]NULL,[tele][char](
14)COLLATEChinese_PRC_CI_ASNULL,[in_date][cha
r](10)COLLATEChinese_PRC_CI_ASNOTNULL,[home
_add][char](50)COLLATEChinese_PRC_CI_ASNULL,
[note][char](60)COLLATEChinesePRCCIASNULL
)ON[PRIMARY]插入内容语句:
insertintostu_jbvalues
(20029543/樊浩男','重庆',1983-4-23,65119449,2002-9-1,'
重庆')删除记录:
deletestujbwherestu_id=20029890修改记
录:updatestujb
setstuid=20029546
(2)成绩表(score、dbf)
包括信息有:学生学号,学生姓名,课程名称,分数,等级建表:SQL
语句:
CREATETABLEscore(
studentJDINTNOTNULL,
studentNameVARCHAR(IO)NOTNULL,class_noin
tNULL,resulttinyintNULL,credittinyi
ntnull
constraINTPK_TESTPROCESSPRIMARYKEY(student_ID,c
ourse_No))
插入内容语句:
insertintostu_jbvalues
(20029543,'樊浩',’计算机维护',80J良好')
(3)课程信息表(course,dbf)建表:SQL语句:
包括信息有:课程编号,课程名称,课程类型,课程描述建表:SQL
语句:
CREATETABLEcourse(
courseNoINTPRIMARYKEYNOTNULL,
gradeNoINTNULL,
courseNameVARCHAR(IO)NULL,course_Type
VARCHAR(IO)NULL,courseDesVARCH
AR(50)NULL)
(4)学生班级情况表(stu_class、dbf)
包括信息有:学生学号,所在班级,所在系,所学专业,建表:SQL语
句:
CREATETABLEstu_class(
student_IDINTNOTNULL,gradechar(10)NOT
NULL,xiVARCHAR(IO)NOTNULL,professVARCHAR(1O
)NOTNULL,
constraINTPK_TESTPROCESSPRIMARYKEY(student_ID))
(5)系统管理表(usejinfo、dbf)
包括信息有:用户名,密码,用户描述建表:SQL语句:
CREATETABLEuser_Info(
user_IDCHAR(10)PRIMARYKEYNOT
NULL,userPWDCHAR(10)NULL,usej
DESCHAR(10)NULL,)
三、在stumgn中创建视图
(1)、创建名为l_view得视图。基于stu_jb与course两个表建立
视图l_vicw,并显示studont_id与course_nOo所用语句如下:
CREATEviewl_view
ASselectstudent_id,coursenofromstudentinfo,cour
se_infoSELECT*FROM1view
(2)、创建一个名为sex_view得视图。显示性别为“男”得所有学
生得资料,所用语句如下:
CREATEviewsex_view
ASSELECT*FROMstudent_infoWHEREstudent_sex=,男
SELECT*FROMsex_view四、创建存储过程
下面语句就是在stamgn数据库中建立一个名为“'stu_scr'”得存储
过程,用于检索'student_id=2002'得信息,代码如
下:IFexists(selectnamefromsysobjectsWHEREna
me=,stu_scr,andtype='p')dropprocedurestu_scrgo
CREATEprocedurestu_scrAS
selectstudent_id=2002fromstudent_infogo
executestu_scrgo
五、创建索引
(1)在stumgn数据库中建立名为clASsjo得唯一性簇索引,填充率
为90%,并查瞧索引信息,代码:
CREATEuniqueclustered
INDEXclASs_noonclASs_info(clASs_no,grade_no)with
pad_TNDEX,FILLFACT0R=90execsp_helpINDEXclASs_info
六、创建触发器
建立一个名为testprocessinsupd得触发器。代码如
下:USEstumgngo
IFEXISTS(SELECTnameFROMsysobjects
WHEREname='testprocess_insupd,ANDtype=
TR')DROPTRIGGERtestprocess_insupdGO
CREATETRIGGERtestprocess_insupdONtestprocessFOR
insertAS
DECLAREresulttinyINTDECLAREcredittinyINT
SELECTresult=testprocess、
resultfromtestprocessSELECTcredit=testprocess、
creditfromtestprocessIF(result>60)BEGIN
UPDATEtestprocesssettestprocess、
credit二creditFROMtestprocessENDGO
六、确定表内与表之间得数据完整性
(1)缺省值约束
为表stu_jb中得列sex创建一个约束,缺省值为‘1'。usestumgn
go
altertablestudent_info
addconstraintdefault_student_sexdefault'女'for
student_sex现我向表中插入一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会员生日专属关怀服务方案
- 痛风患者低嘌呤饮食规范
- 耕地深松机械作业技术标准
- 有限空间作业风险管控措施
- 尿素科学施用技术操作指南
- 安全生产标准化建设达标方案
- 环境监测数据质量控制规范
- 奶牛高产挤奶厅标准化操作指引
- 甲醛疾病危害、释放原理、重点警惕及应对污染对策
- 风电场主变安装方案
- 雨课堂学堂在线学堂云《中国马克思主义与当代(北京航空航天)》单元测试考核答案
- 2026年发展对象考试测试题库附答案
- 2025年石家庄市市属国有企业公开招聘应届毕业生223人笔试历年参考题库附带答案详解
- (2026版)贪污贿赂司法解释(二)培训纲要课件
- 编织袋厂工作制度范本
- 智联招聘中层竞聘笔试题库
- 2026年新能源的未来发展趋势
- GB/T 42983.1-2023工业机器人运行维护第1部分:在线监测
- 《电动汽车检查与维护》一体化课程标准
- GB/T 19243-2003硫化橡胶或热塑性橡胶与有机材料接触污染的试验方法
- GB/T 11352-2009一般工程用铸造碳钢件
评论
0/150
提交评论