Re: What should be the Database Design in this case?

From: Neo <neo55592_at_hotmail.com>
Date: 24 Dec 2002 19:30:41 -0800
Message-ID: <4b45d3ad.0212241930.6164947c_at_posting.google.com>


Doesn't T_CourseExams have redundant data that could be created via a query? Would the below design eliminate the redundancy and allow more flexibility in the case where different Subjects of one Course have any combination of Exams?

T_Course

T_Sub

T_Exam

T_MaxMark

T_CourseSub
  courseID
  subID

T_CourseSubExam
  courseSubID
  examID
  maxMarkID

On an off-note, I am playing with an experimental database that attempt to accept the above design and data with the following english-like statements in the general format "ThingA relationship ThingB". Is there a better syntax than below that would be easier for humans yet consistent enough for processing?

course isA thing.
IX isA course.
X isA course.

subject isA thing.
maths isA subject.
english isA subject.
science isA subject.

exam isA thing.
unitTest isA exam.
halfYearly isA exam.
final isA exam.

maxMark isA thing.
25 isA maxMark.
50 isA maxMark.

isTaughtIn isA verb.
isTakenFor isA verb.
isGivenFor isA verb.

maths * isTaughtIn IX.
halfYearly * isTakenFor it.
50 isGivenFor it.

english * isTaughtIn IX.
halfYearly * isTakenFor it.
50 isGivenFor it.

english * isTaughtIn X.

science * isTaughtIn X.
unitTest * isTakenFor it.
25 isGivenFor it.

Note: In the above statements, 'it' refers to the subject of the prior statement. And statements such as 'maths * isTaughtIn IX' are equivalent to '* isA maths' and '* isTaughtIn IX' where * is an un-named instance of maths. Received on Wed Dec 25 2002 - 04:30:41 CET

Original text of this message