Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako by ste štruktúrovali svoju databázu tak, aby sledovali rodokmeň?

Tu je štruktúra databázy na sledovanie rodokmeňa, spolu s vysvetleniami a úvahami:

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.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené