ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Διδάσκουσα: Μαρία Χαλκίδη. Βάσεις Δεδομένων, Παν. Πειραιώς

Σχετικά έγγραφα
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Διδάσκουσα: Μαρία Χαλκίδη. Βάσεις Δεδομένων, Παν. Πειραιώς

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

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

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

Μετατροπή Ο/Σ σε Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

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

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

Σχεδιασμός Βάσεων Δεδομένων

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

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

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

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

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

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

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

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

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

Διαχείριση Πολιτισμικών Δεδομένων

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

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

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

Διαχείριση Δεδομένων

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

Διάγραμμα Οντοτήτων - Συσχετίσεων

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

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

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης

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

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

1.1. Βάσεις δεδομένων

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

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

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

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

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

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

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

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

Σχεδιασμός Βάσεων Δεδομένων

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Από το ΔΟΣ στη Σχεσιακή Β.Δ.

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

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

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

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

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

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Επισκόπηση Μαθήµατος

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης 2006 Ρ.Κορακίτης, Β.Βεσκούκης, Θ.Καραλόπουλος, Γ.Πανόπουλος

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

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

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

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

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

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

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

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

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

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

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

Transcript:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκουσα: Μαρία Χαλκίδη Βάσεις Δεδομένων, Παν. Πειραιώς

ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Δομές αποθήκευσης και αρχείων - Ευρετήρια Επεξεργασία ερωτημάτων Βελτιστοποίηση ερωτημάτων Διαχείριση Δοσοληψιών Δοσοληψίες Συστήματα αποκατάστασης Έλεγχος Συγχρονικότητας

Επικοινωνία Ιστοσελίδα μαθήματος: http://evdoxos.ds.unipi.gr/courses/ds101/ Θέματα και υλικό σχετικά με το μάθημα ΔΙΑΛΕΞΕΙΣ ΑΝΑΚΟΙΝΩΣΕΙΣ ΑΣΚΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟ

Συγγράμματα Συστήματα Διαχείρισης Βάσεων Δεδομένων, 3η Έκδοση, Ramakrishnan Raghu, Gehrke Joahannes Συστήματα Βάσεων Δεδομένων 6η Έκδοση, Abraham Silberschatz,Henry F. Korth,S. Sudarshan

Αξιολόγηση μαθήματος Βαθμολογία Ασκήσεις (Α) 30% Εξέταση (Ε) 80%

Ανασκόπηση των βασικών εννοιών των Βάσεων Δεδομένων Μάθημα 1 ο Βάσεις Δεδομένων, Παν. Πειραιώς

Δεδομένα (Data): Βασικοί ορισμοί Γνωστά γεγονότα που μπορούν να καταγραφούν και έχουν κάποια υπονοούμενη σημασία Βάση δεδομένων (Database): Μια συλλογή σχετιζόμενων δεδομένων Σύστημα διαχείρισης βάσεων δεδομένων (DBMS): Ένα πακέτο λογισμικού που επιτρέπει τη δημιουργία, τη χρήση και τη συντήρηση μιας βάσης δεδομένων

Γιατί όχι Αρχεία (1) Μειονεκτήματα της χρήσης αρχείων Πλεονασμός δεδομένων (redundancy) και ασυνέπεια(inconsistency) Πολλαπλές μορφές αρχείων, εμφάνιση της πληροφορίας σε διαφορετικά αρχεία Δυσκολία στην προσπέλαση δεδομένων Ανάγκη νέου προγράμματος για κάθε νέα εργασία Απομόνωση δεδομένων Τα δεδομένα βρίσκονται σε πολλά αρχεία με διαφορετικές μορφές Προβλήματα ακεραιότητας Περιορισμοί ακεραιότητας γίνονται μέρος του κώδικα Π.χ. Υπόλοιπο λογαριασμού > 0 Δύσκολο να προστεθούν ή να αλλάξουν οι περιορισμοί

Γιατί όχι Αρχεία (2) Ατομικότητα ενημερώσεων Π.χ. Μεταφορά σε λογαριασμό Όταν εκτελείται μέρος των ενημερώσεων, τα δεδομένα μπορεί να είναι ασυνεπή Ταυτόχρονη προσπέλαση από πολλαπλούς χρήστες Μπορεί να οδηγήσει σε ασυνέπειες Προβλήματα ασφάλειας Π.χ. Ταυτόχρονη ανάγνωση υπολοίπου λογαριασμού και ανάληψη

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

