λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> λογισμικού βάσεων δεδομένων

Πώς θα δομήσατε τη βάση δεδομένων σας για να παρακολουθείτε ένα οικογενειακό δέντρο;

Ακολουθεί μια δομή βάσης δεδομένων για την παρακολούθηση ενός οικογενειακού δέντρου, μαζί με εξηγήσεις και εκτιμήσεις:

Πίνακες:

1. άτομα

- id (int, πρωτεύον κλειδί) :Μοναδικό αναγνωριστικό για κάθε άτομο.

- first_name (varchar) :Όνομα του ατόμου.

- last_name (varchar) :Επώνυμο του ατόμου.

- birth_date (ημερομηνία) :Ημερομηνία γέννησης.

- death_date (ημερομηνία) :Ημερομηνία θανάτου (μηδενική).

- Φύλο (enum) :Φύλο (π.χ., «αρσενικό», «θηλυκό», «άλλο»).

- Σημειώσεις (κείμενο) :Πρόσθετες σημειώσεις ή πληροφορίες σχετικά με το άτομο.

2. Σχέσεις

- id (int, πρωτεύον κλειδί) :Μοναδικό αναγνωριστικό για κάθε σχέση.

- person_id (int) :Ξένο κλειδί που αναφέρεται στον πίνακα «λαών» (γονέας).

- insurection_person_id (int) :Ξένο κλειδί που αναφέρεται στον πίνακα «Λαών» (παιδί).

- σχέση_TYPE (enum) :Τύπος σχέσης (π.χ., «γονέας», «παιδί», «σύζυγος», «αδελφός»).

- Παραγγελία (int) :Προαιρετικό πεδίο για την παρακολούθηση της σειράς των παιδιών (για πολλά παιδιά των ίδιων γονέων).

3. Μέσα

- id (int, πρωτεύον κλειδί) :Μοναδικό αναγνωριστικό για κάθε μέρος.

- Όνομα (varchar) :Όνομα του τόπου (π.χ. πόλη, πόλη, χώρα).

- Τύπος (enum) :Τύπος τόπου (π.χ., «πόλη», «χώρα», «κράτος»).

4. Συμβάντα

- id (int, πρωτεύον κλειδί) :Μοναδικό αναγνωριστικό για κάθε συμβάν.

- person_id (int) :Ξένο κλειδί που αναφέρεται στο τραπέζι «λαϊκών».

- event_type (enum) :Τύπος συμβάντος (π.χ., «γέννηση», «γάμος», «θάνατος»).

- event_date (ημερομηνία) :Ημερομηνία της εκδήλωσης.

- place_id (int) :Ξένο κλειδί που αναφέρεται στον πίνακα "Places".

- Σημειώσεις (κείμενο) :Πρόσθετες σημειώσεις σχετικά με το συμβάν.

Επεξήγηση:

* Πίνακας ανθρώπων: Ο πίνακας πυρήνα, κρατώντας βασικές πληροφορίες για κάθε άτομο στο οικογενειακό δέντρο.

* Πίνακας σχέσεων: Ορίζει τον τρόπο σύνδεσης των ανθρώπων. Αυτός ο πίνακας σάς επιτρέπει να μοντελοποιείτε σύνθετες οικογενειακές δομές (π.χ. βήμα-γονείς, υιοθετημένα παιδιά κ.λπ.)

* Πίνακας θέσεων: Παρέχει πληροφορίες σχετικά με τις τοποθεσίες που σχετίζονται με ανθρώπους και γεγονότα (π.χ., γεννήσεις, θέσεις θανάτου).

* Πίνακας συμβάντων: Καταγράφει σημαντικά γεγονότα στη ζωή ενός ατόμου, όπως η γέννηση, ο γάμος και ο θάνατος.

Πλεονεκτήματα αυτής της δομής:

* ευέλικτο: Η βάση δεδομένων μπορεί να φιλοξενήσει διάφορες οικογενειακές δομές και σχέσεις.

* κλιμακωτά: Εύκολο να προσθέσετε νέα άτομα και γεγονότα καθώς το οικογενειακό δέντρο μεγαλώνει.

* Κανονικοποιημένη: Μειώνει την απόλυση των δεδομένων και βελτιώνει την αποτελεσματικότητα.

Σκέψεις:

* Τύποι δεδομένων: Επιλέξτε κατάλληλους τύπους δεδομένων για κάθε στήλη (π.χ., `int`,` varchar ', `date`,` enum').

* Σχέσεις: Βεβαιωθείτε ότι οι σχέσεις εφαρμόζονται σωστά χρησιμοποιώντας ξένα κλειδιά.

* Κανονικοποίηση: Εξετάστε περαιτέρω την ομαλοποίηση (π.χ. δημιουργία ξεχωριστών πινάκων για διευθύνσεις, επαγγέλματα) για μεγάλες βάσεις δεδομένων.

* καταχώρηση δεδομένων: Αναπτύξτε μια φιλική προς το χρήστη διεπαφή για την εισαγωγή δεδομένων στη βάση δεδομένων.

* Οπτικοποίηση: Χρησιμοποιήστε εργαλεία (π.χ. βιβλιοθήκες γραφικών) για να απεικονίσετε το οικογενειακό δέντρο από τη βάση δεδομένων.

Παράδειγμα ερωτήματα:

* Καταγράψτε όλα τα παιδιά ενός συγκεκριμένου ατόμου:

`` sql

Επιλέξτε p.first_name, p.last_name

Από τους ανθρώπους P

Συμμετοχή σε σχέσεις r σε p.id =r.related_person_id

Όπου r.person_id =

Και r.relationship_type ='παιδί';

`` `

* Βρείτε όλους τους ανθρώπους που γεννήθηκαν σε μια συγκεκριμένη πόλη:

`` sql

Επιλέξτε p.first_name, p.last_name

Από τους ανθρώπους P

Συμμετοχή σε εκδηλώσεις E στο P.id =e.person_id

Συμμετέχετε σε μέρη PL στο e.place_id =pl.id

Όπου e.event_type ='γέννηση'

Και pl.name ='Νέα Υόρκη';

`` `

Σημείωση: Αυτό είναι ένα βασικό πλαίσιο. Μπορεί να χρειαστεί να προσθέσετε ή να τροποποιήσετε τους πίνακες με βάση τις συγκεκριμένες απαιτήσεις σας και την πολυπλοκότητα του οικογενειακού σας δέντρου.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα