Hi I am creating a database that will help monitor attendance at uni. We were given the following spec.
Each course is made up of a number of modules.
Students enrol in 6 modules.
Each module has a timetable which includes times of classes.
Class can be a lecture, tutorial or lab.
For each class type the date and time are to be held along with topic if it is a lecture, support staff available if lab and video conference if tutorial.
Roll is to be taken at each class to record which students attended.

I am new to object relational db schemas but so far i have created.
Student type - student#, name, address_obj, phone_var
Address type - street, city, county, postcode
phone Array
Module type - mod#, name
Classes - class#, mod#, classtype, topic, supportstaff, videocon.

I have created tables aswell but not sure if I am on the right track with the types that I have created so far. Can someone have a look at the spec and let me know if the types ive created are correct or if more are needed? Or any advice at all would be much apprecated. Thanks in advance

start with the data. That's the important bit after all.
So you have entities "STUDENT", "COURSEMODULE", "CLASSSESSION", "SCHEDULE".
In addition you need to have some way to record attendance, so an "ATTENDANCE" table.
And something for scheduling staff members.
So a "STAFF" and "STAFFSCHEDULE" table.

CLASS SESSION, and MODULE are best avoided as they're reserved words in many languages.

Based on those, there's no doubt need for proper normalisation of the data to 2nd or 3rd normal form, which will introduce several more tables.
You're also going to need foreign key relations between the tables.

So start with your data model, properly design it to have all the data in it that you need in a correctly normalised form, and only THEN start thinking about how to write an application that uses that data.
You're talking about a database course after all, else why would you have posted your question here...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.