Βασικές έννοιες, λειτουργίες ενός ΣΔΒΔ Άλλα χαρακτηριστικά Μέτρα προστασίας και ασφάλειας, ώστε να αποτραπεί η μη εξουσιοδοτημένη πρόσβαση Παρουσίαση και οπτικοποίηση των δεδομένων

Σύστημα Διαχείρισης Βάσεων Δεδομένων

Η Αρχιτεκτονική Τριών Επιπέδων ενός ΣΔΒΔ Εξωτερική Όψη 1 Εξωτερική Όψη n Περιγράφει τα αποθηκευμένα δεδομένα με βάση το μοντέλο δεδομένων Εννοιολογικό Σχήμα Φυσικό Σχήμα Απεικόνιση Απεικόνιση Περιγράφει λεπτομέρειες σχετικά με την αποθήκευση και τους τρόπους προσπέλασης Πως οι σχέσεις αποθηκεύονται στο δίσκο, ευρετήρια, κλπ

Διαδικασία σχεδίασης ΒΔ Σχεδίαση ΒΔ µετατροπής της γνώσης που έχουµε για το µικρόκοσµο σε µια Β που θα την διαχειρίζεται ένα Σ Β Η διαδικασία διακρίνεται σε διαδοχικές αυτοτελείς διαδικασίες (φάσεις), κάθε µια εκ των οποίων δηµιουργεί ενδιάµεσες περιγραφές. Συλλογή και Ανάλυση Απαιτήσεων (Requirements Collection and Analysis) Εννοιολογικός Σχεδιασµός ΒΔ (Conceptual Database Design) Λογικός Σχεδιασµός ΒΔ (Logical Database Design) Φυσικός Σχεδιασµός ΒΔ (Physical Database Design)

Εισαγωγή - Σχεδιασμός μιας εφαρμογής ΒΔ 1. Συλλογή και Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Λειτουργικές απαιτήσεις (εδώ μας ενδιαφέρουν πράξεις πάνω στη ΒΔ) 2. Εννοιολογικός Σχεδιασμός/Μοντελοποίηση Υψηλού-επιπέδου περιγραφή: Δεδομένα (οντότητες και συσχετίσεις) που θα αποθηκευτούν στη ΒΔ Τι είδους πληροφορία θα αποθηκεύσουμε για τα δεδομένα Περιορισμοί (integrity constraints) Σχήμα ΒΔ χρήση μοντέλου Ο/Σ

Εισαγωγή- Σχεδιασμός μιας ΒΔ: Βήματα 3. Λογικός Σχεδιασμός (ή Απεικόνιση των Μοντέλων Δεδομένων) Επιλογή ενός ΣΔΒΔ για την υλοποίηση του σχεδιασμού Μετατροπή του εννοιολογικού σχεδιασμού σε ένα σχήμα στο μοντέλο δεδομένων του επιλεγμένου ΣΔΒΔ (επίσης κανονικοποίηση, π.χ., έλεγχοι πλεονασμού) χρήση σχεσιακού μοντέλου 4. Φυσικός Σχεδιασμός Οι εσωτερικές δομές αποθήκευσης και οργανώσεις αρχείων Η διαδικασία προδιαγραφών των αρχείων που υλοποιούν τον λογικό σχεδιασµό και των οργανώσεων αυτών, καθώς και των δοµών ευρετηρίων που αποτελούν το εσωτερικό σχήµα.

Εννοιολογικός σχεδιασμός Στο στάδιο αυτό χρησιμοποιείται το μοντέλο Οντοτήτων-Συσχετίσεων (Ο-Σ) Ποιες είναι οι οντότητες και οι συσχετίσεις σ έναν οργανισμό Τι πληροφορία για αυτές τις οντότητες και τις συσχετίσεις πρέπει να αποθηκεύσουμε σε μία ΒΔ? Ποιοι είναι οι περιορισμοί ακεραιότητας ή επιχειρησιακοί κανόνες που ισχύουν? Ένα σχήμα ΒΔ στο Μοντέλο Ο-Σ μπορεί να αναπαρασταθεί διαγραμματικά. Μπορούμε να απεικονίσουμε ένα Ο-Σ μοντέλο σε σχεσιακό σχήμα.

