[mso] Database Normalization

  • From: Nikunj Shah <catchnikunj@xxxxxxxxx>
  • To: mso@xxxxxxxxxxxxx
  • Date: Tue, 10 Sep 2002 09:53:31 -0700 (PDT)

I have read a few pages on Database normalization, and
understand that the same data should not be entered in
a database in more than one table, and that each table
should hold only related fields.

Now consider this problem

I have created a database to store quotes by great
authors. I want each quote to be assigned a particular
topic. However the problem is that, a particular quote
may be such that it can be assigned two topics or may
be even more. Consider for example the quote ?It is
the surmounting of difficulties that make heroes? by
Louis Cossuth. This quote may be assigned topics like
?Hero?, ?Difficult? and ?Challenge?. 
After entering a quote, my main utility is to be able
to search for Quotes, Topic wise.

Keeping this fact in mind my current database has the
following Structure

Table QuoteList
Fields:
QuoteId
QuoteText
Topic1 (Lookup To TopicName in TopicMaster Table)
Topic2 (Lookup To TopicName in TopicMaster Table)
Topic3 (Lookup To TopicName in TopicMaster Table)
Topic4 (Lookup To TopicName in TopicMaster Table)
AuthorName (Lookup to AuthorName in AuthorMaster
Table)


Table TopicMaster
Fields:
TopicID
TopicName

Table AuthorMaster
Fields:
AuthorID
AuthorName

I currently search for quotes on particular topic by
using ?Or? in the querry.

Further a quote may be such that it can be assigned
only one topic. Thus it happens that since some quotes
can be assigned only one topic, other topic Fields viz
Topic2, Topic3, Topic4 remain blank.

In such design, I face all drawbacks of using a
non-normalized database. Like for eg, if I misspell a
topic once in TopicName field of TopicMaster Table,
the incorrect spelling is entered in Quote Table since
all topic fields in Quote table have a lookup in the
TopicMaster table. Further when I correct the spelling
in TopicMaster table I have to manually search all
fields in Quote table where the incorrect spelling of
the topic is entered and correct the same.

I am sure that my Database is not normalized. It can
be better designed such that redundancy can be
avoided, as well as data assess and search
capabilities are improved.

Any Suggestions from Access Gurus for normalizing the
database??

Thank you so much for help

Regards,

Nikunj
Mumbai
India.



 


__________________________________________________
Yahoo! - We Remember
9-11: A tribute to the more than 3,000 lives lost
http://dir.remember.yahoo.com/tribute
*************************************************************
You are receiving this mail because you subscribed to mso@xxxxxxxxxxxxx or 
MicrosoftOffice@xxxxxxxxxxxxxxxx

To send mail to the group, simply address it to mso@xxxxxxxxxxxxx

To Unsubscribe from this group, send an email to 
mso-request@xxxxxxxxxxxxx?Subject=unsubscribe

Or, visit the group's homepage and use the dropdown menu.  This will also allow 
you to change your email settings to digest or vacation (no mail).
//www.freelists.org/webpage/mso

To be able to use the files section for sharing files with the group, send a 
request to mso-moderators@xxxxxxxxxxxxx and you will be sent an invitation with 
instructions.  Once you are a member of the files group, you can go here to 
upload/download files:
http://www.smartgroups.com/vault/msofiles
*************************************************************

Other related posts: