Linuchs: mySQL: Unbestimmte Anzahl von Vorfahren lesen

Moin,

ich komme nicht auf den Fachbegriff, wenn ein Unterprogramm sich selbst aufruft. So kann man Dateinamen lesen und die Dateien in Unterordnern.

Ich suche so ein Konzept für Genealogie. Jede Person hat eine mutter_id und eine vater_id. Könnte ich mit einem einzigen SQL-Kommando alle Eltern, Großeltern usw. abfragen?

Dasselbe - aber vermutlich in einem zweiten Kommando - für die Nachfahren? Da ich drei Kinder habe, kommt meine id bei denen dreimal als vater_id vor.

Gruß, Linuchs

  1. Hi,

    ich komme nicht auf den Fachbegriff, wenn ein Unterprogramm sich selbst aufruft. So kann man Dateinamen lesen und die Dateien in Unterordnern.

    Um Rekursion zu verstehen, muß man erst Rekursion verstehen ...

    Ich suche so ein Konzept für Genealogie. Jede Person hat eine mutter_id und eine vater_id. Könnte ich mit einem einzigen SQL-Kommando alle Eltern, Großeltern usw. abfragen?

    mit diversen selfjoins. Das wird aber schnell unübersichtlich.

    Sinnvoller ist es vermutlich, jeweils B-Bäume für die Vorfahren und für die Nachfahren aufzuziehen (das braucht Zusatzspalten in der DB …)

    cu,
    Andreas a/k/a MudGuard

    1. Hallo MudGuard,

      mit diversen selfjoins.

      Nö. Mit Common Table Expressions und einem rekursiven Union.

      Wenn man eine moderne Datenbank verwendet, z.B. Oracle, einen neueren MS SQL Server, MYSQL 8 oder ein neueres Mariechen.

      Das MySQL von Linuchs dagegen dürfte noch die Signatur v. Bechtolsheim tragen...

      Rolf

      --
      sumpsi - posui - obstruxi
      1. Hi,

        Nö. Mit Common Table Expressions und einem rekursiven Union.

        ok. Kenne ich beides bisher nicht.

        Muß ich mich mal informieren.

        cu,
        Andreas a/k/a MudGuard

        1. Hi,

          Nö. Mit Common Table Expressions und einem rekursiven Union.

          ok. Kenne ich beides bisher nicht.

          Muß ich mich mal informieren.

          ich ziehe die Hälfte zurück. Die Common Table Expressions kenne ich, aber unter anderem "Namen", nämlich als "die WITH-Dinger"

          cu,
          Andreas a/k/a MudGuard

  2. Hallo Linuchs,

    Könnte ich mit einem einzigen SQL-Kommando alle Eltern, Großeltern usw. abfragen?

    Sofern Du auf eine moderne DB-Engine umsteigst, die rekursive Common Table Expressions beherrscht, ja.

    Andernfalls: Mach's manuell aus PHP heraus. Mit etwas Programmieren brauchst Du eine Query pro Generation, indem Du alle Personen-IDs der Generation in einer IN Klausel zusammenfasst. Du solltest dann allerdings aufpassen, keine doppelten Ergebnisse zu bekommen (→ Ahnenschwund, und es kann auch Ehen über Generationen hinweg geben).

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      es kann auch Ehen über Generationen hinweg geben

      Ehen interessieren mich nicht. Dann müsste ich mich ja auch mit (wechselnden) Partnerschaften, Scheidungen, neuen Namen pro Person beschäftigen.

      Für eine Person steht bei der Geburt (bzw. Taufe) Vor- und Familienname fest sowie Mutter und Vater mit deren Geburtsnamen.

      Sonst blickt man ja gar nicht mehr durch und kommt mit Änderungen kaum nach. Ein Kind hatte durch zweimalige Heirat der Mutter zweimal den Nachnamen gewechselt. Die Mutter natürlich auch.

      Vater hat ein Kind mitgebracht und dann haben sie noch ein gemeinsames. Das Vaterkind ist mit der Mutter nicht (bluts)verwamdt und das Mutterkind nicht mit dem Vater.

      Wie wird das in der Standard-Genealogy behandelt? In den Ahnentafeln habe ich bisher nichts von Scheidungen gelesen und Namensänderung der Frau nur einmal bei Heirat.

      Gruß. Linuchs

      1. Hi,

        Wie wird das in der Standard-Genealogy behandelt? In den Ahnentafeln habe ich bisher nichts von Scheidungen gelesen und Namensänderung der Frau nur einmal bei Heirat.

        das ist aber veraltet - seit vielen Jahren kann auch der Mann bei der Heirat den Nachnamen der Frau annehmen …

        Namensänderungen können sich außerdem auch durch Adoption ergeben …

        cu,
        Andreas a/k/a MudGuard

      2. Hallo Linuchs,

        natürlich interessieren Dich Ehen. Die Eltern einer Person im Stammbaum sind - möglicherweise - verheiratet. Sie könnten auch einfach Lebensabschnittsgefährten sein. Oder es war ein Einmalkontakt (One-Nicht-Stand, Vergewaltigung, nicht anonyme Keimzellenspende, werweißwassonst)

        Der Name „Stammbaum“ ist leider irreführend. Die Darstellung als Baum kann selbst in Fällen einwandfreier Moral scheitern.

        Die Eltern einer Person können Cousins sein. Das ist zulässig, und dann hast Du in der Großelterngeneration Geschwister und ein gemeinsames Elternpaar. Das wäre die einfachste Form von Ahnenschwund. Willst Du das Paar und ggf. ihre Vorfahren doppelt im Stammbaum haben?

        Und Dich interessieren auch Kindeszeugungen mit unterschiedlichen Partnern (neu verheiratet, uneheliches Kind, One-Night-Stand, Vergewaltigung, Keimzellenspende, etc etc etc). Damit entsteht komplizierterer Ahnenschwund und Du kannst Personen im Stammbaum haben, die mit unterschiedlichen Partnern Kinder gezeugt haben und deren Nachkommen sich wissentlich oder unwissentlich zwecks erneuter Kindeszeugung zusammengefunden haben und damit als Vorfahren im Stammbaum stehen.

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Hi,

          natürlich interessieren Dich Ehen. Die Eltern einer Person im Stammbaum sind verheiratet.

          nicht immer …

          cu,
          Andreas a/k/a MudGuard

          1. Hi,

            natürlich interessieren Dich Ehen. Die Eltern einer Person im Stammbaum sind verheiratet.

            nicht immer …

            Nachtrag: manchmal sind beide Eltern verheiratet, aber nicht miteinander 😉

            cu,
            Andreas a/k/a MudGuard

            1. Hallo,

              Nachtrag: manchmal sind beide Eltern verheiratet, aber nicht miteinander 😉

              Und manchmal sind die Eltern zwar verheiratet, aber die Kinder sind keine Geschwister…

              Gruß
              Kalk

            2. Hallo,

              Nachtrag: manchmal sind beide Eltern verheiratet, aber nicht miteinander 😉

              AGB im Hotel:

              Wir weisen Sie darauf hin, dass wir Doppelzimmer aus ethischen Gründen nur an Verheiratete vermieten. Bitte versichern Sie sich also, dass Ihre Begleitung ebenfalls verheiratet ist.

              Ich meine, dass wäre so oder so ähnlich von Loriot, bin mir aber nicht sicher.

              Einen schönen Tag noch
               Martin

              --
              "Was sind denn das für Beeren?" - "Das sind Blaubeeren." - "Warum sind sie dann rot?" - "Weil sie noch grün sind."
        2. Hallo Rolf,

          Die Eltern einer Person können Cousins sein. Das ist zulässig, und dann hast Du in der Großelterngeneration Geschwister und ein gemeinsames Elternpaar. Das wäre die einfachste Form von Ahnenschwund. Willst Du das Paar und ggf. ihre Vorfahren doppelt im Stammbaum haben?

          Okay, bisher gehe ich davon aus, dass eine Person zwei Eltern hat. Ich weiß, bei Samenspende, Adoption, Leihmutterschaft, ... können es auch zwei bis drei Mütter sein, aber doch wohl nur kein oder ein Vater. Wie das bei mehreren Müttern aussieht, kläre ich dann, wenn mir der Fall begegnet.

          Da jede Person in der DB eine eigene id, eine mutter_id und eine vater_id ¹) hat, weiß ich nicht, was Ahnenschwund sein soll. Nehmen wir an, jemand schwängert seine Tochter, dann ist er für dieses Kind der leibliche Vater. Er wäre gleichzeitig der Großvater und ist es ja auch zusätzlich, wenn ich über die Tochter zu ihm komme. Von der Logik sehe ich kein Problem, oder?

          Aber da jede Person genau einen Stammsatz hat, geht sie nicht verloren. Wo soll der Schwund sein?

          ¹) okay, die ältesten Personen im Stammbaum haben keine mutter_id, keine vater_id. Bis Adam und Eva komme ich nicht zurück (Noah würde wohl auch reichen).

          Gruß Linuchs

          1. Hallo Linuchs,

            vielleicht reden wir aneinander vorbei.

            Okay, bisher gehe ich davon aus, dass eine Person zwei Eltern hat.

            Biologisch: Ja. Ein Mensch mit Spermien, der Vater, und ein Mensch mit Eizellen, die Mutter. Diese sind zu kombinieren und es entsteht ein neuer Mensch. Ob der Vater als Frau lebt und die Mutter als Mann, oder they nichtbinär sind, ist eine andere Frage und für den Stammbaum irrelevant. Relevant ist dort die biologische Rolle. Das sozial gelebte Geschlecht ist mittlerweile ein veränderliches Attribut des Menschen und wir diskutieren diesen Aspekt besser nicht. Es droht eine off-topic Eskalation.

            Juristisch: Hm. Keine Ahnung wie das gehandhabt wird. Werden bei einem adoptierten Kind die juristischen oder die biologischen Eltern registriert? Welche Sicht soll dein Stammbaum bieten?

            Aber egal - bleiben wir beim trivialen Fall, dass biologische und juristische Eltern identisch sind. Dann hast Du mathematisch 2 Eltern, 4 Großeltern, 8 Urgroßeltern, etc.

            Praktisch können aber von diesen Personen welche identisch sein. Das ist in der DB egal, da hast Du recht. Du musst nur bei der Datenerfassung aufpassen, dass Du bereits existierende Personen als solche erkennst.

            Es ging mir um die Ausgabe des Stammbaums. Entweder hast Du "ist Kind von" Verbindungen, die kreuz und quer gehen, oder Du gibst die doppelt vorkommenden Personen auch doppelt aus. Im letzteren Fall zeigt dein Stammbaum möglicherweise mehr Personenkästen an, als tatsächlich Personen vorhanden sind.

            Wenn noch juristische Eltern hinzukommen, wird die Sache beliebig kompliziert…

            Rolf

            --
            sumpsi - posui - obstruxi
            1. Hallo Rolf,

              Ob der Vater als Frau lebt und die Mutter als Mann, oder ... Es droht eine off-topic Eskalation.

              Nur eine biologische Frage, danach hatte ich vor Jahren recherchiert und keine deutliche Antwort gefunden. Kann ein Mensch Vater und Mutter sein? Etwa nach Geschlechtsumwandlung oder als Zwitter?

              Linuchs

              1. Hallo Linuchs,

                es gibt eine Kurzgeschichte von Robert A. Heinlein: All You Zombies (Entführung in die Zukunft). Da reist jemand fleißig durch die Zeit, wird unterdessen geschlechtsumgewandelt, begegnet seinem umgewandelten Ich und wird so sein eigener Vater und seine eigene Mutter. Nachdem die Schleife geschlossen ist, kann man nicht mehr sagen, wie sie zu Stande kam. 2014 als "Predestination" mit Ethan Hawke verfilmt.

                Im echten Leben hat auch ein "geschlechtsumgewandelter" Mensch biologisch immer noch das Geburtsgeschlecht. Die Operation ist nichts weiter als plastische Chirurgie. Ein gebürtiger Mann hat keine Eierstöcke und eine gebürtige Frau keine Hoden. Höchstens ein Surrogat. Die Umwandlung kann der Psyche de[rs] Betroffenen helfen, Aussehen und Selbstbild übereinander zu bringen. Mehr geht (noch) nicht.

                JURISTISCH kann, soweit ich weiß, ein Mensch Vater werden, sich zur Frau umdeklarieren (und ggf -operieren) lassen und danach als Mutter ein Kind adoptieren.

                Rolf

                --
                sumpsi - posui - obstruxi
                1. Hallo Rolf,

                  es gibt eine Kurzgeschichte von Robert A. Heinlein: All You Zombies (Entführung in die Zukunft).

                  du liebe Güte, mir wird schwindlig! 😱

                  Im echten Leben hat auch ein "geschlechtsumgewandelter" Mensch biologisch immer noch das Geburtsgeschlecht. Die Operation ist nichts weiter als plastische Chirurgie.

                  Ja, und eine Menge Hormonbehandlung, so dass der Organismus sich in gewissem Maß auch umstellt - z.B. Brustwachstum bei einem Mann, der zur Frau werden möchte.

                  Ein gebürtiger Mann hat keine Eierstöcke und eine gebürtige Frau keine Hoden. Höchstens ein Surrogat. Die Umwandlung kann der Psyche de[rs] Betroffenen helfen, Aussehen und Selbstbild übereinander zu bringen. Mehr geht (noch) nicht.

                  Aber Menschen können nach einer Geschlechtsumwandlung unter Umständen sogar in der Rolle des anderen Geschlechts Sex haben und Lust dabei empfinden. Fortpflanzungsfähig sind sie allerdings nicht mehr - weder so noch so.

                  JURISTISCH kann, soweit ich weiß, ein Mensch Vater werden, sich zur Frau umdeklarieren (und ggf -operieren) lassen und danach als Mutter ein Kind adoptieren.

                  Das deckt sich mit meinem Halbwissen.

                  Einen schönen Tag noch
                   Martin

                  --
                  "Was sind denn das für Beeren?" - "Das sind Blaubeeren." - "Warum sind sie dann rot?" - "Weil sie noch grün sind."
          2. Hallo,

            Wo soll der Schwund sein?

            Der Ahnenschwund ist übrigens eine mathematische Notwendigkeit. Kennst du die Geschichte vom Schachbretterfinder und seine Reiskornbelohnung?
            Gäbe es keinen Schwund, müsste es,je weiter man in den Generationen zurück geht, viel mehr Menschen geben als heute…

            Gruß
            Kalk

            1. Hi,

              Der Ahnenschwund ist übrigens eine mathematische Notwendigkeit. Kennst du die Geschichte vom Schachbretterfinder und seine Reiskornbelohnung?

              ich kenne die, ja.

              Gäbe es keinen Schwund, müsste es,je weiter man in den Generationen zurück geht, viel mehr Menschen geben als heute…

              Nicht notwendigerweise. Solange jedes Elternpaar zwei Kinder in die Welt setzt, ist die Bilanz ausgeglichen, bei mehr als zwei gibt es - theoretisch - ein Bevölkerungswachstum.

              Einen schönen Tag noch
               Martin

              --
              "Was sind denn das für Beeren?" - "Das sind Blaubeeren." - "Warum sind sie dann rot?" - "Weil sie noch grün sind."
              1. Hallo,

                Nicht notwendigerweise. Solange jedes Elternpaar zwei Kinder in die Welt setzt, ist die Bilanz ausgeglichen, bei mehr als zwei gibt es - theoretisch - ein Bevölkerungswachstum.

                Darum geht es nicht.
                Es geht um die Vorfahren. Jede Person hat zwei Eltern. Pro Generation verdoppelt sich die Anzahl. Man gehe weit genug zurück und deine Vorfahren müßten sich gegenseitig auf den Füßen gestanden haben.…

                Gruß
                Kalk

                1. Moin,

                  Nicht notwendigerweise. Solange jedes Elternpaar zwei Kinder in die Welt setzt, ist die Bilanz ausgeglichen, bei mehr als zwei gibt es - theoretisch - ein Bevölkerungswachstum.

                  Darum geht es nicht.

                  ich denke doch, es ist nur von der anderen Seite betrachtet.

                  Es geht um die Vorfahren. Jede Person hat zwei Eltern.

                  Ja. Aber betrachten wir mal drei Geschwister: Die haben alle dieselben Eltern. Also Kind-Generation drei Personen, Eltern-Generation nur zwei Personen.

                  Das ist natürlich stark vereinfacht, denn nicht jedes potentielle Elternpaar hat überhaupt Kinder. Singles oder kinderlose Paare tragen daher eher zu einer Ausdünnung bei oder, wie du es darstellst, dass die Vorgänger-Generation zahlreicher war.

                  Pro Generation verdoppelt sich die Anzahl.

                  Nur unter der Annahme, jedes Elternpaar habe nur ein Kind.

                  Einen schönen Tag noch
                   Martin

                  --
                  "Was sind denn das für Beeren?" - "Das sind Blaubeeren." - "Warum sind sie dann rot?" - "Weil sie noch grün sind."
                  1. Hallo

                    Pro Generation verdoppelt sich die Anzahl.

                    Nur unter der Annahme, jedes Elternpaar habe nur ein Kind.

                    Aähhm, nein. Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                    Und da haben wir gerade einmal 10 Vorfahrengenerationen abgedeckt. Das sind zwei bis drei Jahrhunderte. Wenn du unter der mathematischen Annahme der Verdoppelung der Vorfahren je Generation weiter zurückgehst, kommst du an den Punkt, wo rechnerisch mehr Vorfahren existiert haben müssten, als zu dieser Zeit Menschen gelebt haben. Da kommt der Schwund ins Spiel, der uns alle vermutlich mehrfach verwandt macht und der die Anzahl der Vorfahren unter den Wert der Verdoppelung drückt.

                    Tschö, Auge

                    --
                    200 ist das neue 35.
                    1. Moooment mal,

                      entweder bin ich begriffsstutzig, oder ihr überseht alle etwas.

                      Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                      Das ist unbestritten. Aber die Urahnen hatten ja oft noch mehr Kinder als die in meiner direkten Vorfahrenlinie. Die Großeltern sind also nicht nur die Großeltern eines Kindes, sondern viel mehr.

                      Ich betrachte mal meine eigene Familie, und da auch nur die Generationen, die ich persönlich noch überblicken kann (also bis zu den Großeltern).

                      Da wären zunächst mal meine Schwester und ich. Zwei.
                      Dann unsere Eltern. Auch zwei. Kein Schwund, keine Verdopplung.
                      Unsere Großeltern. Vier. Auf den ersten Blick tatsächlich eine Verdopplung.

                      Aber jetzt wird's spannend: Meine Großeltern mütterlicherseits hatten außer meiner Mutter noch zwei weitere Kinder, meine Großeltern väterlicherseits hatten einen weiteren Sohn. Das macht auf der Ebene der Elterngeneration schon fünf, nicht mehr zwei. Bis hierher kann ich eure These der Vermehrung in die Vergangenheit noch nachvollziehen.

                      So. Die anderen Kinder meiner Großeltern, die nicht meine Eltern wurden, haben aber auch Kinder.
                      Insgesamt acht. Wir korrigieren also:

                      Kind-Generation: 10
                      Eltern-Generation: 5
                      Großeltern-Generation: 4

                      Der Stammbaum wächst also, je weiter man ihn in die Vergangenheit verfolgt, durch die anderen Kinder und Kindeskinder der Vorfahren auch immens in die Breite. Mit jeder Generation, die man weiter in die Vergangenheit geht, kommen auch Seitenäste dazu, die über mehrere Stufen wieder die aktuelle Generation verstärken. Das führt dazu, dass üblicherweise jede Kind-Generation ein bisschen zahlreicher ist als die Eltern-Generation. Nicht umgekehrt.

                      Und damit ist noch nicht der horizontale Zuwachs durch die Vorfahren der angeheirateten Partner und deren andere Nachfahren berücksichtigt.

                      Ich kann da unterm Strich keine Verdopplung oder überhaupt eine Erhöhung der Personenzahl erkennen.

                      Und da haben wir gerade einmal 10 Vorfahrengenerationen abgedeckt. Das sind zwei bis drei Jahrhunderte. Wenn du unter der mathematischen Annahme der Verdoppelung der Vorfahren je Generation weiter zurückgehst, kommst du an den Punkt, wo rechnerisch mehr Vorfahren existiert haben müssten, als zu dieser Zeit Menschen gelebt haben.

                      Nein. Oder ja, aber nur, wenn man die Nachfahren der Seitenlinien ignoriert.

                      Da kommt der Schwund ins Spiel, der uns alle vermutlich mehrfach verwandt macht und der die Anzahl der Vorfahren unter den Wert der Verdoppelung drückt.

                      Diese Betrachtungsweise kann ich immer noch nicht nachvollziehen.

                      Einen schönen Tag noch
                       Martin

                      --
                      "Was sind denn das für Beeren?" - "Das sind Blaubeeren." - "Warum sind sie dann rot?" - "Weil sie noch grün sind."
                      1. Hallo

                        entweder bin ich begriffsstutzig, oder ihr überseht alle etwas.

                        Du siehst das von einem Standpunkt aus, der bei der Verdoppelung der Ahnengenerationen keine Rolle spielt. Bei der Betrachtung des Systems, dass jeder Mensch zwei Eltern hat, die wiederum jeweils zwei Eltern haben (4), die jeweils zwei Eltern haben (8) und so weiter, spielen andere Kinder, die den realen Stammbaum weitere Äste hinzufügen, keine Rolle. Es geht hier nur um die von einer Person aus gesehene, rückwärtsgewandte Betrachtung der Vorfahren dieser einen Person.

                        Und da haben wir gerade einmal 10 Vorfahrengenerationen abgedeckt. Das sind zwei bis drei Jahrhunderte. Wenn du unter der mathematischen Annahme der Verdoppelung der Vorfahren je Generation weiter zurückgehst, kommst du an den Punkt, wo rechnerisch mehr Vorfahren existiert haben müssten, als zu dieser Zeit Menschen gelebt haben.

                        Nein. Oder ja, aber nur, wenn man die Nachfahren der Seitenlinien ignoriert.

                        Eben. Das ist bei dieser Betrachtung der konkrete Plan, denn Geschwister und andere Verwandte, die nicht Mutter oder Vater sind, sind nicht Vorfahren der einen betrachteten Person.

                        Tschö, Auge

                        --
                        200 ist das neue 35.
                        1. Hallo Auge,

                          ihr vermischt da zwei Dinge.

                          Zum einen können Paare viele Kinder haben und zum anderen können Personen gemeinsame Vorfahren haben. Deshalb haben X beliebige Personen im Summe nicht zwingend 4X Personen als Großeltern. Das ist nicht der Ahnenschwund. Es erklärt lediglich, warum vor 300[1] Jahren keine 8 Billionen Menschen nötig waren, um die heutigen 8 Milliarden Menschen hervorzubringen.

                          Ahnenschwund wird aus der Sicht einer Person festgestellt, die ihre Vorfahren betrachtet. Rein rechnerisch erwartet man in der Vorfahrengeneration V genau $$2^V$$ Personen. Wenn aber Personen mit gemeinsamen Vorfahren ein Kind zeugen und ein solches Kind im Stammbaum auftaucht, reduziert sich die Anzahl der Vorfahren. Das ist mit Ahnenschwund gemeint.

                          Rolf

                          --
                          sumpsi - posui - obstruxi

                          1. Eine Generation ≈ 30 Jahre, und $$2^{10} \approx 1000$$ ↩︎

                          1. Hallo,

                            Wenn aber Personen mit gemeinsamen Vorfahren ein Kind zeugen und ein solches Kind im Stammbaum auftaucht, reduziert sich die Anzahl der Vorfahren. Das ist mit Ahnenschwund gemeint.

                            Ja. Und er ist mathematisch notwendig, wie jetzt hoffentlich inzwischen deutlich geworden ist.

                            Wer sich mit seinem Stammbaum beschäftigt, wird beliebig viele Fälle von Ahnenschwund finden. Es kann niemanden geben, bei dem kein solcher Fall auftritt.

                            Gruß
                            Kalk

                        2. Hi,

                          Das ist bei dieser Betrachtung der konkrete Plan, denn Geschwister und andere Verwandte, die nicht Mutter oder Vater sind, sind nicht Vorfahren der einen betrachteten Person.

                          okay, dann hab ich's jetzt auch verstanden. Unter einem Stammbaum hatte ich bisher nicht zwingend eine Baumstruktur verstanden, sondern im Allgemeinen eher einen Ausschnitt aus dem Netz von Verwandtschaften. Im Speziellen kenne ich noch die Darstellung, dass ausgehend von einer historischen Person die Verästelung der Nachfahren dieser Person dargestellt werden.

                          Den umgekehrten Fall, also von einer Person ausgehend deren Vorfahren aufzudröseln, war mir bisher nicht geläufig.

                          Einen schönen Tag noch
                           Martin

                          --
                          "Was sind denn das für Beeren?" - "Das sind Blaubeeren." - "Warum sind sie dann rot?" - "Weil sie noch grün sind."
                          1. Hallo

                            Das ist bei dieser Betrachtung der konkrete Plan, denn Geschwister und andere Verwandte, die nicht Mutter oder Vater sind, sind nicht Vorfahren der einen betrachteten Person.

                            okay, dann hab ich's jetzt auch verstanden. Unter einem Stammbaum hatte ich bisher nicht zwingend eine Baumstruktur verstanden, sondern im Allgemeinen eher einen Ausschnitt aus dem Netz von Verwandtschaften. Im Speziellen kenne ich noch die Darstellung, dass ausgehend von einer historischen Person die Verästelung der Nachfahren dieser Person dargestellt werden.

                            Den umgekehrten Fall, also von einer Person ausgehend deren Vorfahren aufzudröseln, war mir bisher nicht geläufig.

                            Naja, bei der Aufgabenstellung dieses Threads, die Beziehungen zwischen Eltern und ihren Kindern quasi rückwärts aufzudröseln, ist das ein Teil dessen. Dass ein Stammbaum viel mehr und viel breiter ist, ist unbestritten aber bei diesem Aspekt nicht relevant.

                            Tschö, Auge

                            --
                            200 ist das neue 35.
                    2. Hello,

                      Pro Generation verdoppelt sich die Anzahl.

                      Nur unter der Annahme, jedes Elternpaar habe nur ein Kind.

                      Aähhm, nein. Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                      Abzüglich Inzest und Polyamorie, oder wie das heißt.

                      Soll ja früher öfter üblich gewesen sein, als heute.

                      Glück Auf
                      Tom vom Berg

                      --
                      Es gibt soviel Sonne, nutzen wir sie.
                      www.Solar-Harz.de
                      S☼nnige Grüße aus dem Oberharz
                      1. Aähhm, nein. Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                        Abzüglich Inzest und Polyamorie, oder wie das heißt.

                        Bei „Wenn der Vater mit dem Sohne“ dürfte das hier nicht relevant sein.

                        Soll ja früher öfter üblich gewesen sein, als heute.

                        Ist das so?

                        1. Hello Dieter,

                          Aähhm, nein. Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                          Abzüglich Inzest und Polyamorie, oder wie das heißt.

                          Bei „Wenn der Vater mit dem Sohne“ dürfte das hier nicht relevant sein.

                          Gab es da Nachwuchs?

                          Soll ja früher öfter üblich gewesen sein, als heute.

                          Ist das so?

                          Auch Dir wollte ich nicht zu nahe treten. Wenn Du gerne Polyamorie o. ä. pflegst, ist und bleibt das mMn deine Sache!

                          Glück Auf
                          Tom vom Berg

                          --
                          Es gibt soviel Sonne, nutzen wir sie.
                          www.Solar-Harz.de
                          S☼nnige Grüße aus dem Oberharz
                      2. Hallo

                        Pro Generation verdoppelt sich die Anzahl.

                        Nur unter der Annahme, jedes Elternpaar habe nur ein Kind.

                        Aähhm, nein. Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                        Abzüglich Inzest und Polyamorie, oder wie das heißt.

                        Zumindest die Polyamorie ist hier unerheblich, denn auch daraus hervorgehende Nachkommen haben biologisch nur eine Mutter und einen Vater.

                        Soll ja früher öfter üblich gewesen sein, als heute.

                        Tatsächlich?

                        Tschö, Auge

                        --
                        200 ist das neue 35.
                        1. Hello,

                          Pro Generation verdoppelt sich die Anzahl.

                          Nur unter der Annahme, jedes Elternpaar habe nur ein Kind.

                          Aähhm, nein. Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                          Abzüglich Inzest und Polyamorie, oder wie das heißt.

                          Zumindest die Polyamorie ist hier unerheblich, denn auch daraus hervorgehende Nachkommen haben biologisch nur eine Mutter und einen Vater.

                          Aber das Binärsystem für die Vorfahren stimmt nicht mehr, weil ein Vater auch für 10 Mütter reicht. Ist also nicht mehr Faktor Zwei!

                          Soll ja früher öfter üblich gewesen sein, als heute.

                          Tatsächlich?

                          Ich wollte Dir da nicht zu nahe treten ;-P

                          Glück Auf
                          Tom vom Berg

                          --
                          Es gibt soviel Sonne, nutzen wir sie.
                          www.Solar-Harz.de
                          S☼nnige Grüße aus dem Oberharz
                          1. Hallo TS,

                            Aber das Binärsystem für die Vorfahren stimmt nicht mehr, weil ein Vater auch für 10 Mütter reicht.

                            Ahnenschwund.

                            Wenn ich so an die Darkover-Romane denke... "Sechsvätriger Bastard" ist eine arge Beleidigung 😉

                            Rolf

                            --
                            sumpsi - posui - obstruxi
                            1. Hello,

                              Aber das Binärsystem für die Vorfahren stimmt nicht mehr, weil ein Vater auch für 10 Mütter reicht.

                              Ahnenschwund.

                              Wenn ich so an die Darkover-Romane denke... "Sechsvätriger Bastard" ist eine arge Beleidigung 😉

                              Oh!

                              Man muss ja sowieso immer darauf achten, wem gegenüber man welche Auśdrücke verwendet. Richtige Geschlechtsbezeichnungen, verdeckte Beleidigungen/Geringschätzungen, unterstellte Unfähigkeit, zu große Neugier, usw.

                              Glück Auf
                              Tom vom Berg

                              --
                              Es gibt soviel Sonne, nutzen wir sie.
                              www.Solar-Harz.de
                              S☼nnige Grüße aus dem Oberharz
                          2. Hallo

                            Pro Generation verdoppelt sich die Anzahl.

                            Nur unter der Annahme, jedes Elternpaar habe nur ein Kind.

                            Aähhm, nein. Jedes Kind, egal ob Einzelkind oder Geschwisterkind hat genealogisch zwei Eltern, vier Großeltern, acht Urgroßeltern, 16 Ururgroßeltern, 32 Urururgroßeltern, 64, 128, 256, 512, 1024 Urursonstewas …

                            Abzüglich Inzest und Polyamorie, oder wie das heißt.

                            Zumindest die Polyamorie ist hier unerheblich, denn auch daraus hervorgehende Nachkommen haben biologisch nur eine Mutter und einen Vater.

                            Aber das Binärsystem für die Vorfahren stimmt nicht mehr, weil ein Vater auch für 10 Mütter reicht. Ist also nicht mehr Faktor Zwei!

                            Doch, prinzipiell funktioniert das. Ob ein Mann gemeinsam mit zehn Frauen zehn oder mehr Kinder gezeugt hat, ist unerheblich, wenn man von einem dieser Kinder als Ausgangspunkt aus in die Vergangenheit schaut und dessen Vorfahren zählt. Jedes einzelne dieser zehn Kinder hat jeweils eine Mutter und einen Vater, auch wenn das auf einer oder beiden Seiten der Elternschaft die selben Personen sein können. Ob dieser Vater andere Kinder gezeugt hat, ist bei diesem Aspekt unerheblich. Ob die Mutter weitere Kinder empfangen, ausgetragen und geboren hat, ebenfalls.

                            Wir sprechen hier nicht über einen Stammbaum mit seinen Verzweigungen und Verflechtungen an sich, sondern über die (theoretische) Verdoppelung der biologischen Vorfahren eines Menschen pro betrachteter Vorfahrengeneration und dem Askpekt, dass wir nach einigen -zig Generationen (wieder theoretisch) an einem Punkt landen, an dem es rechnerisch in dieser Generation mehr Vorfahren des Menschen, der als Ausgangspunkt dient, geben müsste, als zu dieser Menschen gelebt haben, irgendwann auch an den Punkt, an dem es rechnerisch mehr Vorfahren einer Person gegeben haben müsste, als jemals Menschen gelebt haben.

                            Und da kommen halt Verflechtungen der Art, dass Partner in grauen Vergangenheiten mehrfach über sieben Ecken verwandt sind und gemeinsame Vorfahren haben [1], ins Spiel, also das, was die mathematische Verdoppelung der Vorfahren pro gezählter Generation aushebelt.

                            Tschö, Auge

                            --
                            200 ist das neue 35.

                            1. Ohne, dass das gleich Inzucht sein muss. ↩︎

                            1. Hallo,

                              Ohne, dass das gleich Inzucht sein muss.

                              Aber im Prinzip ist das das Prinzip, nur dass in diesem Fall die Ahnen noch gar nicht ahnen, dass sie Ahnen sind und daher schwinden…

                              Gruß
                              Kalk

      3. Hallo,

        Wie wird das in der Standard-Genealogy behandelt?

        Dort wird i.d.R. ein Beziehungs-Objekt, aka Familie, zwischengeschoben. Eine Person hat keine direkte Verbindung zu einer anderen, sondern wird mit der Familie verknüpft. P1 ist Vater von F1. P2 ist Mutter von F1. Zu F1 gehören folgende Kinder: P3, P4, P5.
        P3 hat F2 gegründet. usw…

        Gruß
        Kalk

        1. Hallo Tabellenkalk,

          für uneheliche Kinder und Personen mit mehr als einer Ehe scheint mir dieses Konstrukt die Sache eher zu verkomplizieren als zu vereinfachen.

          Rolf

          --
          sumpsi - posui - obstruxi
          1. Hallo,

            für uneheliche Kinder und Personen mit mehr als einer Ehe scheint mir dieses Konstrukt die Sache eher zu verkomplizieren als zu vereinfachen.

            Ums Vereinfachen ging es ja nicht. Das GEDCOM-Format, Standard in der Genealogie, basiert auf diesem Konstrukt. Es ist flexibel genug für deine Beispiele und es ist möglich, dass eine Person mehrere Beziehungen hat, ein Kind einer ehelosen „Familie“ angehört usw.
            Das Beziehungsobjekt kannst du benennen wie du willst, kannst ihm entsprechende Eigenschaften zuweisen und erlaubt eben komplexe Verwandtschaftsbeziehungen, die man mit direkten Person-Person-Verknüpfungen nicht darstellen kann.

            Gruß
            Kalk

  3. Hello K. H.,

    ich komme nicht auf den Fachbegriff, wenn ein Unterprogramm sich selbst aufruft. So kann man Dateinamen lesen und die Dateien in Unterordnern.

    Das ist jetzt (mindestens) zweischneidig. Du suchst vermutlich den Begriff "Rekursion".

    Das Programm selbst kennt bei der klassischen Rekursion aber den Rückweg nicht, sondern nur der Stack mit dem Registerstapel kennt den Aufrufer. Man kann also nicht beliebig in Ablauf hin und zurück laufen. Den Rücksprung regelt das Betriebssystem. Zur freien Suche ist diese Form der Rekursion also ungeeignet.

    Was Du benötigen würdest, wäre eine doppelt (vorwärts/rückwarts) verkettete Liste oder ein Baum.

    PHP's "Arrays" arbeiten im weitesten Sinne so. Der tatsächliche Speicheraufbau dazu ist wegen Optimierung noch etwas komplizierter, aber in PHP's Arrays kann man zu jedem Element den Vorgänger und den Nachfolger, bzw. den Nachfolgertypen (Skalar, weiteres "Array", ...) ermitteln.

    So ist es möglich, einen ganzen Baum ausgehend von einem tiefen Blattobjekt auch rückwärts bis zur Wurzel zurück zu verfolgen.

    Bei der Genealogie hat man dann aber immer noch mit den Kuckuckskindern zu kämpfen. Die muss man in der Struktur programmatisch extra behandeln.

    Ich suche so ein Konzept für Genealogie. Jede Person hat eine mutter_id und eine vater_id. Könnte ich mit einem einzigen SQL-Kommando alle Eltern, Großeltern usw. abfragen?

    Dasselbe - aber vermutlich in einem zweiten Kommando - für die Nachfahren? Da ich drei Kinder habe, kommt meine id bei denen dreimal als vater_id vor.

    Glück Auf
    Tom vom Berg

    --
    Es gibt soviel Sonne, nutzen wir sie.
    www.Solar-Harz.de
    S☼nnige Grüße aus dem Oberharz