Σηµειώσεις Βάσεων εδοµένων

Σχετικά έγγραφα
Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων

Σχεδίαση Σχεσιακών ΒΔ

Θεωρία Κανονικοποίησης

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Μοντέλο Οντοτήτων-Συσχετίσεων

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στις Βάσεις Δεδομζνων II

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Εισαγωγή στην πληροφορική

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Μοντέλο Οντοτήτων-Συσχετίσεων

Βάσεις Δεδομένων (Databases)

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος

Μοντέλο Οντοτήτων-Συσχετίσεων

Αρχεία και Βάσεις Δεδομένων

Σχεδιασμός μιας Β : Βήματα

καλών σχεσιακών σχημάτων

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Σχεσιακό Μοντέλο Δεδομένων

Εισαγωγή. Σχεδιασµός µιας Β

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1

Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

#5. Σχεσιακό Μοντέλο

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Κανονικές Μορφές. Αποσύνθεση (decomposition)

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ


ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

Lecture 8: RM I + RA I

καλών σχεσιακών σχημάτων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

Σχεδιασµός Σχεσιακών Σχηµάτων

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

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Σχεδιασµός Σχεσιακών Σχηµάτων

SQL: Συναρτήσεις Συνάθροισης

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης. Το µοντέλο Οντοτήτων Συσχετίσεων Το Σχεσιακό Μοντέλο εδοµένων

Σχεσιακό Μοντέλο Δεδομένων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

Σχεδίαση Β.Δ. (Database Design)

Πληροφοριακά Συστήµατα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Μοντέλο Οντοτήτων-Συσχετίσεων

Το εσωτερικό ενός Σ Β

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Επεξεργασία Ερωτήσεων

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

Μοντέλο Οντοτήτων-Συσχετίσεων

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης

Κεφάλαιο 8. ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1

Μοντέλο Οντοτήτων-Συσχετίσεων

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εξεταστική Περίοδος Ιουνίου 2004

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Transcript:

Σηµειώσεις Βάσεων εδοµένων Επισκόπηση Σχεδίασης Β Γιάννης Θεοδωρίδης Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά http://isl.cs.unipi.gr/db/ version: 2007-05--07 Περιεχόµενα Εισαγωγή Μοντελοποίηση, Σχεδιασµός και Ανάπτυξη Β Σχεδιασµός Β Εννοιολογικός σχεδιασµός - το Μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship) Λογικός σχεδιασµός - το Σχεσιακό (Relational) Μοντέλο ησχεσιακήάλγεβρα 2 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 1

Περιεχόµενα Εισαγωγή Μοντελοποίηση, Σχεδιασµός και Ανάπτυξη Β Σχεδιασµός Β Εννοιολογικός σχεδιασµός - το Μοντέλο Οντοτήτων-Συσχετίσεων (Entity-Relationship) Λογικός σχεδιασµός - το Σχεσιακό (Relational) Μοντέλο ησχεσιακήάλγεβρα 3 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Ορισµοί (1) εδοµένα (data) Γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόηµα Βάση εδοµένων (database) Μία ολοκληρωµένη συλλογή δεδοµένων που συσχετίζονται αποθηκεύεται (συνήθως) σε δευτερεύουσα µνήµη Η Βάση εδοµένων αναπαριστά ένα υποσύνολο των στοιχείων που µπορούµε να συλλέξουµε για τον µικρόκοσµο (πεδίο αναφοράς) µιας εφαρµογής. 4 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 2

Ορισµοί (2) Σύστηµα ιαχείρισης Βάσεων εδοµένων (Σ Β ) (Database Management System - DBMS) Μια αυτοτελής συλλογή από τµήµατα λογισµικού (προγράµµατα) για τη δηµιουργία, επεξεργασία και συντήρηση βάσεων δεδοµένων. Σύστηµα Βάσεων εδοµένων (database system) Το λογισµικό (Σ Β ) µαζί µε τηβάση εδοµένων. 5 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Εργαλεία µοντέλων δεδοµένων Αφαιρετικά: Πραγµατικός κόσµος εδοµένα Μοντέλο Πέρα από την καταγραφή των δεδοµένων, χρειάζεται να τα οργανώσουµε / ερµηνεύσουµε / συσχετίσουµε Ένα ΜΟΝΤΕΛΟ Ε ΟΜΕΝΩΝ είναι ένα εργαλείο που επιτρέπει αυτή την ΑΦΑΙΡΕΣΗ (ανεξαρτήτως των συγκεκριµένων δεδοµένων) 6 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 3

Ερωτήσεις κατά τη µοντελοποίηση των δεδοµένων - Πώς πρέπει να µοντελοποιήσουµε αυτό τον µικρόκοσµο? - Ποιες είναι οι βασικές συνιστώσες του? - Τι γνωρίζουµε για αυτές? - Πώς πρέπει να οργανωθούν? - Πώς συσχετίζονται? - Ποιες πληροφορίες έχουν ενδιαφέρον? Ποιες είναι άσχετες? - Σε ποιον έχουν ενδιαφέρον? Για ποιο σκοπό? - Πόσο συχνά? - Κάτω από ποιες συνθήκες?... 7 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Σχεδίαση Β Η διαδικασία της σχεδίασης Β Μια επίπονη διαδικασία µετατροπής της γνώσης που έχουµε για έναν µικρόκοσµο σε µια Β που θα την διαχειρίζεται ένα Σ Β Για εννοιολογική διευκόλυνση της όλης διαδικασίας, αυτή διακρίνεται σε διαδοχικές αυτοτελείς διαδικασίες (φάσεις), κάθε µια των οποίων δηµιουργεί ενδιάµεσες περιγραφές. Συλλογή και Ανάλυση Απαιτήσεων (Requirements Collection and Analysis) Εννοιολογικός Σχεδιασµός Β (Conceptual Database Design) Λογικός Σχεδιασµός Β (Logical Database Design) Φυσικός Σχεδιασµός Β (Physical Database Design) 8 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 4

