Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων"— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων
ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

2 Περιεχόμενα - Βιβλιογραφία Ενότητας
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Περιεχόμενα - Βιβλιογραφία Ενότητας Περιεχόμενα Ορισμοί Συστατικά στοιχεία εννοιολογικής σχεδίασης Συστατικά στοιχεία λογικής / φυσικής σχεδίασης Παραδείγματα Βιβλιογραφία [Ramakrishnan 2002a]: Chapter 1 [Oppel 2004]: Chapters 1 & 2 [Petersen 2002]: Chapters 2 & 8 Αθ. Μάργαρης, Πανεπιστήμιο Μακεδονίας: Εισαγωγή στις Βάσεις Δεδομένων

3 Ορισμοί Δεδομένα Βάση δεδομένων (Database) αντικείμενα που
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Ορισμοί Δεδομένα αντικείμενα που επιδέχονται ψηφιοποίησης (άρα και καταγραφής) και έχουν αυτονόητη εξήγηση Βάση δεδομένων (Database) Μια συλλογή από συσχετιζόμενα δεδομένα με σαφή και συγκεκριμένο νόημα τα οποία Αντιπροσωπεύουν ένα μέρος του πραγματικού κόσμου έχουν αυταπόδεικτη υφή απευθύνονται σε συγκεκριμένους τελικούς αποδέκτες Αποτελείται από οντότητες και συσχετίσεις Οντότητα (φοιτητής, μάθημα, καθηγητής, αίθουσα, κοκ) Συσχετίσεις (ο Σ. Ρουβάς παρακολουθεί το CIS232)

4 Ορισμοί(2) Σύστημα Διαχείρισης Βάσης Δεδομένων (DBMS)
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Ορισμοί(2) Σύστημα Διαχείρισης Βάσης Δεδομένων (DBMS) Μια συλλογή προγραμμάτων για την δημιουργία και την διαχείριση των βάσεων δεδομένων (αποτελεί συνήθως ένα ολοκληρωμένο πακέτο λογισμικού). Μέσω του DBMS υπάρχει η δυνατότητα: Ορισμού μιας βάσης: τύπος δεδομένων, δομή, περιορισμοί Δημιουργίας μιας βάσης: αποθήκευση δεδομένων Χειρισμού μιας βάσης: δομημένα ερωτήματα, ενημερώσεις, αναφορά Παράλληλης χρήσης της βάσης: από πολλά προγράμματα και χρήστες ταυτόχρονα Προστασίας της Βάσης Δεδομένων Σύστημα Βάσης Δεδομένων (Database System) η Βάση + ένα DBMS (σχήμα)

5 Σχήμα 1.1 Ένα απλουστευμένο περιβάλλον Συστήματος Βάσης Δεδομένων
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Σχήμα 1.1 Ένα απλουστευμένο περιβάλλον Συστήματος Βάσης Δεδομένων Χρήστες/Προγραμματιστές Σύστημα Βάσης Δεδομένων Εφαρμογές / Δομημένα Ερωτήματα(Queries) Λογισμικό για την επεξεργασία των ερωτημάτων DBMS Λογισμικό για πρόσβαση στα δεδομένα Ορισμοί Βάσεων (Meta-Data) Αποθηκευμένες Βάσεις

6 Σχεδίαση βάσης δεδομένων
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Σχεδίαση βάσης δεδομένων Στη συγκεκριμένη ενότητα εξετάζουμε τα διάφορα συστατικά στοιχεία τα οποία απαρτίζουν μια σχεσιακή βάση δεδομένων. Τα στοιχεία αυτά διακρίνονται σε: Στοιχεία εννοιολογικής σχεδίασης Η εννοιολογική σχεδίαση μιας βάσης δεδομένων αφορά την μελέτη και μοντελοποίηση των δεδομένων που θα εισαχθούν στη βάση με τρόπο ανεξάρτητο της τεχνολογίας που θα χρησιμοποιηθεί (δηλαδή του συστήματος DBMS, του λειτουργικού συστήματος του υπολογιστή στον οποίο θα εγκατασταθεί η βάση, και των φυσικών μέσων αποθήκευσης –σκληρός δίσκος κλπ) Στοιχεία λογικής σχεδίασης Η λογική σχεδίαση αφορά την μεταφορά – υλοποίηση της εννοιολογικής σχεδίασης σε ένα συγκεκριμένο μοντέλο βάσης δεδομένων (π.χ. συσχετιστικό -relational-, αντικειμενοστραφές, κοκ) και σε ένα συγκεκριμένο σύστημα DBMS.

7 Συστατικά στοιχεία εννοιολογικής σχεδίασης
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Συστατικά στοιχεία εννοιολογικής σχεδίασης Τα βασικά συστατικά στοιχεία τα οποία ορίζονται κατά τη διάρκεια της εννοιολογικής σχεδίασης είναι: Οντότητες (Entities) Ιδιότητες – Χαρακτηριστικά (Attributes) Σχέσεις (Relationships) Κανόνες επιχείρησης (business rules) Δεδομένα διασταύρωσης (Intersection Data)

