Data Dictionary for Student Registration System
Compiled by Mike Courage
Meaning of symbols: separates term from definition
+ separates attribute names in definition
[] denotes a set
| separator within set
@ denotes a primary key
"" encloses literals or constants
() encloses optional fields
- #registered = integer
-
non-key attribute of object student
contains the number of courses a student is currently registered in
- address = string
-
non-key attribute of object student
must be less than 50 characters
contains students complete mailing address
- bcapacity = integer
-
non-key attribute of object lab
contains the maximum number of students that can be registered in a lab
- bday = string
-
non-key attribute of object lab
maximum 3 characters
contains the day(s) of a lab
- bduration = integer
-
non-key attribute of object lab
contains a lab duration time in minutes
- blocation = string
-
non-key attribute of object lab
must be less than 10 characters
contains a lab location
- bregistered = integer
-
non-key attribute of object lab
contains the number of students currently registered in a lab
- btime = integer
-
non-key attribute of object lab
contains 24 hour clock start time for a lab
- course = @cname + @section# + (@lab#) + (@tutorial#) + ltime + lduration
+ llocation + lday + prereqs + instructor + lcapacity + lregistered
-
object containing pertinant information about a course instance
- COURSES = database table
-
database table containing all instances of object course
can be accessed by cname for all lecture sections, labs and tutorials
or by a combination of cname, section#, lab#, tutorial# for more specific
queries
- cname = string
-
key attribute of object course
must be exactly 7 characters long
uniquely identifies a course name and number
- "dropdate" = string
-
global constant containing last day to drop a course
must be exactly 8 characters of form dd/mm/yy
- "enddate" = string
-
global constant containing last day of registration
must be exactly 8 characters of form dd/mm/yy
- faculty = string
-
non-key attribute of object student
must be less than 10 characters
contains faculty student is currently enrolled in
- id# = integer
-
key attribute of object student
must be exactly 6 digits
uniquely identifies a student
- instructor = string
-
non-key attribute of object course
must be less than 30 characters
contains the lecturers name for a lecture section
- lab# = integer
-
optional key attribute of object course
contains a lab number for a course
- lab = @cname + @lab# + btime + bduration + blocation + bday + bcapacity
+ bregistered
-
object containing pertinant lab information
borrows key attributes cname and lab# from object course
- lcapacity = integer
-
non-key attribute of object course
contains the maximum number of students that can register in a lecture
section
- lday = string
-
non-key attribute of object course
maximum 3 characters
contains the day(s) of a lecture
- lduration = integer
-
non-key attribute of object course
contains lecture duration time in minutes
- llocation = string
-
non-key attribute of object course
must be less than 10 characters
contains the location of a lecture
- lregistered = integer
-
non-key attribute of object course
contains the number of students registered in a lecture section
- ltime = integer
-
non-key attribute of object course
contains 24 hour clock start time for a course lecture
- major = string
-
optional non-key attribute of object student
must be less than 10 characters
contains students declared major course of studies
- maxcourses = integer
-
non-key attribute of object student
contains the maximum number of courses a student can register in
- minor = string
-
optional non-key attribute of object student
must be less than 10 characters
contains students declared minor course of studies
- password = string
-
non-key attribute of object student
must be (min) 4 to (max) 8 characters
entered by a student to obtain system access
- phone# = string
-
non-key attribute of object student
exactly 14 characters long of form eg. (403) 220-7000
contains students area code and phone number
- prereqs = list
-
non-key attribute of object course
contains a list of the prerequisites for a course
- scourses = list
-
non-key attribute of object student
contains a list of the courses a student is currently registered in
- section# = integer
-
key attribute of object course
contains a lecture section number for a course
- sname = string
-
non-key attribute of object student
must be less than 30 characters
contains students surname, given name and initial respectively
- status = integer
-
in [ INACTIVE | PARTTIME | FULLTIME | ADMINISTRATOR ]
non-key attribute of object student
integer representing a user's status and access capabilties
- student = @id# + password + sname + address + phone# + (major) + (minor) +
faculty + maxcourses + #registered + status + scourses
+ transcript
-
object containing pertinant student info
- tcapacity = integer
-
non-key attribute of object tutorial
contains the maximum number of students that can be registered in a
tutorial
- tday = string
-
non-key attribute of object tutorial
maximum 3 characters
contains the day(s) of a tutorial
- tduration = integer
-
non-key attribute of object tutorial
contains tutorial duration time in minutes
- tlocation = string
-
non-key attribute of object tutorial
must be less than 10 characters
contains the location of a tutorial
- transcript = list
-
non-key attribute of object student
contains a list of all courses a student has completed in the past and
an associated letter grade achieved
- tregistered = integer
-
non-key attribute of object tutorial
contains the number of students currently registered in a tutorial
- ttime = integer
-
non-key attribute of object tutorial
contains 24 hour clock start time for a tutorial
- tutorial# = integer
-
optional key attribute of object course
contains a tutorial number for a course
- tutorial = @cname + @tutorial# + ttime + tduration + tlocation + tday
+ tcapacity + tregistered
-
object containing pertinant tutorial information
borrows key attributes cname and tutorial# from object course
- USERS = database table
-
database table containing all instances of users,
whether student or administrator
accessed by key attribute of object student - id#
Administrators are assigned a status identifying them as
administrators for access to administrative functions.
An administrator entry only requires the id#, password, sname fields.