ιαδικασία σχεδίασης Β (1). Ανεξάρτητα του DBMS Εξαρτώµενο του επιλεγµένου DBMS Μικρόκοσµος (π.χ. µεσχεσιακό Μοντέλο) Λογικό Μοντέλο -- Σχήµατα / Όψεις Απαιτήσεις Β Εννοιολογικό Μοντέλο (Σχήµα) Συλλογή Απαιτήσεων και Ανάλυση Εννοιολογικός Σχεδιασµός (π.χ. µε µοντέλο E-R) E-R ιάγραµµα Λογικός Σχεδιασµός Βάση εδοµένων Φυσικός Σχεδιασµός Φυσικό Μοντέλο Εσωτερικό Σχήµα Πλήρωση Β 9 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης ιαδικασία σχεδίασης Β (2) Συλλογή και Ανάλυση Απαιτήσεων Η πρώτη φάση ανάπτυξης της Β είναι απαραίτητη για την «εξόρυξη» των απαιτήσεων για τη Β από περιγραφές του πραγµατικού µικρόκοσµου. Περιγραφές Μικρόκοσµου Απαιτήσεις της Βάσης Ηδιαδικασίαείναι«δύσκολη» (εννοιολογικά) και απαιτεί εµπειρία και επιχειρηµατική γνώση (συνήθως στηρίζεται σε συνεντεύξεις, ασαφείς και ηµιτελείς περιγραφές, κλπ.) 10 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 5

ιαδικασία σχεδίασης Β (3) Σχεδιασµός Σχεδιασµός είναι η διαδικασία δηµιουργίας του σχήµατος (schema) της Β χρησιµοποιώντας ένα επιλεγµένο Μοντέλο (σε κάποιο επίπεδο τηςόληςδιαδικασίας) Υπάρχουν 3 αυτοτελείς σχεδιασµοί που δηµιουργούν σχήµατα (περιγραφές) της Βάσης. Εννοιολογικός Σχεδιασµός (Conceptual Data Model) Λογικός Σχεδιασµός Φυσικός Σχεδιασµός (Logical Schema & External Schemas - Views) (Internal Schema) 11 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Εννοιολογικός Σχεδιασµός (Conceptual Modeling) Προσπάθεια για ξεκαθάρισµα των εννοιών Εύρεση και καταγραφή των Οντοτήτων της Β, των µεταξύ τους Συσχετίσεων καθώς και των Εννοιολογικών Κανόνων (semantic rules) που πρέπει να ικανοποιούν ΣΤΟΧΟΣ: Μια αφαιρετική, αλλά πλήρης περιγραφή του τµήµατος του µικρόκοσµού που θα αναπαρασταθεί στην βάση δεδοµένων. Αυτή η περιγραφή γίνεται µε τηχρήσηµιας ηµι-τυπικής σηµειογραφίας / συµβολισµού. 12 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 6

Παράδειγµα εννοιολογικού σχεδιασµού Μοντέλο οντοτήτων-συσχετίσεων (Entity-Relationship model ER) Τα υποκαταστήµατα (branches) ανοίγουν λογαριασµούς καταθέσεων (accounts) για τους καταθετικούς λογαριασµούς, ενδιαφερόµαστε να γνωρίζουµε κωδικόκαι υπόλοιπο γιαταυποκαταστήµατα, ενδιαφερόµαστε να γνωρίζουµε όνοµα, έδρα και αποθεµατικό 13 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Λογικός Σχεδιασµός Η διαδικασία µετατροπής ενός εννοιολογικού µοντέλου (διαισθητικής περιγραφής) σε τυπικά σχήµατα εκφρασµένα στο επιλεγέν (υποστηριζόµενο από το Σ Β ) µοντέλο δεδοµένο (π.χ. Σχεσιακό Μοντέλο) Μερικά σχήµατα, αν είναι καλά σχεδιασµένα, κάνουν ευκολότερη την υποβολή των ερωτήσεων. Μερικά σχήµατα, αν είναι καλά σχεδιασµένα, αποφεύγουν τους πλεονασµούς, τα προβλήµατα σε αλλαγές των δεδοµένων, κλπ. Θέµατα ακεραιότητας Β, κανονικοποίησης κλπ. 14 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 7

Παράδειγµα λογικού σχεδιασµού Το σχεσιακό µοντέλο (relational model) µας οδηγεί σε 2 σχέσεις-πίνακες: υποκαταστήµατα καταθετικοί λογαριασµοί 15 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Φυσικός Σχεδιασµός Η διαδικασία προδιαγραφών των αρχείων που υλοποιούν τον λογικό σχεδιασµό και των οργανώσεων αυτών, καθώς και των δοµών ευρετηρίων που αποτελούν το εσωτερικό σχήµα. ΣΤΟΧΟΙ: Απόδοση Υποστήριξη του Βελτιστοποιητή Συστήµατος 16 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 8

Παράδειγµα φυσικού σχεδιασµού ένα αρχείο για τον πίνακα account και ένα ευρετήριο πάνω στο πεδίο balance 17 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Αρχιτεκτονική 3 επιπέδων (ANSI/SPARC) ιεπαφή Χρήστη Εξωτερικό Σχήµα 1... Εξωτερικό Σχήµα n Database ιεπαφή Εσ.Σχ. Β Λογικό Σχήµα Εσωτερικό/Φυσικό Σχήµα ιεπαφή Εξ.Σχ. Λογ.Σχ. ιεπαφή Λογ.Σχ. Εσ.Σχ. Σ Β : υπεύθυνο για όλες τις ιεπαφές 18 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 9

