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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Βάσεις δεδομένων. Ηρακλής Βαρλάμης"

Transcript

1 Βάσεις δεδομένων (12 ο μάθημα Επανάληψη) Ηρακλής Βαρλάμης Ύλη Οι διαφάνειες του μαθήματος Οι ενδεικτικές λύσεις των εργασιών Οι ασκήσεις των εργαστηρίων Από το βιβλίο τα κεφάλαια: 1,2,3,5 6 μέχρι και το μέχρι και μέχρι και μέχρι και 10.4 Υποχρεωτικό να περάσετε τις γραπτές εξετάσεις του μαθήματος (4.5 στα 10) Τελική ήβαθμολογία. 60% γραπτό + 40% εργασίες 6/6/2013 Βάσεις Δεδομένων 2

2 1 ο μάθημα Μοντέλα δεδομένων δ Υψηλού επιπέδου (εννοιολογικά) μοντέλα Παραστατικά μοντέλα ή μοντέλα υλοποίησης Χαμηλού επιπέδου (φυσικά) μοντέλα Αρχιτεκτονική τριών σχημάτων Εξωτερικό σχήμα ή όψεις χρηστών Εννοιολογικό σχήμα Εσωτερικό σχήμα 6/6/2013 Βάσεις Δεδομένων 3 Απλοί Χρήστες Προγραμματιστές Εξειδικευμένοι χρήστες Διαχειριστής Διεπαφές εφαρμογών Λογισμικό εφαρμογών Εργαλεία επερωτήσεων Διαχειριστικά εργαλεία Κώδικας εφαρμογής Μεταγλωττιστής και Συνθέτης (linker) Ερωτήσεις DML Μεταγλωττιστής DDL Μεταγλωττιστής DML Μηχανισμός ελέγχου επερωτήσεων Επεξεργασία επερωτήσεων Διαχειριστής αποθηκευτικής μνήμης Διαχειριστής αρχείων Διαχειριστής πρόσβασης και αξιοπιστίας Διαχειριστής συναλλαγών Διαχείριση Αποθήκης Δεδομένα Ευρετήρια Λεξικό δεδομένων Στατιστικά δεδομένα Αποθήκη Δεδομένων 6/6/2013 Βάσεις Δεδομένων 4

3 2 ο Μάθημα Μοντέλο Οντοτήτων Συσχετίσεων Οντότητες: ισχυρές/μη ισχυρές ή εξαρτημένες Γνωρίσματα: πλειότιμα/μονότιμα, απλά/σύνθετα, παραγόμενα, κλειδιά (υποψήφιο, πρωτεύον, μερικό) Συσχετίσεις Λόγος πληθικότητας: 1:1, 1:Ν, Μ:Ν Συμμετοχή: Ολική συμμετοχή ή εξάρτηση ύπαρξης (existence dependency): Κάθε οντότητα από το ολικό σύνολο οντοτήτων πρέπει να σχετίζεται με μια οντότητα του άλλου τύπου π.χ. Κάθε υπάλληλος πρέπει να εργάζεται σε κάποιο τμήμα Μερική συμμετοχή π.χ. Κάποιοι υπάλληλοι διευθύνουν τμήματα, όχι όμως όλοι υποχρεωτικά 5 Όνομα Επώνυμο Πλήρες_όνομα Φύλο Ημ_Γεν (1,1) Διεύθυνση (0,1) Αρ_Υπαλλ Ν 1 ΕΡΓΑΖΕΤΑΙ (4,N) Ημ_εναρξ (1,1) ΔΙΕΥΘΥΝΕΙ 1 1 Όνομα Αριθμός ΤΜΗΜΑ (0,Ν) 1 ΕΛΕΓΧΕΙ Τοποθεσίες Αρ_ταυτ Μισθός ΕΡΓΑΖΟΜΕΝΟΣ (0,Ν) (0,1) 1 Ν ΕΠΙΒΛΕΠΕΙ (1,Ν) (0,Ν) Μ Ν ΑΠΑΧΟΛΕΙΤΑΙ (1,Ν) 1 Ώρες ΠΡΟΣΤΑΤΕΥΕΙ Ν (1,1) ΕΡΓΟ Τοποθεσία Ν (1,1) ΕΞΑΡΤΗΜΕΝΟ_ΜΕΛΟΣΜΕΛΟΣ Όνομα Αριθμός Όνομα Φύλο Ημ_Γεν Συγγένεια 6