Μοντελοποίηση ΒΔ Μία βάση δεδομένων μοντελοποιείται ως: Μία συλλογή από οντότητες, Συσχετίσεις ανάμεσα σε οντότητες.

Παράδειγμα Βάσης Δεδομένων (1) Φοιτητής Όνομα Αρ. Μητρώου Έτος Δηλώνει Μάθημα Κωδικός Όνομα Εξάμηνο

Οντότητα (Entity) Αντικείμενο με φυσική ύπαρξη Π.χ. άνθρωπος, αυτοκίνητο, σπίτι, εργαζόμενος Αντικείμενο ιδεατά υπαρκτό Π.χ. εταιρεία, εργασία, μάθημα Μια οντότητα μπορεί να έχει πολλά στιγμιότυπα Έχει συγκεκριμένες ιδιότητες που λέγονται γνωρίσματα/χαρακτηριστικά (attributes) Μια συγκεκριμένη οντότητα έχει μία τιμή για κάθε γνώρισμά της

Γνωρίσματα / Χαρακτηριστικά Αποτελεί την περιγραφή μιας ιδιότητας που έχει μια οντότητα Ένα υποσύνολο των γνωρισμάτων χρησιμοποιείται ως αναγνωριστικό ή κλειδί (key) Μια οντότητα μπορεί να έχει περισσότερα από ένα κλειδιά Ένα από αυτά επιλέγεται ως πρωτεύον κλειδί (primary key)

Γνωρίσματα Κλειδιά - Περιορισμοί Περιορισμός κλειδιού (key constraint) ή μοναδικότητας (uniqueness constraint) Γνώρισμα με διακεκριμένες τιμές για κάθε οντότητα Π.χ. Το γνώρισμα Όνομα της οντότητας ΕΤΑΙΡΕΙΑ Μονοσήμαντος προσδιορισμός της οντότητας δεν μπορεί να υπάρχουν δύο οντότητες με το ίδιο κλειδί Δυνατότητα ύπαρξης πολλαπλών κλειδιών σε μια οντότητα

Συσχετίσεις Συνδέουν δύο ή περισσότερες οντότητες Π.χ. ΥΠΑΛΛΗΛΟΣ ανήκει σε ΤΜΗΜΑ Τμήμα Ανήκει Υπάλληλος Ένας τύπος συσχέτισης R μεταξύ n τύπων οντοτήτων E1, E2,, En ορίζει ένα σύνολο συνδέσεων μεταξύ των οντοτήτων Κάθε στιγμιότυπο r i μιας συσχέτισης R είναι μια σύνδεση οντοτήτων

Πληθάριθμος Συσχετίσεων Για δυαδικές συσχετίσεις ένα-προς-ένα 1:1 ένα-προς-πολλά 1:Ν πολλά-προς-ένα Ν:1 πολλά-προς-πολλά Ν:Μ Παράδειγμα - Συμβολισμός 1 Ν Τμήμα Έχει Υπάλληλος

Σχεσιακο ΜΟΝΤΕΛΟ Παριστάνει τη ΒΔ ως μια συλλογή από σχέσεις Άτυπα, μια σχέση μοιάζει με ένα πίνακα (table) ή αρχείο Κάθε γραμμή Μια συλλογή από τιμές που σχετίζονται Κάθε στήλη Προσδιορίζει πώς πρέπει να ερμηνευτούν οι τιμές δεδομένων σε κάθε γραμμή Όλες οι τιμές σε μια στήλη είναι του ίδιου τύπου δεδομένων

Σχήμα σχέσης (relation schema) Σχήμα σχέσης (relation schema) R αποτελείται από ένα όνομα σχέσης R και μια λίστα από γνωρίσματα A1,A2,...,An R(A1,A2,...,An) Πεδίο ορισμού του Ai dom(ai) Βαθμός σχέσης Το πλήθος n των γνωρισμάτων του σχήματός της Παράδειγμα σχέσης βαθμού 4 ΦΟΙΤΗΤΗΣ(Όνομα, ΑρΜητρώου, ΗμΓέννησης, Τμήμα) dom(αρμητρώου)=αριθμός_μητρώου

