




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JIANGXI AGRICULTURAL UNIVERSITY本科课程实训题目:关于学生排课系统的数据库设计学 院:软件学院姓 名: 肖力谢果学 号:专 业:软件工程班 级:软件1001指导教师:黄欣2011年12月引言:由于当下大学学校班级及专业较多,我们学校的实用的帮助班级排课的一个 系统也有迫切需求。基于用SQL Serve设计的数库的排课系统也有很大的需要, 在本实训作业中,将会针对该实际情况,对我校江西农业大学的学生上课排课系 统的数据库进行设计。该设计工作由双人合作的形式完成,对一个学期以来数据库系统概论的学习 进行巩固和联系。该排课系统主要设计流程工作大概分为三个阶段:需求分析,
2、 概念结构设计,逻辑结构设计,也将设计的物理结构和数据库实施维护从略讲述, 着重在需求分析上的收集数据形成实体及其联系的数据字典完成,在需求分析的基础上完成数据流图的基本设计;在概念结构设计上完成数据的抽象形成各子系 统的E-R图,最后在解决冲突的分析下完成基本总实体 -联系(E-R图);在逻辑结 构设计阶段中完成数据的抽象及实体的形成,实体的规范分析及完整性约束,以及设计阶段的有关触发器的创建分析和实现最后简要对数据库设计的步骤 的物理设计和实施阶段简要概述。课程设计为实验周两天完成,使用流行的 SQL Server 2005数据库系统完成 基本设计工作,通过数据库管理系统(DBMS) T/
3、SQL基本语句实现数据库表的创 建,表的完整性约束,表的视图及触发器的创建,基本工作都按照实训题要求基 本完成。需求分析需求分析是数据库设计的必要和首要设计阶段, 将会影响以后数据库设计的 延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字 典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的 关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流 图。1.1需求表述基本功能描述排课系统的数据库设计主要完成工作有:1、数据库管理员对数据的录入和相关完整性条件约束的建立,2、数据库相关的触发器与存储过程对数据库中数据的联系的管理;3、执行程序
4、能够高效率地完成数据处理和调用;4、能够通过DBMS建立一系列视图来更方便的操作数据库。开发技术描述开发工具:Microsoft SQL Server 2005SQL Server 2005是microsoft公司推出的数据库管理系统,该版本继承了 SQL Server 2000版本的优点,同时又比它增加了许多更先进的功能。具有使用 方便可伸缩性好与相关软件集成程度 高等优点,可跨越 从运行 MicrosoftWindows 2000电脑到运行Microsoft Windows XP的大型多处理器的服务器等多 种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据
5、库管理系统将我们设计的数据库实现。1.2分析形成初步数据字典数据字典(Data Dicti on ary,DD)是数据库设计需求分析阶段后通过科学的处 理方法得到的该系统中各类数据描述的集合, 也是进行详细数据收集和数据分析 所获得的主要成果,它在数据库设计中占有恨重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部 分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构, 以下将把分析收集的数据及其结构列出:1、课程相关数据(表1)字段名称说明功能数据类型宽度kcdh课程代号表示该课程的一个代号intkcm课程名这个课程的 名称char8kclb课程类
6、别该课程的上 课形式(教室类)tin yi nt注:教室类别中的tinyint从14分别代表取值为普通教室、多媒体教室、半 多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。2、班级数据(表2)字段名称说明功能数据类型宽度bjdh班级代号代表这个班 级的号码(表示 院系)int11bjmc班级名称表示这个班 级的名字char8bjrs班级人数该班级包括 的人数int113、教师数据(表3)字段名称说明功能数据类型宽度js dh教师代号老师的代码int11jsxm教师姓名教师的名字char10jszc教师职称反映了这个老师的职称char10jsxb教师性别表示老师的 性别char24、教室
7、数据(表4)字段名称说明功能数据类型宽度jsdh教室代号表示这个教室位置int11jsgm教室规 模表示这个教 室可以容纳的人 户intjslb教室类表示是否有int别多媒体设置注:教室类别中的tinyint从14分别代表取值为普通教室、多媒体教室、半 多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。5、班级课程数据(表5)字段名称说明功能数据类型宽度bjdh班级代号表示这个班 级intkcbh课程代号表示该班级 的该课程intks_num课时数目表示该班级 该课程的课时数 目intz_num课时周数表示该班级 该课程的上课周 数目int6班级课时数据(表6)字段名称说明功能数据类型宽
8、度bjdh班级代号r班级的代号intkcdh课程代号课程的代号intsjdh时间代号该班级上该 课程的时间点intjs_dh教师代号上课老师的 代号intjsdh教室代号上该次课的 教室int注:星期的属性值范围tinyint中从15分别代表值是周一到周五;节次的 属性值范围tinyint中从14分别代表值是12节,34节,56节,78节7、授课数据(表7)字段名称说明功能数据类型宽度jdh教师代号intkcdh课程代号int注:一个老师可能教授多门课程的情况也存在8、教室使用状态数据分析(表 8)字段名称说明功能数据类型宽度jsdh教室的代号intjcdh时间代号哪个时间点 教室在用状态in
9、tsyqk使用情况该教室在时 间段内是否被使 用char2注:标注教室使用情况,以便于进行排课时不至于冲突。9、学期的时间分配数据(表9)字段名称说明功能数据类型宽度sjdh时间代号intzc时间周tin yi ntxq时间星期in yi ntjc节次tin yi nt注:星期的属性值范围tinyint中从15分别代表值是周一到周五;节次的属性值范围tinyint中从14分别代表值是12节,34节,56节,78节。以上各是需求分析后形成的数据的部分数据字典,基本描述了各种数据及其 结构,没有对数据的数据存储进行较多的描述。1.3基本数据流图通过以上的分析和各类数据的形成,也将在以下画出该系统的
10、基本简单数据 流图,数据流图(Data Flow Diagram DFD)为概念结构设计和形成初步基本 E-R 图做好准备。下图为得到的基本数据流程图:人数基本数据流程图(图 1)注:在该数据流程图中简要将系统的数据流向标示, 在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师二、概念结构设计将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联 系图,为下一步逻辑结构设计中创建关系代数模型和建立相应得表做最后的分析 准备。数据各实体及其属性以下各图将系统所有实体的属性集合表示如下:教师班级以上将数据各实体分别将图表列出。基本E-R图的形成实体联
11、系部分情况:1、一个班级可以是在一个学期内学习没 M门课程,一门课程也可以同 时在我们学校的N个班级内开课;2、一个老师可以教M门课程的情况,同时一门课程有N个老师在教授 课程;3、一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课;4、一个班上课只能在1个教室,同时一个教室在一时刻只能一个班上 课(大课及公选课没有考虑进去);5、一个老师上课在1个教室,一个教室只能1个老师在上课;6个时间点有M个班级在上课,一个班级只能只能在1个时间点上课。基本E-R图:老师M系统基本E-R图在形成E-R图的过程中,由于将各实体联系到一块,可能会产生命名冲突, 结构冲突和属性冲突,在此将不具体介绍相
12、关冲突的解决办法, 只在后面的模型 中自行分析并解决。三、逻辑结构设计逻辑结构设计是在概念结构设计好的基础上把形成的基本系统实体联系图 转化为我们现在要使用的DBMS关系模型结构,在此将具体将E-R图的各实体和 属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。E-R图转化为关系模式生成的关系表:1、课程表(课程号,课程名,课程类别)该表记录全校所有课程的相关信息, 包括该课程的上课类别,也就是上课教 室的类别,将课程号作为主码。该关系中其它两个非主属性完全依赖于码值课程代号,也不存在传递依赖, 同时满足于1NF, 2NF, 3NF三个规范。2、班级表(班级代号,班级名,班级人数)
13、表记录学校各班级的的简单信息,包括班级名称和班级人数,班级人数同时 将会确定该班级上课的教室规模,班级代号为主码约束,班级名和班级人数完全 依赖于该码,不存在传递依赖,该关系满足 3范式规范要求。3、教师表(教师代号,教师性别,教师姓名)教师表将学校所有老师的信息记录, 教师代号为为主码,也满足三范式的规 范要求。4、教室表(教室代号,教室规模,教室类别)将记录全校所有教室信息的表,其中实体完整性为教室代号为主码, 教室规 模为教室容纳人数,教室类别取值有int型数据4种,两个非主属性完全依赖于 码且不传递依赖于主码。5、时间表(时间代号,星期,节次,周次)记录学校一个学期所有上课时间的表,
14、将节假日和双休日可以不再表内,包 含周次,星期,节次三个时间属性,时间代号为主码约束,三个属性完全依赖于 主码,也不传递依赖于主码,满足关系范式要求。6班级选课表(班级代号,课程代号,课时数,周数)班级选课表将记录一个班级一门课程的上课信息, 包括课时数,和上课总周 数,班级代号和课程代号为主码,同时也是班级表和课程表的外码, 一个班的某 门课程的上课课时和周数一定的,两个属性完全依赖于主码,同时这个关系也将 是编程实现时进行排课所需要的表,将会生成视图和编写触发器对应外码的参照 完整性。7、班级派课表(班级代号,时间代号,课程号,教师代号,教室代号)班级派课表中记录排课后的班级上课表, 也是
15、最终得到的班级课表信息,以 班级代号和时间代号为主码约束,其他属性有该班级在该时刻上课的课程,上课 的老师代号,以及上课的教室代号。8、教室状态表(教室代号,时间代号,使用状态)教室状态表保存了在排课过程中教室的使用情况,使用状态为1和0,分别表示教室在该时刻的使用状态,为编程实现不会教室在某个时刻不重复排教室。 教室代号和时间代号为主码约束,该关系同样满足三范式规范。9授课状态表(教师代号,课程代号)授课状态表将记录老师的教课信息, 一个老师可能上几门不同的课程,比如 java老师可能也上C语言的课程,加入该表将会更准确记录老师的授课信息, 以 便排课系统更好的分配。该表为全码约束,两个属性
16、组合为主键。部分表、视图和触发器的创建1、表的创建:Create table subjectsdh,zc,xqFrom class,time,teacher,班级派课表 subjectWhere =班级派课表.bjdh anddh二班级派课表.sdh and二班级排派表.sjdh and 二班级派表.kcdh3、教室课表视图建立:Create view teachertimeAsSelect jsxm,bjxm,kcm 班级派课表.bidh ,xq,zc,jc,班级派课表.bidhFrom class ,room,teacher,time,班级排课表.subjectWhere =班级派课表.bjdh anddh二班级派课表.sdh and二班级派课表.sjdh and二班级排课表.kcdh5、部分触发器的建立:Create trigger insert_ST on 班级派课表 for insertAsBeg indeclare banji int banji_1 intselect banji=count(*) from 班级派课表,inserted where 二班级派课表.bjdh and =班级派课表.bjkcselect banji_1=kss from 班级课表,inserted where 二班级派课表.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字智慧方案5494丨商业办公综合体智能化系统汇报方案
- 液压马达的振动与噪音抑制考核试卷
- 环境地质工程课件
- 《能量分配器件》课件
- 2025年嘧菌酯合作协议书
- 小学劳动教育意义及建议
- 2025年工程瑞雷波仪项目建议书
- 2025年环境控制系统项目合作计划书
- 2025年重症监护临床信息系统项目建议书
- 医学显微镜技术原理与应用
- 新疆可克达拉职业技术学院招聘事业单位人员笔试真题2024
- 重庆金太阳2025届高三5月联考英语及答案
- 护理事业编试题及答案
- 全国新能源汽车关键技术技能大赛理论知识竞赛题库
- 2025届贵州省遵义第四中学高考英语全真模拟密押卷含解析
- 人工气道湿化管理
- 2025届湖北省武汉市高中毕业生4月调研考试英语试题答案
- 人工智能在食品检测中的创新应用探讨
- 2025-2030中国骨形态发生蛋白2行业市场发展趋势与前景展望战略研究报告
- 2025年高考语文备考之新题型:成语填空专项训练(含答案)
- 职场沟通职场沟通与人际关系处理知到课后答案智慧树章节测试答案2025年春山东管理学院
评论
0/150
提交评论