Εργασία Κατεβάστε από το site του µαθήµατος και διαβάστε 2 κλασικά άρθρα του Codd για το Σχεσιακό µοντέλο (1970) του Chen για το E-R µοντέλο (1976) Σε 1-2 σελίδες καταγράψτε τα εξής: Ποια θεωρείτε τα πιο ισχυρά σηµεία του κάθε άρθρου (2-3 σηµεία) που αντέχουν µέχρι σήµερα; Ποια σηµεία θεωρείτε ξεπερασµένα µετά από τόσα χρόνια από τη συγγραφή τους; Παράδοση: σε 2 εβδοµάδες από σήµερα 19 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Περιεχόµενα Εισαγωγή Μοντελοποίηση, Σχεδιασµός και Ανάπτυξη Β Σχεδιασµός Β Εννοιολογικός σχεδιασµός - το Μοντέλο Οντοτήτων- Συσχετίσεων (Entity-Relationship) Λογικός σχεδιασµός - το Σχεσιακό (Relational) Μοντέλο η Σχεσιακή Άλγεβρα 20 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 10

Μοντέλο Οντοτήτων-Συσχετίσεων Το E-R (Entity-Relationship) µοντέλο προτάθηκε το 1976 από τον Peter P.-S. Chen An Entity-Relationship model toward a unified view of data, ACM TODS, 1(1):9-36, January 1976 ήταν ο «νικητής» µεταξύ αρκετών υποψηφίων (τη δεκαετία του 80) και έγινε αποδεκτό από τους ερευνητές και την αγορά για την απλότητα, σαφήνεια και γραφικό συµβολισµό που έχει. Το E-R µοντέλο είναι ένα µάλλον διαισθητικό µοντέλο που επιδιώκει να προσδιορίσει αφαιρετικά τις πληροφορίες που µια Β αποθηκεύει και οργανώνει. 21 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Παράδειγµα E-R 22 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 11

Συστατικά του E-R Μοντέλου (1) Υπάρχουν δυο βασικές εννοιολογικές έννοιες: Οντότητες Συγκεκριµένα αντικείµενα που υπάρχουν (ή πιστεύεται ότι υπάρχουν) και µπορούν να αναπαρασταθούν στην Β π.χ., οπελατησ Νίκος Νικολάου, το ΥΠΟΚΑΤΑΣΤΗΜΑ Οµόνοιας, το ΑΝΕΙΟ L-123,... Συσχετίσεις Είναι επίσης (ειδικά) αντικείµενα που αντιστοιχούν δύο ή περισσότερες ξεχωριστές οντότητες µε ένα συγκεκριµένο νόηµα (τυπικά, µια Συσχέτιση είναι ένα διατεταγµένο σύνολο οντοτήτων) π.χ.,. το δάνειο L-123 ΟΘΗΚΕαπότουποκατάστηµα Οµόνοιας κλπ. 23 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Συστατικά του E-R Μοντέλου (2) Οι Οντότητες µπορούν να έχουν χαρακτηριστικά (attributes) που είναι ιδιότητες που τα χαρακτηρίζουν π.χ. µια οντότητα ΠΕΛΑΤΗΣ έχει χαρακτηριστικά: όνοµα, διεύθυνση,... αλλά και οι Συσχετίσεις επιτρέπεται να έχουν χαρακτηριστικά π.χ. αν υπήρχε κύριος / δευτερεύων κάτοχος του λογαριασµού καταθέσεων, αυτή η πληροφορία θα αποτελούσε χαρακτηριστικό της συσχέτισης depositor 24 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 12

Συστατικά του E-R Μοντέλου (3) Τα πεδία τιµών (domains) είναι σύνολα τιµών για τα χαρακτηριστικά π.χ., INTEGERS FROM 0 to 10, κλπ. Είδη χαρακτηριστικών Απλά: µια οντότητα έχει ατοµική τιµή για αυτό π.χ., υπόλοιπο λογαριασµού Σύνθετα: το χαρακτηριστικό αποτελείται από 2 ή περισσότερα τµήµατα π.χ., διεύθυνση = { ρόµος, Αριθµός, ΤΚ, Πόλη, Χώρα} Πλειότιµα: το χαρακτηριστικό έχει πολλαπλές τιµές π.χ., τηλέφωνο(-α) ενός πελάτη 25 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης οµικοί περιορισµοί στο E-R µοντέλο (1) Ένας τύπος συσχέτισης έχει βαθµό (degree) Συσχέτιση µεταξύ 2 συνόλων οντοτήτων δυαδική (binary relationship) Συσχέτιση µεταξύ 3 συνόλων οντοτήτων τριαδική (ternary relationship) Συσχέτιση µεταξύ N συνόλων οντοτήτων Ν-αδική(N-ary relationship) Ο περιορισµός ύπαρξης ορίζει αν η συµµετοχή µιας οντότητας στον τύπο συσχέτισης είναι ολική (total) ή µερική (partial) π.χ., όλοι οι ΛΟΓΑΡΙΑΣΜΟΙ συµµετέχουν στον τύπο συσχέτισης depositor ολική συµµετοχή ενώ, στον ίδιο τύπο συσχέτισης δεν συµµετέχουν όλοι οι ΠΕΛΑΤΕΣ µερική συµµετοχή 26 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 13

