![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
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 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
nested set twoim wybawcą.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 19:04 |