Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Μοντέλο Οντοτήτων-Συσχετισμών
4 Μοντέλο Οντοτήτων-Συσχετισμών Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετισμών, Απεικονίσεις Επεκτάσεις
2
Μοντέλα Δεδομένων Ανάγκη αναπαράστασης του πραγματικού κόσμου.
Μοντέλα βασισμένα σε εγγραφές Ιεραρχικό Δικτυακό Σχεσιακό Μοντέλα βασισμένα σε αντικείμενα Οντοτήτων-συσχετισμών Αντικειμενοστραφές
3
Μοντέλο ΟΣ Το μοντέλο oντοτήτων-συσχετισμών (ΟΣ) βασίζεται στην προσέγγιση ότι ο πραγματικός κόσμος αποτελείται από οντότητες, χαρακτηριστικά και συσχετισμούς μεταξύ των οντοτήτων. Αναπτύχθηκε για να διευκολύνει το σχεδιασμό μίας βάσης δεδομένων, επιτρέποντας τον ορισμό ενός σχήματος (schema) που αναπαριστά τη συνολική λογική δομή της βάσης. Το μοντέλο ΟΣ αναπτύχθηκε από τον Chen 1976 ως ένας τρόπος επικοινωνίας μεταξύ χρηστών και σχεδιαστών.
4
Μοντέλο ΟΣ Ο πιο συνηθισμένος τρόπος περιγραφής του μοντέλου ΟΣ είναι η χρήση διαγραμμάτων οντοτήτων-συσχετισμών (ER diagrams). Τα διαγράμματα αυτά παρέχουν έναν απλό και κατανοητό τρόπο περιγραφής της δομής των δεδομένων της ΒΔ, των οντοτήτων, των συσχετισμούς, και των χαρακτηριστικών.
5
Διάγραμμα ΟΣ
6
Διάγραμμα ΟΣ Τα βασικά γεωμετρικά σχήματα που συνθέτουν ένα διάγραμμα ΟΣ είναι: το ορθογώνιο, ο ρόμβος, η έλλειψη, το ευθύγραμμο τμήμα. Στο διάγραμμα, κάθε σύνολο οντοτήτων παριστάνεται από ένα ορθογώνιο, κάθε χαρακτηριστικό με μία έλλειψη, και κάθε σύνολο συσχετισμών με ένα ρόμβο. Τα ευθύγραμμα τμήματα χρησιμοποιούνται για να δηλώσουν τα χαρακτηριστικά ενός συνόλου οντοτήτων και για να δηλώσουν τη συμμετοχή ενός συνόλου οντοτήτων σε ένα σύνολο συσχετισμών.
7
Διάγραμμα ΟΣ Σύνολα Οντοτήτων: Συγγραφέας, Άρθρο, Συνδρομητής, Περιοδικό, Πρακτικά_Συνεδρίου, Γνωστική_Περιοχή, Εκδοτικός Οίκος. Σύνολα Συσχετισμών: Συγγραφή-Άρθρου, Δημοσίευση Περιοδικού, Δημοσίευση Πρακτικών, Έκδοση Περιοδικού, Έκδοση Πρακτικών, Συνδρομή, Ανήκει.
8
Στοιχεία του μοντέλου ΟΣ
Ένα χαρακτηριστικό μπορεί να είναι: Απλής ή πολλαπλής τιμής Απλό ή σύνθετο Κενό (NULL) Παραγόμενο
9
Στοιχεία του μοντέλου ΟΣ
Κλειδί: Το χαρακτηριστικό που προσδιορίζει μοναδικά μία οντότητα. Απλό Σύνθετο Πρωτεύον Δευτερεύον
10
Στοιχεία του μοντέλου ΟΣ
Σύνολο συσχετισμών: είναι μία συλλογή από συσχετισμούς του ίδιου τύπου. Ένα προς ένα Ένα προς πολλά Πολλά προς ένα Πολλά προς πολλά
11
Στοιχεία του μοντέλου ΟΣ
12
Στοιχεία του μοντέλου ΟΣ
Χαρακτηριστικά Συνόλου Συσχετισμών
13
Στοιχεία του μοντέλου ΟΣ
Συμμετοχή οντότητας σε συσχετισμό: Υποχρεωτική Προαιρετική
14
Στοιχεία του μοντέλου ΟΣ
Υποχρεωτική Συμμετοχή
15
Στοιχεία του μοντέλου ΟΣ
Υποχρεωτική Συμμετοχή
16
Στοιχεία του μοντέλου ΟΣ
Προαιρετική Συμμετοχή
17
Επεκτάσεις του μοντέλου ΟΣ
Εξειδίκευση – Γενίκευση Κληρονομικότητα χαρακτηριστικών
18
Επεκτάσεις του μοντέλου ΟΣ
Εξειδίκευση – Γενίκευση και Κληρονομικότητα
19
Σύνοψη Το μοντέλο οντοτήτων-συσχετισμών αποτελεί έναν απλό τρόπο αναπαράστασης του πραγματικού κόσμου. Αποτελείται από οντότητες και συσχετισμούς. Οντότητες με ίδια χαρακτηριστικά συνθέτουν ένα σύνολο οντοτήτων και συσχετισμοί με ίδια χαρακτηριστικά δημιουργούν ένα σύνολο συσχετισμών. Οι οντότητες ενός συνόλου οντοτήτων διακρίνονται μεταξύ τους χρησιμοποιώντας ένα κλειδί. Ένα σύνολο οντοτήτων μπορεί να έχει πολλά κλειδιά, ένα όμως θεωρείται το πρωτεύον κλειδί. Ένας συσχετισμός χαρακτηρίζεται από τον τύπο της απεικόνισης που ορίζει. Έτσι έχουμε: ένα-προς-ένα, ένα-προς-πολλά, πολλά-προς-ένα και πολλά-προς-πολλά. Η συμμετοχή μίας οντότητας σε ένα σύνολο συσχετισμών μπορεί να είναι είτε υποχρεωτική είτε προαιρετική. Για τη γραφική αναπαράσταση ενός μοντέλου οντοτήτων-συσχετισμών χρησιμοποιούνται διαγράμματα οντοτήτων-συσχετισμών. Το βασικό μοντέλο οντοτήτων-συσχετισμών έχει υποστεί επεκτάσεις έτσι ώστε να εμπλουτιστεί με νέα στοιχεία.
20
Σχεσιακό Μοντέλο Δεδομένων
6 Σχεσιακό Μοντέλο Δεδομένων Εισαγωγή – Βασικές Έννοιες Κλειδιά Περιορισμοί ακεραιότητας Μετατροπή ΟΣ σε σχεσιακό
21
Βασικές Έννοιες Το σχεσιακό μοντέλο δεδομένων (relational data model) αναπτύχθηκε από τον Codd το 1970. Η ιστορική εργασία του Codd για το σχεσιακό μοντέλο δεδομένων είναι διαθέσιμη στη διεύθυνση σε ηλεκτρονική μορφή. Η απλή και κατανοητή δομή του είναι δύο από τα αίτια της τεράστιας απήχησης του μοντέλου τόσο κλασικές όσο και σε σύγχρονες εφαρμογές υψηλών απαιτήσεων. Το μεγάλο πλεονέκτημα του μοντέλου είναι ότι μπορεί να περιγραφεί με μαθηματικό τρόπο με τη βοήθεια της Θεωρίας Συνόλων ή της Λογικής Κατηγορημάτων (predicate logic). Τα περισσότερα εμπορικά ΣΔΒΔ υποστηρίζουν το σχεσιακό μοντέλο δεδομένων ή επεκτάσεις αυτού.
22
Βασικές Έννοιες Οι βασικοί στόχοι του σχεσιακού μοντέλου είναι οι ακόλουθοι: Η υποστήριξη ανεξαρτησίας δεδομένων, έτσι ώστε αλλαγές στη φυσική δομή και οργάνωση της ΒΔ να μην απαιτούν αλλαγές στα προγράμματα εφαρμογής, Η αποφυγή της επανάληψης δεδομένων, η οποία εμφανίζεται όταν τα ίδια δεδομένα αποθηκεύονται πολλές φορές σε διαφορετικές περιοχές της ΒΔ, Η διατήρηση της ακεραιότητας και της συνέπειας των δεδομένων, Η υποστήριξη της ανάπτυξης συνολοθεωρητικών γλωσσών χειρισμού δεδομένων, οι οποίες στηρίζονται στη θεωρία συνόλων, και διευκολύνουν τη διατύπωση ερωτημάτων προς το ΣΔΒΔ.
23
Τα Πρώτα Συστήματα H ανάπτυξη και η υλοποίησή του οφείλεται κυρίως σε τρεις ανεξάρτητες ερευνητικές προσπάθειες: System R - IBM INGRES (Interactive Graphics Retrieval System) - Berkeley PRTV (Peterlee Relational Test Vehicle) – IBM UK
24
Τα Πρώτα Συστήματα Η ανάπτυξη του System R οδήγησε στην ανάπτυξη δύο βασικών περιοχών: Την ανάπτυξη μίας δομημένης γλώσσας χειρισμού και ορισμού δεδομένων με την ονομασία SQL (structured query language), που αποτελεί σήμερα τη βασική γλώσσα που υποστηρίζουν τα περισσότερα συστήματα. Την παραγωγή διαφόρων εμπορικά διαθέσιμων ΣΔΒΔ τα οποία στηρίχθηκαν στο σχεσιακό μοντέλο δεδομένων, στη δεκαετία του 1970 και 1980, όπως τα συστήματα DB2 και SQL/DS της εταιρείας IBM και το σύστημα Oracle της εταιρείας Oracle.
25
Σύγχρονα Εμπορικά Συστήματα
Μερικά από τα σύγχρονα εμπορικά διαθέσιμα ΣΔΒΔ τα οποία υποστηρίζουν το σχεσιακό μοντέλο δεδομένων είναι τα ακόλουθα: DB2 και Informix της εταιρείας IBM ( Oracle 9i της εταιρείας Oracle ( SQL Server 2000 της εταιρείας Microsoft ( Teradata της εταιρείας Teradata (
26
Πίνακες (Σχέσεις) Παράδειγμα πίνακα
27
Σχήμα και Στιγμιότυπο Συνδρομητής (κωδικός, όνομα, τηλέφωνο, διεύθυνση, ΑΠΚ)
28
Ιδιότητες Σχέσεων Η κάθε σχέση έχει ένα μοναδικό όνομα μεταξύ των υπολοίπων σχέσεων της ΒΔ. Η τιμή που έχει ένα χαρακτηριστικό είναι ατομική. Το κάθε χαρακτηριστικό έχει μοναδικό όνομα μέσα στη σχέση. Δύο χαρακτηριστικά που ανήκουν σε διαφορετικές σχέσεις επιτρέπεται να έχουν ίδιο όνομα. Όλες οι τιμές ενός χαρακτηριστικού πρέπει να ανήκουν στο ίδιο πεδίο ορισμού του χαρακτηριστικού. Η σειρά δήλωσης των χαρακτηριστικών μίας σχέσης δεν παίζει κανένα ρόλο. Δύο πλειάδες μίας σχέσης δεν επιτρέπεται να ταυτίζονται σε όλα τα χαρακτηριστικά. Αναφορικά με το σχεσιακό μοντέλο, η σειρά των πλειάδων στη σχέση δεν μας ενδιαφέρει. Ωστόσο, η σειρά αποθήκευσης των δεδομένων συνήθως επηρεάζει το χρόνο επεξεργασίας και επομένως λαμβάνεται υπ’όψη.
29
Ιδιότητες Σχέσεων
30
Περιορισμοί Ακεραιότητας
Κενές τιμές Ακεραιότητα οντοτήτων Ακεραιότητα αναφορών Άλλοι περιορισμοί
31
Περιορισμοί Ακεραιότητας
Κενές τιμές Ακεραιότητα οντοτήτων Ακεραιότητα αναφορών Άλλοι περιορισμοί
32
Περιορισμοί Ακεραιότητας
Κενές τιμές
33
Ιδιότητες Σχέσεων Ακεραιότητα οντοτήτων και αναφορών
34
Περιορισμοί Ακεραιότητας
Άλλοι περιορισμοί: Οποιαδήποτε συνθήκη θέλουμε να ικανοποιείται από τα αποθηκευμένα δεδομένα. (π.χ. ηλικία > 18, προϋπηρεσία > 5 έτη )
35
Περιορισμοί Ακεραιότητας
Οι περιορισμοί ακεραιότητας ελέγχονται: Πριν από την εισαγωγή δεδομένων, Πριν από τη διαγραφή δεδομένων, Πριν από την ενημέρωση δεδομένων. Εάν παραβιάζεται κάποιος περιορισμός η λειτουργία δε γίνεται αποδεκτή.
36
Μετατροπή ΟΣ σε Σχεσιακό
Για κάθε σύνολο οντοτήτων του μοντέλου ΟΣ δημιουργείται ένας πίνακας (συνήθως με το ίδιο όνομα) που περιέχει τα χαρακτηριστικά του συνόλου οντοτήτων. Κλειδί του πίνακα είναι συνήθως το κλειδί του συνόλου οντοτήτων.
37
Μετατροπή ΟΣ σε Σχεσιακό
Σε περίπτωση που το σύνολο συσχετισμών συνδέει δύο σύνολα οντοτήτων και είναι τύπου ένα-προς-ένα ή ένα-προς-πολλά ή πολλά-προς-ένα, δεν απαιτείται η δημιουργία ξεχωριστού πίνακα για το συσχετισμό.
38
Μετατροπή ΟΣ σε Σχεσιακό
Αν το σύνολο συσχετισμού συνδέει περισσότερα από δύο σύνολα οντοτήτων (ή δύο σύνολα οντοτήτων με πληθικότητα πολλά-προς-πολλά), τότε δημιουργείται ξεχωριστός πίνακας που περιέχει ως χαρακτηριστικά τα κλειδιά των συνόλων οντοτήτων και τα χαρακτηριστικά που ενδέχεται να έχει το σύνολο συσχετισμών. Στην περίπτωση αυτή το κλειδί του παραγόμενου πίνακα είναι σύνθετο και αποτελείται από τα κλειδιά των αντίστοιχων συνόλων οντοτήτων που συμμετέχουν.
39
Μετατροπή ΟΣ σε Σχεσιακό
40
Όψεις (Views) Μία όψη είναι μία εικονική (virtual) ή αλλιώς παραγόμενη (derived) σχέση. Αυτό σημαίνει ότι σε αντίθεση με μία σχέση βάσης (base relation) μία όψη δεν έχει φυσική υπόσταση, που σημαίνει ότι δεν υπάρχουν πλειάδες που να ανήκουν φυσικά σε αυτήν. Οι πλειάδες της όψης ανήκουν σε μία ή περισσότερες σχέσεις βάσης. Κάθε σχέση βάσης έχει φυσική υπόσταση.
41
Όψεις (Views)
42
Όψεις (Views) Οι όψεις έχουν μία σειρά από ενδιαφέροντα χαρακτηριστικά που συνοψίζονται στη συνέχεια: Παρέχουν έναν απλό αλλά ισχυρό μηχανισμό απόκρυψης δεδομένων από συγκεκριμένους χρήστες ή εφαρμογές, Το ίδιο σύνολο δεδομένων μπορεί να δίνεται στους χρήστες με διαφορετικό τρόπο, ανάλογα με τον ορισμό της όψης, Απλοποιείται σημαντικά ο τρόπος διατύπωσης των ερωτημάτων, καθώς είναι δυνατόν πολύπλοκες διασυνδέσεις μεταξύ των σχέσεων να ομαδοποιηθούν μέσα στον ορισμό της όψης
43
Όψεις (Views) Παράδειγμα
44
Υλοποιημένες Όψεις (Materialized Views)
Οι όψεις τέτοιου τύπου χρησιμοποιούνται κυρίως για λόγους ταχύτητας στην επεξεργασία των δεδομένων.
45
Σύνοψη Το σχεσιακό μοντέλο δεδομένων αναπτύχθηκε από τον Codd το 1970.
Μεγάλη απήχηση στα ΣΔΒΔ Το σχεσιακό μοντέλο χρησιμοποιεί πίνακες (ή αλλιώς σχέσεις) για την αναπαράσταση των δεδομένων. Ο κάθε πίνακας αποτελείται από ένα σύνολο στηλών (ή χαρακτηριστικών). Ένα ή περισσότερα χαρακτηριστικά ορίζουν το πρωτεύον κλειδί του πίνακα. Δύο γραμμές του πίνακα δεν μπορούν να συμφωνούν στην τιμή του κλειδιού. Κάθε στήλη του πίνακα μπορεί να λαμβάνει τιμές από κάποιο πεδίο ορισμού με ατομικές τιμές. Χρησιμοποιώντας περιορισμούς ακεραιότητας διατηρείται η καλή κατάσταση των δεδομένων μετά από εισαγωγές, διαγραφές και ενημερώσεις. Οι όψεις αποτελούν έναν πολύ ισχυρό μηχανισμό απόκρυψης δεδομένων και απλοποίησης των ερωτημάτων, και υποστηρίζονται από πολλά σχεσιακά ΣΔΒΔ.
46
8 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Ορισμός Δεδομένων (data definition) Χειρισμός Δεδομένων (data manipulation)
47
Εισαγωγή Η δομημένη γλώσσα ερωτημάτων SQL (Structured Query Language ) χρησιμοποιείται από τους χρήστες του ΣΔΒΔ για τη δημιουργία, τροποποίηση και ενημέρωση δεδομένων και τη διατύπωση ερωτημάτων. Η αρχική έκδοση της γλώσσας ονομάστηκε SEQUEL (Structured English Query Language) και σχεδιάστηκε από ερευνητική ομάδα της IBM. Η εταιρεία Oracle χρησιμοποίησε για πρώτη φορά τη γλώσσα σε εμπορικό ΣΔΒΔ το 1979.
48
Εισαγωγή Πρότυπα: SQL1 (1986) SQL2 ή SQL92 (1992)
49
Εισαγωγή Η γλώσσα SQL χαρακτηρίζεται από σημαντικά πλεονεκτήματα, εκ των οποίων τα βασικότερα είναι: Κάθε σχεσιακό σύστημα υποστηρίζει την SQL, οπότε η διατύπωση των ερωτημάτων είναι ανεξάρτητη από το χρησιμοποιούμενο ΣΔΒΔ. Η γλώσσα χρησιμοποιείται για όλες τις λειτουργίες του ΣΔΒΔ. Πολλές γλώσσες προγραμματισμού έχουν τροποποιηθεί ώστε να υποστηρίζουν διατύπωση ερωτημάτων σε SQL. Η SQL είναι έχει απλή σύνταξη, και αποδεσμεύει το χρήστη από λεπτομέρειες υλοποίησης.
50
Τύποι Δεδομένων BOOLEAN NUMERIC, DECIMAL, INT FLOAT, DOUBLE DATE, TIME
CHAR, VARCHAR …
51
Γλώσσα Ορισμού Δεδομένων
Δημιουργία νέου σχήματος: CREATE SCHEMA {\it νέο-σχήμα} AUTHORIZATION {\it όνομα-χρήστη}
52
Γλώσσα Ορισμού Δεδομένων
Δημιουργία νέου πίνακα: CREATE TABLE νέος-πίνακας (στήλη1 τύπος-δεδομένων, στήλη2 τύπος-δεδομένων, ... στήληN τύπος-δεδομένων, <περιορισμός-ακεραιότητας-1>, <περιορισμός-ακεραιότητας-2>, <περιορισμός-ακεραιότητας-Μ>
53
Γλώσσα Ορισμού Δεδομένων
Δημιουργία νέου πίνακα: CREATE TABLE Γνωστική_Περιοχή (κωδικός INTEGER NOT NULL, τίτλος CHAR(50) NOT NULL, αριθμός_συνδρομητών INTEGER DEFAULT 0, PRIMARY KEY (κωδικός), UNIQUE (τίτλος), CHECK (αριθμός_συνδρομητών >= 0))
54
Γλώσσα Ορισμού Δεδομένων
Δημιουργία νέου πίνακα: CREATE TABLE Πρακτικά_Συνεδρίου (κωδικός INTEGER NOT NULL, συνέδριο VARCHAR(100) NOT NULL, ημερομηνία DATE NOT NULL, χώρα CHAR(20), κωδικός_εκδοτικού_οίκου INTEGER NOT NULL, PRIMARY KEY (κωδικός), FOREIGN KEY (κωδικός_εκδοτικού_οίκου) REFERENCES Εκδοτικός_Οίκος (κωδικός) ON DELETE CASCADE ON UPDATE CASCADE )
55
Γλώσσα Ορισμού Δεδομένων
Αλλαγή δομής πίνακα: ALTER TABLE Χρησιμοποιείται για: προσθήκη νέας στήλης στον πίνακα, διαγραφή υπάρχουσας στήλης, εισαγωγή νέου περιορισμού (constraint), κατάργηση περιορισμού, αλλαγή της αρχικής τιμής στήλης (default), κατάργηση αρχικής τιμής στήλης.
56
Γλώσσα Ορισμού Δεδομένων
Αλλαγή δομής πίνακα: Κατασκευή νέας στήλης ALTER TABLE Συνδρομητής ADD COLUMN ημερ/νία-γέννησης DATE NOT NULL Για την κατάργηση της στήλης ημερ/νία-γέννησης έχουμε: ALTER TABLE Συνδρομητής DROP COLUMN ημερ/νία-γέννησης
57
Γλώσσα Χειρισμού Δεδομένων
Εντολές: SELECT, για διατύπωση ερωτημάτων, INSERT, για εισαγωγή νέων δεδομένων, UPDATE, για ενημέρωση δεδομένων, και DELETE, για διαγραφή δεδομένων από τη ΒΔ,
58
Γλώσσα Χειρισμού Δεδομένων
SELECT: SELECT [DISTINCT] <λίστα στηλών> FROM <λίστα πινάκων> [WHERE συνθήκη] [GROUP BY <λίστα στηλών>] [HAVING συνθήκη] [ORDER BY <λίστα στηλών> [ASCENDING | DESCENDING]]
59
Γλώσσα Χειρισμού Δεδομένων
Παραδείγματα SELECT ``Να επιστραφούν όλες οι γραμμές του πίνακα Γνωστική_Περιοχή.'' SELECT * FROM Γνωστική_Περιοχή ή SELECT κωδικός, τίτλος, αριθμός_συνδρομητών
60
Γλώσσα Χειρισμού Δεδομένων
Παραδείγματα SELECT ``Να βρεθούν οι κωδικοί, τα ονόματα και οι αριθμοί πιστωτικών καρτών των συνδρομητών που βρίσκονται στην Ελλάδα, και τα αποτελέσματα να ταξινομηθούν αλφαβητικά ως προς το όνομα, και στη συνέχεια ως προς τον αριθμό πιστωτικής κάρτας.'' SELECT κωδικός, όνομα, ΑΠΚ FROM Συνδρομητής WHERE χώρα = `Ελλάδα' ORDER BY όνομα, ΑΠΚ
61
Γλώσσα Χειρισμού Δεδομένων
Παραδείγματα SELECT ``Να βρεθούν οι κωδικοί και τα ονόματα των συνδρομητών και οι τίτλοι των γνωστικών περιοχών για τις οποίες έχουν πληρώσει συνδρομή.'' SELECT Συνδρομητής.κωδικός, Συνδρομητής.όνομα, Γνωστική_Περιοχή.τίτλος FROM Συνδρομητής, Γνωστική_Περιοχή, Συνδρομή WHERE Συνδρομητής.κωδικός = Συνδρομή.κωδικός_συνδρομητή AND Συνδρομή.κωδικός_γνωστικής_περιοχής = Γνωστική_Περιοχή.κωδικός
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.