οµικοί περιορισµοί στο E-R µοντέλο (2) Η πληθικότητα (cardinality) ενός τύπου συσχέτισης ορίζει το πόσες οντότητες από το πρώτο σύνολο οντοτήτων στην συσχέτιση µπορούν να συνδεθούν µε πόσεςοντότητεςαπότοδεύτεροσύνολοοντοτήτων π.χ. ο τύπος συσχέτισης account-branch είναι πολλά-προς-ένα περισσότεροι του ενός λογαριασµοί (µπορούν να) αντιστοιχούν σε κάποιο υποκατάστηµα ένα µόνο υποκατάστηµα αντιστοιχεί σε κάποιο λογαριασµό 27 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης οµικοί περιορισµοί στο E-R µοντέλο (3) Ιδιότητες των Χαρακτηριστικών Ένα χαρακτηριστικό (ή σύνολο χαρακτηριστικών) ενός τύπου οντοτήτων / συσχετίσεων για τον οποίο κάθε οντότητα / συσχέτιση στο σύνολο πρέπει να έχει µοναδική τιµή ονοµάζεται κλειδί (key). π.χ. ΑΦΜ του ΥΠΑΛΛΗΛΟΥ, {ΑΦΜ, ΟΝΟΜΑ} του ΥΠΑΛΛΗΛΟΥ, κλπ. υποψήφιο κλειδί (candidate key) ονοµάζεται ένα ελάχιστο (minimal) κλειδί (δηλαδή, κανένα υποσύνολο των χαρακτηριστικών του δεν είναι κλειδί) π.χ. ΑΦΜ είναι Υποψήφιο Κλειδί για τον ΥΠΑΛΛΗΛΟ, αλλά ο συνδυασµός {ΑΦΜ, ΟΝΟΜΑ} δεν είναι. Το κύριο κλειδί (primary key) είναι ένα από τα υποψήφια κλειδιά που ορίζεται σαν αναγνωριστής (identifier) για τον τύπο οντοτήτων / συσχετίσεων π.χ. ΑΦΜ είναι µια καλή επιλογή Κυρίου Κλειδιού στον τύπο οντοτήτων ΥΠΑΛΛΗΛΟΣ 28 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 14

Συµβολισµοί του E-R µοντέλου 29 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Συµβολισµοί του E-R µοντέλου (συν.) Εναλλακτικοί συµβολισµοί... 30 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 15

Επισκόπηση διαδικασίας σχεδίασης Β Ανεξάρτητα του Σ Β. Μικρόκοσµος Απαιτήσεις Β Εννοιολογικό Μοντέλο (Σχήµα) Συλλογή και Ανάλυση Απαιτήσεων Εννοιολογικός Σχεδιασµός E-R ιάγραµµα Μετά την χρήση ενός Εννοιολογικού Μοντέλου εδοµένων, όπως το E-R, ερχόµαστε σε ένα σηµείο όπου αρχίζει η εξάρτηση από το επιλεγέν Σ Β και πρέπει να γίνει η µετατροπή της «διαισθητικής» περιγραφής σε «τυπική», που να µπορεί να εκτελεστεί απότοσ Β. 31 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Λογικός Σχεδιασµός Σε αυτό το σηµείο ΕΠΙΛΕΓΟΥΜΕ το Μοντέλο εδοµένων που υποστηρίζεται από το Σ Β που έχουµε διαθέσιµο (ή θεωρούµε κατάλληλο).. Εξάρτηση από το επιλεγέν Σ Β Σχεσιακό Μοντέλο Λογικό Σχήµα και Εξωτερικές Όψεις Ο βασικός υποψήφιος είναι το Σχεσιακό Μοντέλο (άλλοι πιθανοί υποψήφιοι είναι το Object-Oriented ή τοηµι-δοµηµένο XML µοντέλο) Λογικός Σχεδιασµός Β Εννοιολογικό Σχήµα E-R διάγραµµα 32 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 16

Εισαγωγή στο Σχεσιακό Μοντέλο (1) ΟΜΕΣ: Σχέσεις (relations) µία µόνο οµή ΠΡΑΞΕΙΣ: Επεξεργασία των Σχέσεων ΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: λίγοι έµφυτοι, πολλοί ρητοί Αντιστοιχίες µε τοe-r Μοντέλο Σύνολο Οντοτήτων Τύπος Σχέσης (Relation) Οντότητα n-πλειάδα (Tuple) Χαρακτηριστικό Χαρακτηριστικό (Attribute) Τύπος Συσχέτισης Τύπος Σχέσης (Relation) Ένα ΑΠΛΟ µοντέλο µε ισχυρές(τυπικές) ρίζες 33 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Εισαγωγή στο Σχεσιακό Μοντέλο (2) Ένα Σχεσιακό Σχήµα (Relational schema) είναι ένα Σύνολο Σχέσεων (πινάκων) 34 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 17

Εισαγωγή στο Σχεσιακό Μοντέλο (3) Προτάθηκε το 1970 από τον E.F. Codd A relational model of data for large shared data banks, Communications of the ACM, 13(6):377-387, June 1970 ως Θεωρία για Μοντέλα εδοµένων Έδωσε έναυσµα για πολλές ερευνητικές προσπάθειες και κατέληξε να είναι το πλέον δηµοφιλές µοντέλο. Σήµερα, η συντριπτική πλειοψηφία των Σ Β είναι Σχεσιακά και διατίθενται σε όλες τις υπολογιστικές πλατφόρµες. 35 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Τυπικοί ορισµοί (1) Ένα πεδίο τιµών (domain) D είναι ένα σύνολο τιµών D= {d 1, d 2,..., d n } Ένα χαρακτηριστικό (attribute) A ονοµατίζει µια (ενδιαφέρουσα) ιδιότητα σε µία Σχέση και παίρνει τιµέςαπότοαντίστοιχοπεδίοτιµών D(A). Συµβολισµός: R.A ή R[A], όπου R είναι το όνοµα της Σχέσης Μια πλειάδα (tuple) t µιας Σχέσης R(A 1, A 2,..., A n ) είναι µια (διατεταγµένη) λίστα τιµών t = <v 1, v 2,..., v n >, όπου κάθε τιµή v i είναι ένα στοιχείο του πεδίου D(A i ). customer-name Jones Smith Curry Lindsay customer-street Main North North Park customer customer-city Harrison Rye Rye Pittsfield χαρακτηριστικά (ή στήλες) πλειάδες (ή γραµµές) 36 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 18

