12
Develop an online web-based university administration system Patrick Ward D11124386 Instructor: Mr. Patrick Mathews Module: Advanced Database Systems 1st March 2012

DB Assignment

Embed Size (px)

DESCRIPTION

DB

Citation preview

D e v e l o p a n o n l i n e w e b - b a s e d u n i v e r s i t y a d m i n i s t r a t i o n s y s t e m

Patrick WardD11124386

Instructor: Mr. Patrick MathewsModule: Advanced Database Systems

1st March 2012

1. Assignment Overview! 3

1.1.User Types! 3

1.2.User Functionality! 4

1. Students will be able to:! 4

2. Lecturers will be able to:! 4

3. Administrators will be able to:! 4

2. Database Tables! 5

2.1.User Tables! 5

2.2.Main Tables! 6

1. Scheduling Tables:! 6

2. Linking Tables to avoid Many to Many relationships:! 7

3. Entity Relationship Diagram! 8

4. Use Case Diagrams! 9

4.1.Basic Use Case Diagram! 9

4.2.Student Use Case Diagram! 10

4.3.Lecturer Use Case Diagram! 11

4.4.Administrator Use Case Diagram! 12

1. Assignment OverviewDesign a database system that will allow the efficient management of the university.

1.1. User TypesThe system will have three user types:

1. Students

2. Lecturers

3. Administrators

University administration system database design

Page 3

1.2. User Functionality1.2.1. Students will be able to:

1. register for a semester

2. view all available modules

3. enrol to up to 4 modules

4. view the modules they are enrolled to

5. view their class timetables

6. view their grades

7. un-enrol from modules (provided the module has not been closed by an administrator)

1.2.2. Lecturers will be able to:1. view the modules they are assigned to

2. view their timetable

3. view a list of all enrolled students to each module

4. assign grades to each student enrolled on the module (if the module is closed)

1.2.3. Administrators will be able to:1. assign modules to semesters

2. assign lecturers to modules (1 lecturer will be assigned to a maximum of 3 modules per semester.

3. assign and edit room, days and timeslots to modules (this combination must be unique to avoid timetable clashes)

4. view timetables for lecturers and students

5. close a module for enrolment

6. produce lists of enrolled students for each module

7. view grades for all students on a module

8. view all grades of a particular student

University administration system database design

Page 4

2. Database TablesThe tables below have been designed to meet the requirements of 3rd Normal Form that states

that “all non-key columns are independent of each other” in addition to meeting 1st and 2nd Normal Forms.

2.1. User TablesNote: Colour coding =

University administration system database design

Page 5

Staff

Staff_ID int (11) Primary KeySystemLogin_id int (10)fist_name varchar (55)last_name varchar (55)addressLine1 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)email varchar (55)mobilePhone int (14)officePhone int (14)job_typeId int (1) Foreign Key

Student

id int (11) Primary KeySystemLogin_id int (10) Foreign Keyfist_name varchar (55)last_name varchar (55)addressLine1 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)email varchar (55)mobilePhone int (14)officePhone int (14)

Job_Type

id int (1) Primary Keytitle varchar (55)

SystemLogin

id int (10) Primary Keyusername varchar (25)password varchar (25)

Primary Key

Foreign Key

Combined Key

2.2. Main Tables

2.2.1. Scheduling Tables:

University administration system database design

Page 6

Module

code varchar (5) Primary Keytitle varchar (55)openOrClosed binary (1)SemesterID int (10) Foreign Key

Semester

id int (6) Primary KeystartDate dateendDate date

Day

id int (1) Primary Keyname varchar (3) ‘mon’, ‘tues’, etc.This will be read-only table representing 7 day week.This will be read-only table representing 7 day week.This will be read-only table representing 7 day week.

Room

roomName varchar (6) Primary Keycapacity int (4)

TimeSlot

id int (2) Primary KeystartTime timeendTime timeThis will be read-only table representing 24 hour clock.

Class (event)

RoomName int(10) Primary KeyTimeSlot int(2) Primary KeyDayID int(1) Primary KeyModuleCode varchar (5) Primary KeyCombined key will prevent scheduling conflicts

2.2.2. Linking Tables to avoid Many to Many relationships:

University administration system database design

Page 7

Registration

SemesterID int(6)Student_ID int(11)Date timestamp

StudentToModule

StudentID int(10)SemesterID int(6)ModuleCodegrade varchar (5)Restricted to 4 per student using a trigger

LecturerToModule

staff_id int(10)ModuleCode varchar(5)staffJob_Type int (1)Restricted to 3 per lecturer using a triggerRestricted to 3 per lecturer using a triggerRestricted to 3 per lecturer using a trigger

3. Entity Relationship Diagram

University administration system database design

Page 8

4. Use Case Diagrams4.1. Basic Use Case Diagram

University administration system database design

Page 9

4.2. Student Use Case Diagram

University administration system database design

Page 10

4.3. Lecturer Use Case Diagram

University administration system database design

Page 11

4.4. Administrator Use Case Diagram

University administration system database design

Page 12