Re: How would i do this?

From: David A Dickson <davidd(at)saraswati(dot)wcg(dot)mcgill(dot)ca>
To: John Hughes <johughes(at)shaw(dot)ca>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: How would i do this?
Date: 2001-12-11 20:16:45
Message-ID: Pine.LNX.4.33.0112111510560.30050-100000@blues.wcg.mcgill.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-sql

On Tue, 11 Dec 2001, John Hughes wrote:

> I am new to DB programming, so im not too sure about how to implement my DB.
>
> Here is what i need: a DB with tables of:
>
> 1. Students.
> 2. Classes
> 3. Teachers
> 4. Assignments
>
> Each teacher can be assigned a class, which is compromised of a list of
> students. Each class can be given assignments.
>
> Coming from a programming background, I could do this in c++ very easily. I
> actually started inmplementing it in a similar fasion: each student class
> teacher ect would have a uniqe id in the database, and, for example, a
> class would include an array of integer student id's.
>
> This seems really error prone, and not very efficient.

I would create a each of the 4 tables as listed above with a unique id for
each student/class/teacher/assignment. I would then make a table
teacher_join_class which with two fields: teacher_id and class_id.
Whenever you want to see which classes a teacher is in you would do
SELECT class_id FROM class WHERE teacher_id = X;
where X is your teachers id. The same can be done for your other tables.
You just need to be sure that when you delete a teacher_id from teachers
it gets deleted from the teacher_join_class. This can be done using
triggers.

--
David A Dickson
david(dot)dickson(at)mail(dot)mcgill(dot)ca

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Vince Vielhaber 2001-12-11 20:26:09 Re: How would i do this?
Previous Message Andrew Snow 2001-12-11 20:09:09 Re: How would i do this?

Browse pgsql-sql by date

  From Date Subject
Next Message Vince Vielhaber 2001-12-11 20:26:09 Re: How would i do this?
Previous Message Andrew Snow 2001-12-11 20:09:09 Re: How would i do this?