This sounds like a good candidate for the two-table model:

Table 1 contains an ID and the basic names.

Table 2 contains the 1-many relationship of basic name entry mapped to
all the variants - one record per variant.

So you might have Table 1 containing 
ID, Prefix, GivenNames, Surname, Suffix

and Table 2 containing

ID, Type, AlternateName

where Type is one of Prefix, GivenNames, Surname, Suffix.

example:

Table 1:

ID  Prefix  GivenNames       Surname   Suffix

123  Miss   Mary Elizabeth   Stotts    III

Table 2:

ID   Type     AlternateName

123  Prefix      Miss
123  Prefix      Ms.
123  GivenNames  Mary Elizabeth
123  GivenNames  Marg Elizabeth
123  GivenNames  Mary Ellen
123  GivenNames  Marg Ellen
123  Surname     Stotts
123  Surname     Stitts
123  Surname     Stutts

Note that you include all alternatives, including the "default" ones,
for ease of constructing queries.  Queries would be constructed in terms of
a join based on ID:

select Table2.AlternateName from Table1,Table2 where Table1.ID = Table2.ID and
Table2.Type = "GivenNames" and Table1.ID = '123'

Hope this helps.

 - seb





-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to