![]() |
|
|
Published: Saturday, September 25, 1999
Relational databases, while easy to create, can sometimes be hard to query, especially when
you have related tables. Imagine that in your database you had two tables:
Note the
While this relational design allows for scalability, it makes it a bit difficult to obtain information from both of these tables. Assume that we wanted to list all of the professors, and what classes they taught. We would have to use a
We'd then step through our recordset displaying the professor's name and classes taught. Using some sample data, stepping through this recordset yielded: 1 Dr. Smith Analysis of Algorithms 1 Dr. Smith Artificial Intelligence 2 Dr. Johnson Distributed Systems 3 Dr. Mitchell Formal Languages & Automata Theory 3 Dr. Mitchell Study of Film 3 Dr. Mitchell Software Engineering(Yes, I entered Dr. as the FirstName for all of the professors!) You can see from the sample data that we have three professors, Dr. Smith, Dr. Johnson, and Dr. Mitchell. Dr. Smith teaches two classes, Dr. Johnson one, and Dr. Mitchell three.
Now, assume that we wanted to list all of the classes, and what professor taught it (as opposed to listing the professors, and what classes they taught). We'd just need to modify our SQL statement, but again, we're stuck with a nasty
We'd then step through our recordset displaying the class's name and the professor that taught the class. Using our sample data, stepping through this recordset yielded: 1 Analysis of Algorithms Dr. Smith 2 Artificial Intelligence Dr. Smith 3 Distributed Systems Dr. Johnson 4 Formal Languages & Automata Theory Dr. Mitchell 5 Study of Film Dr. Mitchell 6 Software Engineering Dr. MitchellWhile using JOINs is an acceptable method of grabbing the related data, we can use what is called Data Shaping to make our lives much easier! Part 2 describes what data shaping is and how we can use it to retrieve related data!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||