Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!pt.cs.cmu.edu!sei!dmc From: dmc@sei.cmu.edu (Dawn Cappelli) Newsgroups: comp.databases Subject: Re: Do you normalize? Keywords: normalization Message-ID: <3665@fp.sei.cmu.edu> Date: 19 Jul 89 20:44:32 GMT References: <242@6sigma.UUCP> Reply-To: dmc@sei.cmu.edu (Dawn Cappelli) Organization: Software Eng. Inst.;Carnegie-Mellon U.; Pittsburgh, PA 15213 _USA_ Lines: 29 When I first learned to design a relational database (6 years ago) I was taught to create an entity-relationship diagram, then create the tables from the final diagram, then normalize those tables. I've found that to be an effective method, although as I became more experienced a lot of the stringent steps became second nature and intuitively obvious. At this point I still use entity-relationship diagrams. I find they are quite valuable as a communication tool between the database developers and the end-users of the database. An e-r diagram provides a roadmap of the database. As they say, a picture is worth a thousand words! I have used them to design a database for end-users who have absolutely no concept of what a database is, yet they understood the e-r diagram quite easily. After the e-r diagram is completed, I then design the tables. As I design the tables, I no longer consciously normalize the data, however, normalization is an intuitive process at this point for me. In addition, I sometimes make a conscious decision to denormalize tables in order to enhance performance. So, in summary, I think anyone learning to design a database should use normalization, although it becomes more intuitive and less disciplined as experience develops. -- Dawn Cappelli dmc@sei.cmu.edu sei!dmc (412) 268-6170 This is only my opinion, and doesn't necessarily reflect the opinion of the SEI.