排课系统设计_第1页
排课系统设计_第2页
排课系统设计_第3页
排课系统设计_第4页
排课系统设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

一、需求分析图。需求表述基本功能描述排课系统的数据库设计主要完成工作有:1、数据库管理员对数据的录入和相关完整性条件约束的建立,2、数据库相关的触发器与存储过程对数据库中数据的联系的管理;3、执行程序能够高效率地完成数据处理和调用;4、能够通过DBMS建立一系列视图来更方便的操作数据库。开发技术描述开发工具:MicrosoftSQLServer2005SQL ServerMicrosoft2000电脑到运行MicrosoftWindows的大型多处理器的服务器等多种平台使MicrosoftSQLServer2005数据库管理系统将我们设计的数据库实现。分析形成初步数据字典数据字典(DataDictionrDD)所获得的主要成果,它在数据库设计中占有恨重要的地位。5以下将把分析收集的数据及其结构列出:1、课程相关数据(表1)字段名称字段名称kcdh说明课程代号功能表示该课程的一个代号数据类型int宽度kcm课程名这个课程的名称该课程的上课形式(教室类)char8kclb课程类别tinyint注:教室类别中的tinyin从1~4多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。2(2)字段名称说明功能数据类型宽度bjdh班级代号代表这个班int11级的号码(表示院系)bjmc班级名称表示这个班char8级的名字bjrs班级人数该班级包括int11的人数3(3)的人数字段名称说明功能数据类型宽度js_dh教师代号老师的代码int11jsxm教师姓名教师的名字char10jszc教师职称反映了这个char10老师的职称jsxb教师性别表示老师的char2性别4、教室数据(表4)性别字段名称说明功能数据类型宽度jsdh教室代号表示这个教室位置int11jsgm教室规模表示这个教室可以容纳的人户intjslbjslb教室类别表示是否有多媒体设置int注:t1~4ks_num课时数目的该课程ks_num课时数目的该课程表示该班级该课程的课时数目表示该班级该课程的上课周数目intz_num课时周数int字段名称说明功能数据类型 宽度bjdh班级代号级表示这个班intkcbh课程代号表示该班级int6、班级课时数据(表6)字段名称说明功能数据类型宽度bjdhkcdhsjdh时间代号该班级上该intintintjs_dh教师代号课程的时间点代号教室intjsdhjs_dh教师代号课程的时间点代号教室intjsdh教室代号intt1~41~27、授课数据(表7)jdh说明教师代功能数据类型宽度int号kcdh课程代int号注:一个老师可能教授多门课程的情况也存在。8、教室使用状态数据分析(表8)字段名称说明功能数据类型宽度jsdh教室的代号intjcdh时间代号哪个时间点int教室在用状态syqk使用情况该教室在时间段内是否被使char2用9、学期的时间分配数据(9)字段名称说明功能数据类型 宽度sjdh时间代号intzc时间周tinyintxqjc时间星期节次inyinttinyintt1~5t1~41~2,3~4,5~6,7~8结构,没有对数据的数据存储进行较多的描述。基本数据流图流图,数据流图(DataFlowDiagram,DFD)为概念结构设计和形成初步基本E-R下图为得到的基本数据流程图:人数人数班级教室人数可用教室课程号分析教室教室状态班级课程排课处理班级号教室类别课程老师号课程号时间点数据流出教师授课班级上课时段基本数据流程图(图1)二、概念结构设计将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联准备。数据各实体及其属性以下各图将系统所有实体的属性集合表示如下:教师教师班级性别代号代号姓名专业班级教室教室号教室教室号教室规模课程课程号课程名上课类别班级课课程号班级课课程号班级号课时数周数授课教师号课程号学期时间学期时间班级课表教师号班级号代号周次星期节次时间号课程号教室号教室状态教室状态教室号时间号是否空以上将数据各实体分别将图表列出。E-R实体联系部分情况:1、 一个班级可以是在一个学期内学习没M门课程一门课程也可以时在我们学校的N个班级内开课;2、 一个老师可以教M门课程的情况同时一门课程有N个老师在教课程;3、 一个班级有M个老师授课学习一个老师也可能在N个班级中讲课;4、 一个班上课只能在1个教室,同时一个教室在一时刻只能一个班课(大课及公选课没有考虑进去;5、 一个老师上课在1个教室,一个教室只能1个老师在上课;6、 一个时间点有M个班级在上课一个班级只能只能在1个时间点课。基本E-R图:老师老师MM1讲课讲课1教学1教室1NN占用占用11班级M学习课程N系统基本E-R图E-R三、逻辑结构设计逻辑结构设计是在概念结构设计好的基础上把形成的基本系统实体联系图转化为我们现在要使用的DBMS关系模型结构,在此将具体将E-R图的各实体和属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。E-R生成的关系表:1、课程表(课程号,课程名,课程类别)室的类别,将课程号作为主码。1NF,2NF,3NF三个规范。2、班级表(班级代号,班级名,班级人数)33、教师表(教师代号,教师性别,教师姓名)范要求。4、教室表(教室代号,教室规模,教室类别)4码且不传递依赖于主码。5、时间表(时间代号,星期,节次,周次)记录学校一个学期所有上课时间的表,将节假日和双休日可以不再表内,包含周次,星期,节次三个时间属性,时间代号为主码约束,三个属性完全依赖于主码,也不传递依赖于主码,满足关系范式要求。6、班级选课表(班级代号,课程代号,课时数,周数)完整性。7、班级派课表(班级代号,时间代号,课程号,教师代号,教室代号)的老师代号,以及上课的教室代号。8、教室状态表(教室代号,时间代号,使用状态)10,分别教室代号和时间代号为主码约束,该关系同样满足三范式规范。9、授课状态表(教师代号,课程代号)C便排课系统更好的分配。该表为全码约束,两个属性组合为主键。部分表、视图和触发器的创建1、表的创建:Createtablesubject /(Kcdhintparmarykey,Kcmchar(4)notnull,Kclbchar(4)notnull,Zxsintnotnull,Zhxsintnotnullchilk(zhxsin(0,1,2,3))defult1,)Createtableteacher /(Js~dhintparmarykey,Jszychar(8)notnull,Jsxbchar(2)notnullchilksbiJsxmchar(8)notnull)2、班级查询视图建立CreateviewclasstimeAsSelect.jsdh,,subject.kcm,teacher.jsxm,time.jc,zc,xqFrom,subjectWhere.bjdhand.s~dhtime.sjdh.sjdhandsubject.kcd.kcdh3、教室课表视图建立:CreateviewteachertimeAsSelect

级派课表.bidh

派课表.bidhFromclass.,subjectWhere.bjdhand.s~dhtime.sjdh.sjdhandsubject.kcd5、部分触发器的建立:CreatetriggerAsBegin

派课表forinsertdeclare@banjiint@banji_1intselect@banji=count(*)foinsertedwhereinsertedbd课表.bjdhand.bjkcselec@banji_1=kssfrom,insertewhereinserted.b

温馨提示

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

评论

0/150

提交评论