Τυπικοί ορισµοί (2) Ένα Σχεσιακό Σχήµα (relational schema) R είναι το όνοµακαιταχαρακτηριστικάσε µια Σχέση, µαζί µε τααντίστοιχαπεδίατιµών για τα χαρακτηριστικά. Όταν είναι προφανές, τα πεδία τιµών παραλείπονται. Συµβολισµός: R(A 1, A 2,... An) Ο βαθµός (degree) n µιας Σχέσης R είναι ο αριθµός των χαρακτηριστικών στην Σχέση Η πληθικότητα (cardinality) της R, CARD R, είναι ο αριθµόςτωνπλειάδωνστηr(r) Ένα στιγµιότυπο σχέσης (relation instance), r(r), ήπιοαπλά, σχέση (relation), είναι ένα σύνολο πλειάδων r(r) = { t 1, t 2,..., t k } εναλλακτικά, είναι ένα υποσύνολο του Καρτεσιανού Γινοµένου των πεδίων τιµών των χαρακτηριστικών r(r) D(A 1 ) x D(A 2 ) x... x D(A n ) Ένα Σχήµα Βάσης εδοµένων (database schema) S είναι ένα σύνολο Σχέσεων. Συµβολισµός: S = {R 1, R 2,..., R m } 37 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Χαρακτηριστικά των Σχέσεων Η διάταξη των χαρακτηριστικών σε µια σχέση έχει σηµασία Η διάταξη των πλειάδων σε µια σχέση δεν έχει σηµασία Κάθε πλειάδα αποθηκεύεται µία φορά σε µια σχέση (η σχέση αποτελεί σύνολο πλειάδων) Μια τιµή µπορεί να παρουσιάζεται πολλές φορές σε µια στήλη και είναι ατοµική (µη διασπάσιµη) Συµβολισµός: τιµή γνωρίσµατος για µια πλειάδα t, t[a i ] = v i 38 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 19

οµικοί περιορισµοί Υπάρχουν τρία είδη περιορισµών που είναι έµφυτοι στο µοντέλο: Περιορισµοί κλειδιών Περιορισµοί ακεραιότητας οντότητας (entity integrity) Περιορισµοί αναφορικής ακεραιότητας (referential integrity) Υπάρχουν τρία είδη ρητών περιορισµών: Περιορισµοί πεδίου τιµών Περιορισµοί στηλών Περιορισµοί οριζόµενοιαπότοχρήστη(user-defined) κάποιοι άλλοι ρητοί περιορισµοί, π.χ. οι Συναρτησιακές Εξαρτήσεις (functional dependencies) θα αναφερθούν αργότερα 39 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Έµφυτοι δοµικοί περιορισµοί (1) Περιορισµοί Κλειδιών: Τα διαφορετικά κλειδιά, όπως ορίστηκαν στο µοντέλο Ε-R, ισχύουν και στο Σχεσιακό Μοντέλο. Ένα σύνολο χαρακτηριστικών SK σχήµατος σχέσης R για το οποίο κάθε πλειάδα σε στιγµιότυπο r(r) πρέπει να έχει µοναδιαία τιµή είναι ένα υπέρ-κλειδί (superkey). ηλαδή, για διαφορετικά t 1 και t 2, ισχύει t 1 [SK] t 2 [SK] π.χ., {account-number}, {account-number, branch-name} Ένα υποψήφιο κλειδί (candidate key) K είναι ένα ελάχιστο υπέρ-κλειδί (δηλαδή, δεν υπάρχει υποσύνολο του K που να είναι και αυτό υπέρ-κλειδί). Το Κ ονοµάζεται συνήθως κλειδί (key) π.χ., {account-number} αλλά όχι {account-number, branch-name} Ένα κύριο κλειδί (primary key) PK είναι ένα από τα υποψήφια κλειδιά που συµφωνείται να παίξει το ρόλο του προσδιοριστή για τις πλειάδες της σχέσης 40 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 20

Έµφυτοι δοµικοί περιορισµοί (2) Ακεραιότητα οντότητας (entity integrity): Το κύριο κλειδί PK στο σχήµα της σχέσης R δεν µπορεί να έχει κενές (null) τιµές σε πλειάδες µιας σχέσης r(r). t[pk] NULL, για κάθε t στην r(r) Ο λόγος πίσω από αυτό τον περιορισµό είναιότιτοκύριο κλειδί χρησιµοποιείται για τον προσδιορισµό µιαςπλειάδαςσε µια Σχέση. Προσοχή: και άλλα χαρακτηριστικά στην R µπορεί να έχουν αντίστοιχο περιορισµό (αλλά ένας τέτοιος περιορισµός είναι ρητός). 41 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Έµφυτοι δοµικοί περιορισµοί (3) Αναφορική ακεραιότητα (referential integrity): Αυτός ο δοµικός περιορισµός εµπλέκει δύο σχέσεις και χρησιµοποιείται για να καταγράψει τη συνέπεια σε µια συσχέτιση µεταξύ πλειάδων των δυο σχέσεων. Η πλέον συνήθης µορφή είναι αυτή των ξένων κλειδιών. Ένα ξένο κλειδί (foreign key) FK είναι ένα σύνολο χαρακτηριστικών σε µια σχέση R 1 που αποτελεί κύριο κλειδί σε µια άλλη σχέση R 2. Μια πλειάδα t 1 στην r(r 1 ) λέγεται ότι αναφέρεται σε µια άλλη πλειάδα t 2 στην r(r 2 ), εάν: t 1 [FK] = t 2 [PK] π.χ., για την σχέση Account το χαρακτηριστικό branch-name αποτελεί ξένο κλειδί (καθώς είναι το κύριο κλειδί στην σχέση Branch). 42 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 21

