#1
  1. No Profile Picture
    Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2001
    Location
    Yogyakarta, Indonesia
    Posts
    22
    Rep Power
    0

    Normalization for Dictionary


    I want to know how can I do normalization on a dictionary. What I mean with dictionary here is bilingual dictionary, such as English-French or English-Indonesian dictionary.

    I have tried before, but I have difficulties because each word has possibilities to have more than one word type/categories (noun/verb/adjective/etc) and each word has possibilities to have more than one meaning too.

    Thanks
  2. #2
  3. No Profile Picture
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2002
    Posts
    31
    Rep Power
    13
    just have more than 2 columns. Have-> english word, french word 1, french word 2, french word 3 etc....
  4. #3
  5. No Profile Picture
    Gödelian monster
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 1999
    Location
    Central Florida, USA
    Posts
    2,307
    Rep Power
    61
    This is an example of an application that needs to move to 4th Normal Form (4NF), or Boyce-Codd Normal form (info).

    Among other things, this lets you take advantage of the "many-to-many" relationship. For example, if you have two separate tables, and you want to relate them, you create a third table that simply matches primary keys from each table, in many rows. This allows for any combination of keys from one table relating to more than one key from the other table, and vice-versa.

    Here is a simple tutorial to explain these concepts a little further: http://phpbuilder.com/columns/barry20000731.php3
    The real n-tier system:

    FreeBSD -> PostgreSQL -> [any_language] -> Apache -> Mozilla/XUL

    Amazon wishlist -- rycamor (at) gmail.com
  6. #4
  7. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2002
    Posts
    5
    Rep Power
    0
    You want to have one table for each language, and a third table that describes how they relate to each other.

    English_Def:
    eng_ID
    word
    type
    definition

    French_Def:
    fren_ID
    word
    type
    definition

    Translate:
    eng_ID
    fren_ID


    Each row in the language tables would be unique and could stand alone if we removed the IDs. But using an independant key column is what makes joins possible.

    If you wanted to include alternate spellings or multiple pronunciations you would remove the word column from the language tables and do:

    English_Supp:
    eng_ID
    spelling
    pronounciation

    etc.

    If you were concerned about accuracy, you could add an ID to the definition tables and/or the tranlation table and create table(s) with the sources.
  8. #5
  9. No Profile Picture
    Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2001
    Location
    Yogyakarta, Indonesia
    Posts
    22
    Rep Power
    0
    Hi JLavoie!
    Thanks for your attention. I want to ask, with your table structure, how can you manage words with more than one type, such as 'fly'. 'fly' can be noun and verb. I don't talk about words with more than one meaning. I assume that each word has only one meaning.

IMN logo majestic logo threadwatch logo seochat tools logo