Σχέση (Relation) Μία σχέση (relation) r επί του τύπου σχέσης R είναι ένα πεπερασμένο σύνολο απεικονίσεων {t 1, t 2,..., t p }, p n, R D με τον περιορισμό ότι για κάθε απεικόνιση t της σχέσης r, κάθε τιμή α i = t(a i ) του χαρακτηριστικού A i ανήκει στο πεδίο ορισμού D i, 1 i n. Οι απεικονίσεις αυτές ονομάζονται πλειάδες (tuples) Σχέση (relation) Ένα στιγµιότυπο σχέσης (relation instance), Μία σχέση r επί του τύπου σχέσης R συμβολίζεται και ως r(r) ή r(a 1 A 2 A n ).

Σχέση - Ορολογία Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας δισδιάστατος πίνακας που λέγεται σχέση χαρακτηριστικά SCODE SNAME SSURN SADDRESS 04208 04112 04305 04232 04274 Γεώργιος Παύλος Μαρία Παύλος Νίκη Μακρής Παπάς Αλεξάνδρου Μαθές Μακρή Μία σχέση επί του τύπου της σχέσης STUDENT Βυζαντίου 15, Αθήνα Κολοκοτρώνη 100, Πειραιάς Υψηλάντου 412, Πειραιάς Καποδιστρίου 12, Αθήνα Ανδρούτσου 97, Αθήνα πλειάδες Μία σχέση είναι ένα σύνολο από πλειάδες.

ΠΑΡΑΔΕΙΓΜΑ STUDENT (SCODE, SNAME, SSURN, SADDRESS) α) Τύπος της σχέσης STUDENT STUDENT χαρακτηριστικά SCODE SNAME SSURN SADDRESS 04208 04112 04305 04232 04274 Γεώργιος Παύλος Μαρία Παύλος Νίκη Μακρής Παπάς Αλεξάνδρου Μαθές Μακρή β) Μία σχέση επί του τύπου της σχέσης STUDENT Βυζαντίου 15, Αθήνα Κολοκοτρώνη 100, Πειραιάς Υψηλάντου 412, Πειραιάς Καποδιστρίου 12, Αθήνα Ανδρούτσου 97, Αθήνα πλειάδες dom (SCODE) = το σύνολο των κωδικών των φοιτητών dom (SNAME) = το σύνολο των ονομάτων των φοιτητών dom (SSURN) = το σύνολο των επωνύμων των φοιτητών dom (SADDRESS) = το σύνολο των διευθύνσεων των φοιτητών Η σχέση STUDENT έχει πέντε πλειάδες. Μία από αυτές είναι η t που ορίζεται ως t(scode) = 04274, t(sname) = Νίκη, t(ssurn) = Μακρή και t(saddress) = Ανδρούτσου 97, Αθήνα.

Σχεσιακό Σχήμα Βάσης Δεδομένων Ένα σχεσιακό σχήμα βάσης δεδομένων (relationaldatabase schema) S είναι ένα σύνολο από σχεσιακά σχήματα S = {R1,R2,,Rm} και ένα σύνολο από περιορισμούς ακεραιότητας (integrity constraints) Ένα στιγμιότυπο σχεσιακής βάσης δεδομένων (relational database instance) DB του S είναι ένα σύνολο από στιγμιότυπα σχέσεων DB = {r1,r2,,rm}, τέτοια ώστε κάθε r i είναι ένα στιγμιότυπο του R i και οι σχέσεις r i ικανοποιούν τους περιορισμούς ακεραιότητας

Κανονικές Μορφές: Εισαγωγή Στόχος: Δεδομένου ενός σχήματος, ελέγχουμε εάν είναι καλός ο σχεδιασμός ή χρειάζεται περαιτέρω διάσπαση. Ξέρουμε ότι αν ένα σχήμα είναι σε κάποια Κανονική Μορφή δεν υπάρχουν συγκεκριμένα προβλήματα Με φθίνουσα σειρά (από την πιο περιοριστική στη λιγότερο περιοριστική) BCNF 3NF 2NF 1NF Βασίζεται σε λειτουργικές εξαρτήσεις (έχουν σχέση με την επανάληψη πληροφορίας)

Μοντέλα Οντοτήτων Συσχετίσεων - Βασικό Μοντέλο Αναπαράσταση Σχέσεων 1:1 Υποχρεωτική συμμετοχή και των δύο οντοτήτων Υποχρεωτική συμμετοχή μόνο της μίας οντότητας Προαιρετική συμμετοχή και των δύο οντοτήτων

