piano piano sto realizzando un sito web AMATORIALE di genealogia.
Il mio si differenzia dai tanti presenti in rete perchè mette in relazione gli alberi genealogici ai fatti storici delle varie epoche. Non è questo però l'argomento della mia domanda...
Le pagine sono scritte in asp.net e "pescano" i dati da un database Access.
Dopo innumerevoli tentativi sono quasi riuscito, selezionando un personaggio, a visualizzare le tavole genealogiche degli antenati e dei discendenti.
Quello che non riesco a fare è, selezionando due personaggi, calcolare il grado di parentela tra loro.
Molti programmi di genealogia in commercio sono in grado di fare questo calcolo ed io mi sto chiedendo quale sia il loro codice. Mi date alcuni consigli su come fare?
Aggiungo ulteriori dettagli sul mio database:
il database contiene tutti i campi proposti dal GEDCOM (Genealogical Data Communication).
Questi sono stati da me suddivisi in 4 tabelle distinte.
la prima tabella contiene il codice del personaggio e tutte le informazioni relative allo stesso (nome, cognome, data di nascita, morte ecc.)
la seconda tabella mette in relazione il codice del personaggio con il codice delle famiglie che lui può formare con le varie mogli.
la terza mette in relazione ogni personaggio con il codice della famiglia dei genitori specificando la relazione con la madre e con il padre (naturale, illegittimo, ecc)
la quarta mette in relazione il codice della famiglia con il codice del marito, della moglie e dei figli. inoltre qui ci sono i campi per le informazioni sul matrimonio (date luoghi divorzio ecc)
Questa divisione in 4 tabelle mi consente di non porre limiti al numero di figli per famiglia o al numero dei matrimoni. Molti programmi in commercio invece "nascono" già con dei limiti.
La mia ignoranza in campo informatico, non mi permette di esportare i dati del mio database in formato Gedcom, nonostante siano presenti tutti i campi richiesti.
La cosa però che vorrei sapere è se i dati organizzati in questo modo permettono di calcolare il grado di parentele tra due personaggi e in quale modo procedere.
Io preferirei un codice in visual basic per non dover studiare un nuovo manuale.
Ovviamente se giudicate errata la gestione di questi dati vi prego di fare le vostre critiche.
grazie