I really wish the instructor of my database class had explained more of
"This is how you
construct a database when I give you one full page (!!) of English text and
how to do it in under an hour and a half" BEFORE actually throwing this
curve ball on the test.
Grumble. Just found out I created an incorrect junction table for a
many-to-many relationship on my in-class-test paper-and-pencil model. Would
have spotted it if I had more time or was able to have the computers
assigned to the classes. The original design specs for the test called for
modelling the database on a computer, and getting a few queries to run, all
under 3 hrs, so the student could do some trial-and-error and input test
data... but since the teacher couldn't get a computer allocated for the
classroom, he crossed off the queries, and set the limit to only an
hour-and-a-half. Most of the class, newbies us all, were stunned when
someone who has been in the database design class exclaimed during break
that with all the parameters the teacher was giving, it would take him a
week to model the database, input test data, and feel confident enough to
show it to a client. Purely a paper-and-pencil method wasn't a good enough
design methodology.
Good thing the teacher wasn't there ;} He would have said the same thing
all computer science teachers at Bridgewater State College say when
students crave extra help. "Too tough? Drop out."
For those who know databases, my mistake was that, initially I had two
tables, "Students" and "Faculty" joined in a many-to-many relationship with
a junction table in between called "Advisees". In English, that means that
the Faculty can have possibly many students to advise, and since students
can have double-majors ("Darn! Another paramenter I missed!") so
technically they can have more than one faculty as an advisor.
I had it like:
Faculty
Advisee -------------
Student --------------- FacultyID
----------- AdviseeID (1) - - - - - - - - - - -(8) AdviseeID
StudentID (1) - - - - - - - - - (8) StudentID [More]
.. . . . . . [More]
[More]
.... which is wrong! Then again when I -took- the test, I didn't realize I
was actually writing a junction table for "Advisee", or even knew what a
many-to-many relationship was, besides that it was briefly mentioned in "MS
Access 97 for Dummies". To paraphrase: "Many to many relationships! ALERT!
Don't do it! Call a computer geek who knows what he is doing!" ... and I
must not have received my membership card for geekdom yet, or it got lost
in the mail, since I was designing as I usually do, on a wing an' a prayer,
not knowing what the hell I was doing. I saw the relationships in my head
in seconds, but coulded chisel the thought onto paper!
Right now I have:
Student Advisee
----------- ---------------- Faculty
StudentID (1)- - - - - - (8) StudentID ------------------
[More] FacultyID (8) - - - - - - - - (1) FacultyID
[More]
.... while I chanted the mantra "One student can have many faculty
advisers.
One Faculty member can have many student advisees. Many students can have
many faculty" I entered test data, and the database -seems- to work....
Harumph! So the damage is one deleted field, [Advisee from "Faculty"], an
moved field, [Student ID moved from "Faculty" to "Advisee"], and one
relationship changed. I wonder if the teacher will count it as one error,
so it is only "X" points off, or three little mistakes to change the error,
such as "three times 'X' " points off.
Heh! Knowing the teacher...
-T.J. Maher
--------------------------------------------------------------------
Thomas F. Maher, Jr.| QA Engineer, Web Designer, Web Writer
[EMAIL PROTECTED] | "Computer Geek, Theatre Freak, Roleplaying
Weirdo"
Gadfly Design | http://www.geocities.com/TimesSquare/Alley/3039/
617-628-2533
____________________________________________________________________
--------------------------------------------------------------------
Join The Web Consultants Association : Register on our web site Now
Web Consultants Web Site : http://just4u.com/webconsultants
If you lose the instructions All subscription/unsubscribing can be done
directly from our website for all our lists.
---------------------------------------------------------------------