Μοντέλα O-Σ / Αναπαράσταση Σχέσεων 1:1 Αν υποτεθεί ότι κάθε εργαζόμενος στον οργανισμό κατέχει μία οργανική θέση και ότι κάθε οργανική θέση κατέχεται από έναν εργαζόμενο τότε και οι δύο οντότητες συμμετέχουν υποχρεωτικά στη σχέση όπως φαίνεται στο Σχήμα 1 (α). Σ αυτήν την περίπτωση όλα τα χαρακτηριστικά των οντοτήτων και της σχέσης μπορούν να τοποθετηθούν σε έναν πίνακα. Η σχέση OCCUPIES αναπαριστάται εσωτερικά από την παρουσία των προσδιοριστών EMP_CODE και POS_CODE των οντοτήτων EMPLOYEE και POSITION, αντίστοιχα, όπως φαίνεται στο Σχήμα 1(β). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραμμα οντοτήτων - σχέσεων EMPLOYEE ( EMP_CODE,..., POS_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ1. Βασικό μοντέλο οντοτήτων-σχέσεων (Υποχρεωτική συμμετοχή και των δύο οντοτήτων σε σχέση 1:1).

Μοντέλα O-Σ / Αναπαράσταση Σχέσεων 1:1 Υποχρεωτική Συμμετοχή μόνο της μίας οντότητας Αν υποτεθεί ότι κάθε εργαζόμενος στον οργανισμό δεν κατέχει υποχρεωτική οργανική θέση και ότι κάθε οργανική θέση κατέχεται από έναν εργαζόμενο, τότε η συμμετοχή των οντοτήτων EMPLOYEE και POSITION στη σχέση OCCUPIES είναι προαιρετική και υποχρεωτική, αντίστοιχα, όπως φαίνεται στο Σχήμα 2 (α). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραμμα οντοτήτων - σχέσεων. EMPLOYEE ( EMP_CODE,... ) POSITION ( POS_CODE,..., EMP CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 2. Βασικό μοντέλο οντοτήτων-σχέσεων (υποχρεωτική συμμετοχή της μιας οντότητας σε σχέση 1:1).

Μοντέλα O-Σ / Αναπαράσταση Σχέσεων 1:1 Προαιρετική Συμμετοχή και των δύο οντοτήτων Αν υποτεθεί ότι κάθε εργαζόμενος του οργανισμού δεν κατέχει υποχρεωτικά οργανική θέση και ότι κάθε οργανική θέση δεν είναι υποχρεωτικά κατειλημμένη, τότε οι δύο οντότητες συμμετέχουν προαιρετικά στη σχέση όπως φαίνεται στο Σχήμα 3(α). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραμμα οντοτήτων - σχέσεων. EMPLOYEE ( EMP_CODE,... ) POSITION ( POS_CODE,... ) OCCUPIES ( EMP_CODE, POS_CODE, ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 3. Βασικό μοντέλο οντοτήτων - σχέσεων (προαιρετική συμμετοχή και των δύο οντοτήτων σε σχέση 1:1).

Μοντέλα Οντοτήτων Συσχετίσεων / Βασικό Μοντέλο Ο-Σ Αναπαράσταση Σχέσεων 1:Ν Υποχρεωτική συμμετοχή της απογονικής οντότητας Προαιρετική συμμετοχή της απογονικής οντότητας

Μοντέλα Ο-Σ / Αναπαράσταση Σχέσεων 1:Ν Υποχρεωτική Συμμετοχή της απογονικής οντότητας Αν υποτεθεί ότι κάθε εργαζόμενος πρέπει να ανήκει σε ένα τμήμα τότε η συμμετοχή της οντότητας EMPLOYEE στη σχέση CONTAINS είναι υποχρεωτική όπως φαίνεται στο Σχήμα 1 Γενικά στην περίπτωση υποχρεωτικής συμμετοχής της απογονικής οντότητας σε σχέση 1:Ν η σχέση μπορεί να αναπαρασταθεί με την τοποθέτηση του προσδιοριστή της γονικής οντότητας στον πίνακα που αντιστοιχεί στην απογονική οντότητα. DEPARTMENT 1 OCCUPIES Ν EMPLOYEE α) Διάγραμμα οντοτήτων - σχέσεων. DEPARTMENT ( DEPT_CODE,... ) EMPLOYEE ( EMP_CODE,..., DEPT_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 1. Βασικό μοντέλο οντοτήτων-σχέσεων (υποχρεωτική συμμετοχή της απογονικής οντότητας στη σχέση 1:Ν).

Μοντέλα Ο-Σ / Αναπαράσταση Σχέσεων 1:Ν Προαιρετική Συμμετοχή της απογονικής οντότητας Αν υποτεθεί ότι υπάρχουν εργαζόμενοι στον οργανισμό που δεν ανήκουν σε κανένα τμήμα τότε η συμμετοχή της οντότητας EMPLOYEE στη σχέση CONTAINS είναι προαιρετική όπως φαίνεται στο Σχήμα 2. Σε αυτή την περίπτωση επιβάλλεται η αναπαράσταση των δύο οντοτήτων και της σχέσης με ξεχωριστούς πίνακες. DEPARTMENT 1 OCCUPIES Ν EMPLOYEE α) Διάγραμμα οντοτήτων - σχέσεων. DEPARTMENT ( DEPT_CODE,... ) EMPLOYEE ( EMP_CODE,...) OCCUPIES ( EMP_CODE,..., DEPT_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 2. Βασικό μοντέλο οντοτήτων-σχέσεων (προαιρετική συμμετοχή της απογονικής οντότητας σε σχέση 1:Ν).

Μοντέλα Ο-Σ / Αναπαράσταση Σχέσεων Μ:Ν Έστω ότι τα βιβλία μίας βιβλιοθήκης καταχωρούνται κατά θέμα. Κάθε βιβλίο μπορεί να ανήκει σε πολλά θέματα και κάθε θέμα μπορεί να περιλαμβάνει πολλά βιβλία της βιβλιοθήκης. Στην περίπτωση συσχετίσεων Ν:Μ δημιουργούνται τρεις ξεχωριστοί πίνακες (ένας για κάθε οντότητα και ένας για τη σχέση μεταξύ τους) ανεξάρτητα από το είδος συμμετοχής των οντοτήτων στη σχέση, όπως φαίνεται στο Σχήμα 3. BOOK M BD_SUBJ N SUBJECT α) Διάγραμμα οντοτήτων - σχέσεων. BOOK ( BK_CODE,... ) SUBJECT ( SUBJ_NAME,... ) BK_SUBJ ( BK_CODE, SUBJ_NAME,... ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 3. Βασικό μοντέλο οντοτήτων-σχέσεων (σχέση Ν:Μ).

Σχεσιακή άλγεβρα Συλλογή από πράξεις που χρησιμοποιούνται για το χειρισμό ολόκληρων σχέσεων Ένας τελεστής της σχεσιακής άλγεβρας δέχεται ένα (ή δύο) στιγμιότυπα σχέσεων ως είσοδο επεξεργασίας παράγει μια σχέση-αποτέλεσμα στην έξοδο Επιτρέπεται η σύνθεση τελεστών ώστε να δημιουργείται ένα σύνθετο αίτημα: η παράσταση σχεσιακής άλγεβρας

Σχεσιακές Πράξεις

Χειρισμό των δεδομένων των σχέσεων Πράξεις που μπορεί να εκτελούνται επί των σχέσεων(πινάκων) διακρίνονται σε δύο κύρια είδη: πράξεις που αφορούν στην ενημέρωση σχέσεων και πράξεις που αφορούν στην ανάκτηση δεδομένων από σχέσεις. Σύστημα ενημερώσεων (update system): Ένα τυπικό σύστημα (formal system) μέσω του οποίου εκφράζονται οι ενημερώσεις σχέσεων Ερώτημα (query): ένα σχέδιο υπολογισμών επί σχέσεων που, όταν εκτελεστεί, αποφέρει μια άλλη σχέση. Σύστημα ερωτημάτων (query system) Ένα τυπικό σύστημα μέσω του οποίου εκφράζονται ερωτήματα επί σχέσεων μιας βάσης δεδομένων

Επιλογή LH_BOOK σ SUBJECT = ΠΛΗΡΟΦΟΡΙΚΗ (BOOK) α) Τυπική έκφραση επιλογής SELECT * FROM BOOKS WHERE SUBJECT = Πληροφορική ; β) Έκφραση SQL ΒΟΟΚ BKCD PCD SUBJECT TITLE PYR AYR B1000 B1035 B2046 B2055 B2076 B3103 B4327 B5754 P108 P101 P315 P245 P316 P367 P108 P101 Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Πληροφορική Φυσική Χημεία Βιολογία Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων Μηχανική Οργανική Χημεία Γενετική 2000 1999 2001 2004 2002 1992 1999 2004 2001 1999 2002 2004 2002 1996 2000 2006 PLH_ΒΟΟΚ BKCD PCD SUBJECT TITLE PYR AYR B2046 B2055 B2076 P315 P245 P316 Πληροφορική Πληροφορική Πληροφορική Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων 2001 2004 2002 2002 2004 2002

Πράξη της επιλογής Συμβολισμός: p (r) p : selection predicate Ορίζεται ως: p (r) = {t t r and p(t)} όπου p είναι μία έκφραση από όρους που συνδέονται με : (and), (or), (not) Κάθε όρος είναι της μορφής: <attribute> op <attribute> ή <constant> όπου op είναι ένα από: =,, >,. <. Παράδειγμα επιλογής: branch-name= Perryridge (account)

Επιλογή με χρήση λογικών συνδέσεων PLH_BOOK_2002 σ SUBJECT = ΠΛΗΡΟΦΟΡΙΚΗ PYR 2002 (BOOK) α) Τυπική έκφραση επιλογής SELECT * FROM BOOK WHERE SUBJECT = Πληροφορική AND PYR >= 2002; β) Έκφραση SQL ΒΟΟΚ BKCD PCD SUBJECT TITLE PYR AYR B1000 B1035 B2046 B2055 B2076 B3103 B4327 B5754 P108 P101 P315 P245 P316 P367 P108 P101 Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Πληροφορική Φυσική Χημεία Βιολογία Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων Μηχανική Οργανική Χημεία Γενετική 2000 1999 2001 2004 2002 1992 1999 2004 2001 1999 2002 2004 2002 1996 2000 2006 PLH_ΒΟΟΚ_2002 BKCD PCD SUBJECT TITLE PYR AYR B2055 P245 Πληροφορική Πληροφοριακά Συστήματα 2004 2004 B2076 P316 Πληροφορική Βάσεις Δεδομένων 2002 2002 β) Αποτέλεσμα επιλογής

