λογισμικό

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

Πώς σχεδιάζετε την οντότητα Relatoin σε βάσεις δεδομένων;

Δεν "σχεδιάζετε" τις σχέσεις οντότητας στις βάσεις δεδομένων απευθείας. Εσείς * μοντέλο * τους χρησιμοποιώντας ένα οπτικό εργαλείο (όπως ένα πρόγραμμα σχεδίασης ή ένα ειδικό λογισμικό σχεδιασμού βάσεων δεδομένων) και στη συνέχεια μεταφράζετε αυτό το μοντέλο στο σχήμα της βάσης δεδομένων (η πραγματική δομή της βάσης δεδομένων). Η οπτική αναπαράσταση ονομάζεται διάγραμμα-συσχέτισης οντότητας (ERD).

Δείτε πώς αντιπροσωπεύετε τις σχέσεις οντοτήτων στο ERD, μαζί με την αντίστοιχη εφαρμογή της βάσης δεδομένων:

1. Οντότητες:

* Εκπροσώπηση: Ορθογώνια. Κάθε ορθογώνιο αντιπροσωπεύει μια οντότητα (ένα πράγμα ή έννοια) όπως "πελάτης", "παραγγελία", "προϊόν".

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

Παράδειγμα:

`` `

+--------++-----------+

| Πελάτης | | Παραγγελία |

+--------++-----------+

| Custid | | Orderid |

| Όνομα | | Custid |

| Διεύθυνση | | Παραγγελία |

+--------++-----------+

`` `

2. Χαρακτηριστικά:

* Εκπροσώπηση: Οβάλ που συνδέονται με το ορθογώνιο που αντιπροσωπεύει την οντότητα. Αυτά περιγράφουν τις ιδιότητες της οντότητας (π.χ. "Όνομα", "Διεύθυνση", "OrderId", "OrderDate"). Μπορεί επίσης να υποδείξετε τύπους δεδομένων (π.χ., `int`,` varchar ', `Date').

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

3. Σχέσεις:

* Εκπροσώπηση: Γραμμές που συνδέουν τα ορθογώνια οντότητας. Ο τύπος της γραμμής και τα συναφή σύμβολα υποδεικνύουν τον τύπο της σχέσης:

* one-to-one (1:1): Μια ενιαία περίπτωση μιας οντότητας σχετίζεται με το πολύ ένα παράδειγμα μιας άλλης οντότητας (π.χ. ένα άτομο και το διαβατήριό τους). Συχνά αντιπροσωπεύεται με μια γραμμή με ένα "1" σε κάθε άκρο ή μερικές φορές μια ειδική σημειογραφία όπως μια γραμμή που τελειώνει σε ένα διαμάντι στη μονόπλευρη.

* ένα προς πολλά (1:m) ή πολλά προς ένα (m:1): Ένα παράδειγμα μιας οντότητας σχετίζεται με πολλές περιπτώσεις μιας άλλης οντότητας (π.χ. ένας πελάτης μπορεί να έχει πολλές παραγγελίες). Αντιπροσωπεύεται από μια γραμμή με το "1" στο ένα άκρο και το "M" (ή το Crows Foot Notation - ένα σύμβολο τριών επιπέδων) από την άλλη.

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

Παράδειγμα:ένα προς πολλά (πελάτης προς παραγγελίες)

`` `

+---------+--------------+

| Πελάτης | |

+---------+--------------+

| Custid | 1 |

| Όνομα | |

| Διεύθυνση | ---------------- | M

+ ---------+ |

|

V

+----------+

| Παραγγελία |

+----------+

| Orderid |

| Custid |

| Παραγγελία |

+----------+

`` `

Παράδειγμα:πολλά προς πολλά (μαθητές και μαθήματα)

`` `

+--------++-----------+

| Φοιτητής | | Μάθημα |

+--------++-----------+

| Μελετώντας | ------- M | Μαθήματα |

| Όνομα | | | Όνομα |

+ ---------+ | +----------+

|

| M -------- 1

V

+-------------------++

| StudentCourse |

+-------------------++

| Μελετώντας |

| Μαθήματα |

+-------------------++

`` `

4. Καρναριότητα και συμμετοχή:

* Cardinality: Ο αριθμός των περιπτώσεων μιας οντότητας που μπορεί να σχετίζεται με ένα άλλο (που αντιπροσωπεύεται από το "1" ή "M").

* Συμμετοχή: Το αν η συμμετοχή στη σχέση είναι υποχρεωτική ή προαιρετική (υποδεικνύεται σε ορισμένες σημειώσεις ERD με διαφορετικά σύμβολα στις γραμμές, όπως ένας κύκλος για προαιρετικό).

Εφαρμογή βάσης δεδομένων (Παράδειγμα SQL):

Για το παράδειγμα της παραγγελίας πελατών (1:m), θα δημιουργήσατε δύο πίνακες:

`` sql

Δημιουργήστε πελάτη πίνακα (

Custid Int Primary Key,

Όνομα Varchar (255),

Διεύθυνση Varchar (255)

)

Δημιουργία παραγγελίας πίνακα (

Orderid int πρωτεύον κλειδί,

Custid Int,

Ημερομηνία παραγγελίας,

Το ξένο κλειδί (Custid) αναφέρει τον πελάτη (Custid)

)

`` `

Ο περιορισμός του «ξένου κλειδιού» στον πίνακα `order` επιβάλλει τη σχέση. Κάθε `orderid` έχει ένα` custid ', και ότι το `custid` πρέπει να υπάρχει στον πίνακα' πελάτη '.

Για το παράδειγμα πολλών προς πολλά, θα έχετε τρία τραπέζια (μαθητές, μαθήματα και μαθητές). Το τραπέζι "StudentCourse" είναι ο πίνακας διασταύρωσης/γέφυρας που συνδέει τους μαθητές με μαθήματα.

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

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

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