well... when I do db design, I tend to start with the objects of my system.  The one 
that comes to mind in your case is people.  

so you'll need a people table.

well what are the details of a person?
first_name
Last_name
Middle_name1
Middle_name2
Maiden_name
[any other basic bio data]


so you'll need those columns....

Well to keep track of each person, each one will need an ID... id's are usually 
numbers, so now you add a:
person_id 
field.  This field would likely have an auto_increment attribute to help number them 
for you....

ok... now that we have people, what else do we need?  relationships between them.... 
well... in terms of human beings, everyone has one biological mother and one 
biological father, so we add in

mother_id
father_id

leaving the values of these as null would be equivalent of being 'unknown'

and we now have, data-wise, a system that can trace biological heritage, can handle 
siblings and half-siblings.

Other ideas for objects:

Marrages 
- this one would be tricky/interesting, as marrages can change over time, and people 
can have multiple marrages (although usually not two at a time, unless bigamy is 
allowed in your user's state/country).  Strictly speaking, marrages are not necessary 
to trace heritage, but are good info...  




> -->From: Nitin [mailto:[EMAIL PROTECTED]
> -->Sent: Monday, October 27, 2003 10:46 PM
> -->To: [EMAIL PROTECTED]
> -->Subject: Ancestry program
> -->
> -->Hi all,
> -->
> -->I'm developing a web based ancestry program. The user 
> wants it to be
> -->static, that means, it isn't for all to use, but his family. Better
> to
> -->say, it'll contain only his family tree.
> -->
> -->Now, I cant think of the proper db design, which will help any user
> to
> -->find his or her relationship with any other person in the tree.
> Though, I
> -->can design a simple database, where everything will have to be done
> -->through queries and scripts, but I want those queries to keep as
> simple
> -->as possible.
> -->
> -->Any help will be appreciated, as I'm new to such a problem.
> -->
> -->Thanx in advance
> -->Nitin
> 
> 
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 
> 

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

Reply via email to