Επιλογή σύγκριση των τιμών δύο χαρακτηριστικών BOOK_YRS σ AYR PYR+1 (BOOK) α) Τυπική έκφραση επιλογής SELECT * FROM BOOK WHERE AYR <= (PYR+1); β) Έκφραση SQL ΒΟΟΚ BKCD PCD SUBJECT TITLE PYR AYR B1000 B1035 B2046 B2055 B2076 B3103 B4327 B5754 P108 P101 P315 P245 P316 P367 P108 P101 Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Πληροφορική Φυσική Χημεία Βιολογία Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων Μηχανική Οργανική Χημεία Γενετική 2000 1999 2001 2004 2002 1992 1999 2004 2001 1999 2002 2004 2002 1996 2000 2006 ΒΟΟΚ_YRS BKCD B1000 B1035 B2046 B2055 B2076 B4327 PCD SUBJECT TITLE PYR AYR P108 P101 P315 P245 P316 P108 Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Πληροφορική Χημεία Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων Οργανική Χημεία 2000 1999 2001 2004 2002 1999 2001 1999 2002 2004 2002 2000 γ) Αποτέλεσμα επιλογής

Προβολή BOOK_ST π SUBJECT, TITLE (BOOK) α) Τυπική έκφραση προβολής SELECT SUBJECT, TITLE FROM BOOK; β) Έκφραση SQL ΒΟΟΚ BKCD PCD SUBJECT TITLE PYR AYR B1000 B1035 B2046 B2055 B2076 B3103 B4327 B5754 P108 P101 P315 P245 P316 P367 P108 P101 Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Πληροφορική Φυσική Χημεία Βιολογία Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων Μηχανική Οργανική Χημεία Γενετική 2000 1999 2001 2004 2002 1992 1999 2004 2001 1999 2002 2004 2002 1996 2000 2006 BOOK_ST SUBJECT Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Φυσική Χημεία Βιολογία TITLE Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Μηχανική Οργανική Χημεία Γενετική γ) Αποτέλεσμα προβολής