Ρητοί περιορισµοί Περιορισµοί Πεδίου Τιµών: Είναι οι κανόνες που ορίζονται για το πεδίο τιµών και κληρονοµούνται από τις στήλες (χαρακτηριστικά) που παίρνουν τιµές από το πεδίο. Το πεδίο µπορεί να οριστεί µαζί µε κανόνες ακεραιότητας (π.χ., το πεδίο των integers µε όλους τους κανόνες για ακέραιους). Περιορισµοί Στηλών: Είναι επιπρόσθετοι των περιορισµών πεδίου τιµών και αναφέρονται στις τιµές για τα χαρακτηριστικά. π.χ., integers between 1 and 10. Περιορισµοί οριζόµενοι απότοχρήστη: Κάθε περιορισµός ακεραιότητας, πέραν αυτών που έχουν ήδη αναφερθεί, καλείται user-defined. Για την υποστήριξη επιχειρηµατικών κανόνων, απαιτούνται περιορισµοί ακεραιότητας µε σηµαντική πολυπλοκότητα. Προσδιορίζονται είτε διαδικαστικά ή δηλωτικά (κατά προτίµηση) stored procedures, triggers 43 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Παράδειγµα trigger Ας υποθέσουµε πως αντί να επιτρέπει αρνητικά υπόλοιπα στους λογαριασµούς, η τράπεζααντιµετωπίζει τις υπεραναλήψεις (overdrafts) ως εξής: Θέτει το υπόλοιπο του λογαριασµού στο µηδέν ηµιουργεί ένα δάνειο µε το ακάλυπτο ποσό ίνει στο δάνειο έναν αριθµό δανείουπαρόµοιο µε τοναριθµό λογαριασµού από τον οποίο προέρχεται το ακάλυπτο ποσό. Η συνθήκη"πυροδότησης" του trigger είναι κάποια ενηµέρωση στη σχέση account που οδηγεί σε αρνητικό υπόλοιπο. 44 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 22

Παράδειγµα trigger (SQL:1999) create trigger overdraft-trigger after update on account referencing new row as nrow for each row when nrow.balance < 0 begin atomic insert into borrower (select customer-name, account-number from depositor where nrow.account-number = depositor.account-number); insert into loan values (nrow.account-number, nrow.branch-name, nrow.balance); update account set balance = 0 where account.account-number = nrow.account-number end 45 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Συναρτησιακές εξαρτήσεις Μια συναρτησιακή εξάρτηση (functional dependency) X Y ισχύει για τη Σχέση R εάν, για κάθε πλειάδα r της R: t 1 r, t 2 r, π X (t 1 ) = π X (t 2 ) π Y (t 1 ) = π Y (t 2 ) δηλαδή, αν ταυτίζονται οι τιµές δύο πλειάδων στο χαρακτηριστικό (ή σύνολο χαρακτηριστικών) X θα πρέπει να ταυτίζονται και στο Y Εάν Κ είναι υποψήφιο κλειδί για την R τότε ισχύει ότι K R αυτό δε σηµαίνει όµως ότι το Κ είναι ελάχιστο (minimal) Αξιώµατα του Armstrong (X, Y, Z είναι σύνολα χαρακτηριστικών) Ανακλαστική ιδιότητα (reflexivity): if X Y then X Y Επαυξητική ιδιότητα (augmentation): if X Y then XZ YZ for any Z Μεταβατική ιδιότητα (transitivity): if X Y and Y Z then X Z 46 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 23

Κανονικές Μορφές (1) Ο ρόλος των συναρτησιακών εξαρτήσεων στην ανίχνευση πλεονασµών Αν δεν υπάρχουν συναρτησιακές εξαρτήσεις µεταξύ των χαρακτηριστικών µιας σχέσης τότε δεν υπάρχει πλεονασµός (redundancy) Αν αντίθετα ισχύει π.χ. A B, τότε οι πλειάδες µε τηνίδιατιµή στοα, υποχρεωτικάθαέχουνίδιατιµή στοb. Στην περίπτωση αυτή, ενδεχοµένως υπάρχει πλεονασµός. Παράδειγµα πλεονασµού: Στόχος της κανονικοποίησης: να φέρουµε το σχήµα Β σε µια τέτοια κανονική µορφή (normal form -- BCNF, 3NF, ) ώστε να αποφεύγονται ή τουλάχιστον να ελαχιστοποιούνται προβλήµατα ασυνέπειας, πλεονασµού κλπ. που µπορεί να προκύψουν 47 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Κανονικές Μορφές (2) Boyce-Codd Normal Form (BCNF) ΗΣχέσηR είναι σε BCNF εάν για όλες τις συναρτησιακές εξαρτήσεις X Y, ισχύει ένα από τα εξής: είτε Υ Χ (τετριµµένη περίπτωση) ή X περιέχει το κλειδί της R ηλαδή, δεν πρέπει ένα χαρακτηριστικό να έχει συναρτησιακή εξάρτηση από ένα άλλο χαρακτηριστικό που δεν είναι (ή περιέχει) το κλειδί Με άλλα λόγια, οι µόνες συναρτησιακές εξαρτήσεις που επιτρέπονται είναι οι περιορισµοί κλειδιού 48 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 24

Κανονικές Μορφές (3) Παράδειγµα αποσύνθεσηςbcnf R = (branch-name, branch-city, assets, customer-name, loan-number, amount) συναρτησιακές εξαρτήσεις: branch-name assets, branch-city loan-number amount, branch-name Αποσύνθεση R 1 = (branch-name, branch-city, assets) R 2 = (branch-name, loan-number, amount) R 3 = (customer-name, loan-number) 49 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Κανονικές Μορφές (4) 3 rd Normal Form (3NF) ΗΣχέσηR είναι σε 3NF εάν για όλες τις συναρτησιακές εξαρτήσεις X Y, ισχύει ένα από τα εξής: είτε Υ Χ (τετριµµένη περίπτωση) ή X περιέχει το κλειδί της R ή Y είναι µέρος του κλειδιού της R Εάν µία Σχέση είναι σε BCNF τότε είναι και σε 3NF Εάν µια Σχέση είναι σε 3NF τότε µπορεί να εµφανιστεί πλεονασµός. Συµβιβαζόµαστε όµως µε αυτό σε περίπτωση που δεν µπορούµε/θέλουµε να πετύχουµε BCNF (άσχηµη αποσύνθεση, θέµατα επίδοσης κλπ.) 50 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 25

