Welcome to dbFreaks.com!
FAQFAQ    SearchSearch      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

Automatic Normalisation

 
   Database Help (Home) -> Technology and Theory RSS
Next:  Never Envisgaged this Problem!  
Author Message
xyzzy

External


Since: Oct 02, 2008
Posts: 5



(Msg. 1) Posted: Wed Oct 22, 2008 5:07 pm
Post subject: Automatic Normalisation
Archived from groups: comp>databases>theory (more info?)

The rules governing whether a given relvar coupled with dependency
rules are in a normal form are well defined.

Unfortunately, many of the FDs are actually business rules in the
designer's head, not easily expressed in the form FD A -> B etc. The
easiest way to normalise data is (still) using pen and paper AFAIK!
Possibly sketching an ERD or something.

If you can list the attributes you need to track, and if you can
identify the attributes' inter-dependencies, it should be possible to
deduce any desired NF mechanically from the rules.

I have searched the forum (and the FAQ, which appears to have been a
non-starter) without success. I Googled 'automatic normalisation' and
it looks like some people (mainly academics) have had a go at this.
My question is, does anybody in this forum know of, of have any
experience with software that guides the designer to the correct
solution. Are any of them worth trying out?

Alternatively, if there isn't anything, why can't it be done?

Thanks

 >> Stay informed about: Automatic Normalisation 
Back to top
Login to vote
Bob Badour

External


Since: Jan 15, 2008
Posts: 1017