8 Οντότητες Μια οντότητα μπορεί να είναι:
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Οντότητες Μια οντότητα μπορεί να είναι: Ένα άτομο, μια τοποθεσία, ένα αντικείμενο, ή μια έννοια για την οποία συλλέγουμε δεδομένα (με απλά λόγια οτιδήποτε μπορεί να ονομασθεί με ένα ουσιαστικό) Συγκεκριμένες οντότητες (π.χ. οι εγγραφές στον πίνακα των πελατών) ονομάζονται υποδείγματα (instances) Ο πελάτης Μιχάλης Πελατίδης αποτελεί ένα υπόδειγμα της οντότητας πελάτης Οντότητες οι οποίες επικοινωνούν με τη βάση δεδομένων αλλά για τις οποίες δεν συλλέγουμε δεδομένα (π.χ. γραμματειακό προσωπικό στο νοσοκομείο) ονομάζονται εξωτερικές οντότητες Οι εξωτερικές οντότητες δεν μοντελοποιούνται ούτε συμπεριλαμβάνονται στο σχήμα της βάσης δεδομένων). Είναι όμως χρήσιμες για τον ορισμό της λειτουργικότητας της εφαρμογής της βάσης δεδομένων

9 Ιδιότητες - χαρακτηριστικά
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Ιδιότητες - χαρακτηριστικά Ιδιότητα ή χαρακτηριστικό είναι ένα μοναδιαίο γεγονός το οποίο χαρακτηρίζει ή περιγράφει μια οντότητα: Στα ορθογώνια του σχήματος φαίνονται αρκετά παραδείγματα χαρακτηριστικών ή ιδιοτήτων Οι ιδιότητες οι οποίες χαρακτηρίζουν μοναδικά (δηλαδή κάθε υπόδειγμα –instance- μιας οντότητας έχει διαφορετική τιμή ως προς αυτό το χαρακτηριστικό) μια οντότητα ονομάζονται μοναδικοί χαρακτηριστές και αντιστοιχίζονται κατά τη λογική σχεδίαση σε πρωτεύοντα κλειδιά Οι μοναδικοί χαρακτηριστές τοποθετούνται πρώτοι στον κατάλογο των ιδιοτήτων εντός του ορθογωνίου κάθε οντότητας Τα χαρακτηριστικά πρέπει να έχουν ατομική υφή (δηλαδή να μην μπορούν να διασπαστούν περαιτέρω όπως π.χ. Ονοματεπώνυμο)

10 Σχέσεις Οι σχέσεις καθορίζουν συσχετίσεις ανάμεσα στις οντότητες.
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Σχέσεις Οι σχέσεις καθορίζουν συσχετίσεις ανάμεσα στις οντότητες. Αποτελούν τη βασική ιδιότητα σε ένα σχεσιακό μοντέλο βάσης δεδομένων Αν κάποια οντότητα δεν σχετίζεται με καμία άλλη σε μια συγκεκριμένη βάση δεδομένων τότε δεν χρειάζεται να συμπεριληφθεί στο σχήμα της βάσης Τύποι σχέσεων: Ένα προς πολλά Ένα προς ένα (όταν είναι υποχρεωτική και προς τις δύο κατευθύνσεις αποτελεί σφάλμα σχεδίασης) Πολλά προς πολλά Κάθε σχέση έχει σε κάθε κατεύθυνση ένα ελάχιστο και ένα μέγιστο αριθμό οντοτήτων

11  Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Κανόνες επιχείρησης Κανόνες επιχείρησης αφορούν κάποια στοιχεία πολιτικής, μια διαδικασία ή ένα πρότυπο Κατά τη σχεδίαση οι κανόνες επιχείρησης δεν εμφανίζονται στο διάγραμμα οντοτήτων σχέσεων αλλά σε συνοδευτικό κείμενο Στη υλοποίηση της βάσης χρησιμοποιούνται ως προστασία από ανεπιθύμητα σφάλματα που μπορούν να κάνει το προσωπικό Οι κανόνες επιχείρησης υλοποιούνται συνήθως στη λογική σχεδίαση ως περιορισμοί

12 Δεδομένα διασταύρωσης
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Δεδομένα διασταύρωσης Τα δεδομένα διασταύρωσης χρησιμοποιούνται συνήθως για να λύσουν μια σχέση πολλά προς πολλά (order, product στο παράδειγμα) Συνήθως υλοποιούνται στη λογική σχεδίαση ως πίνακες. Εντούτοις επειδή δεν εμπίπτουν στο ορισμό της οντότητας δεν εμφανίζονται ως οντότητες στα διαγράμματα οντοτήτων συσχετίσεων

