CN101984427B - 一种高校自习室查询系统及方法 - Google Patents
一种高校自习室查询系统及方法 Download PDFInfo
- Publication number
- CN101984427B CN101984427B CN201010524715A CN201010524715A CN101984427B CN 101984427 B CN101984427 B CN 101984427B CN 201010524715 A CN201010524715 A CN 201010524715A CN 201010524715 A CN201010524715 A CN 201010524715A CN 101984427 B CN101984427 B CN 101984427B
- Authority
- CN
- China
- Prior art keywords
- classroom
- teaching building
- classifies
- time
- course
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrically Operated Instructional Devices (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种高校自习室查询系统及方法。该系统按结构可分为数据库模块和网站模块两部分,数据库主要是存储数据,即存储教学楼和各个教室的课程信息,为网站模块提供查询数据,该模块使用开源数据库管理系统MySQL实现。网站模块是系统功能的集中体现,该模块可细分为即时查询结果显示功能、按日期查询功能、按教学楼查询功能和高级查询功能。本发明的优点:(1)将人力查询转变为网络查询,因此更加简便、灵敏、快速、直观、准确。(2)能够显示即时的查询结果,即用户不需任何操作就能获得当前时间可以自习的教室的列表。(3)能够实现各教学楼数据的实时统计和同步更新,并且能够显示可以自习教室的当前上座人数。
Description
技术领域
本发明涉及计算机数据处理领域,特别涉及一种高校自习室查询系统及方法。
背景技术
目前,高校普遍存在的查询自习室的方式有两种:一是对着张贴的课表一一较检,从而筛选出可以自习的教室;这种方式的缺点为查询速度慢,而且课表的磨损会造成查询结果出错。二是奔跑于各楼层查看可供自习的教室。这种查询方式的缺点为不仅速度慢,而且浪费同学精力。
虽然北京师范大学使用了网络查询技术,但是由于没有能够显示出查询出的自习室的当前的上座人数,因此查询出的自习室即使没课,但是上座人数满额的情况下,同学们还是不能去自习。这种查询信息也是没有价值的。
发明内容
本发明的目的在于提供高校自习室查询系统及方法。针对现有技术的要么速度慢,要么查询结果价值不高等特点,使用这种查询软件同学们可以简便、快速、准确的查询出可以自习的教室。并且根据每个教室的当前上座人数来决定自习的教室,有效的节省了查询时间和精力。而且本发明的附加功能即根据课程名查上课地址,可以帮助那些忘记带课表的同学找到上课地址。
本发明提供的高校自习室查询方法,包括以下步骤:
S100建立高校自习室数据库,包括以下子步骤:
S110创建教学楼表格,用于存放各教学楼名称共两列;第一列为教学楼ID,第二列为教学楼名称;所述教学楼表格主键为教学楼ID。
S120创建教室表格,用于存放学校的所有教室的名称和各教室的总座位数,及点击数和点击时间,共六列;第一列为各教室ID,每个教室ID对应唯一的一个教室;第二列为教学楼ID,同一教学楼的教室全部隶属于该教学楼ID下;第三列为教室名称;第四列为该教室的总座位数peoplecount;第五列为点击数Click,第六列为最后点击时间即lastclick;所述教室表格的主键是教室ID和教学楼ID。
S130创建课程信息表格,用于存放各教室的课程信息,共九列;第一列为课程信息ID;第二列为教学楼ID,同一教室的所有课程信息ID全部隶属于该教室的教室ID下;第三列为日期day;第四列为节次time;第五列为单双周evenodd;第六列为开课时间starttime;第七列为结课时间advancefinish;第八列为课程ID即objectid,第九列为教师ID及teacherid;所述课程信息表格的主键是课程ID,外键为教室ID、课程ID、教师ID。
S140创建课程名表格,用于存放所有的课程名,共两列;第一列为课程名ID;第二列为课程名name;主键为课程名ID。
S150创建教师名表格,用于存放所有的教师名;共两列,第一列为教师名ID;第二列为教师名name;主键为教师名ID。
S200用户通过终端登录高校自习室查询系统。
S300用户选择查询方式,查询模块将教学楼表格、教室表格及课程信息表格根据教学楼ID、教室ID及课程信息ID三个字段合成一个表,对其进行查询,包括以下子步骤:
S310建立conditions为函数search()的参数数组,包括日期day,节次time,教学楼,周次week,单双周evenodd等五个子参数。
S320将日期day,节次time,教学楼子参数转化为数组。
S330根据周次week参数确定现在是单周还是双周。
S340构建查询变量condition条件:课程的开始时间必须小于周次week参数,结束时间大于周次week参数;教室所属的教学楼必须是所选的教学楼,用于查询符合用户查询条件的教室。
S350构建原始查询变量conditionDefault条件:教室所属的教学楼必须是所选的教学楼,用于查询所有的教室。
S360将condition查询得符合条件、有课的教室结果数据存放在变量busyClassroom中。
S370将conditionDefault查询所有的教室,结果数据存放在变量classroom中;其中,busyClassroom和classroom中的教室ID相同
S380根据日期day和节次time和单双周evenodd参数开始进一步筛选:循环busyClassroom变量,选择其中日期day字段与日期day参数相符并且节次time字段与节次time参数相符的教室数据,得到这些教室ID,在classroom变量中将这些教室删除。
S390函数返回classroom变量,作为函数结果。
其中,所述查询方式为即时查询,即时查询包括当前节次和当前下一节次;所述即时查询步骤为:
首先,获取当前时间,得到周次、星期几、时间三个信息。
其次,对时间进行量化得到当前时间所属的节次,并自动加一个单位的时间到下一节次。
再次,将周次、星期几、时间三个信息组合成数组形式,存储在名为condition的变量中。
最后将condition作为参数输入,执行步骤S310至步骤S390。
其中,所述查询方式为基础查询,所述基础查询步骤为:
首先,输入周次、星期几、节次、教学楼四个信息的单项选择。
其次,将四个条件组合成数组形式,存储在名为condition的变量中。
最后将condition作为参数输入,执行步骤S310至步骤S390。
其中,所述查询方式为高级查询,所述高级查询步骤为:
首先,输入周次的单项选择或星期几、节次、教学楼信息的多项选择,多项选择的组合方式为:星期几,节次为与关系,即输出结果需同时满足多个所选条件;教学楼为或关系,即输出结果只需满足其中一个所选条件。
其次,将四个条件组合成数组形式,存储在名为condition的变量中。
最后,最后将condition作为参数输入,执行步骤S310至步骤S390。
其中,所述查询方式为上课地址查询,即根据课程名称查询该课程的上课地址:
首先,输入课程名称。
然后选择课程及教授该课程的教师。
其中,教师和课程属于多对多的关系。
本发明提供的高校自习室查询系统,包括:
用于存储高校自习室信息的数据库模块(100)。
用于提供登录/查询界面的用户终端(200)。
用于根据用户选择的查询方式,将教学楼表格、教室表格及课程信息表格根据教学楼ID、教室ID及课程信息ID三个字段合成一个表,对其进行查询的查询模块(300)。
其中,所述数据库模块(100)包括:教学楼表格模块(110)、教室表格模块(120)、课程信息表格模块(130)、课程名表格模块(140)及教师名表格模块(150)。
所述教学楼表格模块(120),用于存放各教学楼名称,共两列;第一列为教学楼ID,第二列为教学楼名称;所述教学楼表格主键为教学楼ID。
所述教室表格模块(120),用于存放学校的所有教室的名称和各教室的总座位数和点击数,点击时间,共六列;第一列为各教室ID,每个教室ID对应唯一的一个教室;第二列为教学楼ID,同一教学楼的教室全部隶属于该教学楼ID下;第三列为教室名称;第四列为该教室的总座位数peoplecount;第五列为点击数Click,第六列为最后点击时间即lastclick;所述教室表格的主键是教室ID和教学楼ID。
课程信息表格模块(130),用于存放各教室的课程信息,共九列;第一列为课程信息ID;第二列为教学楼ID,同一教室的所有课程信息ID全部隶属于该教室的教室ID下;第三列为日期日期day;第四列为节次time;第五列为单双周evenodd;第六列为开课时间starttime;第七列为结课时间advancefinish;第八列为课程ID即objectid,第九列为教师ID即teacherid;所述课程信息表格的主键是课程ID,外键为教室ID、课程ID、教师ID。
课程名表格模块,用于存放所有的课程名,共两列;第一列为课程名ID;第二列为课程名name;主键为课程名ID。
教师名表格模块,用于存放所有的教师名;共两列,第一列为教师名ID;第二列为教师名name;主键为教师名ID。
其中,所述查询模块包括以下子模块:
用于建立conditions为函数search()的参数数组的函数条件模块,所述conditions条件包括日期day,节次time,教学楼IDbuildingid,周次week,单双周evenodd五个子参数。
用于将课程名转化为ID的转化模块。
用于将日期day,节次time,教学楼ID即buildingid子参数转化为数组的数组转化模块。
用于根据周次week参数确定现在是单周还是双周的周次确认模块;
用于构建condition条件的condition条件构建模块:所述condition为课程的开始时间必须小于week参数,结束时间大于week参数;教室所属的教学楼必须是所选的教学楼;其中,所述condition为查询条件变量,用于查询符合用户查询条件的教室。
用于构建conditionDefault条件的conditionDefault条件构建模块;所述conditionDefault条件教室所属的教学楼必须是所选的教学楼;所述conditionDefault为查询条件变量,用于查询所有的教室。
用于将condition查询得符合条件、有课的教室结果数据存放在变量busyClassroom中的condition结果模块。
用于将conditionDefault查询所有的教室,结果数据存放在变量classroom中的conditionDefault结果模块;其中,busyClassroom和classroom中的教室ID相同。
用于根据日期day和节次time和单双周evenodd参数开始进一步筛选:循环busyClassroom变量,选择其中日期day字段与日期day参数相符并且节次time字段与节次time参数相符的教室数据,得到这些教室ID,在classroom变量中将这些教室删除的逻辑运算模块。
用于将函数返回classroom变量,作为函数结果的变量返回模块。
其中,所述函数条件模块进一步包括:
用于获取当前时间信息,得到周次、星期几、节次三个信息的时间信息获取模块;及用于对时间进行量化的时间量化模块。
其中,所述函数条件模块进一步包括:
用于输入周次、星期几、节次、教学楼四个信息的单项选择的单项选择模块。
其中,所述函数条件模块进一步包括:
用于输入周次的单项选择或星期几、节次、教学楼信息的多项选择,多项选择的组合方式为:星期几,节次为与关系,即输出结果需同时满足多个所选条件的多项选择模块;其中,教学楼为或关系,即输出结果只需满足其中一个所选条件。
其中,所述函数条件模块进一步包括:
用于输入课程名称,然后选择课程及教授该课程的教师来查询上课地址的上课地址查询模块,其中,教师和课程属于多对多的关系。
其中,电脑端的按日期查询功能、按教学楼查询功能为该功能的细分,分别将显示结果侧重在按照日期的不同显示以及按照教学楼的不同显示。
本发明有益的技术效果是:(1)将人力查询转变为网络查询,因此更加简便、灵敏、快速、直观、准确。(2)能够显示即时的查询结果,即用户不需任何操作就能获得当前时间可以自习的教室的列表。(3)能够实现各教学楼数据的实时统计和同步更新,并且能够显示可以自习教室的当前上座人数。
附图说明
图1是本发明高校自习室查询方法流程图。
图2是本发明高校自习室查询系统结构框图。
图3是本发明高校自习室查询系统的函数条件模块结构框图。
图4是本发明高校自习室查询系统的网络架构图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
请参照图1至图4,本实例高校自习室查询系统的按结构可分为数据库模块和网站模块两部分,数据库主要是存储数据,即存储教学楼和各个教室的课程信息,为网站模块提供查询数据,该模块使用开源数据库管理系统MySQL实现。网站模块是系统功能的集中体现,该模块可细分为即时查询结果显示功能、按日期查询功能、按教学楼查询功能和高级查询功能(手机端则细分为即时查询结果显示功能、基础查询功能和高级查询功能)和附加功能及根据课程名查询上课地址。该模块由PHP网络编程语言实现,并基于开源PHP框架ThinkPHP。
本说明书中所有英文符号含义说明如下:
Teachingbuliding:教学楼
Classroom:教室
Course:课程
Day:周次
Time:节次
Evenodd:单双周
Starttime:开课时间
dvancefinish:提前结课时间
Peoplecount:总座位数
Object:课程名
Teacher:教师名
本实施例的系统构建及查询方法主要分为以下几个部分:
一、建立数据库(即步骤S100)
1.表的说明
数据库中共有五张表:classroom,course,teachingbuilding,object,teacher分别记录教室信息,课程信息,教学楼信息,课程名和教师名。五个表的详细情况为:
1.1.teachingbuilding
字段:
ID :每个教学楼对应一个唯一的ID,作为该表的主键,作为classroom的外键。
buildingnum :每个教学楼的名称。
1.2.classroom
字段:
ID:每个教室对应一个唯一的ID,作为该表的主键,作为course的外键
Buildingid:该教室所属的教学楼ID,对应teachingbuilding的ID字段,受其约束。
roomnum:每个教室的名称。
peoplecount :每个教室的最大人数。
1.3.object
字段:
ID:每个课程对应一个唯一的ID,作为该表的主键,作为course的外键
Name:课程名称
1.4.teacher
字段:
ID:每个教师对应一个唯一的ID,作为该表的主键,作为course的外键
Name:教师姓名
1.5.course
字段:
ID :每个课程信息对应一个唯一的ID,作为该表的主键。
classroomid :该课程所属的教室ID,对应classroom的ID字段,受其约束。
day:该课程上课的日期(周一,周二……)。
time:该课程上课的节次(第一节,第二节……)。
evenodd:该课程上课是单周课程,双周课程还是整周课程。
starttime:该课程开课的周次(第一周,第二周……)。
advancefinish:该课程结课的周次(第一周,第二周……)。
Click:该教室的上座人数
2.创建teachingbuliding表格(步骤S110)
Teachingbuliding表格用来存放各教学楼的名称,共两列。第一列为ID,即教学楼ID;第二列为教学楼名称。主键是buliding ID。
ID | buildingnum |
1 | 教学楼一 |
2 | 教学楼二 |
3 | 教学楼三 |
4 | 教学楼四 |
5 | 教学楼五 |
表1
3.创建classroom表格(步骤S120)
Classroom表格用来存放学校的所有教室的名称和各教室的总座位数,共六列。第一列为ID,即各教室ID。每个教室ID对应唯一的一个教室;第二列为教学楼ID。同一教学楼的教室全部隶属于该教学楼的ID下;第三列为教室名称。第四列为该教室的总座位数即peoplecount。第五列为该教室的点击数。第六列为该教室最后一次被点击的时间(格式为时间戳格式,计算时须换算函数mktime(hour, minute, second, day, month, year))。主键是教室ID和教学楼ID。
ID | buildingid | roomnum | peoplecount | click | lashclick |
1 | 1 | 101 | 216 | 62 | 1275925241 |
2 | 1 | 103 | 98 | 17 | 1285925223 |
3 | 1 | 104 | 40 | 40 | 1276925735 |
4 | 1 | 105 | 40 | 12 | 1285925242 |
5 | 1 | 106 | 40 | 16 | 1273955255 |
6 | 1 | 107 | 40 | 22 | 1274975245 |
7 | 1 | 108 | 142 | 77 | 1275935278 |
8 | 1 | 109 | 40 | 23 | 1275925239 |
表2
3.创建object表格
Object表格用来存放课程信息,共两列。第一列为ID,即课程ID;第二为课程的名字。
ID | name |
1 | 高等数学 |
2 | 大学英语 |
3 | 大学物理 |
表3
4.创建teacher表格
Teacher表格用来存放教师信息,共两列。第一列为ID,即教师ID;第二为教师的名字。
ID | name |
1 | 王志平 |
2 | 曲东东 |
3 | 赵红 |
表4
5.创建course表格(步骤S130)
Course表格用来存放各教室的课程信息,共九列。第一列为ID,即课程ID;第二列为教学楼ID;同一教室的所有课程信息的ID全部隶属于该教室的教室ID下;第三列为周次即day;第四列为节次即time;第五列为单双周即evenodd;第六列为开课时间即starttime;第七列为结课时间即advancefinish。第八列为该课程的课程ID。第九列为该课程的教师ID。主键是课程ID和教室ID。
ID | classroomid | day | time | evenodd | starttime | advancefinish | objectid | teacherid |
1 | 3 | 1 | 1 | 0 | 7 | 20 | 1 | 4 |
2 | 3 | 1 | 2 | 0 | 1 | 18 | 1 | 4 |
3 | 3 | 1 | 3 | 0 | 7 | 18 | 2 | 52 |
4 | 3 | 1 | 4 | 0 | 1 | 17 | 2 | 2 |
5 | 3 | 1 | 5 | 0 | 10 | 18 | 3 | 25 |
表5
二、用PHP网络编程语言链接数据库和网站(即步骤200)
1.程序部署
部署ThinkPHP框架,对应已有的MySQL数据库完成相应配置,并为网站添加两个入口:stage.php、wap.php分别作为网站的计算机端登入口和手机端登入口,由index.php文件智能识别并自动引导。
2.模型设计
对应teachingbuliding、classroom、course、teacher、object五个表分别设计中间层模型文件ClassroomsModel.class.php、ObjectsModel.class.php、TeachersModel.class.php、CoursesModel.class.php、TeachingBuildingsModel.class.php,其中模型ClassroomsModel提供统一的数据查询接口:search(conditions)和classroomView(id)。
3.控制器及模板设计
添加IndexAction.class.php、SearchAction.class.php、ClassroomAction.class.php三个中间层控制器,分别对应主页、查询页、教室详细情况页,并添加相应的html模板文件。中间层控制器根据用户输入的查询数据设定查询条件,由search(conditions)接口向ClassroomsModel请求查询,并将查询结果输出至模板文件。
三、查询算法的设计(即步骤300)
本程序的算法主要由模型文件ClassroomsModel.class.php中的search(conditions)函数实现,根据查询条件的不同,search(conditions)可自动调整查询方式,完成日期查询,即时查询,高级查询等功能,设计search(conditions)的具体步骤为:
1.查询条件的处理
search(conditions) 函数由各控制器得到查询条件conditions参数,conditions为数组,包括conditions['day'](日期)、conditions['time'] (时间)、conditions['week'] (周次)、conditions['buildingid'] (教学楼)、conditions['evenodd'] (单双周),五个数据,其中conditions['day']、conditions['time']、conditions['buildingid']将被自动处理为数组,conditions['evenodd']由conditions['week']得到。
附加功能:当conditions中包含object参数时,说明用户使用的是按课程名查询教室的功能,则search函数将自动执行按课程名查询教室的流程。
2.从数据库获取数据
每执行一次search(conditions)则对数据库进行两次查询,第一次不带查询条件获得的所有教室信息,第二次带部分查询条件(教学楼、周次、单双周)获得部分教室信息。
3.数据的比较
将第二次查询的结果与查询条件(日期、时间)进行比对,其中符合的作为非空闲教室,从第一次的查询结果中删除,最后得到空闲的教室数据。
4.表之间的操作
在执行教学楼查询操作时,查询teachingbuilding表。
在执行教室查询操作时,查询classroom表。
在执行课程名ID转换操作时,查询object表。
在执行教师查询操作时,查询teacher表。
在执行课程查询操作时,用sql语句将三个表根据teachingbuilding的id,classroom的buildingid,course的classroomid三个字段合成一个表,对其进行查询。
5.各种查询方式的详细情况
各种查询方式总的来说分为四类:即时查询,基础查询(又可细分为按日期查询以及按教学楼查询),高级查询,按课程名查询。即时查询没有给予用户条件选择,按系统的当前时间查询;基础查询给予用户单项条件选择,比如可选择周一周二周三的其中一天;高级查询给予用户多项条件选择,比如可选择周一周二周三的任意多天;按课程名查询按用户输入课程名进行查询,查询结果为该课程的上课地址。
5.1即时查询过程:
1> 获取当前时间,得到周次,星期几,节次三个信息
2> 对时间进行量化,比如6:00 am至9:30 am量化为第一节课,9:30 am至11:00 am为第二节课……
3> 将以上三个条件组合成数组形式,存储在名为condition的变量中
4> 调用search()函数,将condition作为参数输入
5> search()函数完成查询(详细过程看6.查询函数的执行过程)
6> 量化时间表:
表6
5.2基础查询(又可细分为按日期查询以及按教学楼查询)过程:
1> 在界面上为用户提供周次,星期几,节次,教学楼四个信息的单项选择
2> 用户进行选择,提交查询。
3> 获取四个条件组合成数组形式,存储在名为condition的变量中。
4> 调用search()函数,将condition作为参数输入。
5> search()函数完成查询(详细过程看6.查询函数的执行过程)
5.3高级查询过程:
1> 在界面上为用户提供周次的单项选择,星期几,节次,教学楼四个信息的多项选择,多项选择的组合方式为:星期几,节次为与关系,即输出结果需同时满足多个所选条件;教学楼为或关系,即输出结果只需满足其中一个所选条件。
2> 用户进行选择,提交查询,此时四个条件皆分别为数组的形式。
3> 获取四个条件组合成数组形式,存储在名为condition的变量中。
4> 调用search()函数,将condition作为参数输入。
5> search()函数完成查询(详细过程看6.查询函数的执行过程)
5.4按课程名查询过程:
1>在界面上为用户提供输入课程名称的位置,输入完提交查询。
2>用户进行选择教授该课程的教师,提交查询。
3>获取课程名和教师名两个条件组合成数组形式,存储在名为condition的变量中。
4>调用search()函数,将condition作为参数输入。
5>search()函数完成查询(详细过程看6.查询函数的执行过程)
6.查询函数的执行过程
search()函数是实现系统主要功能的函数,可以根据不同的查询条件返回不同查询结果:
详细查询过程:search(conditions)
S310:conditions为函数参数数组,有day,time,buildingid,week,evenodd五个子参数。
S320:将day,time,buildingid子参数转化为数组。
S330:根据周次week参数确定现在是单周还是双周(即evenodd参数)。
S340:condition为查询条件变量,用来查询符合用户查询条件的教室,接下来开始构建condition条件:
1>课程的开始时间必须小于week参数,结束时间大于week参数。
2>教室所属的教学楼必须是所选的教学楼。
S350:conditionDefault为查询条件变量,用来查询所有的教室,接下来开始构建conditionDefault条件:
1>教室所属的教学楼必须是所选的教学楼。
S360:用condition查询得符合条件,有课的教室,结果数据存放在变量busyClassroom中。
S370:用conditionDefault查询所有的教室,结果数据存放在变量classroom中;busyClassroom和classroom中教室的ID都是相同的。
S380:根据day和time和evenodd参数开始进一步筛选,算法为:循环busyClassroom变量,选择其中day字段与day参数相符并且time字段与time参数相符的教室数据,得到这些教室的ID,在classroom变量中将这些教室删除。
S390:函数返回classroom变量,作为函数结果。
按课程名查询教室的步骤(当conditions中包含object参数时,则执行该步骤):
根据课程ID,查询获得objectid为所选课程ID的教室,数据存放在变量Classroom中。
7、网络计数的实现
当用户点击教室时,系统记录下当前的时间,并检查该教室的上一次的点击时间即数据库的lastclick属性,比较这两个时间差,如果时间差大于12小时则更新点击时间。如果小于12小时则获取这两个时间量化之后所在的节次,比较这两个教室之间是否跨越节次,如果量化后的两个时间同属于一个节次或者是连续节次,则click+1,(click<=peoplecount),并更新lastclick;如果量化后的两个时间中间跨越其他节次,即不连续,则系统自动检测所跨越的节次是否有课,如果有课,则先清零click,并完成click+1,(click<=peoplecount)并更新lastclick。如果没有课则执行click+1,(click<=peoplecount),并更新lastclick;例如:1、两个时间短量化结果都为1-2节或者是1-2节和3-4节,则不跨越节次,执行则click+1,(click<=peoplecount),并更新lastclick。2、两个时间段量化结果为1-2节,5-6节,即中间跨越3-4节。则系统自动的检查3-4节是否有课,如果有课,则先清零click,并完成click+1,(click<=peoplecount)并更新lastclick。如果没有课则执行click+1,(click<=peoplecount),并更新lastclick;能够实现各教学楼数据的实时统计和同步更新,并且能够显示可以自习教室的当前上座人数比例。
该步骤的实现是靠数据库记录数据实现的,即每完成一次点击,数据库完成一次更新。
四、界面的设计和完善
1、根据用户的需求,进行界面的人性化设计和美化。
2、根据手机和计算机端不同的显示条件,进行界面的适应性调整。
Claims (10)
1.一种高校自习室查询方法,包括以下步骤:
S100建立高校自习室数据库,包括以下子步骤:
S110创建教学楼表格,用于存放各教学楼名称共两列;第一列为教学楼ID,第二列为教学楼名称;所述教学楼表格主键为教学楼ID;
S120创建教室表格,用于存放学校的所有教室的名称和各教室的总座位数,及点击数和点击时间,共六列;第一列为各教室ID,每个教室ID对应唯一的一个教室;第二列为教学楼ID,同一教学楼的教室全部隶属于该教学楼ID下;第三列为教室名称;第四列为该教室的总座位数peoplecount;第五列为点击数Click,第六列为最后点击时间即lastclick;所述教室表格的主键是教室ID和教学楼ID;
S130创建课程信息表格,用于存放各教室的课程信息,共九列;第一列为课程信息ID;第二列为教学楼ID,同一教室的所有课程信息ID全部隶属于该教室的教室ID下;第三列为日期day;第四列为节次time;第五列为单双周evenodd;第六列为开课时间starttime;第七列为结课时间advancefinish;第八列为课程ID即objectid,第九列为教师ID及teacherid;所述课程信息表格的主键是课程ID,外键为教室ID、课程ID、教师ID;
S140创建课程名表格,用于存放所有的课程名,共两列;第一列为课程名ID;第二列为课程名name;主键为课程名ID;
S150创建教师名表格,用于存放所有的教师名;共两列,第一列为教师名ID;第二列为教师名name;主键为教师名ID;
S200用户通过终端登录高校自习室查询系统;
S300用户选择查询方式,查询模块将教学楼表格、教室表格及课程信息表格根据教学楼ID、教室ID及课程信息ID三个字段合成一个表,对其进行查询,包括以下子步骤:
S310建立conditions为函数search()的参数数组,包括日期day,节次time,教学楼,周次week,单双周evenodd等五个子参数;
S320将日期day,节次time,教学楼子参数转化为数组;
S330根据周次week参数确定现在是单周还是双周;
S340构建查询变量condition条件:课程的开始时间必须小于周次week参数,结束时间大于周次week参数;教室所属的教学楼必须是所选的教学楼,用于查询符合用户查询条件的教室;
S350构建原始查询变量conditionDefault条件:教室所属的教学楼必须是所选的教学楼,用于查询所有的教室;
S360将condition查询得符合条件、有课的教室结果数据存放在变量busyClassroom中;
S370将conditionDefault查询所有的教室,结果数据存放在变量classroom中;其中,busyClassroom和classroom中的教室ID相同;
S380根据日期day和节次time和单双周evenodd参数开始进一步筛选:循环busyClassroom变量,选择其中日期day字段与日期day参数相符并且节次time字段与节次time参数相符的教室数据,得到这些教室ID,在classroom变量中将这些教室删除;
S390函数返回classroom变量,作为函数结果。
2.根据权利要求1所述的高校自习室查询方法,其特征在于,所述查询方式为即时查询,即时查询包括当前节次和当前下一节次;所述即时查询步骤为:
首先,获取当前时间,得到周次、星期几、时间三个信息;
其次,对时间进行量化得到当前时间所属的节次,并自动加一个单位的时间到下一节次;
再次,将周次、星期几、时间三个信息组合成数组形式,存储在名为condition的变量中;
最后将condition作为参数输入,执行步骤S310至步骤S390。
3.根据权利要求1所述的高校自习室查询方法,其特征在于,所述查询方式为基础查询,所述基础查询步骤为:
首先,输入周次、星期几、节次、教学楼四个信息的单项选择;
其次,将四个条件组合成数组形式,存储在名为condition的变量中;
最后将condition作为参数输入,执行步骤S310至步骤S390。
4.根据权利要求1所述的高校自习室查询方法,其特征在于,所述查询方式为高级查询,所述高级查询步骤为:
首先,输入周次的单项选择或星期几、节次、教学楼信息的多项选择,多项选择的组合方式为:星期几,节次为与关系,即输出结果需同时满足多个所选条件;教学楼为或关系,即输出结果只需满足其中一个所选条件;
其次,将四个条件组合成数组形式,存储在名为condition的变量中;
最后,最后将condition作为参数输入,执行步骤S310至步骤S390。
5.根据权利要求1所述的高校自习室查询方法,其特征在于,所述查询方式为上课地址查询,即根据课程名称查询该课程的上课地址:
首先,输入课程名称;
然后选择课程及教授该课程的教师;
其中,教师和课程属于多对多的关系。
6.一种高校自习室查询系统,其特征在于,所述高校自习室查询系统包括:
用于存储高校自习室信息的数据库模块(100);
用于提供登录/查询界面的用户终端(200);
用于根据用户选择的查询方式,将教学楼表格、教室表格及课程信息表格根据教学楼ID、教室ID及课程信息ID三个字段合成一个表,对其进行查询的查询模块(300);
其中,所述数据库模块(100)包括:教学楼表格模块(110)、教室表格模块(120)、课程信息表格模块(130)、课程名表格模块(140)及教师名表格模块(150);
所述教学楼表格模块(120),用于存放各教学楼名称,共两列;第一列为教学楼ID,第二列为教学楼名称;所述教学楼表格主键为教学楼ID;
所述教室表格模块(120),用于存放学校的所有教室的名称和各教室的总座位数和点击数,点击时间,共六列;第一列为各教室ID,每个教室ID对应唯一的一个教室;第二列为教学楼ID,同一教学楼的教室全部隶属于该教学楼ID下;第三列为教室名称;第四列为该教室的总座位数peoplecount;第五列为点击数Click,第六列为最后点击时间即lastclick;所述教室表格的主键是教室ID和教学楼ID;
课程信息表格模块(130),用于存放各教室的课程信息,共九列;第一列为课程信息ID;第二列为教学楼ID,同一教室的所有课程信息ID全部隶属于该教室的教室ID下;第三列为日期日期day;第四列为节次time;第五列为单双周evenodd;第六列为开课时间starttime;第七列为结课时间advancefinish;第八列为课程ID即objectid,第九列为教师ID即teacherid;所述课程信息表格的主键是课程ID,外键为教室ID、课程ID、教师ID;
课程名表格模块(140),用于存放所有的课程名,共两列;第一列为课程名ID;第二列为课程名name;主键为课程名ID;
教师名表格模块(150),用于存放所有的教师名;共两列,第一列为教师名ID;第二列为教师名name;主键为教师名ID;
其中,所述查询模块(300)包括以下子模块:
用于建立conditions为函数search()的参数数组的函数条件模块(310),所述conditions条件包括日期day,节次time,教学楼IDbuildingid,周次week,单双周evenodd五个子参数;
用于将课程名转化为ID的转化模块;
用于将日期day,节次time,教学楼ID即buildingid子参数转化为数组的数组转化模块(320);
用于根据周次week参数确定现在是单周还是双周的周次确认模块(330);
用于构建condition条件的condition条件构建模块(340):所述condition为课程的开始时间必须小于week参数,结束时间大于week参数;教室所属的教学楼必须是所选的教学楼;其中,所述condition为查询条件变量,用于查询符合用户查询条件的教室;
用于构建conditionDefault条件的conditionDefault条件构建模块(350);所述conditionDefault条件教室所属的教学楼必须是所选的教学楼;所述conditionDefault为查询条件变量,用于查询所有的教室;
用于将condition查询得符合条件、有课的教室结果数据存放在变量busyClassroom中的condition结果模块(360);
用于将conditionDefault查询所有的教室,结果数据存放在变量classroom中的conditionDefault结果模块(370);其中,busyClassroom和classroom中的教室ID相同;
用于根据日期day和节次time和单双周evenodd参数开始进一步筛选:循环busyClassroom变量,选择其中日期day字段与日期day参数相符并且节次time字段与节次time参数相符的教室数据,得到这些教室ID,在classroom变量中将这些教室删除的逻辑运算模块(380);
用于将函数返回classroom变量,作为函数结果的变量返回模块(390)。
7.根据权力要求6所述的高校自习室查询系统,其特征在于,所述函数条件模块(310)进一步包括:
用于获取当前时间信息,得到周次、星期几、节次三个信息的时间信息获取模块(311);及用于对时间进行量化的时间量化模块(312)。
8.根据权利要求6所述的高校自习室查询系统,其特征在于,所述函数条件模块(310)进一步包括:
用于输入周次、星期几、节次、教学楼四个信息的单项选择的单项选择模块(313)。
9.根据权利要求6所述的高校自习室查询系统,其特征在于,所述函数条件模块(310)进一步包括:
用于输入周次的单项选择或星期几、节次、教学楼信息的多项选择,多项选择的组合方式为:星期几,节次为与关系,即输出结果需同时满足多个所选条件的多项选择模块(314);其中,教学楼为或关系,即输出结果只需满足其中一个所选条件。
10.根据权利要求6所述的高校自习室查询系统,其特征在于,所述函数条件模块进一步包括:
用于输入课程名称,然后选择课程及教授该课程的教师来查询上课地址的上课地址查询模块(315),其中,教师和课程属于多对多的关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010524715A CN101984427B (zh) | 2010-10-29 | 2010-10-29 | 一种高校自习室查询系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010524715A CN101984427B (zh) | 2010-10-29 | 2010-10-29 | 一种高校自习室查询系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101984427A CN101984427A (zh) | 2011-03-09 |
CN101984427B true CN101984427B (zh) | 2012-10-03 |
Family
ID=43641596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010524715A Expired - Fee Related CN101984427B (zh) | 2010-10-29 | 2010-10-29 | 一种高校自习室查询系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101984427B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102226939A (zh) * | 2011-05-23 | 2011-10-26 | 李世侠 | 一种大学教室课程显示装置 |
CN102842107A (zh) * | 2012-07-06 | 2012-12-26 | 西安电子科技大学 | 高校自习室使用信息发布系统及其方法 |
CN103020708A (zh) * | 2012-11-30 | 2013-04-03 | 唐榕珠 | 一种教室人数统计查询系统 |
CN104463741A (zh) * | 2014-11-20 | 2015-03-25 | 湖州师范学院 | 一种高效公共资源占用情况查询系统 |
CN105407613A (zh) * | 2015-12-16 | 2016-03-16 | 塔里木大学 | 一种新型教室照明控制系统 |
CN109241196A (zh) * | 2017-07-06 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置、设备 |
CN116797423B (zh) * | 2023-08-23 | 2023-11-14 | 湖南强智科技发展有限公司 | 一种基于全局优化的高校自动快速排课方法与系统 |
CN117574008B (zh) * | 2024-01-16 | 2024-04-02 | 成都泰盟软件有限公司 | 一种课程数据排布的处理方法、装置、服务器及存储介质 |
-
2010
- 2010-10-29 CN CN201010524715A patent/CN101984427B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
唐晓辛等.《教室资源管理系统的数据库设计》.《广东技术师范学院学报》.2009,(第1期),12-15. * |
王天楠等.《"自习室搜索器"DIY》.《电脑爱好者》.2010,(第5期), |
蒋运韫等.《基于B/S模式的高校教务管理系统的构建研究》.《北京市高等教育学会技术物资研究会第十届学术年会论文集》.2008,267-273. * |
Also Published As
Publication number | Publication date |
---|---|
CN101984427A (zh) | 2011-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101984427B (zh) | 一种高校自习室查询系统及方法 | |
CN107341643B (zh) | 可视化的流程展示方法及系统 | |
CN108897507B (zh) | 一种基于安卓端智慧课堂的白板同步显示方法及系统 | |
CN107093339A (zh) | 教学显示方法及系统 | |
Lowenstein | Gerontology coming of age: The transformation of social gerontology into a distinct academic discipline | |
Bernardo et al. | Societal implications of sustainable energy action plans: from energy modelling to stakeholder learning | |
CN111861825A (zh) | 一种轨道交通行业职业培训体系模型构建方法及系统 | |
Svorenčík | The missing link: Prosopography in the history of economics | |
CN103995886A (zh) | 一种多维度产品设计知识推送框架与构建方法 | |
CN112929404A (zh) | 一种校园楼宇自动化物联网系统 | |
Tian | Application and analysis of artificial intelligence graphic element algorithm in digital media art design | |
CN104363287A (zh) | 一种基于cti情景设计的教学实训方法 | |
CN103366234A (zh) | 作业流程管理系统及方法 | |
Hao et al. | Distribution characteristics and spatial reciprocity between an industrial park and vocational education park in a city center | |
Zhang et al. | Analysis of BIM application relationship with integration degree of construction environment | |
Zhao | Exploration of Transformation and Upgrading Path of Construction Industry under the Background of Digital Information | |
CN116776451B (zh) | 一种用于环境设计的调色方法及装置 | |
CN109472425A (zh) | 现场项目的人工成本管理方法、系统、存储介质及终端设备 | |
CN113626477B (zh) | 基于水厂物联网系统的可配置报表系统及方法 | |
CN104346679A (zh) | 基于数字化信息技术的校务智能管理系统 | |
CN116561393B (zh) | 基于用水量因素的万元gdp用水量可视化系统及方法 | |
CN117131288B (zh) | 一种产学研用推荐系统及方法 | |
Pugacheva | Application of information technologies in the economy and education of the republic Of Belarus: condition, problems and prospects | |
Karanjekar et al. | A QFD framework for translating customer requirements into key operational activities in technical education sector | |
CN108647196B (zh) | 数字飞行器仿真报告中表格的人工智能生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121003 Termination date: 20131029 |