4 Τριαδικές συσχετίσεις ΗΘΟΠΟΙΟΣ Μ ΣΥΜΒΟΛΑΙΟ Ν ΤΑΙΝΙΑ 1 ΕΤΑΙΡΙΑ ΠΑΡΑΓΩΓΗΣ ΗΘΟΠΟΙΟΣ Ν ΕΧΕΙ ΣΥΜΒΟΛΑΙΟ Μ ΠΑΙΖΕΙ Ν Ν ΠΑΡΑΓΕΙ ΤΑΙΝΙΑ 1 ΕΤΑΙΡΙΑ ΠΑΡΑΓΩΓΗΣ 1 Όνομα Κωδικός Τίτλος ΗΘΟΠΟΙΟΣ 1 Ν ΣΥΜΒΟΛΑΙΟ ΥΠΟΓΡΑΦΕΙ Ν ΣΥΝΑΠΤΕΙ 1 ΤΑΙΝΙΑ Ν ΑΝΑΛΑΜΒΑΝΕΙ Όνομα 1 6/6/2013 ΕΤΑΙΡΙΑ ΠΑΡΑΓΩΓΗΣ 7 3 ο Μάθημα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Περιορισμοί Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτων συσχετίσεων σε σχεσιακό σχήμα

5 Περιορισμοί Ακεραιότητα οντοτήτων (entity integrity it constraint) t) Η τιμή ενός πρωτεύοντος κλειδιού δεν μπορεί να είναι null Το πρωτεύον κλειδί χρησιμοποιείται για να αναγνωρίσει μια πλειάδα Αναφορική ακεραιότητα (referential integrity constraint) Χρησιμοποιείται μεταξύ δύο σχέσεων για να διατηρήσει τη συνέπεια των πλειάδων των σχέσεων αυτών Μια πλειάδα μιας σχέσης R που αναφέρεται σε μια άλλη σχέση Q πρέπει να αναφέρεται σε υπαρκτή πλειάδα της Q π.χ. ο ΑΡ_ΜΗΤ στη ΒΑΘΜΟΛΟΓΙΑ για μια πλειάδα πρέπει να έχει τιμή που υπάρχει ήδη σε κάποια πλειάδα του ΦΟΙΤΗΤΗ στο αντίστοιχο γνώρισμα Σημασιολογική ακεραιότητα π.χ. ο μισθός ενός εργαζομένου δεν μπορεί να υπερβαίνει το μισθό του προϊσταμένου του ο μέγιστος αριθμός ωρών που ένας εργαζόμενος μπορεί να απασχοληθεί σε όλα τα έργα ανά εβδομάδα είναι 56 Αναφορές και ξένο κλειδί Ξένο κλειδί: Ένα σύνολο γνωρισμάτων FK του σχήματος σχέσης R 1 που ικανοποιεί τα εξής: Τα γνωρίσματα στο FK έχουν ίδιο πεδίο ορισμού με τα γνωρίσματα του πρωτεύοντος κλειδιού ενός άλλου σχήματος σχέσης R 2 (τα γνωρίσματα αναφέρονται στη σχέση R 2 ) Μια τιμή του FK στην πλειάδα t 1 της R 1, είτε εμφανίζεται ως τιμή του πρωτεύοντος κλειδιού PK σε κάποια πλειάδα t 2 της R 2, είτε είναι null t [FK]=t [PK] : η πλειάδα t αναφέρεται στην πλειάδα t t 1 [FK]=t 2 [PK] : η πλειάδα t 1 αναφέρεται στην πλειάδα t 2 Το ξένο κλειδί μπορεί να αναφέρεται στην ίδια του τη σχέση

6 Εισαγωγή Πράξεις ενημέρωσης Μια λίστα από τιμές γνωρισμάτων για μια νέα πλειάδα που πρέπει να εισαχθεί στη σχέση R Πρέπει οι τιμές των γνωρισμάτων να συμβαδίζουν με τους τύπους και τη σειρά των γνωρισμάτων στη σχέση, να ικανοποιούν όλους τους περιορισμούς αναφοράς, κλειδιού κλπ. Αν η εισαγωγή παραβιάζει κάποιο περιορισμό: Απορρίπτεται Γίνεται προσπάθεια διόρθωσης της αιτίας απόρριψης (με χρήση null ή default τιμής, με μήνυμα στο χρήστη) Διαγραφή Πράξεις ενημέρωσης Περιέχει μια συνθήκη σύμφωνα με την οποία επιλέγονται οι πλειάδες που θα διαγραφούν Ενδέχεται να επηρεάσει την αναφορική ακεραιότητα μέσω των αναφορών από ξένα κλειδιά στην πλειάδα που θα διαγραφεί Σε περίπτωση παραβίασης Απορρίπτεται Η διαγραφή διαδίδεται στις πλειάδες που αναφέρονται στη διαγραφόμενη (cascade delete) Τροποποιούνται οι τιμές των αναφορικών γνωρισμάτων που προκαλούν την παραβίαση (γίνονται null ή αναφέρονται σε άλλη πλειάδα) )

