Database Design Theory?

Tyler Strickland tyler at
Tue Nov 8 22:44:14 MST 2005

On 11/08/2005 06:25 PM, Ross Werner wrote:
> On Tue, 8 Nov 2005, Levi Pearson wrote:
>> I'd say the general technique to follow is thus:
>> Exhaustively catalog the entities that you wish to model and their 
>> relationships to one another
>> Draw up an ER or UML diagram of the entities and relationships
>> Convert the diagram to a database schema
>> Normalize the schema
>> Convert schema and constraints to SQL
> I think that's very excellent advice, but this sort of information (with 
> each step made explicit with lots of examples, especially of common 
> pitfalls and difficulties) isn't really what I saw in the database class 
> at BYU. Now I didn't actually take the class, so I probably have no room
> to talk, but I've spoken with several people who *have* taken the class 
> and this sort of stuff, to the best of my knowledge, wasn't covered in 
> much more depth than what you've listed here. Would anyone who has 
> actually taken the class care to chime in and relieve me of my ignorance?

In 2002, I took ISYS 402, the BYU business department's database class 
for the ISYS majors.  I wasn't one of them, but the class was a 
requirement for my statistics degree.

The class was based on "Database Management and Design"(1) by Hansen and 
Hansen, one of them being the professor.  The book (and the class) 
covered the following:

1.  The history of databases
2.  Database concepts, such as cardinality, attributes, etc. and how to 
model them visually (UML)
3.  The relational data model and normalization
4.  Relational algebra
5.  Basic SQL - nothing fancy, though we did do some fairly deep 
subqueries.  No mention of concepts more advanced than subqueries, 
built-in functions, and GROUP BY/HAVING.
6.  Basic concepts of client-server database systems
7.  Physical database factors - HD access time, B+ trees, etc
8.  Basics of distributed databases

At no time was a specific database mentioned or a query actually 
performed.  All was theory.  It was good theory, but when I actually 
wanted to start working with databases I found I didn't know much at 
all.  I could design a solid fourth-normal-form database, but beyond 
that I was pretty lost.



More information about the PLUG mailing list