Πράξεις στο Σχεσιακό Μοντέλο Οι πράξεις στο ΣΜ διαχωρίζονται σε ενηµερώσεις και ανακτήσεις Το σύνολο των πράξεων στο ΣΜ είναι κλειστό, δηλαδή οι πράξεις ορίζονται πάνω σε Σχέσεις και έχουν ως αποτέλεσµα νέες Σχέσεις Ενηµερώσεις σε Σχέσεις Εισαγωγή (INSERT) πλειάδας ιαγραφή (DELETE) πλειάδας Τροποποίηση (UPDATE) πλειάδας Οι περιορισµοί ακεραιότητας δεν πρέπει να παραβιάζονται µε την εκτέλεση µιαςπράξηςενηµέρωσης. Για αυτό, µπορεί είτε να απορρίπτονται ενηµερώσεις ή να διορθώνεται ηπαραβίασητου περιορισµού µε την εκτέλεση νέων (επιπλέον) ενηµερώσεων. π.χ., όταν διαγράφεται µια πλειάδα του EMPLOYEE, διαγράφονται (αυτόµατα) όλες οι πλειάδες στην WORKING_ON που έχουν την ίδια τιµή στοssn (ανύπαρκτοι υπάλληλοι δεν δουλεύουν σε έργα!) 51 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Πράξεις ανάκτησης Υπάρχουν δύο βασικές οµάδες πράξεων ανάκτησης, που βασίζονται σε: Σχεσιακή Άλγεβρα (relational algebra) διαδικαστικού τύπου, προσδιορίζει πώς υπολογίζεται το αποτέλεσµα Σχεσιακό Λογισµό (relational calculus) δηλωτικού τύπου, προσδιορίζει ποιες ιδιότητες πρέπει να πληροί το αποτέλεσµα Κανένα σχεσιακό Σ Β δεν υποστηρίζει τις δύο κατηγορίες γλωσσών στην πλήρη θεωρητική µορφή τους (για λόγους ευκολίας χρήσης κλπ.). Όµως, οι γλώσσες που έχουν ενσωµατωθεί στα Σ Β (π.χ. SQL) έχουν τις ρίζες τους είτε στην Σχεσιακή Άλγεβρα ή στον Σχεσιακό Λογισµό. 52 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 26

Σχεσιακή Άλγεβρα Ένα σύνολο τελεστών που ενεργούν σε Σχέσεις και έχουν σαν αποτέλεσµα Σχέσεις(η Άλγεβρα είναι κλειστή). Οι τελεστές, όπως και στην αριθµητική άλγεβρα, µπορεί να είναι εµφωλευµένοι (nested), εφόσον το αποτέλεσµα κάθε πράξης είναι µια Σχέση Υπάρχουν δύο είδη τελεστών / πράξεων: κλασσικές πράξεις θεωρίας συνόλων ένωση, τοµή, διαφορά, καρτεσιανό γινόµενο,... εξειδικευµένες για βάσεις δεδοµένων προβολή, επιλογή, σύνδεση,... 53 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Σχεσιακή Άλγεβρα Πράξεις Κλασσικές πράξεις θεωρίας συνόλων: Ένωση: Ένωσε όλες τις πλειάδες των δύο Σχέσεων σε µια Σχέση R S = { t t is in R or t is in S } Τοµή: Βάλε όλες τις κοινές πλειάδες των δύο Σχέσεων σε µια Σχέση R S = { t t is in R and t is in S } ιαφορά: Επέλεξε τις πλειάδες της πρώτης Σχέσης, που δεν ανήκουν στη δεύτερη Σχέση R S = { t t is in R and t is not in S } Καρτεσιανό Γινόµενο: Συνδύασε τις πλειάδες της µιας Σχέσης µεκάθε πλειάδα της άλλης R Χ S = { t t is the concatenation of a Tuple in R with a Tuple in S } 54 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 27

Σχεσιακή Άλγεβρα - Επιλογή Επιλογή (selection - σ): Επέλεξε τις πλειάδες µιας Σχέσης R που πληρούν κάποια συνθήκη c η συνθήκη είναι µια λογική παράσταση στα χαρακτηριστικά της R το αποτέλεσµα είναιµια Σχέση, οριζόντιο υποσύνολο της R σ c (R) = { t t is in r(r) and condition c holds for t } Η πράξη της επιλογής είναι αντιµεταθετική και προσεταιριστική: σ c1 ( σ c2 (R) ) = σ c2 ( σ c1 (R) ) σ c1 ( σ c2 (R) ) = σ c1 AND c2 (R) = σ c1, c2 (R) σ c1 ( σ c2 ( σ c3 (R) ) ) = σ c2 ( σ c3 ( σ c1 (R) ) ) 55 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Σχεσιακή Άλγεβρα - Προβολή Προβολή (projection - π): ιατήρησε στο αποτέλεσµα µόνο µερικά χαρακτηριστικά της R (που προσδιορίζονται από µια λίστα L) το αποτέλεσµα είναιµια Σχέση, κάθετο υποσύνολο της R π L (R) = { t[l] t is in r(r) and L R } Επειδή µια Σχέση είναι σύνολο, µπορεί να διαγραφούν και πλειάδες στο τελικό αποτέλεσµα της προβολής, δηλαδή CARD(π L (R)) CARD(R) 56 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 28