7 Πράξεις ενημέρωσης Τροποποίηση Περιέχει μια συνθήκη σύμφωνα με την οποία επιλέγονται οι πλειάδες που θα διαγραφούν Η τροποποίηση γνωρίσματος που δεν είναι κλειδί δεν προκαλεί προβλήματα (μόνο παραβιάσεις τύπου και πεδίου τιμών) Η τροποποίηση κλειδιού έχει πιθανότητα να παραβιάσει περιορισμούς αναφορών (όπως στη διαγραφή) Απεικόνιση O ΣΣ σε σχεσιακό Αλγόριθμος για την απεικόνιση 1. Μία σχέση για κάθε τύπο οντοτήτων (πρωτεύον κλειδί) 2. Μία σχέση για κάθε μη ισχυρό τύπο (ξένο κλειδί) 3. Ξένα κλειδιά για κάθε δυαδική 1:1 συσχέτιση 4. Ξένα κλειδιά για κάθε δυαδική 1:Ν συσχέτιση 5. Νέα σχέση για κάθε δυαδική Μ:Νσυσχέτιση 6. Μια σχέση για κάθε πλειότιμο γνώρισμα 7. Μια σχέση ηγια κάθε συσχέτιση ηβαθμού >2

8 4 ο Μάθημα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση η Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Σχεσιακή άλγεβρα Επιλογή σ <συνθήκη επιλογής> > (<όνομα σχέσης>) Προβολή π <λίστα γνωρισμάτων> (<όνομα σχέσης>) Πράξεις συνόλου (ένωση, τομή, διαφορά ) 6/6/2013 Βάσεις Δεδομένων 15 5 ο Μάθημα Συνέχεια στη Σχεσιακή ήάλγεβρα Μετονομασία : R(λίστα με νέα ονόματα) Καρτεσιανό γινόμενο : R(A 1, A 2,, A n ) x S(B 1, B 2,, B m ) Συνένωση : R >< <συνθήκη συνένωσης> S R >< <συνθήκη συνένωσης> S σ <συνθήκη συνένωσης> (R x S) ) 6/6/2013 Βάσεις Δεδομένων 16

9 6 ο Μάθημα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα : R >< <ισότητα> S Ισότητας : R >< <ανισότητα> S Φυσική : R * (λίστα1, λίστα2) S Διαίρεση division: R / S Οι πλειάδες του R που ταιριάζουν με κάθε πλειάδα του S 6/6/2013 Βάσεις Δεδομένων 17 Παράδειγμα R Α Β C α1 b1 c1 S Α α1 Β b1 a1 b1 c2 a2 b2 a1 b2 c1 a2 b1 c1 a2 b2 c1 a2 b1 c3 a2 b2 c3 R C c1 S

10 Συναθροιστικές συναρτήσεις Συνάθροιση: συνδυασμός των πλειάδων μιας σχέσης για τον υπολογισμό μιας συναθροιστικής τιμής (πλήθους, αθροίσματος, μέσου όρου,, μέγιστου,, ελάχιστου κ.ά.) ) Παραδείγματα: πόσοι υπάλληλοι υπάρχουν συνολικά, ποιος υπάλληλος έχει το μεγαλύτερο μισθό, κ.λ.π. Οι συναρτήσεις παίρνουν ως παράμετρο μια συλλογή (όχι σύνολο) από τιμές συνήθεις συναρτήσεις: SUM, AVERAGE, MAX, MIN, COUNT (πλήθος πλειάδων) αποτέλεσμα μια σχέση και όχι μια τιμή Ƒ <λίστα συναρτήσεων> (<όνομα σχέσης>) όπου <λίστα συναρτήσεων> ={<συνάρτηση, γνώρισμα>} 7 ο Μάθημα Ομαδοποίηση <γνωρίσματα ί ομαδοποίησης> Ƒ <λίστα συναρτήσεων> (<όνομα σχέσης>) Παράδειγμα: πόσοι ηθοποιοί ανά ταινία τίτλος, ίλ έτος Ƒ COUNT Όνομα Ηθοποιού (Παίζει) Ποιο θα ήταν το αποτέλεσμα αν δεν υπήρχαν τα γνωρίσματα ομαδοποίησης;

11 Εξωτερική συνένωση Όταν θέλουμε να κρατήσουμε στο αποτέλεσμα όλες τις πλειάδες - και αυτές που δεν ταιριάζουν) είτε της σχέσης στα αριστερά (αριστερή εξωτερική συνένωση =>< ) είτε της σχέσης στα δεξιά (δεξιά εξωτερική συνένωση ><=) ) R S R * S Α C Α B Α C B Α C B Α C B null 3 null 9 SQL 8 ο Μάθημα Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις SELECT 6 υποχρεωτικό FROM 1 υποχρεωτικό WHERE 2 προαιρετικό GROUP BY 3 προαιρετικό ικό HAVING 4 προαιρετικό (εφόσον υπάρχει το group by) ORDER BY 5 προαιρετικό 6/6/2013 Βάσεις Δεδομένων 22