13 Στοιχεία λογικής σχεδίασης
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Στοιχεία λογικής σχεδίασης Τα βασικά στοιχεία που καθορίζονται κατά τη διάρκεια της λογικής σχεδίασης είναι: Πίνακες (μοντελοποιούν οντότητες και δεδομένα διασταύρωσης) Στήλες και τύποι δεδομένων (υλοποιούν ιδιότητες και χαρακτηριστικών των οντοτήτων) Περιορισμοί (υλοποιούν κανόνες επιχείρησης αλλά και μοναδικά χαρακτηριστικά) Περιορισμοί Ακεραιότητας Όψεις (αφορούν το σχεδιασμό της διαπροσωπείας με εξωτερικούς χρήστες του συστήματος)

14  Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Πίνακες Οι πίνακες αποτελούν τη βασική μονάδα αποθήκευσης δεδομένων στο σχεσιακό μοντέλο βάσης δεδομένων Κάθε πίνακας πρέπει να έχει μοναδικό όνομα. Συνήθως ονομάζουμε τους πίνακες με όνομα αντίστοιχο της οντότητας αλλά στον πληθυντικό (π.χ. αν η οντότητα είναι customer ονομάζουμε τον πίνακα customers) Οι στήλες σε κάθε πίνακα αντιστοιχούν στις ιδιότητες /χαρακτηριστικά μιας οντότητας ενώ οι γραμμές (ή εγγραφές – records) αντιστοιχούν σε συγκεκριμένα υποδείγματα μιας οντότητας Οι πίνακες δεν αποθηκεύονται σε φυσικό επίπεδο υποχρεωτικά σε αρχείο που έχει τη μορφή πίνακα. Πολλοί πίνακες μπορεί να αποθηκεύονται σε ένα αρχείο στο δίσκο (π.χ. MS Access) ενώ ένας πίνακας μπορεί να αποθηκεύεται σε πολλά αρχεία (DBMS όπως η Oracle, Informix, SQL Server, κλπ)

15 Στήλες και τύποι δεδομένων
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Στήλες και τύποι δεδομένων Όπως ήδη έχουμε δει οι στήλες σε ένα πίνακα μοντελοποιούν τις ιδιότητες / χαρακτηριστικά μιας οντότητας. Κάθε στήλη συσχετίζεται με ένα συγκεκριμένο τύπο δεδομένων

16  Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Περιορισμοί Περιορισμός (constraint) είναι ένας κανόνας ο οποίος τοποθετείται πάνω σε ένα αντικείμενο της βάσης (συνήθως πίνακα ή στήλη). Οι συνηθέστεροι τύποι περιορισμών είναι οι πιο κάτω: Περιορισμοί πρωτεύοντος κλειδιού (μια ιδιότητα η οποία ορίζεται ως πρωτεύον κλειδί απαγορεύεται να έχει την ίδια τιμή για περισσότερες από μια εγγραφές) Περιορισμοί αναφοράς. Μέσω των περιορισμών αυτών υλοποιούνται οι συσχετίσεις μεταξύ πινάκων. Οι περιορισμοί αναφοράς έχουν τη μορφή ξένου κλειδιού (foreign key) δηλαδή η τιμή μιας ιδιότητας η οποία συσχετίζει δύο πίνακες πρέπει να είναι η ίδια στους δύο πίνακες εφόσον αναφέρονται στο ίδιο αντικείμενο.

17 Περιορισμοί Ακεραιότητας
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Περιορισμοί Ακεραιότητας Περιορισμοί Ακεραιότητας καθορίζουν την ακρίβεια των δεδομένων στη βάση Συνήθως υλοποιούνται ως NOT NULL constraints (δεν επιτρέπει κενό στη τιμή μιας ιδιότητας) CHECK constraints (ελέγχει τη τιμή μιας ιδιότητας)

18 Περιορισμοί Ακεραιότητας
 Ορισμοί  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης Παραδείγματα Περιορισμοί Ακεραιότητας Περιορισμοί Ακεραιότητας καθορίζουν την ακρίβεια των δεδομένων στη βάση Συνήθως υλοποιούνται ως NOT NULL constraints (δεν επιτρέπει κενό στη τιμή μιας ιδιότητας) CHECK constraints (ελέγχει τη τιμή μιας ιδιότητας)

19  Εισαγωγή  Στοιχεία εννοιολογικής σχεδίασης  Στοιχεία λογικής σχεδίασης  Παραδείγματα Παραδείγματα Θέλουμε να φτιάξουμε μια βάση δεδομένων για να διευκολύνουμε τη διαδικασία εγγραφών φοιτητών σε μαθήματα. Να προσδιορίσετε τις βασικές οντότητες που χρειάζεται να μοντελοποιηθούν μέσω ενός διαγράμματος ER Να προσδιορίσετε τα πεδία των πιο πάνω οντοτήτων Να προσδιορίσετε τα πεδία κλειδιά στις πιο πάνω οντότητες Να βρείτε τις σχέσεις ανάμεσα στις οντότητες Να αναγνωρίσετε τυχόν περιορισμούς που δεν μπορούν να αποτυπωθούν στο διάγραμμα (π.χ. κανόνες επιχείρησης) Ασκήσεις από το [Ramakrishnan 2002a]: Άσκηση 1.6 Άσκηση 1.7 Άσκηση 1.8


Κατέβασμα ppt "Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google