Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tabuľky:
1. ľudia
- id (int, primárny kľúč) :Jedinečný identifikátor pre každú osobu.
- first_name (varchar) :Krstné meno osoby.
- last_name (varchar) :Priezvisko osoby.
- Birt_date (dátum) :Dátum narodenia.
- Death_date (dátum) :Dátum smrti (neplatiteľné).
- pohlavie (enum) :Pohlavie (napr. „Muž“, „žena“, „iné“).
- Poznámky (text) :Ďalšie poznámky alebo informácie o osobe.
2. Vzťahy
- id (int, primárny kľúč) :Jedinečný identifikátor pre každý vzťah.
- person_id (int) :Cudzí kľúče odkazujúc na tabuľku „People“ (rodič).
- príbuzné_person_id (int) :Cudzí kľúče odkazujúc na tabuľku „People“ (dieťa).
- relation_type (enum) :Typ vzťahu (napr. „Rodič“, „dieťa“, „manžel“, „súrodenec“).
- poradie (int) :Voliteľné pole na sledovanie poradia detí (pre viacerých detí rovnakých rodičov).
3. Miesta
- id (int, primárny kľúč) :Jedinečný identifikátor pre každé miesto.
- názov (varchar) :Názov miesta (napr. Mesto, mesto, krajina).
- typ (enum) :Typ miesta (napr. „Mesto“, „krajina“, „štát“).
4. udalosti
- id (int, primárny kľúč) :Jedinečný identifikátor pre každú udalosť.
- person_id (int) :Cudzí kľúče odkazujúc na tabuľku „ľudí“.
- event_type (enum) :Typ udalosti (napr. „Narodenie“, „manželstvo“, „smrť“).
- event_date (dátum) :Dátum udalosti.
- place_id (int) :Cudzí kľúče odkazujúc na tabuľku „miest“.
- Poznámky (text) :Ďalšie poznámky o udalosti.
Vysvetlenie:
* Tabuľka ľudí: Základná tabuľka, ktorá drží základné informácie o každom jednotlivcovi v rodokmeni.
* Tabuľka vzťahov: Definuje, ako sú ľudia prepojení. Táto tabuľka vám umožňuje modelovať komplexné rodinné štruktúry (napr. Nevlastníci, adoptované deti atď.)
* Miesta tabuľka: Poskytuje informácie o miestach spojených s ľuďmi a udalosťami (napr. Birthplaces, Miesta smrti).
* Tabuľka udalostí: Zaznamenáva významné udalosti v živote človeka, ako je narodenie, manželstvo a smrť.
Výhody tejto štruktúry:
* flexibilné: Databáza môže ubytovať rôzne rodinné štruktúry a vzťahy.
* škálovateľné: Ľahko pridávajú nových jednotlivcov a udalosti s rastúcou rodokmeňom.
* normalizované: Znižuje redundanciu údajov a zvyšuje účinnosť.
Úvahy:
* Typy údajov: Vyberte príslušné typy údajov pre každý stĺpec (napr. `Int`,` varchar`, `Date`,` enum`).
* Vzťahy: Zaistite, aby sa vzťahy správne presadzovali pomocou zahraničných kľúčov.
* normalizácia: Zvážte ďalšiu normalizáciu (napr. Vytváranie samostatných tabuliek pre adresy, povolania) pre veľké databázy.
* Zadanie údajov: Vypracujte užívateľsky prívetivé rozhranie na zadávanie údajov do databázy.
* vizualizácia: Použite nástroje (napr. Grafingové knižnice) na vizualizáciu rodokmeňa z databázy.
Príklad dopytov:
* Uveďte všetky deti konkrétnej osoby:
`` sql
Vyberte P.First_name, p.Last_name
Od ľudí P
Spojte sa s vzťahmi r na p.id =r.Related_person_id
Kde r.Person_id =
A R.Relationship_type ='Child';
`` `
* Nájdite všetkých ľudí narodených v konkrétnom meste:
`` sql
Vyberte P.First_name, p.Last_name
Od ľudí P
Pripojte sa k udalostiam e na p.id =e. -person_id
Pripojte sa s miestami PL na e.place_id =pl.id
Kde e.Event_type ='narodenie'
A pl.Name ='New York City';
`` `
Poznámka: Toto je základný rámec. Možno budete musieť pridať alebo upraviť tabuľky na základe vašich konkrétnych požiadaviek a zložitosti vášho rodokmeňa.