12 Τελεστές/Συνθήκες Η συνθήκη μπορεί να είναι: Ισότητα ή ανισότητα: <, >, <>, <=, >=, = Εύρος τιμών: between and Λίστα τιμών: in (,, ) Συμβολοσειρά κατά προσέγγιση: like 'a%b_b%' Άρνηση μιας συνθήκης (ΝΟΤ) Μία ή περισσότερες συνθήκες χωρισμένες με AND, OR και ομαδοποιημένες με παρανθέσεις 6/6/2013 Βάσεις Δεδομένων 23 Ητιμήnull Σε αριθμητικές πράξεις: το αποτέλεσμα είναι null όταν οποιαδήποτε τιμή είναι null Σε συγκρίσεις: σύγκριση με null συνήθως δίνει αποτέλεσμα false Σε συναθροιστικές συναρτήσεις: αγνοείται, εκτός από το count(*) Παράδειγμα select sum(salary) From employee 6/6/2013 Βάσεις Δεδομένων 24

13 Φωλιασμένες υπο ερωτήσεις Μια υπο ερώτηση είναι μια έκφραση select from where που χρησιμοποιείται μέσα σε μια άλλη select from where ερώτηση (συγκεκριμένα ως συνθήκη στο where) Η εσωτερική (φωλιασμένη) υπο ερώτηση υπολογίζεται για κάθε γραμμή (πλειάδα) της εξωτερικής ερώτησης Γενική δομή: select... from... where <τελεστής> (select... from... where... ); Υπο ερώτηση 6/6/2013 Βάσεις Δεδομένων 25 Τελεστές φωλιασμένων ερωτήσεων in ή not in Ελέγχει αν μια πλειάδα ανήκει (δεν ανήκει) σε ένα σύνολο από πλειάδες που έχουν προκύψει από μια έκφραση select from where Μπορεί αντί για φωλιασμένη ερώτηση να έχουμε μια λίστα τιμών some ή any ή all Χρησιμοποιείται για να συγκρίνει σύνολα με ισότητα ή ανισότητα exists ή not exists ελέγχει για κενά σύνολα unique ή not unique ελέγχει για διπλότυπα 6/6/2013 Βάσεις Δεδομένων 26

14 Ορισμός όψης CREATE VIEW view_name [ ( view_column_list ) ] DROP VIEW AS query_expression [WITH CHECK OPTION] Παράδειγμα Εργαζόμενοι σε Έργα CREATE VIEW PROJΕCTWORKER (EName, Address, Project) AS select FName ' ' Lname, Address, PName from EMPLOYEE, PROJECT, WORKS_ON where PROJECT.PNumber = WORKS_ON.Pno and WORKS_ON.ESSN=EMPLOYEE.SSN ; Ενημερώσεις Σπάνια επιτρέπονται Update DepSize Create view Males as Set depsize=depsize+1 Select fname,lname,bdate, salary Where dep='administration' From employee Where sex = 'M' Update males Set fname='giannis', salary=40000 Where fname='john' Δεν επιτρέπονται σε όψεις που συναθροίζουν Create view DepSize (dep, depsize) as Select d.dname, count(e.dno) From employee e, department d Where e.dno=d.dnumber Group by d.dname Και συνήθως ούτε σε όψεις που συνενώνουν σχέσεις Create view EmpDept as Select fname,lname,dname,dnumber From employee e, department d Where e.dno=d.dnumber Update EmpDept Set dnumber=6 Where dname='administration'

15 Γραμμές που εξαφανίζονται Τι γίνεται αν μια ενημέρωση αλλοιώσει το κριτήριο με το οποίο επιλέχθηκε η πλειάδα; Η ενημερωμένη πλειάδα εξαφανίζεται από την όψη (vanishing row) Create view HoustonProjects as Select * from Project Where plocation='houston' WITH CHECK OPTION Update HoustonProjects Set plocation='athens' Where pnumber=20 Εμποδίζει την ενημέρωση DELETE FROM table_name WHERE query_expression Διαγραφές Εύκολα διαγράφουμε μια πλειάδα που δεν έχει καμία αναφορά DELETE FROM Works_on WHERE ESSN= AND PNO=2 Τι συμβαίνει αν διαγράψουμε μια πλειάδα με αναφορές; DELETE FROM EMPLOYEE WHERE SSN= Πρέπει να διαγράψουμε πρώτα όλες τις εξαρτημένες πλειάδες Εκτός αν κατά τη δημιουργία της σχέσης προσθέσουμε ON DELETE CASCADE