Σχεσιακή Άλγεβρα Σύνδεση (1) Υπάρχουν πολλές µορφές σύνδεσης όλες συνδυάζουν δύο Σχέσεις για την δηµιουργία µιας τρίτης (Θήτα-) σύνδεση ((theta) join) ισοσύνδεση (equality join) φυσική σύνδεση (natural join) ηµι-σύνδεση (semi-join) εξωτερική σύνδεση (outer join) 57 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Σχεσιακή Άλγεβρα Σύνδεση (2) 58 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 29

Σχεσιακή Άλγεβρα Σύνδεση (3) (Θήτα-) Σύνδεση: Συνδυασµός των πλειάδων δύο Σχέσεων που «ταιριάζουν» (δηλαδή, πληρούν κάποια Boolean συνθήκη c) σε κάποια προσδιοριζόµενα χαρακτηριστικά R C S Μια Θήτα-Σύνδεση είναι ισοδύναµη ενός Καρτεσιανού γινοµένου που ακολουθείται από µια επιλογή µε συνθήκηc. R C S = σ C (R S) ΗΣχέση αποτέλεσµα έχειόλατα χαρακτηριστικά της R και της S Ισο-σύνδεση: Συνδυασµός των πλειάδων δύο Σχέσεων που «ταιριάζουν» (έχουν την ίδια τιµή) σε κάποια χαρακτηριστικά Ειδική περίπτωση της Θ-Σύνδεσης όπου η συνθήκη c είναι ισότητα. 59 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Σχεσιακή Άλγεβρα Σύνδεση (4) Φυσική σύνδεση: Συνδυασµός των πλειάδων δύο Σχέσεων που «ταιριάζουν» (έχουν την ίδια τιµή) σε όλατακοινά χαρακτηριστικά R S Ειδική περίπτωση της ισο-σύνδεσης. ΗΣχέση αποτέλεσµα έχειτακοινά χαρακτηριστικά µόνο µία φορά Ηµι-σύνδεση: Επιλογή του υποσυνόλου µιας Σχέσης που συνδέεται µε µια άλλη R C S ισοδύναµη µε µια σύνδεση ακολουθούµενη από µια προβολή. R C S = π L (R C S) L: τα χαρακτηριστικά της R 60 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 30

Σχεσιακή Άλγεβρα Σύνδεση (5) Εξωτερική σύνδεση: Συνδύασε πλειάδες δύο Σχέσεων που «ταιριάζουν», εµφανίζοντας όµως και τις µη «ταιριαστές» πλειάδες µε τιµές null στα χαρακτηριστικά της άλλης Σχέσης Κίνητρο: Σε µια τυπική σύνδεση, οι µη «ταιριαστές» πλειάδες των δύο σχέσεων δεν παρουσιάζονται στο αποτέλεσµα Υπάρχουν παραλλαγές: Left outer join (παρουσιάζονται όλες οι πλειάδες στην R), Right outer join (παρουσιάζονται όλες οι πλειάδες στην S), Full outer join (παρουσιάζονται όλες οι πλειάδες στην R και την S) 61 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Σχόλια πάνω στη Σχεσιακή Άλγεβρα (1) Πλήρες σύνολο πράξεων Το σύνολο των πράξεων {σ, π,,, } ονοµάζεται πλήρες σύνολο πράξεων της Σχεσιακής Άλγεβρας. Η επαγωγή είναι ότι όλες οι άλλες πράξεις µπορεί να περιγραφούν ως µια ακολουθία πράξεων από το σύνολο αυτό Για παράδειγµα, η σύνδεση περιγράφεται ως: R C S = σ C (R S) Υπάρχουν αρκετοί συνδυασµοί πράξεων που συγκροτούν ένα πλήρες σύνολο πράξεων. Κάθε γλώσσα ερωτήσεων ισοδύναµη µε ένα πλήρες σύνολο πράξεων ονοµάζεται σχεσιακά πλήρης (relationally complete) 62 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 31

Σχόλια πάνω στη Σχεσιακή Άλγεβρα (2) Ένας ενδιαφέρων τελεστής που ξεπερνά την εκφραστική δύναµη των σχεσιακών πράξεων, όπως έχουν ορισθεί από τον Codd - είναι η αναδροµική κλειστότητα (transitive closure). Αυτή είναι πολύ χρήσιµη πράξη σε Σχεσιακές Βάσεις. Αναδροµική κλειστότητα: Είναι µια αναδροµική συσχέτιση µεταξύ πλειάδων του ιδίου τύπου π.χ. Υπάλληλος Προϊστάµενος Υπάλληλος (employee supervisor), Ανταλλακτικό Τµήµα ανταλλακτικού (part sub-part), κλπ. Κλασικές Ερωτήσεις: Περιπλανώµενος Πωλητής (από πόλη σε πόλη µέσω πόλεων), Προϊστάµενοι σε όλα τα επίπεδα ενός Υπαλλήλου,... Ηπράξηαυτήδεν υποστηρίζεται στην Σχεσιακή Άλγεβρα Υπάρχουν γλώσσες ερωτήσεων που την υποστηρίζουν (π.χ. Query By Example QBE) 63 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Εργασία Κατεβάστε από το site του µαθήµατος και διαβάστε άλλα 2 κλασικά άρθρα των Astrahan et al. για το System R (1976) των Stonebraker et al. για το Ingres (1976) Σε 1-2 σελίδες καταγράψτε τα εξής: Ποια θεωρείτε τα πιο ισχυρά σηµεία του κάθε άρθρου (2-3 σηµεία) που αντέχουν µέχρι σήµερα; Ποια σηµεία θεωρείτε ξεπερασµένα µετά από τόσα χρόνια από τη συγγραφή τους; Παράδοση: σε 2 εβδοµάδες από σήµερα 64 ΠΑ.ΠΕΙ. - Γιάννης Θεοδωρίδης Page 32