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