16 9o Μάθημα Κανονικές μορφές Κανονικοποίηση σχήματος Πλεονεκτήματα Αποφυγή επαναλήψεων Μειονεκτήματα Γίνεται αφού έχουμε κάποιο σχήμα και το αξιολογεί Δεν προσφέρει ένα εννοιολογικό σχήμα (ασχολείται μόνο με σχέσεις και γνωρίσματα) Ενδέχεται να καθυστερεί τις αναζητήσεις γιατί συχνά απαιτεί συνενώσεις σχέσεων Προσπάθεια να γίνουν με τυπικό και συστηματικό τρόπο πράγματα που τα κάνουμε συνήθως διαισθητικά 6/6/2013 Βάσεις Δεδομένων 31 1 η κανονική μορφή (1NF) Τα γνωρίσματα μπορούν να περιλαμβάνουν μόνο ατομικές (απλές, αδιαίρετες) τιμές Η τιμή ενός γνωρίσματος σε μια πλειάδα πρέπει να είναι μία και μόνη τιμή από το πεδίο ορισμού του γνωρίσματος Ορίστηκε για να απαγορεύονται τα πλειότιμα γνωρίσματα, τα σύνθετα γνωρίσματα και οι συνδυασμοί τους (εμφωλευμένες σχέσεις)

17 Για τα πλειότιμα Μετατροπή σε 1NF Βρίσκουμε το πρωτεύον κλειδί της σχέσης R(Α 1, Α 2,,Α N ) π.χ. Α 1 Βρίσκουμε το πλειότιμο γνώρισμα π.χ. Α 2 Αποσύνθεση της R σε R 1 (Α 1, Α 3,,Α N ) και R 2 (A 1,A 2 ) Για τα σύνθετα, όμοια Βρίσκουμε το πρωτεύον κλειδί της σχέσης R(Α 1, Α 2,,Α N ) π.χ. Α 1 Βρίσκουμε το σύνθετο γνώρισμα π.χ. Α 2 Α 3 Α 4 Αποσύνθεση της R σε R 1 (Α 1, Α 5,,Α N ) και R 2 (A 1, Α 2,Α 3,Α 4 ) 2 η κανονική μορφή (2NF) Βασίζεται στην πλήρη συναρτησιακή εξάρτηση η A X,( X { A}) X Y Υ Το σχήμα R είναι σε 2NF αν είναι σε 1ΝF και κάθε μη πρωτεύον γνώρισμα Υ είναι πλήρως συναρτησιακά εξαρτώμενο από το πρωτεύον κλειδί του R

18 Μετατροπή σε 2NF ΕΝΤΟΠΙΣΜΟΣ Βρίσκουμε το πρωτεύον κλειδί της σχέσης R(Α 1, Α 2,,Α N ) π.χ. Α 1 Α 2 Αν είναι απλό (π.χ. Α 1 ) τότε οι συναρτησιακές εξαρτήσεις είναι πλήρεις Αν είναι σύνθετο (π.χ. Α 1 Α 2 ) τότε βρίσκουμε τις συναρτησιακές εξαρτήσεις από το πρωτεύον κλειδί (π.χ. Α 1 Α 2 Α 3 κλπ) Εξετάζουμε αν είναι πλήρεις ή μερικές Αν ισχύει η Α 1 Α 3 τότε δεν είναι σε 2NF ΜΕΤΑΤΡΟΠΗ Αποσυνθέτω την R σε σχέσεις R i που ομαδοποιούν τα μη πρωτεύοντα ορίσματα και το μέρος του κλειδιού που τα εξαρτά πλήρως π.χ. R 1 (Α 1,Α 2,A 4,,Α N ), R 2 (A 1,A 3 ) 3 η κανονική μορφή (3NF) Βασίζεται στη μεταβατική εξάρτηση Η Χ Υ είναι μεταβατική αν Χ Ζ και Ζ Υ Το σχήμα R είναι σε 3NF αν είναι σε 2ΝF και κανένα μη πρωτεύον γνώρισμα Υ δεν εξαρτάται μεταβατικά από το πρωτεύον κλειδί του R ΜΕΤΑΤΡΟΠΗ Αποσυνθέτω την R σε σχέσεις R i που ομαδοποιούν τα μη πρωτεύοντα ορίσματα και το μέρος του κλειδιού που τα εξαρτά πλήρως π.χ. R (Α 1,ΑΑ 2,,ΑΑ N ) και A 1 A 2 και Α 2 Α 3 R 1 (Α 1,Α 2,Α 4,,Α N ) και R 2 (Α 2,Α 3 )