Πράξη Προβολής A1, A2,, Ak (r) όπου A 1, A 2 είναι ονόματα γνωρισμάτων και r είναι ένα όνομα σχέση. Το αποτέλεσμα ορίζεται σαν σχέση k στηλών που λαμβάνονται διαγράφοντας τις λίστες που δεν αναφέρονται στη λίστα Οι διπλές γραμμές αφαιρούνται από το αποτέλεσμα, καθώς οι σχέσεις είναι σύνολα Παράδειγμα account-number, balance (account)

Συνδυασμός προβολής και επιλογής BOOK_ST_ PLH π BKCD, TITLE (σ SUBJECT = 'Πληροφορική' (BOOK)) ) α) Έκφραση συνδυασμού προβολής και επιλογής SELECT BKCD, TITLE FROM BOOK WHERE SUBJECT = 'Πληροφορική'; β) Έκφραση SQL BOOK_ST_PLH BKCD B2046 B2055 B2076 TITLE Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων γ) Αποτέλεσμα συνδυασμού προβολής και επιλογής

Γινόμενο ΒΟΟΚ BKCD PCD SUBJECT TITLE PYR AYR B1000 B1035 B2046 B2055 B2076 B3103 B4327 B5754 P108 P101 P315 P245 P316 P367 P108 P101 Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Πληροφορική Φυσική Χημεία Βιολογία Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων Μηχανική Οργανική Χημεία Γενετική 2000 1999 2001 2004 2002 1992 1999 2004 2001 1999 2002 2004 2002 1996 2000 2006 BPROD BOOK x PUBLISHER α) Τυπική έκφραση γινομένου SELECT BOOK.*, PUBLISHER.* FROM BOOK, PUBLISHER; β) Έκφραση SQL PUBLISHER PCODE P101 P108 P245 P315 P316 P367 PNAME Wiley Elsevier Pitman Palgrave Φαιστός Longman BPROD BKCD PCD SUBJECT PCODE PNAME B1000 P108 Μαθηματικά P101 Wiley B1000 P108 Μαθηματικά P108 Elsevier B1000 P108 Μαθηματικά P245 Pitman B1000 P108 Μαθηματικά P315 Palgrave B1000 P108 Μαθηματικά P316 Φαιστός B1000 P108 Μαθηματικά P367 Longman Β1035 P101 Μαθηματικά P101 Wiley γ) Αποτέλεσμα γινομένου

