TO GROUP:


Keep in mind that this is a tentative data dictionary. It's purpose at this point is to develop consistancy of variable names etc. Any changes must be propogated to this d.d.

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.