19 Παράδειγμα ΕΡΓΑΖ_ΤΜΗΜΑ Εργαζ_Ονομα Αρ_ταυτ Ημ_Γεν Διεύθυνση Κωδ_τμήμα Τμ_όνομα Διευθυντής ΕΡΓΑΖOMENOΣ Εργαζ_Ονομα Αρ_ταυτ Ημ_ Γεν Διεύθυνση Κωδ_τμήμα ΤΜΗΜΑ Κωδ_τμήμα Τμ_όνομα Διευθυντής Είναι σε 1NF καθώς δεν έχει σύνθετα ή πλειότιμα γνωρίσματα Είναι σε 2NF καθώς το πρωτεύον κλειδί είναι απλό και συνεπώς δεν υπάρχουν μερικές εξαρτήσεις Έχει όμως δυο μεταβατικές εξαρτήσεις 1. Αρ_ταυτ Τμ_όνομα Αρ_ταυτ Κωδ_τμήμα Κωδ_τμήμα Τμ_όνομα 2. Αρ_ταυτ Διευθυντής Αρ_ταυτ Κωδ_τμήμα Κωδ_τμήμα Διευθυντής 11 ο Μάθημα Αποθήκευση δεδομένων δ Ευρετήρια Σκανδάλες Δείκτες 38

20 Ευρετήριο Index Βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται πεδίο ευρετηρίασης (indexing field) Τι αποθηκεύεται στο κανονικό αρχείο: Οι εγγραφές σε blocks στο αρχείο ευρετήριο: Η τιμή του πεδίου ευρετηρίασης και ένας δείκτης στο block της εγγραφής Κέρδος; Σε μία αναζήτηση με τιμή στο πεδίο ευρετηρίασης Δε φέρνουμε στη μνήμη όλα τα περιεχόμενα του κανονικού αρχείου Φέρνουμε μόνο τα ζεύγη <τιμή,δείκτης> από το αρχείο ευρετήριο Με μία ανάγνωση έχουμε στη μνήμη περισσότερες πλειάδες για σύγκριση Εντοπίζουμε πιο γρήγορα τα σωστά block Ανακτούμε μόνο τα σωστά block από το κανονικό αρχείο Πρωτεύον ευρετήριο primary index Στο πρωτεύον κλειδί (πεδίο κλειδιού διάταξης) ενός διατεταγμένου αρχείου Το ευρετήριο είναι επίσης διατεταγμένο αρχείο με εγγραφές σταθερού μήκους (κλειδί, δείκτης σε block) Στο ευρετήριο υπάρχουν τόσες εγγραφές όσα είναι τα block στα οποία αποθηκεύεται το κανονικό αρχείο Αναγνώστου 1 Αναγνώστου Γιώργος 33 Γεωργίου 2 Βασιλείου Μαρία 23 Θεοδώρου Βερόπουλου Μαρία 22 Νικήτας Γάκης Κώστας 31 Γεωργίου Γιώργος 42 Δημητρίου Γιάννης 22 Ζάχαρη Μαρία 24 Ηλιάδης Κώστας 51 Πέτρου 15 Σαρρής Ψαράς Πέτρου Χάρης 31 Ράλλης Γιάννης 22 Ράλλη Μαρία 24 Σάββας Μάριος 22 40

21 2. Ευρετήριο συστάδων Clustering index Ορίζεται στο πεδίο διάταξης το οποίο όμως δεν είναι κλειδί Υπάρχει μια εγγραφή για κάθε διακεκριμένη τιμή του πεδίου διάταξης (συστάδας) του αρχείου που περιέχει: την τιμή αυτή ένα δείκτη προς το πρώτο block του αρχείου δεδομένων που περιέχει μια εγγραφή με την τιμή αυτή στο πεδίο συστάδας Γιάννης 1 Γιώργος 1 Κώστας 2 Μαρία 2 Μάριος 3 Χάρης 3 Δημητρίου Γιάννης 22 Ράλλης Γιάννης 22 Αναγνώστου Γιώργος 33 Γεωργίου Γιώργος 42 Γάκης Κώστας 31 Ηλιάδης Κώστας 51 Βασιλείου Μαρία 23 Βερόπουλου Μαρία 22 Ζάχαρη Μαρία 24 Ράλλη Μαρία 24 Σάββας Μάριος 22 Πέτρου Χάρης Δημιουργία ευρετηρίου CREATE INDEX idxempfname on employee(fname) CREATE UNIQUE index idxemp on employee(lname) To primary key κάθε πίνακα έχει ήδη ευρετήριο UNIQUE ευρετήρια μόνο σε πεδία που δεν έχουν διπλότυπα Το ευρετήριο μπορεί να περιλαμβάνει περισσότερα από ένα πεδία, δεν είναι όμως τόσο αποτελεσματικό 6/6/2013 Βάσεις Δεδομένων 42

