毕业设计(论文)-智能排课系统设计与实现.doc_第1页
毕业设计(论文)-智能排课系统设计与实现.doc_第2页
毕业设计(论文)-智能排课系统设计与实现.doc_第3页
毕业设计(论文)-智能排课系统设计与实现.doc_第4页
毕业设计(论文)-智能排课系统设计与实现.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

北方民族大学 学士学位论文 论文题目 智能排课系统设计与实现 系(部)名 称: 计算机科学与工程学院 学 生 姓 名: 专 业: 学 号: 指导教师姓名: 任 荣 论文提交时间: 2012-4-23 论文答辩时间: 2012-4-28 学位授予时间: 北方民族大学教务处制 智能排课系统的设计与实现 ii 智能排课系统设计与实现智能排课系统设计与实现 摘 要 排课,是给学校各专业的教学计划中设置的课程安排合适的时间和地点,也就是 给每个班的课程安排时间和地点。排课工作在教学管理中很重要也很繁琐,计算机智 能排课系统,可以降低排课人员的工作量,减少排课中的人为因素1-2。但排课问题属 于 np 问题,即无法直接得到答案,只能通过猜测获取可能结果。通常 np 问题虽无答 案,却有算法,算法不能直接告诉答案,但可以用来判断可能的结果是否正确可行。 因此,要做好排课工作,提高排课效率,实现智能排课是必不可少的。 本文在查阅大量相关文献的基础上,对高校的排课问题进行了分析,设计和实现 了该功能,此系统主要被分为三个部分:界面的设计、排课算法的设计、以及报表的 自动生成。本系统是采用 microsoft visual studio 2005 作为前台开发工具,sql server2005 作为后台数据库平台的管理系统。 关键词:关键词:智能排课、贪心、分治、visual studio 2005、sql server 2005。 智能排课系统的设计与实现 iii the design and implementation of intelligence curriculum system abstract courses timetabling, is to arrange the appropriate time and the place to the curriculum in school each specialized plan of instruction or is for each classs curriculum arrangementeach semester, courses timetabling work is in the teaching supervisory work key point and the difficultyauto-course timetabling can help reduce working pressure and man-made interruptioncourses timetabling, belonging to the np question,is unable to give the direct answer, but a possible result through guessalthough the question does not have the answer,has the algorithm actually,the algorithm usually cannot tell the answer, but can tell whether the some possibility is true of falsetherefore,it is essential to implementation of intelligence curriculum systemit may help to enhance the timetabling efficiency,promote teaching management level enhancement this article in the consult massive correlation 1iterature foundation has carried on the analysis to courses timetabling,design and implement the function, this system is mainly divided into three parts: interface design, curriculum design, and reports of the automatic generation. this system is used as a microsoft visual studio 2005 development tools, sql server2000 as the back-end database management system platform. keywords the design and implementation of intelligence curriculum system; greedy; partition; visua1 studio 2005; sql server 2005 智能排课系统的设计与实现 iv 目 录 摘 要 ii abstract iii 1绪论 1 1.1 系统开发背景1 1.2 系统开发环境及方法1 1.2.1.开发环境.1 1.2.2 开发方法3 2 可行性分析 4 2.1 技术可行性.4 2.2 经济可行性.4 2.3 操作可行性.5 2.4 法律可行性.5 3 系统需求分析 6 3.1 系统功能需求6 3.2 系统非功能需求6 3.2.1 排课中的基本原则6 3.2.2 排课的基本要求7 4 总体设计 8 4.1 系统总体构架8 4.2 系统功能结构8 4.3 排课算法9 4.3.1 目前常用算法9 4.3.2 排课问题描述.10 4.3.3 排课问题的数学表示.11 4.3.4 排课问题的优先级问题11 智能排课系统的设计与实现 v 4.3.5 算法思想12 4.3.6 算法分析.13 5 数据库设计 .14 5.1 系统数据表14 5.2 uml 建模图14 5.3 数据字典15 5.4 数据库关系图18 6 详细设计 .19 6.1 数据库访问模块19 6.2 条件设置模块22 6.3 教学计划模块25 6.4 排课模块26 6.5 课程表查询模块44 结束语 .46 致谢 .47 参考文献 .48 智能排课系统的设计与实现 1 1 绪论 1.1 系统开发背景 在高校各项教学管理工作中,排课一直是最基本的、最重要的工作,其实质就是 给教学计划中设置的课程安排合适的时问和地点,保证整个教学工作能够顺利地进行; 同时,排课工作也是一项很复杂的工作,排课是一个 np 问题,就是始终找不到一个最 优的方法能够解决的问题,因为这个问题涉及了多种因素进行组合规划,有教师、学 生的因素,也有教室的因素。尤其在目前各高校规模不断扩大,教学资源面临紧张, 教师总数不足的前提下,排课工作问题更为凸出。 随着计算机技术的飞速发展,特别是计算机的应用已普及到经济和社会生活的各 个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前 的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时 间观念,利用计算机实现高校排课系统势在必行。对于各大高校来说,利用计算机支 持学校管理员排课,是适应现代学校的制度要求、推动学校管理走向科学化、系统化、 规范化的必要条件,从而达到提高校管理效率的目的。给同学和老师带来方便。 1.2 系统开发环境及方法 .2.1.开发环境 在计算机硬件和软件快速发展的今天,计算机硬件和软件已经远远满足本管理系 统的要求。在数据库编程工具方面,各种可视化编程方法的出现,一改过去程序设计 的概念和方法,用户用鼠标就可以快速、简捷地创建应用程序,极大地提高了编程效 率。选用 microsoft visual studio 2005 中文版数据库开发的应用程序可以独立运行 于 windows 平台,而且 sql server2005 产生的数据库适用范围广,因此本系统采用 microsoft visual studio 2005 中文版来完成高校排课系统的设计。 visual studio 是微软公司推出的开发环境。是目前最流行的 windows 平台应用 程序开发环境。2005 年,微软发布了 visual studio 2005。.net 字眼从各种语言的 智能排课系统的设计与实现 2 名字中被抹去,但是这个版本的 visual studio 仍然还是面向 .net 框架的(版本 2.0) 。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。 总体来说是一个非常庞大的软件,甚至包含代码测试功能。 这个版本的 visual studio 包含有众多版本,分别面向不同的开发角色。同时还永久提供免费的 visual studio express 版本。 使用 visual studio 2005, 专业开发人员能够: (1)使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发 环境 ; (2)在统一的开发环境中,开发并调试多层次的服务器应用程序 ; (3)使用集成的可视化数据库设计和报告工具,创建 sql server 2005 解决方案 ; (4)使用 visual studio sdk 创建可以扩展 visual studio ide 的工具6-8。 vb 2005 是 visual studio 2005 中最重要的组件之一,是新一代的 vb,但它并不 是 vb.net2003 的简单升级,从开发界面到控件,vb 2005 与 vb.net2003 之间还是有比 较大的区别6。 新一版 sql server 的设计目标正是帮助企业单位应对上述挑战。作为 microsoft 公司的下一代数据管理与分析软件,sql server 2005 有助于简化企业数据与分析应用 的创建、部署和管理,并在解决方案伸缩性、可用性和安全性方面实现重大改进。 基于 sql server 2000 技术优势构建的 sql server 2005 将提供集成化信息管理 解决方案,可帮助任何规模的组织机构: (1)创建并部署更具伸缩性、可靠性和安全性的企业级应用。 (2)降低数据库应用创建、部署与管理的复杂程度,进而实现 it 效率最大化。 (3)凭借可供创建更具安全保障之数据库应用的丰富、灵活、现代化开发环境增 强开发人员工作效能。 (4)跨越多种平台、应用和设备实现数据共享,进而简化内部系统与外部系统连 接。 (5)实现功能强劲的集成化商务智能解决方案,从而在整个企业范围内推进科 学决策,提高工作效率。 (6)在不必牺牲性能表现、可用性或伸缩性的前提下控制成本费用水平9-10。 智能排课系统的设计与实现 3 1.2.2 开发方法 以各高校的排课需求为应用背景,开发一个典型的高校智能排课系统。考虑实际 情况,本系统将采用结构化生命周期法进行系统分析和设计,并采用原型法进行系统 实施。 图 1-1 原型法生命周期图 原型法的基本思想是在投入大量的人力,物力之前,在限定的时间内,用最经济 的方法开发出一个可实际运行的系统模型,用户在运行使用整个原型的基础上,通过 对其评价,提出改进意见,对原型进行修改,统一使用,评价过程反复进行,使原型 逐步完善,直到完全满足用户的需求为止。这样能有效避免盲目开 发问题, 同时能充分的发挥原型法的优势,能顺利实现系统的实施4-5。 2 可行性分析 2.1 技术可行性 该系统对软、硬件系统要求较低,所需硬件设备,市场上销售且价格较低,甚至 可以使用原有的设备。软件上,操作系统采用 windows 系列操作系统、microsoft 智能排课系统的设计与实现 4 visual studio 2005 作为前台开发工具,它具有的“编辑后继续运行(edit and continue)”的特性,超越了旧的编辑编译测试模式。它还引入了面向对象的程序 设计思想和“控件”概念,使得大量已经编好的 visual basic 程序可以直接拿来使用。 同时, visual basic 又是最容易学习与应用的程序语言之一。它的功能非常强大,已 成为一种专业化的开发语言和环境。采用 sql server 2005 作为后台数据库平台的管 理系统,它在电子商务、数据仓库和数据库解决方案等应用中起着核心作用,可为企 业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措 施实现数据的完整性、数据的安全性以及数据的可靠易用性等等。这些软件在高校排 课系统开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。 2.2 经济可行性 当今学校内部没有完善的高校排课系统,管理水平差,学校课程不能得到合理分 配。迫切需要提高现代化管理水平、管理质量和管理高校课程。高校排课系统的初步 现代化的开发和使用,能够大大提高学校管理者的工作效率,节省成本提高经济效益。 它把从事教务管理的人员从繁重的手工操作中解脱出来,用更多精力从事创造性的管 理活动和其它重要的活动中去,从而达到节省人力、物力,财力的目标;它能使决策、 计划和其它管理活动更加科学、精确、灵活。因此,开发一个专门针对高校排课系统, 在经济上也是可行的。 2.3 操作可行性 本系统灵活方便,快捷迅速,适应处理多项数据。采用友好、直观的视窗界面, 鼠标、键盘两种操作方式任意选择,方便快捷。界面统一规范,提示信息功能完整, 稍一接触就可以上手进行所有操作。 2.4 法律可行性 本系统纯为个人设计,在开发过程中没有涉及合同、责任、版权等与国家相关法 律规定相抵触的方面。因此,本系统在法律上是可行的。 智能排课系统的设计与实现 5 3 系统需求分析 3.1 系统功能需求 智能排课系统需要实现对学校教师、教室、班级、及课程的信息管理,对高校排 课,都有智能的管理,主要实现如下的一些功能: 班级各种信息的输入,包括班级号,班级名称,年级,班级人数,是否合班。 教师各种信息的输入,包括教师号,教师姓名,职称,联系方式。 学校课程的增加,删除,修改。 学校课程计划的制定。 学校的自定义排课,根据需要,人工排课。 学校的智能排课,根据需要,随机智能排课。 有一些相关的提示。 课表查课界面,根据不同条件,查看课程安排。 3.2 系统非功能需求 3.2.1 排课中的基本原则 在课程的编排中应遵循一定的规则, 只有按照基本规则来进行课程的编排才能够 减少冲突的发生, 这些基本规则主要有以下几条: 1) 同一班级的学生在同一时间(某些特定的选修课时间除外) 不能安排两门课程 2) 同一教师在同一时间不能安排两门课程 3) 同一教室在同一时间不能安排两门课程 4) 同一时间安排的课程总数不能大于所能提供的教室总数 5) 某一课程参加学习的总人数不应大于所安排教室的座位数 6) 所提供教室的属性与课程所需教室的属性一致 智能排课系统的设计与实现 6 在时间、教师、班级、教室、课程这五维关系中, 时间、教师、班级三者之间存 在着紧密关系。相对而言, 教室与它们关系就不那么密切。 3.2.2 排课的基本要求 课程的安排不是任意的, 为了达到最好的教学效果应遵循一定的要求。这些要求 主要有: 1) 要尽量为所排课程安排上该类课效果最好的时间 2) 课程在一周上多次时,要有一定的间隔性 3) 公共课等涉及面广、学时多的课程应优先处理 4) 对同一教师,同一上课对象应尽量选择相对固定的几个教室 5) 对同一个班级的课程应选择相对固定的教室 6) 连着的课的教室选择不应相隔太远 7)同一天有几门课时尽量把课分散 8) 优先满足一些特殊要求(比如有些教室喜欢上上午的课,可以优先满足) 智能排课系统的设计与实现 7 4 总体设计 4.1 系统总体构架 本系统采用客户/服务器(client/server)模式。又叫主从式架构,简称 c/s 结 构,是一种网络架构,它把客户端 (client) (通常是一个采用图形用户界面的程序) 与服务器 (server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用 程序服务器发出请求。 图 4-1 系统体系结构图 c/s 的优点是能充分发挥客户端 pc 的处理能力,很多工作可以在客户端处理后再 提交给服务器。可以充分利用两端硬件环境的优势,将任务合理分配到 client 端和 server 端来实现,降低了系统的通讯开销对应的优点就是客户端响应速度快。 4.2 系统功能结构 高校排课系统可以用于支持各高校完成高校排课的难题,有如下几个个方面的目 标:支持各高校输入班级信息; 支持各高校输入教师信息,班级教师的增删改等方面。 支持输入教室,还有自定义排课和智能排课以及课表查询。 系统分为四大模块:条件设置、课程计划、排课管理、课表查询、系统管理。 . 智能排课系统的设计与实现 8 智能排课系统 设置课程计划排课管理课表查询系统管理 课 程 管 理 教 室 课 表 教 师 课 表 班 级 课 表 智 能 排 课 手 工 排 课 计 划 管 理 教 师 管 理 新 建 计 划 教 室 管 理 班 级 管 理 图 4-2 功能模块图 具体设计目标如下: (1)界面友好,操作简单,帮您轻松上手。 (2)系统具有灵活、严格的权限设定功能,采用非常周密有效的权限设置,确保高 校各类资料的可靠性和保密性,防止错误和违规操作。系统管理:可修改管理员权限 及密码。 (3)高校排课系统,资料详细周到,同窗多页的界面方式让你轻松完成所有工作。 (4)友善的登录界面,包括学生登录,教师登录,和管理员登陆,根据身份不同, 进入的界面也 4.3 排课算法 4.3.1 目前常用算法 目前,解决排课问题常用的方法有:着色算法11,通过研究时间资源库的形成策 略,分析基于时间资源的排课算法12。基于分层分治、贪心算法的排课系统的设计与 实现13,基于图论方法的自动优化排课模型研究14,基于资源受限的非线性约束多目 标排课模型及算法15,整数规划解决排课问题16,基于遗传禁忌算法结合解决排课问 题17等。这些方法虽然提高了搜索效率,但由于高校普遍存在课程量大,教室、教师 资源紧张,排课约束条件多且条件经常变化等问题,排课算法的应用仍然受到很大限 智能排课系统的设计与实现 9 制19。 4.3.2 排课问题描述 排课问题的约束条件 排课即要满足一定的硬约束条件来协调处理教师、教室、学生、时间之间的多维 冲突,同时还要尽可能满足一些软约束条件,从而使排出的课表更加合理, 满足人性 化需求。硬约束条件要求系统必须满足的条件,而软约束条件是在满足硬约束条件以 后要考虑的约束条件,软约束条件不要求系统必须满足,但满足这些条件能得到较优 解。常用的硬约束条件有: (1) 所有的课程都必须被安排; (2) 除合班课外,同一时间,一个教室只能被一个班级占用; (3) 除选修课外,同一时间,一个班级只能安排一门课程; (4) 同一时间,一个教师只能在一个教室上课; (5) 同一个教师所上的不同课程不能发生在同一时间; (6) 两门课程不能在同一个时间安排在同一个教室; (7) 教室的类型必须与课程要求一致; (8) 教室的最大容纳人数必须大于等于在该教室上课的学生人数等; (9) 不同课程时间段不同,如体育课只能在白天且不安排在第一节,选修课不能安 排在早上等。 常用的软约束条件有: (1) 同一门课程的上课时间尽量间隔均匀。例如某课程周学时为 4 学时,以 2 学时 为一个教学单位,需安排两次。两次的安排时间尽量间隔一天或者一天以上; (2) 每个学生的课程均匀的分布在工作日中; (3) 学生的上课时间要尽量选择在较好的上课时间段; (4) 对班级、教室、教师的单双周上课时间点尽量匹配,以节约教学资源; 4.3.3 排课问题的数学表示 如果用 c 表示课程、 s 表示班级、n 表示时间、 r 表示教室,t 表示教师, 排课 问题的目标就是找出满足约束条件的(c,s,n,r,t)组合。并且,这五种元素之间存 智能排课系统的设计与实现 10 在一定的对应关系: c 与 s 之间的对应关系,即每个班级有其特定要上的课程; c 与 t 之间的对应关系,即每门课程有一定的任课教师; (n,r)与(s,c,t)之间的对应关系,即每个教室在某一时间段只能有一个班级 上一门课程。排课问题的实质就是对于给定的一组(s,c,t)要分配其一个满足上课条 件的时空片(n,r)。即找到(n,r)与(s,c,t)之间的一一对应关系。 4.3.4 排课问题的优先级问题 排课中有很多等待分配时空片的(s,c,t),如何安排它们的分配次序,不仅关 系到算法的性能、安排的合理性,更关系到最终能否求出可行解。因此,分配次序的 好坏也是每个算法中要仔细处理的问题。在本文的算法中,是对每一组 (s,c,t)设 定优先级,然后按照优先级的高低次序分配时空片。设定(s,c,t) 优先级要考虑的 因素有: (s,c,t)中课程 c 的类别,对于不同类别的课程,给它们设定相应的优先值, 本算法中针对课程类别的优先级设定如下:专业基础课、公共基础课、专业限选课、 专业选修课、公选课优先级别依次降低, 其中专业基础课级别最高,公选课级别最低; (s,c,t)中课程 c 在一周内要上的次数。即一门课程周学时越多,优先级越高; (s,c,t)中班级 s 所需要上的课程总数的大小。即学生每周要上的课程总数越 多,优先级越高; (s,c,t)中学生 s 中的人数的大小。 最后根据各个因素的重要性不同,给每个因素设置一定的权重系数 p0、p1、 p2、p3,最后求四种因素的带权累加和,即得到一个(s,c,t)的优先级,每次按 照(s,c,t)的优先级的降序次序来分配时空片。 4.3.5 算法思想 该算法在选择每一组教学任务(s,c,t)时是按贪心策略来选择, 即按(s, c, t)优先级的降序次序选择优先级最高的教学任务。 接下来在进行时空片分配过程 中 智能排课系统的设计与实现 11 采用分治的策略,在分配过程中分为三个层次: 1)即先分配要上课的星期数(星期数是指星期一到星期五的任意一天) , 2)再分配其该天的上课时间段(在本文中某天的上课时间段分为 5 个时间段,上 午 1、2 节为第 1 个时间段, 上午 3、4 节为第 2 个时间段,下午 1、2 节为第 3 个时 间段,下午 3、4 节为第 4 个时间段,晚上 1、2 节或者 1、2、3 节为第 5 个时间段) , 3)最后分配上课的教室。同时在每一阶段的分配过程中,都要对资源总数和使用 状况作统计和记录,从而防止不计后果的资源滥用。算法主要步骤如下: step1:初始化。 step1.1:初始化,将所有教室按类型划分,并在每一类型中按教室容量统计可用 教室资源的数目。例如,可将教室划分为:普通教室、多媒体教室、语音室、物理实 验室、机房等。 然后按教室可容纳人数分为 0-60 人、60-120 人、120-140 人这 4 个 不同等级。然后统计记录每一类型不同容量范围的可用教室资源数目。 step1.2:预排序,将待排的所有课程先按周学时降序排列,然后再将待排的所有 课程先按所需教室类型升序排列,再按所需教室容量降序分配,即先为上课人数多的 课程分配教室,防止较小的班级占用大教室,最后再将所有需要使用同一类型和容量 教室的课程按优先级降序排序。 step2:分配上课的星期数。按照排序后的次序,再参照剩余的可用资源记录来分 配每组(s,c,t)在一周内要上课的星期数。同时参考总课表,使得班级和教师的上课 时间在一周内尽可能均匀分布。 step3:分配某天内上课的时间段。 step3.1 对每种类型和大小的教室资源按其在一周内的某一天的 5 个时段的分配 情况作统计。 step3.2 在分配时间段的时候, 从第一个时段到第 5 个时段依次查看是否还有剩 余资源,若有,则为其分配相应的是时间段,否则看能否将某个已被占用的时间段调 整后再为其分配。分配的过程中要参照总课表,防止时间冲突。 step3.3 若有不能分配的, 查找与其相关的已经分配了时间段的课程,并看看能 否重新为它分配时间段,从而将原来的时间段让给不能成功找到时间段的那个课程使 用。 step4:分配上课的教室:根据每一课程要求的上课时间和教室类型及大小为其分 配教室。对于每个已经分配了星期数和时间段的课程,一般来说,都是找得到可用教 智能排课系统的设计与实现 12 室的,因为在前两个分配阶段中,是严格按照资源剩余状况来进行分配的。同时在分 配上课所用的教室时,也考虑到单双周情况,以便充分利用教室资源。 4.3.6 算法分析 基于分治贪心相结合的排课算法主要分为 3 个阶段:即分配上课星期数、分 配上 课时间段、分配上课的教室。这里对算法的时间复杂度进行分析。 第一阶段:分配上课星期数,为每一门课程分配上课星期数的运算次数主要与课 程数目有关; 第二阶段:分配上课的时段,为一次课分配上课时段所进行判断的次数最坏 为 5 次,分配上课时段的运算次数主要和每周上的总课程次数有关。 第三阶段: 根据上课星期数和上课时段分配教室; 因此该算法主要和问题的规模有关, 即与要排课的课目数、课程的周学时数及教 室数目有关。和基于贪心策略、基于随机分配时间片的排课算法进行比较,该算法的 运行时间介于二者之间,效率略低于基于贪心策略的排课算法, 比基于随机分配时间 片的排课算法效率要高。但该算法在成功排课的数量上,性能比基于贪心策略的算法 会略好。 因为分治与贪心相结合的算法中是当有满足条件的资源时,便一定会为其分 配。而贪心策略中,可能虽然存在可用资源时仍会遗漏可行解。 5 数据库设计 5 5.1 系统数据表 根据系统需求分析,以及考虑到数据表之间的关联性,系统需要建立 7 个表,2 个 视图,其用途说明如下表 4.1 所示。 表 5-1 系统数据表 数据表名称数据表描述 class保存班级基本信息 hb保存组成各合班的班级号 智能排课系统的设计与实现 13 teacher记录教师信息 classroom记录教室信息 course保存课程信息 lesson_plans保存教学计划 r_l存储总课表 表 5-2 系统视图 数据表名称数据表描述 lp_view保存需要排课的信息,利于排课 rl_view保存教室安排信息,利于查询班级时间及教室时间 5.2 uml 建模图 下图主要是对应实体关系图,经过分析了各实体及其属性,用 microsoft office visio 2007 画出下图。 智能排课系统的设计与实现 14 教师 pk教教师师id 教师姓名 职称 年龄 已上过课程 所属部门教室 pk教教室室id 容量 类别 班级 pk班班级级id 专业 年级 人数 课程 pk课课程程id 课程名 课程计划 pk课课程程计计划划id 课课程程id 班级id 教教师师id 周节次 总课时 课程性质 课程计划列1 排课 权重 r_t pkkc_id 星星期期 节节次次 教教室室id 是否可用 课程计划id 单双周 合班 p pk k合合班班号号 p pk k分分班班号号 图 5-1 uml 建模图 5.3 数据字典 下列表 5.2 到表 5.8 给出 7 个数据表:班级信息表、合班表、教室信息表、教师 信息表、课程信息表、教学计划表、总课表的具体描述,包括数据描述、数据名称、 数据类型等。 表 5-3 course-班级信息表 字段名称字段名称说明说明数据类型数据类型长度长度主主/外键外键约束约束备注备注 class_id班级编号char10主键 class_name班级名char20非空 智能排课系统的设计与实现 15 department专业char20 grade年级char10 number人数int非空 hb是否合班int非空默认 0(否) 表 5-4 hb-合班表 字段名称字段名称说明说明数据类型数据类型长度长度主主/外键外键约束约束备注备注 hb_id合班号char10主键 class_id小班号char10外键非空 表 5-5 classroom-教室信息表 字段名称字段名称说明说明数据类型数据类型长度长度主主/外键外键约束约束备注备注 cr_id教室编号char10主键 capacity教室容量int category教室类别char10非空 表 5-6 teacher-教师信息表 字段名称字段名称说明说明数据类型数据类型长度长度主主/外键外键约束约束备注备注 t_id教师编号char10主键 t_name教室姓名char10非空 profession职称char10 age年龄int department所属学院char10 表 5-7 course-课程信息表 字段名称字段名称说明说明数据类型数据类型长度长度主主/外键外键约束约束备注备注 c_id课程号char10主键 c_name课程名char20非空 智能排课系统的设计与实现 16 表 5-8 lesson_plans-教学计划表 字段名称字段名称说明说明数据类型数据类型长度长度主主/外键外键约束约束备注备注 lesson_id课程计划号char10主键 c_id课程号char10外键非空参照 course 表中的 c_id class_id班级号char10外键非空参照 class 表中 class_id t_id教师编号char10外键非空参照 teacher 表中 t_id c_nature课程性质ch

温馨提示

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

评论

0/150

提交评论