Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura bazy drzewa genealogicznego
Odin
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.09.2012

Ostrzeżenie: (0%)
-----


Witam,
Nie wiem czy to odpowiedni dział ale zastanawiam się nad stworzeniem skryptu drzewa genealogicznego. Prezentacja będzie oparta na jquery, itd. jakieś fajne efekty przesuwania od jednego członka rodziny do drugiego, itd. ale mniejsza o to.

Zastanawiam się jak powinna wyglądać struktura bazy:

1 tabela to członkowie rodziny: id, imię, nazwisko, data urodz., data śmierci, płeć, zdjęcie itd.

No właśnie i co dalej?

2 tabela to pokrewieństwo: id, id_1, id_2, pokrewieństwo (1 - rodzic, 2 - rodzenstwo, 3 - dziadek/babcia, 4 - wujek/ciocia, itd.)

W zwykłym drzewie raczej wystarczyłoby określenie rodzica ale ja chciałbym też pokazać pokrewieństwa, przynajmniej te najbliższe. Czy moje podejście jest dobre?

Wtedy załóżmy, że członek rodziny

7 | Jan | Kowalski | 22.12.1967 | NULL | M | jan_kowalski.jpg

i

14 | Irena | Nowak | 12.09.1989 | NULL | K | irena_nowak.jpg


Pokrewienstwo:

1 | 7 | 14 | 4

Czyli Jan Kowalski jest dla Ireny Nowak wujkiem (ponieważ on jest M).

Nie wiem czy to nie będzie zbyt skomplikowane, co myślicie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


A nie wystarczy tak:

tbl_osoba
- id
- mama_id
- tata_id
?

Każda osoba posiada tylko 1 matkę i 1 ojca - żadne dodatkowe tabele nie są potrzebne.
Z tego już możesz wywnioskować czy ktoś jest rodzeństwem, wujkiem, babcią, dziadkiem itd.

Np. rodzeństwo to : SELECT * FROM tbl_osoba WHERE mama_id = $moja_mama_id AND tata_id = $moj_tata_id
Wujkowie, Dziadkowie itp. to kwestia odpowiednich zapytań.

Ten post edytował markuz 12.02.2015, 21:48:48


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


nested set twoim wybawcą.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 19:04