22 Σκανδάλη trigger Διαδικαστικός (procedural) κώδικας που εκτελείται ως συνέπεια κάποιων γεγονότων στη ΒΔ: INSERT, UPDATE, DELETE Ο κώδικας μπορεί να πυροδοτηθεί πρίν (BEFORE) ή μετά (AFTER) το γεγονός γγ Με τη χρήση triggers μπορούμε να ελέγξουμε σύνθετους περιορισμούς πριν από μια εισαγωγή ή ενημέρωση και να κάνουμε τις κατάλληλες διορθώσεις Χρησιμοποιούνται επίσης όταν η σχεδίαση της ΒΔ δεν καλύπτει όλες τις συναρτησιακές εξαρτήσεις 43 Παράδειγμα trigger CREATE OR REPLACE TRIGGER firstemployee BEFORE INSERT ON employee ΓΕΓΟΝΟΣ ΠΥΡΟΔΟΤΗΣΗΣ FOR EACH ROW BEGIN IF (:NEW.dno not in (select dnumber from department)) THEN insert into department(dname,dnumber,mgrssn) values ('neo',:new.dno, ); END IF; ΑΠΟΤΕΛΕΣΜΑ END; ΣΥΝΘΗΚΗ ΠΥΡΟΔΟΤΗΣΗΣ ΑΝΑΦΟΡΑ ΣΤΗ ΝΕΑ ΠΛΕΙΑΔΑ 44

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

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (3 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτωνσυσχετίσεων

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (9 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Βελτίωση σχεδιασμού Αποσύνθεση σχέσης Συναρτησιακές εξαρτήσεις Θεωρία κανονικών μορφών 1 η NF 2 η NF 3 η NF 2 Βελτίωση σχεδιασμού

Διαβάστε περισσότερα

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (2 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Μοντελοποίηση δεδομένων Μοντέλο Οντοτήτων Συσχετίσεων Παραδείγματα Διαγραμματικές τεχνικές Συμβολισμοί Τριαδικές συσχετίσεις 2

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

Διαβάστε περισσότερα

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

Διαβάστε περισσότερα

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

Διαβάστε περισσότερα

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL) Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων

Διαβάστε περισσότερα

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Περιεχόμενο Διάλεξης Κεφάλαιο 5: Το Σχεσιακό Μοντέλο Δεδομένων Περιορισμοί Σχεσιακού Μοντέλου

Διαβάστε περισσότερα

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

Διαβάστε περισσότερα

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter ) Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM II Relational Model (Chapter 5.2-5.3) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 8-1 Περιεχόμενο

Διαβάστε περισσότερα

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

Διαβάστε περισσότερα

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model Μαθ. #9 Σχεσιακό Μοντέλο Μεταφορά E-R ιαγράµµατος σε Σχέσεις Μια οντότητα «Ε» Μεταφράζεται σε µια σχέση της οποίας το σχήµα αποτελείται από όλα τα γνωρίσµατα του «Ε» Εάν

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQLΜέρος Α Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

Διαβάστε περισσότερα

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

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

Σχεδιασμός μιας Β : Βήματα Σχεσιακό Μοντέλο 1 Εισαγωγή Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Σχεσιακό Μοντέλο Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Εισαγωγή Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές

Διαβάστε περισσότερα

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Έλεγχος Μέλους Συνόλου (Set Membership) Οι IN και NOT IN τελεστές ελέγχουν για μονό membership

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης

Διαβάστε περισσότερα

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

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασµός µιας Β : Βήµατα Ανάλυση Απαιτήσεων Τι δεδοµένα θα αποθηκευτούν, ποιες εφαρµογές θα κτιστούν πάνω στα δεδοµένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασµός

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

Διάγραμμα Οντοτήτων - Συσχετίσεων Διάγραμμα Οντοτήτων - Συσχετίσεων Παύλος Εφραιμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι: Ανάλυση

Διαβάστε περισσότερα

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η SQL ως γλώσσα ερωτημάτων Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η γλώσσα SQL Η SQL αποτελείται από: DDL (Data Definition Language)

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model .. Εργαστήριο Βάσεων Δεδομένων Relational Model . Σχεσιακό Μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις Μια σχέση είναι ένας πίνακας με διακριτό όνομα Κάθε

Διαβάστε περισσότερα

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1) Ασάφεια και Πλήρη Ονόματα Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

Διαβάστε περισσότερα

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

Διαβάστε περισσότερα

Βάσεις Δεδομένων Σύνθετα SQL queries

Βάσεις Δεδομένων Σύνθετα SQL queries Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ασάφεια και Πλήρη Ονόματα Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

Διαβάστε περισσότερα

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους ΘΕΜΑΤΑ A Οι παρακάτω πίνακες αποτελούνται από τα εξής πεδία : ΕΡΓΑΖΟΜΕΝΟΣ : ΑΦΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΠΟΛΗ,ΜΙΣΘΟΣ, ΚΤ ΤΜΗΜΑ : ΚΤ, ΑΦΜ, ΤΙΤΛΟΣ_ΤΜΗΜΑΤΟΣ, ΤΗΛ ΕΡΓΑ : ΚΕΡ, ΠΕΡΙΓΡΑΦΗ, ΤΟΠΟΘΕΣΙΑ, ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ

Διαβάστε περισσότερα

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

