软件学院课程设计报告书课程名称数据库原理及应用课程设计设计题目培训中心信息管理系统专业班级学号姓名指导教师2014年6月26日2目录1.设计时间.....................................................................................32.设计目的.....................................................................................33.设计任务.....................................................................................34.设计内容.....................................................................................34.1需求分析...........................................................................................34.2系统设计...........................................................................................34.2.1概念结构设计.................................................................................44.2.2逻辑结构设计.................................................................................64.2.3物理结构设计.................................................................................64.3系统实施............................................................................................84.3.1数据库实现.......................................................................................84.3.2数据载入..........................................................................................124.4运行与测试..................................................................................144.4.1运行与测试.................................................................................144.4.2分析............................................................................................165.总结与展望..............................................................................................176.参考文献..................................................................................................187.成绩评定..................................................................................................1831设计时间2014年6月23日—2014年6月28日2设计目的数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。3设计任务系统概述:培训中心的日常业务是学员发来的电报、文件、电话,经收集、分类后,予以分别处理。如果是报名的,则将报名数据送给负责报名的职员,他们要查阅课程文件,检查是否额满,若不满,在学员文件、课程文件上登记,并开出报名单交财务人员,财务人员开发票经复审后通知学员;如果是付款的,则由财务人员在账目文件上登记,经复审后给学员一张收据;如果是查询的,则交负责查询的部门在查询课程文件后给出答复;如果是要注销原来选修的课程,则由注销人员在课程、学员、账目文件上作相应修改后通知学员;另外,课程管理员要经常对课程数据进行维护。数据要求:课程文件:课程号、课程名、学时、收费、上课地点、教师、招收人数、已报名人数学员文件:班级代号、班主任、学员学号、学员姓名、报名时间、交款额账目文件:日期、班级代号、学员学号、课程号、交款额4设计内容4.1需求分析通过对系统的分析研究,本系统主要分为四大模块,实现四个功能,如下所示:(1)报名功能:将报名数据送给负责报名的职员,他们要查阅课程文件,若不满,在学员文件、课程文件上登记,并开出报名单交财务人员,财务人员开发票经复审后通知学员。(2)付款功能:由财务人员在账目文件上登记,经复审后给学员一张收据。(3)查询功能:交负责查询的部门在查询课程文件后给出答复。4(4)注销课程功能:由注销人员在课程、学员、账目文件上作相应修改后通知学员。4.2系统设计4.2.1概念结构设计(1)E-R模型图(子系统)图1-1图1-2课程招收人数收费上课地点已招收人数学时课程号课程名教师学员班主任学号姓名交款额班级代号报名时间5图1-3图1-4图1-5(2)E-R模型图(总体)班级班主任代号教师性别姓名账目班级代号日期课程号学员学号交款额6图2-14.2.2逻辑结构设计关系模式:课程文件(课程号,课程名,学时,收费,上课地点,教师,招收人数,已招收人数)学员文件(学号,班主任,交款额,姓名,班级代号,交款时间)班级文件(代号,班主任)教师文件(姓名,性别)账目文件(课程号,学员学号,班级代号,日期,交款额)4.2.3物理结构设计关系表:班级文件(CLASS)表1-1课程文件(COURSE)表1-2字段名称中文名称类型长度取值范围是否为空主关键字备注CM班级代号INT4否主码TOPTEACHER班主任CHAR8否外码账目缴费学员选择课程分配教授指导班级教师管理1mmnmnmn1n117字段名称中文名称类型长度取值范围是否为空主关键字备注CNO课程号INT4否主码CNAME课程名CHAR10否否PERIOD学时INT4否否TUITION收费MONEY8否否PLACE上课地点CHAR10否否NUP招收人数INT4否否ANUP已招收人数INT4否否TEACHER教师CHAR8否否学员文件(STUDENT)表1-3字段名称中文名称类型长度取值范围是否为空主关键字备注SNO学号INT4否主码TOPTEACHER班主任CHAR8否外码CM班级代号INT4否外码SNAME姓名CHAR8否否SUMMONEY交款额MONEY8否否ATIME交款时间DATETIME8否否账目文件(ACCOUNTS)表1-4字段名称中文名称类型长度取值范围是否为空主关键字备注SNO学员学号INT4否主码CNO课程号INT4否主码CM班级代号INT4否外码SUMMONEY交款额MONEY8否否PAYTIME日期DATETIME8否否教师文件(TEACHER)表1-5字段名称中文名称类型长度取值范围是否为空主关键字备注TNAME姓名CHAR8否主码SEX性别CHAR2否否4.3系统实施84.3.1数据库实现建表:班级文件CREATETABLECLASS(CMINTPRIMARYKEY,TOPTEACHERCHAR(8),FOREIGNKEY(TOPTEACHER)REFERENCESTEACHER(TNAME)ONDELETECASCADEONUPDATECASCADE);图3-1建表:课程文件CREATETABLECOURSE(CNOINTPRIMARYKEY,CNAMECHAR(10),PERIODINT,TUITIONMONEY,PLACECHAR(10),TNAMECHAR(8),NUPINT,ANUPINTFOREIGNKEY(TNAME)REFERENCESTEACHER(TNAME)ONDELETECASCADEONUPDATECASCADE);9图3-2建表:教师文件CREATETABLETEACHER(TNAMECHAR(8)PRIMARYKEY,SEXCHAR(2)CHECK(SEXIN(‘男’,’女’)));图3-3建表:学员文件CREATETABLESTUDENT(SNOINTPRIMARYKEY,SNAMECHAR(8),TOPTEACHERCHAR(8),CMINT,ATIMEDATETIME,SUMMONEYMONEYFOREIGNKEY(TOPTEACHER)REFERENCESTEACHER(TNAME)ONDELETECASCADEONUPDATECASCADE,10FOREIGNKEY(CM)REFERENCESCLASS(CM)ONDELETENOACTIONONUPDATENOACTION);图3-4建表:账目文件CREATETABLEACCOUNTS(SNOINTNOTNULL,CNOINTNOTNULL,CMINTNOTNULL,SUMMONEYMONEY,PAYTIMEDATETIME,PRIMARYKEY(SNO,CNO),FOREIGNKEY(SNO)REFERENCESSTUDENT(SNO)ONDELETENOACTIONONUPDATECASCADE,FOREIGNKEY(CNO)REFERENCESCOURSE(CNO)ONDELETENOACTIONONUPDATENOACTION,FOREIGNKEY(CM)REFERENCESCLASS(CM)ONDELETENOACTIONONUPDATENOACTION,);11图3-5建表:选课文件CREATETABLESC(SNOINT,CNOINT,GRADEINTCHECK(GRADE=0ANDGRADE=100)PRIMARYKEY(SNO,CNO),FOREIGNKEY(SNO)REFERENCESSTUDENT(SNO)ONDELETECASCADEONUPDATECASCADE,FOREIGNKEY(CNO)REFERENCESCOURSE(CNO)ONDELETENOACTIONONUPDATENOACTION);12图3-64.3.2数据载入(1)教师表表2-1(2)班级表表2-2(3)学员表13表2-3(4)课程表表2-4(5)账目表表2-5(6)选课表表2-64.4运行与测试144.4.1运行与测试(1)检验课程是否额满SELECT*FROMCOURSEWHERENUPANUP;图4-1(2)报名登记INSERTINTOSTUDENT(SNO,SNAME,TOPTEACHER,CM,ATIME,SUMMONEY)VALUES(1