I think you'll find that 90 tables is way off beam.
If subjects take tests, & tests have results, & there are different result
types (eg. numeric, text, whatever) for various tests, this is what you
would normally have.
A table for subject information:
tblSubject
SubjectID (PK)
name, date of birth etc.
Two tables to define what tests are available, and what are the expected
result type(s) for each test:
tblTest
TestID (PK)
test description
tblTestResult
TestID ( composite )
ResultNo ( primary key )
ResultType (N=number, T=text, whatever)
Two more tables to hold the >actual< tests & results for each subject:
tblActualTest
SubjectID ( composite )
TestID ( primary key)
test date, technician code, etc.
tblActualResult
SubjectID ( composite )
TestID ( primary )
ResultNo ( key )
ResultValue
That structure - using just 5 tables - will let any number of subjects take
any number of tests, each test having any number of results.
I suggest you read this article:
http://support.microsoft.com/support/kb/articles/Q100139.ASP
HTH,
TC