Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!mit-eddie!uw-beaver!milton!sumax!polari!6sceng!6sigma!zuker From: zuker@6sigma.UUCP (Hunter Zuker) Newsgroups: comp.databases Subject: Re: Entity Models and BCNF Message-ID: <363@6sigma.UUCP> Date: 19 Dec 90 23:53:05 GMT References: <9129@cognos.UUCP> Organization: Six Sigma CASE, Inc. Lines: 46 In article <9129@cognos.UUCP> nigelc@cognos.UUCP (Nigel Campbell) writes: >Using Normalization to check your ERM is of course redundant, >but only if your ERM is perfect! Agreed. >You can then produce a first cut Relation for each Entity and start checking >it's Normalization. Personally I've never seen the usefulness in using >an automated package at this point. Identifying the Dependencies is the >real Analysis step, checking whether the Relation is now in 3NF, and fixing it >is a trivial exercise. Well I agree that identifying the dependencies is where the real work is done. Normalization is just drudge work, like long division. Sure I can do it my head, but why bother when I have a tool that does much quicker. For some people I guess normalization is trivial and others it's not. It also depends on how large and how complex the database is. A lot of designers model and normalize at the same time. (That's one of the reasons that we see confusion about what is normalization here on the net and throughout the industry.) I find this slows down the modeling process. >As a side issue ERM's allow 1 to 1 relationships between things >which are seperate logical business entities, but have the same unique >identifier (could be Employees & Phones in the current phone system), >Normalization would put these in the same relation. I would advocate keeping them >apart at the Logical level to keep your options open, and consider whether to >collapse them into one Relation at the Physical Level. Hmmm. If I understand this correctly it seems to me that the best place to keep your options open is by specifying this option at the modeling level. Using a one to many relationship which will keep the entities in separate tables. (This also documents this option so that the next person that comes around doesn't just plop them together.) I tend to model, then normalize, model, normalize, etc. This is done until all those involved are happy with and understand the final design. With a modeling tool and automated normalization I can do this pretty fast. Hunter -- Hunter Zuker Six Sigma CASE, Inc. 13456 SE 27, Suite 210 zuker@6sigma.UUCP (206) 643-6911 Bellevue, WA 98005-4211