Διαβάστε περισσότερα

Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 06 Δεκεμβρίου 2012 Περιεχομενα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Βάσεις Δεδομένων Σταύρος Βαλσαμίδης svalsam@teikav.edu.gr Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι:

Διαβάστε περισσότερα

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1 Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3: Ενότητα 3: Σχεσιακό Μοντέλο. Από το ιδεατό στο λογικό (σχεσιακό) μοντέλο. Από το λογικό στο φυσικό (SQL) μοντέλο Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (5 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (5 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Μετονομασία Καρτεσιανό γινόμενο Συνένωση Θήτα Ισότητας Φυσική 26/3/2015 Βάσεις Δεδομένων 2 (Συνέχεια)

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

Διαβάστε περισσότερα

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1 Κανονικοποίηση Παύλος Εφραιμίδης Βάσεις Δεδομένων Κανονικοποίηση 1 Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ Πως μπορούμε να κρίνουμε εάν ένα Σχεσιακό Σχήμα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραμμές

Διαβάστε περισσότερα

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33 Περιεχόμενα Πρόλογος... 33 Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων... 39 1 Μια βόλτα στις βάσεις δεδομένων... 41 1.1 Η πρώτη βάση δεδομένων... 42 1.1.1 Άλλοι τρόποι... 42 1.1.2 Απαιτήσεις της εφαρμογής...

Διαβάστε περισσότερα

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

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

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

καλών σχεσιακών σχημάτων Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ

Διαβάστε περισσότερα

Θέματα ανακεφαλαίωσης

Θέματα ανακεφαλαίωσης Θέματα ανακεφαλαίωσης 13 Ιουνίου 2013 1. Ορίστε την έννοια σχήμα σχέσης και αναλύστε τα στοιχεία του ορισμού σας. Υποθέστε ότι θέλουμε να αποθηκεύσουμε πληροφορίες για τα μέλη ενός πεζοπορικού συλλόγου

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

Διαβάστε περισσότερα

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :

Διαβάστε περισσότερα

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων Μοντέλο Δεδομένων:

Διαβάστε περισσότερα

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

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

Διαβάστε περισσότερα

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

Εισαγωγή. Σχεδιασµός µιας Β Σχεδιασµός µιας Β Εισαγωγή ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων (κεφ. 3) γραφικό

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

Διαβάστε περισσότερα

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης

Διαβάστε περισσότερα

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

#5. Σχεσιακό Μοντέλο 22Γ901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Διδάσκων: Ν. Αβούρης Β μέρος Διαφανειών μαθήματος (2005-2006) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων

Διαβάστε περισσότερα

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

Διαβάστε περισσότερα

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

Διαβάστε περισσότερα

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

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης. Κανονικές Μορφές Σύντομη επανάληψη αποσύνθεσης Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 2 Αλγόριθμος Σχεδιασμού Αλγόριθμος Σχεδιασμού Ένας γενικός (θεωρητικός)

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

Διαβάστε περισσότερα

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

Διαβάστε περισσότερα

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)

Διαβάστε περισσότερα

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP. SQL: Ερωτήματα ομαδοποίησης και συνάθροισης GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 56 Περιεχόμενα 1 Εισαγωγή, γενικές

Διαβάστε περισσότερα

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

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 11η: Περιορισμοί Ακεραιότητας - Κανονικές Μορφές Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Αποτελούν μηχανισμό για τον

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

Διαβάστε περισσότερα

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 SQL Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Τι είδαμε μέχρι τώρα Δύο γλώσσες ερωτήσεων που αποτελούν το θεωρητικό υπόβαθρο Σχεσιακή άλγεβρα: μια άλγεβρα συνόλων που αφορά πράξεις πάνω σε σχέσεις

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με

Διαβάστε περισσότερα

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

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων Κανονικές Μορφές 1 Σχεδιασµός Σχεσιακών Σχηµάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών ιατήρηση Εξαρτήσεων Αποφυγή Επανάληψης Πληροφορίας

Διαβάστε περισσότερα

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

Θεωρία Κανονικοποίησης Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL

Διαβάστε περισσότερα

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος. Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Σχεσιακού Μοντέλου) Αντιστοιχία

Διαβάστε περισσότερα

Κανονικές Μορφές. Συνενώσεις Άνευ Απωλειών. Προσοχή με τις τιμές null στην αποσύνθεση

Κανονικές Μορφές. Συνενώσεις Άνευ Απωλειών. Προσοχή με τις τιμές null στην αποσύνθεση Κανονικές Μορφές Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Συνενώσεις Άνευ Απωλειών Προσοχή με τις τιμές null στην αποσύνθεση Αιωρούμενες πλειάδες (dangling tuples) Παράδειγμα: Εργαζόμενος - Τμήμα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Περιορισμοί Ακεραιότητας (Integrity Constraints) Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan

Διαβάστε περισσότερα

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

Διαβάστε περισσότερα