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.