Φυσική σύνδεση PUBL_ΒΟΟΚ PUBLISHER BOOK α) Έκφραση φυσικής σύνδεσης SELECT PUBLISHER.PCODE, PUBLISHER.PNAME, BOOK.BKCD, BOOK.SUBJECT, BOOK.TITLE, BOOK.PYR, BOOK.AYR FROM PUBLISHER, BOOK WHERE PUBLISHER.PCODE = BOOK.PCD; β) Έκφραση SQL ΒΟΟΚ BKCD PCD SUBJECT TITLE PYR AYR B1000 B1035 B2046 B2055 B2076 B3103 B4327 B5754 P108 P101 P315 P245 P316 P367 P108 P101 Μαθηματικά Μαθηματικά Πληροφορική Πληροφορική Πληροφορική Φυσική Χημεία Βιολογία PUBLISHER PCODE P101 P108 P245 P315 P316 P367 PNAME Wiley Elsevier Pitman Palgrave Φαιστός Longman Θεωρία Συνόλων Γραμμική Άλγεβρα Βάσεις Δεδομένων Πληροφοριακά Συστήματα Βάσεις Δεδομένων Μηχανική Οργανική Χημεία Γενετική 2000 1999 2001 2004 2002 1992 1999 2004 2001 1999 2002 2004 2002 1996 2000 2006 PUBL_BOOK PCODE PNAME BKCD AYR P101 P101 P108 P108 P245 P315 P316 P367 Wiley Wiley Elsevier Elsevier Pitman Palgrave Φαιστός Longman B1035 B5754 B1000 B4327 B2055 B2046 B2076 B3103 γ) Αποτέλεσμα φυσικής σύνδεσης 1999 2006 2001 2000 2004 2002 2002 1996

Βασικά βήματα επεξεργασίας ερωτημάτων 1.Ανάλυση και μετάφραση 2.Βελτιστοποίηση 3. Υπολογισμός

Δοσοληψίες & Ταυτοχρονισμός Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για LA! DB Πόσοι ταξιδεύουν για LA?

Αποτυχία read(a); A := A - 50; write(a); --CRASH-- read(b); B := B + 50; write(b). A: 150 B: 200 A: 100 B: 200 A+B=350 A+B=300 76