After 10+ years of teaching databases at the graduate, undergraduate, and professional level, I am contemplating the idea of writing my own textbook.
I am quite disappointed by the existing textbooks: they are massive, sprawling, and go beyond their topic. I am interested in producing a 180-220 pages textbook that will focus on the essential aspects of database design and deployment.
I am a strong supporter of conceptual design. I believe that a good ERD is the best foundation for any database application and I want to start from there.
I would be interested in and grateful for receiving suggestions as to what you would like to see in a decent textbook for databases. What are the important things that college students should learn about?
For example, many textbooks talk about multi-valued dependencies (MVDs) and how to correct them. But they do not discuss their evolutionary context, i.e., how does a schema develop MVDs in the first place! Can an ERD-generated schema exhibit MVDs? (I say, no). Thus in order to avoid MVDs in the first place, it's important to learn how to conceptually design a database.
I would like to keep the textbook vendor-agnostic. I am not planning on discussing any particular implementation of SQL -- product manuals do a far better job at that anyway. The principles, however remain the same, and that's what I want to focus on.
Therefore I am contemplating a book that will balance between design and deployment principles, but with a pragmatic approach: e.g., when it comes to query optimization, how much trust to put in an SQL engine's built-in optimizer and how much legwork you need to do? Should we bother talking about 1NF, 2NF, 3NF, even BCNF if a database is robustly normalized at the ERD level? Or, in other words, how does normalization reflect on conceptual modeling?
I will welcome any suggestions, criticism, pointers to decent material, and anecdotal evidence and stories that you may wish to share. Anything that I decide to use in any published textbook will be acknowledged properly.
For example, many textbooks talk about multi-valued dependencies (MVDs) and how to correct them. But they do not discuss their evolutionary context, i.e., how does a schema develop MVDs in the first place!
i've love to see an explanation of MVDs in english, not professor-speak
Originally Posted by lgreco
Should we bother talking about 1NF, 2NF, 3NF, even BCNF if a database is robustly normalized at the ERD level? Or, in other words, how does normalization reflect on conceptual modeling?
do this one in english too please
i do realize the above requests sound almost as silly as blindman's (you need to have seen the recent spate of student postings here in order to appreciate his post)
but i am sincere -- i can show you a dozen examples of sites on the web which purport to explain normalization but fail to warn you that you need to know the secret language first