(Msg. 2) Posted: Wed Oct 22, 2008 9:25 pm
Post subject: Re: Automatic Normalisation [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

xyzzy wrote:

> The rules governing whether a given relvar coupled with dependency
> rules are in a normal form are well defined.
>
> Unfortunately, many of the FDs are actually business rules in the
> designer's head, not easily expressed in the form FD A -> B etc. The
> easiest way to normalise data is (still) using pen and paper AFAIK!
> Possibly sketching an ERD or something.
>
> If you can list the attributes you need to track, and if you can
> identify the attributes' inter-dependencies, it should be possible to
> deduce any desired NF mechanically from the rules.
>
> I have searched the forum (and the FAQ, which appears to have been a
> non-starter) without success. I Googled 'automatic normalisation' and
> it looks like some people (mainly academics) have had a go at this.
> My question is, does anybody in this forum know of, of have any
> experience with software that guides the designer to the correct
> solution. Are any of them worth trying out?
>
> Alternatively, if there isn't anything, why can't it be done?
>
> Thanks

For the higher normal forms, more than one design will achieve the
normal form with exactly the same information. Thus, normalization is
not entirely deterministic.

Choice of candidate keys is a tradeoff among simplicity, stability,
irreducibility, uniqueness and familiarity. How would one go about
automating the value judgement involved in the tradeoff?

Different methodologies exist for identifying the information needing
management and the functional dependencies among data. ORM springs to
mind as a graphical variant. Once these are described, tools exist that
will do the mechanical parts of spitting out a normalized design. At one
time, the version of Visio that came with the Enterprise Architect
version of Visual Studio would do that sort of thing. Perhaps it still does.

Because normalization is so mechanical and so well-understood, it is
seldom what makes a difference between a good design and a poor design
in any case; although, it often shows the difference between a competent
designer and an incompetent one.

 >> Stay informed about: Automatic Normalisation 
Back to top
Login to vote
Walter Mitty

External


Since: Aug 01, 2008
Posts: 42



(Msg. 3) Posted: Thu Oct 23, 2008 10:25 am
Post subject: Re: Automatic Normalisation [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

"xyzzy" wrote in message

> The rules governing whether a given relvar coupled with dependency
> rules are in a normal form are well defined.
>
> Unfortunately, many of the FDs are actually business rules in the
> designer's head, not easily expressed in the form FD A -> B etc. The
> easiest way to normalise data is (still) using pen and paper AFAIK!
> Possibly sketching an ERD or something.
>
> If you can list the attributes you need to track, and if you can
> identify the attributes' inter-dependencies, it should be possible to
> deduce any desired NF mechanically from the rules.
>
> I have searched the forum (and the FAQ, which appears to have been a
> non-starter) without success. I Googled 'automatic normalisation' and
> it looks like some people (mainly academics) have had a go at this.
> My question is, does anybody in this forum know of, of have any
> experience with software that guides the designer to the correct
> solution. Are any of them worth trying out?
>
> Alternatively, if there isn't anything, why can't it be done?
>
> Thanks

What Bob said. In addition...

The term "normalization" is itself a loaded term, although it doesn't seem
that way to most people who use it.

"Normalization" really refers to taking data that is not fully normalized,
and transforming the schema so that it conforms to a higher normal form,
while at the same time retaining the same information that the orginal
schema retained. But the question ought to arise: why did you start with a
schema that was less than fully normalized in the first place? The answers
to this question are varied and complex.

In the 1980s, there were a lot of databases that were designed to replace
file and record processing or even manual processing and data storage. In
those cases, the schema might have come out of an attempt to imitate the
existing solution, instead of a process of analysis and design from scratch.
Manual systems and file and record systems are notoriously lacking in
normalization. Either the designers were oblivious to normalization rules,
or the benefits of adhering to them might have been seen as not worth the
effort.

In the 1990s, there were a lot of databases designed to replace badly
designed databases. Some of those badly designed databases suffered because
of deviations from some normal forms. Normalizing the database schema made
perfect sense in those cases.

You mentioned ER diagrams. Strictly speaking, normalization is irrelevant
to an ER model. Relationships are identified, but not implemented, in ER
modeling. For example, you can have a many-to-many relationship between
students and courses by just indicating a single line between the "students"
entity and the "courses" entity, and indicating that there can be many
intatnces in both ends. It isn't until you convert to relations, or
relational tables with foreign keys, that the design can be compared
strictly to the normal forms. Some people include junction tables and
foreign keys in their ER diagrams, but that is really relational modeling
disguised in ER diagram conventions.

There are automatic techniques that will transform a "well formed" ER model
into a relational model that is at least in 3NF. Several of the tools that
allow managing ER models and "physical models" can carry out this
tranformation automatically. By "well formed", I mean that each attribute
has been connected to the correct entity or relationship. Determining
correctness in this context involves looking at FDs in much the same way
that a normalizer does, so some of the automation I'm talking about is more
illusion than reality.

Finally, there are reasons why some designers depart from full
normalization, while at the same time producing an acceptable, disciplined
design. That's another topic.
 >> Stay informed about: Automatic Normalisation 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
Problem with Nested Sets - Hello, I have a table which represents a tree of forums using nested sets. Here are the fields: id, root_id, left, right, level, label. I have a string which is like a path. For example, Forum/Sub-forum/Sub-sub-forum I want to get the id of the forum..

space filling curves - I recently started reading about various ways of making various functions of a DB faster...and I keep running into space filling curves. Unfortunately, I just can't grasp the concept. Following is what I understand so far, I'll appreciate it if someone...

can two stored procedures in same transaction cause deadlock - Hi, We are experiencing a deadlock issue using MS SQL 2000 that's generating some debate in our office. We have two stored procedures SP1 and SP2 running in the same transaction along with couple other stored procedures, SP1 does a deletion on one..

Relation Definition - I'll try this another way (persistence is my middle name?). I use a precise definition of "relation" from mathematics. It is in the glossary mAsterdam collected that I sent out a few days ago. However, it seems that most folks here use so...

grouping in tuple relational calculus - Does anybody know how to represent grouping queries in tuple relational calculus? either that or an extension that allows such operations ? (avg, sum, etc) any pointers will be very wellcome! Thanks in advance! antonio
   Database Help (Home) -> Technology and Theory All times are: Pacific Time (US & Canada)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum



[ Contact us | Terms of Service/Privacy Policy ]