• We just launched and are currently in beta. Join us as we build and grow the community.

Class Scheduling System Table Structure

phantomzz71

Shounen Jump Specialist
P Rep
0
0
0
Rep
0
P Vouches
0
0
0
Vouches
0
Posts
122
Likes
190
Bits
2 MONTHS
2 2 MONTHS OF SERVICE
LEVEL 1 300 XP
In Class Scheduling System/ Module you have to consider the following constraint:

1. Academic Year and Term
2. Class Section
3. Class Room and Building
4. Faculty
5. Subjects
6. Curriculum
7. Class Schedule (Subject Offering) - Class Schedule is set for maximum of 5 Schedule per Subject

USING MySQL as the Primary Database......

  1. CREATE

    TABLE

    `tblayterm`

    (
  2. `TermID`

    INT

    (

    10

    )

    UNSIGNED

    NOT

    NULL

    ,
  3. `SchoolYear`

    VARCHAR

    (

    10

    )

    DEFAULT

    NULL

    ,
  4. `Locked`

    tinyint(

    1

    )

    DEFAULT

    '0'

    ,
  5. `SchoolTerm`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  6. `StartofSY`

    datetime DEFAULT

    NULL

    ,
  7. `EndofSY`

    datetime DEFAULT

    NULL

    ,
  8. `ExpireReg`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  9. `ExpireDays`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  10. `LastModified`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  11. `LastModifiedDate`

    datetime DEFAULT

    NULL

    ,
  12. `NumWeeks`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  13. `Hidden`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  14. PRIMARY

    KEY

    (

    `TermID`

    )

    USING

    BTREE
  15. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

  16. CREATE

    TABLE

    `tblsection`

    (
  17. `SectionID`

    VARCHAR

    (

    20

    )

    NOT

    NULL

    ,
  18. `SectionTitle`

    VARCHAR

    (

    255

    )

    DEFAULT

    NULL

    ,
  19. `YearLevelID`

    INT

    (

    11

    )

    DEFAULT

    '0'

    ,
  20. `TermID`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  21. `CampusID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  22. `CollegeID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  23. `CurriculumID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  24. `ProgramID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  25. `AdviserID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  26. `IsBlock`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  27. `RoomID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  28. `Limit`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  29. `IsEvening`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  30. `IsDissolved`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  31. `CreationDate`

    datetime DEFAULT

    NULL

    ,
  32. `CreatedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  33. `ModifiedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  34. `ModifiedOn`

    datetime DEFAULT

    NULL

    ,
  35. PRIMARY

    KEY

    (

    `SectionID`

    )

    ,
  36. KEY

    `YearLevelID`

    (

    `YearLevelID`

    )

    ,
  37. KEY

    `TermID`

    (

    `TermID`

    )

    USING

    BTREE,
  38. KEY

    `CampusID`

    (

    `CampusID`

    )

    USING

    BTREE,
  39. KEY

    `CollegeID`

    (

    `CollegeID`

    )

    USING

    BTREE,
  40. KEY

    `ProgramID`

    (

    `ProgramID`

    )

    USING

    BTREE,
  41. CONSTRAINT

    `FKTermID`

    FOREIGN

    KEY

    (

    `TermID`

    )

    REFERENCES

    `tblayterm`

    (

    `TermID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE
  42. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

  43. CREATE

    TABLE

    `tblbuilding`

    (
  44. `BldgID`

    INT

    (

    11

    )

    NOT

    NULL

    ,
  45. `CampusID`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  46. `BldgName`

    VARCHAR

    (

    100

    )

    CHARACTER

    SET

    latin1 DEFAULT

    NULL

    ,
  47. `BldgOtherName`

    VARCHAR

    (

    100

    )

    CHARACTER

    SET

    latin1 DEFAULT

    NULL

    ,
  48. `Acronym`

    VARCHAR

    (

    45

    )

    CHARACTER

    SET

    latin1 DEFAULT

    NULL

    ,
  49. `FloorsCount`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  50. `BldgPic`

    longblob,
  51. `IsLANReady`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  52. `Elevator`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  53. `Escalator`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  54. PRIMARY

    KEY

    (

    `BldgID`

    )

    ,
  55. KEY

    `Index_2`

    (

    `CampusID`

    )

    ,
  56. CONSTRAINT

    `FK_CampusID`

    FOREIGN

    KEY

    (

    `CampusID`

    )

    REFERENCES

    `tblcampus`

    (

    `CampusID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE
  57. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

  58. CREATE

    TABLE

    `tblroom`

    (
  59. `RoomID`

    VARCHAR

    (

    20

    )

    NOT

    NULL

    ,
  60. `BldgID`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  61. `Floor`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  62. `Room`

    VARCHAR

    (

    100

    )

    DEFAULT

    NULL

    ,
  63. `Capacity`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  64. `RoomNo`

    VARCHAR

    (

    20

    )

    DEFAULT

    NULL

    ,
  65. `RoomTypeID`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  66. `IsAirConditioned`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  67. `IsUsable`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  68. `IsLANMember`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  69. `AllowNightClass`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  70. `Shared`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  71. PRIMARY

    KEY

    (

    `RoomID`

    )

    ,
  72. KEY

    `RoomTypeID`

    (

    `RoomTypeID`

    )

    ,
  73. CONSTRAINT

    `FK_RoomTypeID`

    FOREIGN

    KEY

    (

    `RoomTypeID`

    )

    REFERENCES

    `tblroomtypes`

    (

    `RoomTypeID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE
  74. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

  75. CREATE

    TABLE

    `tblteacher`

    (
  76. `TeacherID`

    VARCHAR

    (

    10

    )

    NOT

    NULL

    ,
  77. `EmployeeID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  78. `DeptID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  79. `CampusID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  80. `CollegeID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  81. `RankID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  82. `IsRegularFaculty`

    tinyint(

    3

    )

    UNSIGNED

    NOT

    NULL

    DEFAULT

    '1'

    ,
  83. `IsFullTime`

    tinyint(

    3

    )

    UNSIGNED

    NOT

    NULL

    ,
  84. `PRC_LicenseID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  85. `DegreeDiscipline`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  86. `TeachLoadLevel`

    INT

    (

    10

    )

    UNSIGNED

    NOT

    NULL

    ,
  87. PRIMARY

    KEY

    (

    `TeacherID`

    )

    ,
  88. KEY

    `TeacherID`

    (

    `TeacherID`

    )
  89. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

  90. CREATE

    TABLE

    `tblcurriculum`

    (
  91. `CurriculumID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  92. `CurriculumCode`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  93. `Description`

    VARCHAR

    (

    200

    )

    DEFAULT

    NULL

    ,
  94. `Notes`

    text,
  95. `CreatedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  96. `CreationDate`

    datetime DEFAULT

    NULL

    ,
  97. `ModifiedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  98. `ModifiedDate`

    datetime DEFAULT

    NULL

    ,
  99. `IsLocked`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    '0'

    ,
  100. `DateLocked`

    datetime DEFAULT

    NULL

    ,
  101. `ProgramID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  102. `MajorID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  103. `CampusID`

    INT

    (

    11

    )

    DEFAULT

    NULL

    ,
  104. PRIMARY

    KEY

    (

    `CurriculumID`

    )

    ,
  105. KEY

    `Index_3`

    (

    `ProgramID`

    )

    USING

    BTREE,
  106. KEY

    `Index_1`

    (

    `CampusID`

    )

    USING

    BTREE,
  107. KEY

    `Index_2`

    (

    `MajorID`

    )

    USING

    BTREE,
  108. CONSTRAINT

    `FKCampusID`

    FOREIGN

    KEY

    (

    `CampusID`

    )

    REFERENCES

    `tblcampus`

    (

    `CampusID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE,
  109. CONSTRAINT

    `FKProgramID`

    FOREIGN

    KEY

    (

    `ProgramID`

    )

    REFERENCES

    `tblprograms`

    (

    `ProgID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE
  110. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

  111. CREATE

    TABLE

    `tblcurriculumdetails`

    (
  112. `IndexID`

    INT

    (

    10

    )

    UNSIGNED

    NOT

    NULL

    AUTO_INCREMENT

    ,
  113. `CurriculumID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  114. `YearTermID`

    INT

    (

    10

    )

    UNSIGNED

    NOT

    NULL

    ,
  115. `SubjectID`

    VARCHAR

    (

    45

    )

    NOT

    NULL

    ,
  116. `YearStandingID`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  117. `EquivalentSubjectID`

    VARCHAR

    (

    45

    )

    CHARACTER

    SET

    latin1 NOT

    NULL

    ,
  118. PRIMARY

    KEY

    (

    `IndexID`

    )

    USING

    BTREE,
  119. KEY

    `CurriculumID`

    (

    `CurriculumID`

    )

    USING

    BTREE,
  120. KEY

    `SubjectID`

    (

    `SubjectID`

    )

    USING

    BTREE,
  121. KEY

    `YearTermID`

    (

    `YearTermID`

    )

    USING

    BTREE,
  122. CONSTRAINT

    `FK_CurriculumID`

    FOREIGN

    KEY

    (

    `CurriculumID`

    )

    REFERENCES

    `tblcurriculum`

    (

    `CurriculumID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE,
  123. CONSTRAINT

    `FK_YearTermID`

    FOREIGN

    KEY

    (

    `YearTermID`

    )

    REFERENCES

    `tblyearlevelterm`

    (

    `ID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE
  124. )

    ENGINE=

    InnoDB AUTO_INCREMENT

    =

    184

    DEFAULT

    CHARSET=

    utf8;

  125. CREATE

    TABLE

    `tblsection`

    (
  126. `SectionID`

    VARCHAR

    (

    20

    )

    NOT

    NULL

    ,
  127. `SectionTitle`

    VARCHAR

    (

    255

    )

    DEFAULT

    NULL

    ,
  128. `YearLevelID`

    INT

    (

    11

    )

    DEFAULT

    '0'

    ,
  129. `TermID`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  130. `CampusID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  131. `CollegeID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  132. `CurriculumID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  133. `ProgramID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  134. `AdviserID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  135. `IsBlock`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  136. `RoomID`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  137. `Limit`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  138. `IsEvening`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  139. `IsDissolved`

    tinyint(

    3

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  140. `CreationDate`

    datetime DEFAULT

    NULL

    ,
  141. `CreatedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  142. `ModifiedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  143. `ModifiedOn`

    datetime DEFAULT

    NULL

    ,
  144. PRIMARY

    KEY

    (

    `SectionID`

    )

    ,
  145. KEY

    `YearLevelID`

    (

    `YearLevelID`

    )

    ,
  146. KEY

    `TermID`

    (

    `TermID`

    )

    USING

    BTREE,
  147. KEY

    `CampusID`

    (

    `CampusID`

    )

    USING

    BTREE,
  148. KEY

    `CollegeID`

    (

    `CollegeID`

    )

    USING

    BTREE,
  149. KEY

    `ProgramID`

    (

    `ProgramID`

    )

    USING

    BTREE,
  150. CONSTRAINT

    `FKTermID`

    FOREIGN

    KEY

    (

    `TermID`

    )

    REFERENCES

    `tblayterm`

    (

    `TermID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE
  151. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

  152. CREATE

    TABLE

    `tblclassschedule`

    (
  153. `SubjectOfferingID`

    VARCHAR

    (

    31

    )

    NOT

    NULL

    ,
  154. `TermID`

    INT

    (

    20

    )

    NOT

    NULL

    ,
  155. `SubjectID`

    VARCHAR

    (

    10

    )

    DEFAULT

    NULL

    ,
  156. `SectionID`

    VARCHAR

    (

    20

    )

    DEFAULT

    NULL

    ,
  157. `IsSpecialClasses`

    tinyint(

    1

    )

    DEFAULT

    NULL

    ,
  158. `SchedTimeStart`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  159. `SchedTimeEnd`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  160. `TeacherID`

    VARCHAR

    (

    10

    )

    DEFAULT

    NULL

    ,
  161. `RoomID`

    VARCHAR

    (

    50

    )

    DEFAULT

    NULL

    ,
  162. `Days`

    VARCHAR

    (

    20

    )

    DEFAULT

    NULL

    ,
  163. `EventID1`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  164. `Sched1`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  165. `SchedTimeStart2`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  166. `SchedTimeEnd2`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  167. `TeacherID2`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  168. `RoomID2`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  169. `Days2`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  170. `EventID2`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  171. `Sched2`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  172. `SchedTimeStart3`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  173. `SchedTimeEnd3`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  174. `TeacherID3`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  175. `RoomID3`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  176. `Days3`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  177. `EventID3`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  178. `Sched3`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  179. `SchedTimeStart4`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  180. `SchedTimeEnd4`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  181. `TeacherID4`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  182. `RoomID4`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  183. `Days4`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  184. `EventID4`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  185. `Sched4`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  186. `SchedTimeStart5`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  187. `SchedTimeEnd5`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  188. `TeacherID5`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  189. `RoomID5`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  190. `Days5`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  191. `EventID5`

    INT

    (

    10

    )

    UNSIGNED

    DEFAULT

    NULL

    ,
  192. `Sched5`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  193. `OverRideConflict`

    tinyint(

    4

    )

    DEFAULT

    NULL

    ,
  194. `IsDissolved`

    tinyint(

    4

    )

    DEFAULT

    NULL

    ,
  195. `PostedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  196. `DatePosted`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  197. `RoomPostedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  198. `RoomDatePosted`

    VARCHAR

    (

    20

    )

    DEFAULT

    NULL

    ,
  199. `FacultyDatePosted`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  200. `FacultyPostedBy`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  201. `CreationDate`

    VARCHAR

    (

    20

    )

    DEFAULT

    NULL

    ,
  202. `CreatedBy`

    VARCHAR

    (

    70

    )

    DEFAULT

    NULL

    ,
  203. `ModifiedDate`

    VARCHAR

    (

    45

    )

    DEFAULT

    NULL

    ,
  204. `ModifiedBy`

    VARCHAR

    (

    70

    )

    DEFAULT

    NULL

    ,
  205. PRIMARY

    KEY

    (

    `SubjectOfferingID`

    )

    ,
  206. KEY

    `SubjectID`

    (

    `SubjectID`

    )

    ,
  207. KEY

    `SectionID`

    (

    `SectionID`

    )

    USING

    BTREE,
  208. KEY

    `TermID`

    (

    `TermID`

    )

    USING

    BTREE,
  209. CONSTRAINT

    `FKSectionID`

    FOREIGN

    KEY

    (

    `SectionID`

    )

    REFERENCES

    `tblsection`

    (

    `SectionID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE,
  210. CONSTRAINT

    `FK_SubjectID`

    FOREIGN

    KEY

    (

    `SubjectID`

    )

    REFERENCES

    `tblsubject`

    (

    `SubjectID`

    )

    ON

    DELETE

    CASCADE ON

    UPDATE

    CASCADE
  211. )

    ENGINE=

    InnoDB DEFAULT

    CHARSET=

    utf8;

==================STORED PROCEDURE ==============================

  1. CREATE

    DEFINER =

    'root'

    @'localhost'

    PROCEDURE

    `GetClassScheduleConflicts`

    (
  2. IN

    TermID INTEGER

    ,
  3. IN

    SectionID VARCHAR

    (

    45

    )

    ,
  4. IN

    sDay VARCHAR

    (

    10

    )

    ,
  5. IN

    TimeStart VARCHAR

    (

    10

    )

    ,
  6. IN

    TimeEnd VARCHAR

    (

    10

    )
  7. )
  8. NOT

    DETERMINISTIC
  9. CONTAINS SQL
  10. SQL

    SECURITY DEFINER
  11. COMMENT ''

  12. BEGIN
  13. SELECT

    CS.

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,
  14. CS.

    SectionID,

    CSec.

    SectionName,
  15. CS.

    Sched1,

    fnRoomName2(

    RoomID)

    AS

    Room_1,
  16. CS.

    Sched2,

    fnRoomName2(

    RoomID2)

    AS

    Room_2,
  17. CS.

    Sched3,

    fnRoomName2(

    RoomID3)

    AS

    Room_3,
  18. CS.

    Sched4,

    fnRoomName2(

    RoomID4)

    AS

    Room_4,
  19. CS.

    Sched5,

    fnRoomName2(

    RoomID4)

    AS

    Room_5,
  20. CS.

    Days1,

    CS.

    Days2,

    CS.

    Days3,

    CS.

    Days4,

    CS.

    Days5,
  21. fnCollegeCode(

    CSec.

    CollegeID)

    AS

    CollegeCode,
  22. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  23. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  24. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  25. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  26. WHERE

    (

    CS.

    TermID =

    TermID)

    AND

    (

    CS.

    SectionID =

    SectionID)
  27. AND

    (
  28. (

    (

    CS.

    Days1 LIKE

    sDay)

    AND

    (

    (

    CS.

    SchedTimeStart BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    CS.

    SchedTimeEnd BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    (

    CS.

    SchedTimeEnd >

    TimeStart AND

    CS.

    SchedTimeEnd
  29. AND

    (

    (

    CS.

    SchedTimeEnd >

    TimeStart AND

    CS.

    SchedTimeEnd
  30. )
  31. OR
  32. (

    (

    CS.

    Days2 LIKE

    sDay)

    AND

    (

    (

    CS.

    SchedTimeStart2 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    CS.

    SchedTimeEnd2 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    (

    CS.

    Time2_End >

    TimeStart AND

    CS.

    SchedTimeEnd2
  33. AND

    (

    (

    CS.

    SchedTimeEnd2 >

    TimeStart AND

    CS.

    Time2_End
  34. )
  35. OR
  36. (

    (

    CS.

    Days3 LIKE

    sDay)

    AND

    (

    (

    CS.

    SchedTimeStart3 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    CS.

    SchedTimeEnd3 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    (

    CS.

    Time3_End >

    TimeStart AND

    CS.

    SchedTimeEnd3
  37. AND

    (

    (

    CS.

    SchedTimeEnd3 >

    TimeStart AND

    CS.

    SchedTimeEnd3
  38. )
  39. OR
  40. (

    (

    CS.

    Days4 LIKE

    sDay)

    AND

    (

    (

    CS.

    SchedTimeStart4 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    CS.

    SchedTimeEnd4 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    (

    CS.

    Time4_End >

    TimeStart AND

    CS.

    SchedTimeEnd4
  41. AND

    (

    (

    CS.

    SchedTimeEnd4 >

    TimeStart AND

    CS.

    SchedTimeEnd4
  42. )
  43. OR
  44. (

    (

    CS.

    Days5 LIKE

    sDay)

    AND

    (

    (

    CS.

    SchedTimeStart5 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    CS.

    SchedTimeEnd5 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    (

    CS.

    Time5_End >

    @TimeStart AND

    CS.

    SchedTimeEnd5
  45. AND

    (

    (

    CS.

    SchedTimeEnd5 >

    TimeStart AND

    CS.

    SchedTimeEnd5
  46. )
  47. )

    ;
  48. END

    ;

  49. CREATE

    DEFINER =

    'root'

    @'localhost'

    PROCEDURE

    `GetFacultyScheduleConflicts`

    (
  50. TermID INT

    ,
  51. FacultyID VARCHAR

    (

    15

    )

    ,
  52. sDay VARCHAR

    (

    10

    )

    ,
  53. TimeStart VARCHAR

    (

    10

    )

    ,
  54. TimeEnd VARCHAR

    (

    10

    )
  55. )
  56. NOT

    DETERMINISTIC
  57. CONTAINS SQL
  58. SQL

    SECURITY DEFINER
  59. COMMENT ''

  60. BEGIN
  61. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  62. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  63. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  64. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  65. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  66. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  67. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  68. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  69. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  70. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  71. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  72. (

    CS.

    TeacherID =

    FacultyID)

    AND
  73. (

    CS.

    Days LIKE

    sDay)

    AND
  74. (

    (

    SchedTimeStart BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd BETWEEN

    TimeStart AND

    TimeEnd)
  75. OR

    (

    (

    SchedTimeEnd >

    TimeStart AND

    SchedTimeEnd
  76. AND

    (

    (

    SchedTimeEnd >

    TimeStart AND

    SchedTimeEnd

  77. /*----------------------------------*/
  78. UNION

    -- SCHEDULE.1 TO SCHEDULE.2
  79. /*----------------------------------*/

  80. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  81. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  82. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  83. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  84. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  85. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  86. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  87. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  88. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  89. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  90. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  91. (

    CS.

    TeacherID2 =

    FacultyID)

    AND
  92. (

    Days2 LIKE

    sDay)

    AND
  93. (

    (

    SchedTimeStart2 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd2 BETWEEN

    TimeStart AND

    TimeEnd)
  94. OR

    (

    (

    SchedTimeEnd2 >

    TimeStart AND

    SchedTimeEnd2
  95. AND

    (

    (

    SchedTimeEnd2 >

    TimeStart AND

    SchedTimeEnd2

  96. /*----------------------------------*/
  97. UNION

    -- SCHEDULE.2 TO SCHEDULE.3
  98. /*----------------------------------*/

  99. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  100. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  101. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  102. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  103. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  104. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  105. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  106. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  107. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  108. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  109. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  110. (

    CS.

    TeacherID3 =

    FacultyID)

    AND
  111. (

    Days3 LIKE

    sDay)

    AND
  112. (

    (

    SchedTimeStart3 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd3 BETWEEN

    TimeStart AND

    TimeEnd)
  113. OR

    (

    (

    SchedTimeEnd3 >

    TimeStart AND

    SchedTimeEnd3
  114. AND

    (

    (

    SchedTimeEnd3 >

    TimeStart AND

    SchedTimeEnd3

  115. /*----------------------------------*/
  116. UNION

    -- SCHEDULE.3 TO SCHEDULE.4
  117. /*----------------------------------*/

  118. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  119. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  120. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  121. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  122. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  123. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  124. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  125. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  126. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  127. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  128. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  129. (

    CS.

    TeacherID4 =

    FacultyID)

    AND
  130. (

    Days4 LIKE

    sDay)

    AND
  131. (

    (

    SchedTimeStart4 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd4 BETWEEN

    TimeStart AND

    TimeEnd)
  132. OR

    (

    (

    SchedTimeEnd4 >

    TimeStart AND

    SchedTimeEnd4
  133. AND

    (

    (

    SchedTimeEnd4 >

    TimeStart AND

    SchedTimeEnd4

  134. /*----------------------------------*/
  135. UNION

    -- SCHEDULE.4 TO SCHEDULE.5
  136. /*----------------------------------*/

  137. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  138. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  139. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  140. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  141. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  142. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  143. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  144. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  145. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  146. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  147. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  148. (

    CS.

    TeacherID5 =

    FacultyID)

    AND
  149. (

    Days5 LIKE

    sDay)

    AND
  150. (

    (

    SchedTimeStart5 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd5 BETWEEN

    TimeStart AND

    TimeEnd)
  151. OR

    (

    (

    SchedTimeEnd5 >

    TimeStart AND

    SchedTimeEnd5
  152. AND

    (

    (

    SchedTimeEnd5 >

    TimeStart AND

    SchedTimeEnd5
  153. END

    ;

  154. CREATE

    DEFINER =

    'root'

    @'localhost'

    PROCEDURE

    `GetRoomScheduleConflicts`

    (
  155. TermID INT

    ,
  156. RoomID VARCHAR

    (

    15

    )

    ,
  157. sDay VARCHAR

    (

    10

    )

    ,
  158. TimeStart VARCHAR

    (

    10

    )

    ,
  159. TimeEnd VARCHAR

    (

    10

    )
  160. )
  161. DETERMINISTIC
  162. CONTAINS SQL
  163. SQL

    SECURITY DEFINER
  164. COMMENT ''

  165. BEGIN

  166. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  167. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  168. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  169. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  170. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  171. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  172. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  173. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  174. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  175. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  176. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  177. (

    CS.

    RoomID =

    RoomID)

    AND
  178. (

    CS.

    Days LIKE

    sDay)

    AND
  179. (

    (

    SchedTimeStart BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd BETWEEN

    TimeStart AND

    TimeEnd)
  180. OR

    (

    (

    SchedTimeEnd >

    TimeStart AND

    SchedTimeEnd
  181. AND

    (

    (

    SchedTimeEnd >

    TimeStart AND

    SchedTimeEnd

  182. /*----------------------------------*/
  183. UNION

    -- SCHEDULE.1 TO SCHEDULE.2
  184. /*----------------------------------*/

  185. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  186. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  187. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  188. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  189. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  190. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  191. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  192. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  193. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  194. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  195. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  196. (

    CS.

    RoomID2 =

    RoomID)

    AND
  197. (

    Days2 LIKE

    sDay)

    AND
  198. (

    (

    SchedTimeStart2 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd2 BETWEEN

    TimeStart AND

    TimeEnd)
  199. OR

    (

    (

    SchedTimeEnd2 >

    TimeStart AND

    SchedTimeEnd2
  200. AND

    (

    (

    SchedTimeEnd2 >

    TimeStart AND

    SchedTimeEnd2

  201. /*----------------------------------*/
  202. UNION

    -- SCHEDULE.2 TO SCHEDULE.3
  203. /*----------------------------------*/

  204. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  205. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  206. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  207. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  208. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  209. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  210. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  211. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  212. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  213. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  214. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  215. (

    CS.

    RoomID3 =

    RoomID)

    AND
  216. (

    Days3 LIKE

    sDay)

    AND
  217. (

    (

    SchedTimeStart3 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd3 BETWEEN

    TimeStart AND

    TimeEnd)
  218. OR

    (

    (

    SchedTimeEnd3 >

    TimeStart AND

    SchedTimeEnd3
  219. AND

    (

    (

    SchedTimeEnd3 >

    TimeStart AND

    SchedTimeEnd3

  220. /*----------------------------------*/
  221. UNION

    -- SCHEDULE.3 TO SCHEDULE.4
  222. /*----------------------------------*/

  223. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  224. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  225. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  226. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  227. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  228. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  229. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  230. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  231. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  232. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  233. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  234. (

    CS.

    RoomID4 =

    RoomID)

    AND
  235. (

    Days4 LIKE

    sDay)

    AND
  236. (

    (

    SchedTimeStart4 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd4 BETWEEN

    TimeStart AND

    TimeEnd)
  237. OR

    (

    (

    SchedTimeEnd4 >

    TimeStart AND

    SchedTimeEnd4
  238. AND

    (

    (

    SchedTimeEnd4 >

    TimeStart AND

    SchedTimeEnd4


  239. /*----------------------------------*/
  240. UNION

    -- SCHEDULE.4 TO SCHEDULE.5
  241. /*----------------------------------*/

  242. SELECT

    SubjectOfferingID,

    CS.

    TermID,

    CS.

    SubjectID,

    S.

    SubjectCode,

    S.

    SubjectTitle,

    S.

    CreditUnits,

    CSec.

    SectionTitle,
  243. CS.

    Sched1,

    fnRoomName2(

    CS.

    RoomID)

    AS

    Room_1,
  244. CS.

    Sched2,

    fnRoomName2(

    CS.

    RoomID2)

    AS

    Room_2,
  245. CS.

    Sched3,

    fnRoomName2(

    CS.

    RoomID3)

    AS

    Room_3,
  246. CS.

    Sched4,

    fnRoomName2(

    CS.

    RoomID4)

    AS

    Room_4,
  247. CS.

    Sched5,

    fnRoomName2(

    CS.

    RoomID5)

    AS

    Room_5,
  248. fnProgramCode(

    CSec.

    ProgramID)

    AS

    ProgramCode
  249. FROM

    tblClassSchedule AS

    CS LEFT

    JOIN
  250. tblSubject AS

    S ON

    S.

    SubjectID =

    CS.

    SubjectID LEFT

    JOIN
  251. tblSection AS

    CSec ON

    CSec.

    SectionID =

    CS.

    SectionID
  252. WHERE

    (

    CS.

    TermID =

    TermID)

    AND
  253. (

    CS.

    RoomID5 =

    RoomID)

    AND
  254. (

    Days5 LIKE

    sDay)

    AND
  255. (

    (

    SchedTimeStart5 BETWEEN

    TimeStart AND

    TimeEnd)

    OR

    (

    SchedTimeEnd5 BETWEEN

    TimeStart AND

    TimeEnd)
  256. OR

    (

    (

    SchedTimeEnd5 >

    TimeStart AND

    SchedTimeEnd5
  257. AND

    (

    (

    SchedTimeEnd5 >

    TimeStart AND

    SchedTimeEnd5
  258. END

    ;


  259. /*=================== STORED FUNCTION ===========================*/

  260. CREATE

    DEFINER =

    'root'

    @'localhost'

    FUNCTION

    `fnProgramName`

    (

    ProgID INT

    )
  261. RETURNS

    VARCHAR

    (

    100

    )

    CHARSET utf8
  262. DETERMINISTIC
  263. CONTAINS SQL
  264. SQL

    SECURITY DEFINER
  265. COMMENT ''

  266. BEGIN

  267. DECLARE

    ProgramName VARCHAR

    (

    100

    )

    ;
  268. SELECT

    Programs.

    ProgName INTO

    ProgramName FROM

    tblPrograms AS

    Programs WHERE

    Programs.

    ProgID =

    ProgID
  269. LIMIT

    1

    ;

  270. RETURN

    ifnull(

    ProgramName,

    ''

    )

    ;
  271. END

    ;

  272. CREATE

    DEFINER =

    'root'

    @'localhost'

    FUNCTION

    `fnRoomName2`

    (
  273. sRoomID VARCHAR

    (

    45

    )
  274. )
  275. RETURNS

    VARCHAR

    (

    60

    )

    CHARSET utf8
  276. DETERMINISTIC
  277. CONTAINS SQL
  278. SQL

    SECURITY DEFINER
  279. COMMENT ''

  280. BEGIN

  281. DECLARE

    RoomName VARCHAR

    (

    60

    )

    ;
  282. SELECT

    CONCAT(

    fnBuildingAcronym(

    R.

    BldgID)

    ,

    '-'

    ,

    R.

    Room)

    INTO

    RoomName FROM

    tblRoom AS

    R
  283. WHERE

    R.

    RoomID =

    sRoomID LIMIT

    1

    ;
  284. RETURN

    RoomName;
  285. END

    ;

 

452,496

329,696

329,704

Top