symbulos partners <[EMAIL PROTECTED]> wrote on 03/21/2005 10:25:27 AM:

> > I don't think so. You already have the country's name in it's own 
language
> > on the countryToLanguage table, don't you? What name in which language 
is
> > the "defaultName" column supposed to represent? If you can define what 
the
> > *contents* of that field is supposed to be, then you should be able to
> > decide on which table it should reside.
> >
> > Normalization has a lot to do about reducing duplication. It appears 
that
> > you have two fields that represent "the name of a country". How many 
names
> > does each country get to have in your database? What is the best way 
of
> > storing "the name(s) of a country" that meets YOUR business needs?
> 
> You pointed our  the problem.
> 
> The country has different names in different languages. One of the names 
is 
> the default name. So you could introduce a flag default yes/no in table 
> countryToLanguage.  Is that normalised? The answer should be yes, 
> but you have 
> to introduce an additional column, which increases the space hold by the 

> table. Then if you normalise, you introduce un useful information (i.e. 
the 
> information that a language is not the default language, which means 
filling 
> the column with 0 when it is not the default).
> 
> What do you think?
> 
> >
> > Answer those questions and you will solve your problem.
> >
> > Shawn Green
> > Database Administrator
> > Unimin Corporation - Spruce Pine
> 
> -- 
> symbulos partners
> -.-
> symbulos - ethical services for your organisation
> http://www.symbulos.com

I think you are on the right track. There can be several languages within 
a country and several countries for each language. That's why you chose 
the table model you have.

For each language-country association, it makes sense to qualify that 
association with additional information. Depending on my business needs I 
would probably go FARTHER than just marking an association as "default" or 
not and adding the native representation of the country's name. Some 
countries have multiple "official" languages (for instance, Canada has 
declared both French and English as their official languages. I think 
Switzerland has 3 or 4 "official" languages but I am not completely sure). 
In other countries the "Official" language may not be the one used most 
commonly (I think that Spanish is the "Official" language of the 
Philippines but Tagalog is a very common (if not the most common) dialect. 
The "official" Cantonese of China may not be the most commonly used 
language within that country). I guess how detailed you get with the data 
depends on how detailed the international information needs to be.

I would ask the people who are going to use this database what they need 
it for and how much detail your data needs to support. That way you get a 
sense of the granularity you need to provide.  This is one of those cases 
where relational databases are flexible enough to provide far more 
information than a situation may require.

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine
 


Reply via email to