选修课程管理系统_第1页
选修课程管理系统_第2页
选修课程管理系统_第3页
选修课程管理系统_第4页
选修课程管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE2成绩09信计2011-2012(一)《数据库原理及应用》课程设计设计题目选修课程管理系统设计时间2011.12.29至2012.1.4学生姓名沈悦璐学生学号20090403309所在班级09信计3班指导教师刘风华徐州工程学院数学与物理科学学院目录一、绪论……………………..3二、需求分析…………..….3三、概念模型设计………………….……43.1、用E-R图设计信息模型………………43.2、设计相应关系模型,确定数据库结构………………43.3、设计应用系统的系统结构图,确定系统结构………43.4、触发器,存储过程………………….…4四、逻辑结构设计……………….………5五、物理设计………………6六、实验数据示例:测试阶段………76.1、输入数据设计…………76.1.1、输入数据设计……………………6.1.2、插入教师信息……………6.1.3、插入课程信息……………………106.1.4、插入选课信息……………………116.2、执行数据操作设计……………………126.2.1、基本select语言的使用……………………126.2.2、模糊查询like语句的使用…………………136.2.3、统计函数count的使用………………………13.6.2.4、对数据库中的数据进行操作…………………146.2.5、触发器的设计,实现表间关联字段修改时的完整性问题…….166.2.6、存储过程的设计,根据需要可以创建带参数的存储过程,并用语句调用……………….17七、总结………………………..……………19学生基本表:表4-1属性名称属性名类型长度说明学号STU_NOCHAR5学号为主码姓名STU_NAMECHAR8性别STU_SEXCHAR2专业STU_MAGCHAR202.课程基本表:表4-2属性名称属性名类型长度说明课程号C_NOCHAR5课程号为主码课程名C_NAMECHAR20系名C_DEPTCHAR20学分C_POINTCHAR23.选课基本表:表4-3属性名称属性名类型长度说明学号STU_NOCHAR5学号为外码课程号C_NOCHAR5课程号为外码成绩POINTSMALLINT24.教师表:表4-4名称字段名称数据类型主键非空教师编号T_NOChar(4)YesYes姓名T_NAMEVarchar2NoYes电话T_TELBigintNoNo上课地点PLACEVarchar2NoNo每个关系模式都必须注明主键码。同时,对于从联系导出的关系,登记和分组,使用与之相联系的实体集的主健码作为自己的键码,必须符合外键码约束。五、物理设计1.为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引。以下是各表中建立索引的表项:(1)学生(学号)(2)教师(教师编号)(3)课程(课程号)(4)选课(学号,课程号)2.用SQL实现设计(1)建立“选修课程管理系统”数据库,代码及建库截图如下:CREATEDATABASEcourseON(NAME=选修课程管理系统_data,FILENAME='E:\数据库课程设计\选修课程管理系统_data.mdf',SIZE=5MB,FILEGROWTH=1MB)LOGON(NAME=选修课程管理系统_log,FILENAME='E:\数据库课程设计\选修课程管理系统_log.ldf',SIZE=1MB,FILEGROWTH=1MB)图5-1(2)建立“学生”表,代码如下:CREATETABLESTUDENT( STU_NOchar(5)NOTNULLPRIMARYKEY, STU_NAMEchar(8), STU_SEXchar(2), STU_MAGchar(20),)(3)建立“教师”表,代码如下:CREATETABLETEACHER( T_NOchar(10)NOTNULLPRIMARYKEY, T_NAMEvarchar(50), T_TELbigint, PLACEvarchar(50),)(4)建立“课程”表,代码如下:CREATETABLECOURSE( C_NOchar(10)NOTNULLPRIMARYKEY, C_NAMEchar(10), C_DEPTchar(10), C_POINTchar(10),)(5)建立“选课”表,代码如下:CREATETABLEC_COURSE( STU_NOchar(5), C_NOchar(10), C_NAMEchar(10), POINTsmallint,ConstraintC_COURSE_1primarykey(STU_NO,C_NO))六、实验数据示例:测试阶段1.输入数据设计(1)插入学生信息:insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('123','沈悦璐','女','计算机')图6-1-1insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('224','李超','男','机电')图6-1-2insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('298','李瑾','女','英语')图6-1-3insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('346','王尤佳','女','会计')图6-1-4insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('347','宋丽娜',‘女’,'会计')图6-1-5insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('361','苏二飞','男','土木')图6-1-6insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('364','李云','男','材料')图6-1-7insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('556','孙兵','男','人文')图6-1-8insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('612','赵丽','女','物理')图6-1-9查询录入信息结果如下图:图6-1-10(2)插入教师信息:insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('156','刘老师','88036721','s203')图6-1-11insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('253','董老师','88036853','n305')图6-1-12insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('192','赵老师','88036901','e303')图6-1-13insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('196','杨老师','88036612','wn203')图6-1-14insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('110','张老师','88036154','w105')图6-1-15查询录入信息结果如下图:图6-1-16(3)插入课程信息:insertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('103','数据库','计算机','5')图6-1-17insertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('107','运筹学','数学','3')图6-1-18nsertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('203','数理方程','数学','5')图6-1-19insertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('208','控制论','计算机','4')图6-1-20查询录入信息结果如下图:图6-1-214)插入选课信息:insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values('123','103','数据库','90')图6-1-22insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values('224','107','运筹学','67')图6-1-23insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values('346','208','控制论','57')图6-1-24insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values(‘612’,'203,'数理方程','72图6-1-25查询录入信息结果如下图:图6-1-26执行数据操作设计:基本select语言的使用查询course表中指定的数据,代码及结果如下图:图6-2-1(2)模糊查询like语句的使用查询teacher中指定的数据,代码及结果如下图:、图6-2-2(3)统计函数count的使用查询选课门数不小于一门的学生学号及姓名代码及结果如下图:图6-2-3(4)对数据库中的数据进行操作删除学生表中指定的数据,代码及结果如下图:图6-2-4更新教师表中的数据,代码及结果如下图:图6-2-5(5)触发器的设计,实现表间关联字段修改时的完整性问题。如果某同学已经毕业或退学了就可以在STUDENT表中删除其信息,同时该同学在COURSE表中的信息应该自动被删除,假设不存在参照完整关系。实现该功能的触发器代码如下:图6-2-6禁止删除学生表中数据的触发器:图6-2-76)存储过程的设计,根据需要可以创建带参数的存储过程,并用语句调用。存储过程的使用可以加快SQL语句的执行速度,减少网络通信量,并在一定程度上保证系统的安全性。本系统中设计的存储过程代码及结果如下图所示:图6-2-8数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行了。但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务。七、总结两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。这个课程设计采用的是sql语句在数据库查询分析器里直接查询。这次课程设计给了我机会实践对数据库的操作,让我对书本上的知识有了一个新的认识。通过自己这次完成数据库的课程设计,使我对数据库有了更深一步的了解。数据库应用系统的开发设计是一个规范化的过程,需要遵循以定的方式方法与开发设计步骤;开发一个数据库应用系统,通常要经过调查分析、数据建模、功能设计、选择数据库系统、选择数据库访问技术等阶段;数据库关系模式的设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论