Βάσεις Δεδομένων Ι Ενότητα # 1: Εισαγωγή Σπυρίδων Σιούτας Τμήμα Πληροφορικής.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Διάγραμμα Παρουσίασης
Advertisements

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Εισαγωγή στις Βάσεις Δεδομένων για Μαθητές Λυκείων και Τεχνικών Σχολών Δημήτρης Ζεϊναλιπούρ Λέκτορας Τμήμα Πληροφορικής,
ΕΠΕΞΕΡΓΑΣΙΑ ΔΕΔΟΜΕΝΩΝ
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Αρχιτεκτονική Συστημάτων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1.1      Σκοπός των συστημάτων βάσεων δεδομένων
Ημέρα 1η.
3 Αρχιτεκτονική Συστημάτων  Κατηγορίες χρηστών ΣΔΒΔ  Αρχιτεκτονική ANSI/SPARC  Γλώσσες ερωτημάτων  Μοντέλα δεδομένων  Λειτουργίες ΣΔΒΔ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 8: Πίνακας Συμβόλων Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας.
Σημασιολογική Ολοκλήρωση Ολοκλήρωση Πληροφορίας Το πρόβλημα της ολοκλήρωσης πληροφορίας (information integration) προκύπτει από την ύπαρξη ετερογενών.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 11: Βελτιστοποίηση Ενδιάμεσου Κώδικα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή.
Ενότητα: Αυτόματος Έλεγχος Συστημάτων Κίνησης
Βάσεις Δεδομένων Αρχιτεκτονική.
Λογιστική Κόστους Ενότητα # 6: Επιμερισμός Κόστους Βοηθητικών Τμημάτων Διδάσκουσα: Σάνδρα Κοέν Τμήμα: Οργάνωση και Διοίκηση Επιχειρήσεων.
Διοίκηση Τεχνολογίας Εργασία: «Εργαλειακή Προσέγγιση Τεχνολογίας» Πρόγραμμα:MBA Part-Time.
Προγραμματισμός και Διαχείριση Επιχειρηματικών Πόρων - ERP Μάθημα 4: Τεχνολογική Υποδομή ERP.
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Αρχές Διοίκησης και Διαχείρισης Έργων Ενότητα 12: Οικονομική Διαχείριση Έργων – Ταμειακές Ροές. Διδάσκων: Φιτσιλής Παναγιώτης, Καθηγητής. Τμήμα Διοίκησης.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ενότητα 12 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙI) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I) Ιωάννης Τσούλος
Αρχές Πληροφορικής Ενότητα # 13: Επεξεργασία κειμένου – LibreOffice #3
Βάσεις Δεδομένων Ι 4η διάλεξη
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
Αρχιτεκτονική Συστημάτων
Βάσεις Δεδομένων Ι Εισαγωγή
Εισαγωγή στις βάσεις δεδομένων ISBN
Διαχείριση παραγωγής εντύπων 1/2
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αρχές Διοίκησης και Διαχείρισης Έργων
Ενότητα # 1: ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΕΝΕΡΓΟΠΟΙΗΣΗ ΚΩΔΙΚΟΥ
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα # 10: Εισαγωγή στο Ms Powerpoint Τμήμα Ιστορίας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αρχιτεκτονική Συστημάτων
ΕνΟτητα # 6: Ms Word IΙΙ CLAUDIA BOETTCHER ΤμΗμα ΙστορΙαΣ
Αρχές Πληροφορικής Ενότητα # 11: Επεξεργασία κειμένου - LibreOffice
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενδεικτικές Πηγές P. A. Longley et al. Geographic Information Systems and Science, 2/e (2005) S. Shekhar & S. Chawla. Spatial Databases: A Tour (2003)
ΕνΟτητα # 9: Ms Word VI CLAUDIA BOETTCHER ΤμΗμα ΙστορΙαΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Διαχείριση Κινδύνου Ενότητα 3: Σχέδιο Διαχείρισης Κινδύνου.
Ενότητα 4 : Τελεστές της γλώσσας PHP Ιωάννης Τσούλος
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αρχές Πληροφορικής Ενότητα # 10: Ιστολόγια. Η υπηρεσία Blogger
Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II) Ιωάννης Τσούλος
Κανονικοποίηση ΤΙ ΕΙΝΑΙ ; Τεχνική Διαδικασία
Αρχές Πληροφορικής Ενότητα # 3: Το εσωτερικό του υπολογιστή
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Επιχειρησιακές Επικοινωνίες
ΕνΟτητα # 8: Ms Word V CLAUDIA BOETTCHER ΤμΗμα ΙστορΙαΣ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(10)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αρχιτεκτονική Συστημάτων
Ανάπτυξη Εκπαιδευτικού Λογισμικού
Ανάπτυξη Εκπαιδευτικού Λογισμικού
Ενότητα # 5: Περιορισμοί ακεραιότητας
Ενότητα # 0: Εισαγωγικά διάφορα Ιωάννης Καρύδης Τμήμα Πληροφορικής
Μεταγράφημα παρουσίασης:

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ιονίου Πανεπιστημίου» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Κεφάλαιο 1: εισαγωγή Σκοποί – Στόχοι ενός ΣΔΒΔ Όψεις Δεδομένων Γλώσσες Βάσεων Δεδομένων Σχεσιακές Βάσεις Δεδομένων Σχεδιασμός Βάσεων Δεδομένων Αντικειμενοστραφείς και Ημιδομημένες Βάσεις Δεδομένων Αποθήκευση Δεδομένων και Ερωτήματα Διαχείριση Συναλλαγών (Transaction Management) Αρχιτεκτονικές Βάσεων Δεδομένων Χρήστες και Διαχειριστές Βάσεων Δεδομένων Συνολική Δομή Ιστορία των Βάσεων Δεδομένων

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

Ο σκοπός ενός ΣΔΒΔ Στις μέρες μας, οι εφαρμογές των ΒΔ χτιστήκανε ακριβώς πάνω από τα συστήματα αρχείων (file systems) Μειονεκτήματα της χρήσης των file systems για αποθήκευση δεδομένων: – Πλεονασμός (redundancy) και ασυνέπεια (inconsistency) δεδομένων Πολλαπλοί τύποι αρχείων, αντιγραφή της ίδια πληροφορίας σε διαφορετικά αρχεία. – Δυσκολία στην προσπέλαση των δεδομένων Ανάγκη για γράψιμο νέων προγραμμάτων προκειμένου να εκτελείται κάθε νέο task που εμφανίζεται – Απομόνωση δεδομένων — πολλαπλά αρχεία και τύποι αρχείων – Προβλήματα ακεραιότητας Οι περιορισμοί ακεραιότητας (π.χ. account balance > 0) δεν φαίνονται ξεκάθαρα παρά θάβονται μέσα σε μεγάλα κομμάτια κώδικα Δυσκολία προσθήκης νέων περιορισμών ή αλλαγής των υπαρχόντων

Ο σκοπός ενός ΣΔΒΔ (Συν.) Μειονεκτήματα από τη χρήση file systems (συν.) – Ατομικότητα στις ενημερώσεις Σφάλματα (failures) μπορεί να αφήσουν τη ΒΔ σε ασυνεπή κατάσταση με τις ενημερώσεις να έχουν ολοκληρωθεί εν μέρει π.χ.: η μεταφορά κεφαλαίου από έναν λογαριασμό στον άλλον θα πρέπει είτε να ολοκληρωθεί είτε να ακυρωθεί τελείως – Ταυτόχρονη εκτέλεση από πολλούς χρήστες Η ταυτόχρονη εκτέλεση είναι αναγκαία προκειμένου να αυξηθεί η απόδοση του συστήματος Η μη ελεγχόμενη όμως ταυτόχρονη προσπέλαση δεδομένων μπορεί να οδηγήσει σε ασυνέπεια – π.χ.: 2 άνθρωποι διαβάζουν το ίδιο υπόλοιπο (balance) και το ενημερώνουν ταυτόχρονα την ίδια στιγμή – Προβλήματα ασφάλειας Είναι δύσκολο να παρέχουμε σε έναν χρήστη προσπέλαση σε μερικά και όχι σε όλα τα δεδομένα Τα ΣΔΒΔ προσφέρουν λύσεις σε όλα τα προαναφερθέντα προβλήματα

Ο σκοπός ενός ΣΔΒΔ (Συν.) Χρήστης Εφαρμογή Αρχείο

Ο σκοπός ενός ΣΔΒΔ (Συν.) Χρήστης Εφαρμογή ΒΔ

Αφαιρετικά Επίπεδα μιας ΒΔ Φυσικό Επίπεδο: περιγράφει με ποιο τρόπο μία εγγραφή (π.χ., customer) αποθηκεύεται. Λογικό Επίπεδο: περιγράφει τα δεδομένα που είναι αποθηκευμένα στη ΒΔ και τη μεταξύ τους σχέση. type customer = record customer_id : string; customer_name : string; customer_street : string; customer_city : integer; end; Επίπεδο Όψεων: εφαρμογές που κρύβουν λεπτομέρειες για τον τύπο των δεδομένων ή που αποκρύπτουν μία πληροφορία (π.χ. ο μισθός ενός υπαλλήλου) για λόγους ασφαλείας.

Η εικόνα των δεδομένων Η αρχιτεκτονική ενός ΣΔΒΔ Όψη 1Όψη nΌψη 2 … Λογικό επίπεδο Φυσικό επίπεδο Επίπεδο όψεων

Στιγμιότυπα και Σχήματα Παρόμοια με τους τύπους και τις μεταβλητές των γλωσσών προγραμματισμού Schema – Η λογική δομή της ΒΔ – π.χ: η ΒΔ αποτελείται από πληροφορία σχετικά με το σύνολο των πελατών, των λογαριασμών και την μεταξύ τους σχέση. – Ανάλογη με τους τύπους των μεταβλητών σε μία γλώσσα προγραμματισμού – Physical schema: ο σχεδιασμός της ΒΔ στο φυσικό επίπεδο – Logical schema: ο σχεδιασμός της ΒΔ στο λογικό επίπεδο Instance – το ακριβές περιεχόμενο της ΒΔ σε μία συγκεκριμένη χρονική στιγμή – Αντίστοιχο της τιμής μιας μεταβλητής Physical Data Independence – η ικανότητα να τροποποιούμε το φυσικό σχήμα χωρίς να αλλάζει το λογικό σχήμα – Οι εφαρμογές εξαρτώνται από το λογικό σχήμα – Γενικά, οι διεπαφές (interfaces) μεταξύ των διαφόρων επιπέδων και συστατικών μιας ΒΔ θα πρέπει να είναι καλά ορισμένες έτσι ώστε οι αλλαγές σε κάποια μέρη της βάσης να μην έχουν σοβαρή επιρροή στα υπόλοιπα.

Μοντέλα Δεδομένων Μία συλλογή από εργαλεία για να περιγράψουμε: – Δεδομένα – Σχέσεις Δεδομένων – Σημασιολογία Δεδομένων – Περιορισμοί Δεδομένων Σχεσιακό Μοντέλο Μοντέλο Οντοτήτων - Σχέσεων (E – R diagram) Αντικειμενοστραφή Μοντέλα Ημι-δομημένα μοντέλα και γλώσσες (XML) Άλλα παλιότερα μοντέλα: – Δικτυακό μοντέλο – Ιεραρχικό μοντέλο

Γλώσσα Διαχείρισης Δεδομένων (DML) Η γλώσσα προσπέλασης και χειρισμού των δεδομένων οργανώνεται από το κατάλληλο μοντέλο δεδομένων που χρησιμοποιείται. – Η DML είναι γνωστή σαν γλώσσα ερωτημάτων Υπάρχουν δύο κλάσεις γλωσσών – Διαδικαστικές (Procedural) – Ο χρήστης δηλώνει ποια δεδομένα απαιτούνται καθώς και τον τρόπο που θα ανακτηθούν αυτά τα δεδομένα – Δηλωτικές ή μη διαδικαστικές (Declarative or nonprocedural) – Ο χρήστης δηλώνει ποια δεδομένα απαιτούνται χωρίς να τον ενδιαφέρει ο τρόπος που θα ανακτηθούν αυτά τα δεδομένα Η SQL είναι η πιο ευρέως διαδεδομένη γλώσσα ερωτημάτων

Γλώσσα Ορισμού Δεδομένων (DDL) Ορισμός του σχήματος της βάσης με SQL κώδικα Παράδειγμα:create table account ( account-number char(10), balance integer) O DDL compiler παράγει το σύνολο των απαιτούμενων πινάκων και τους αποθηκεύει σε ένα λεξικό δεδομένων (data dictionary) Το Data dictionary περιέχει μεταδεδομένα (metadata), δηλαδή, data about data – Σχήμα της ΒΔ (Database schema) – Αποθήκη Δεδομένων (Data storage) και ορισμός γλώσσας (definition language) Περιγράφει τις δομές αποθήκευσης και προσπέλασης των δεδομένων – Περιορισμοί Ακεραιότητας (integrity constraints) Domain constraints Referential integrity (references constraint in SQL) Assertions – Εξουσιοδότηση (Authorization)

Σχεσιακό Μοντέλο Παράδειγμα ενός πίνακα στο σχεσιακό μοντέλο Γνωρίσματα

Ένα δείγμα σχεσιακής ΒΔ Ο πίνακας customer Ο πίνακας account Ο πίνακας depositor

SQL SQL: Ευρέως γνωστή και ως μη-διαδικαστική γλώσσα – Π.χ.: Βρες τα ονόματα των πελατών με customer-id selectcustomer.customer_name fromcustomer wherecustomer.customer_id = ‘ ’ – Βρες τα υπόλοιπα των λογαριασμών του πελάτη με customer-id selectaccount.balance from depositor, account where depositor.customer_id = ‘ ’ and depositor.account_number = account.account_number Προγράμματα εφαρμογών προσπελαύνουν μια ΒΔ με έναν από τους παρακάτω τρόπους – Επεκτάσεις γνωστών γλωσσών ώστε να επιτρέπουν embedded SQL – Προγράμματα διεπαφής (π.χ., ODBC/JDBC) τα οποία έχουν τη δυνατότητα να στέλνουν SQL queries σε μια απομακρυσμένη ΒΔ

Σχεδιασμός Βάσης Δεδομένων Η διαδικασία σχεδιασμού της γενικής δομής της ΒΔ Λογικός Σχεδιασμός – αποφασίζουμε το σχήμα της ΒΔ. Ο σχεδιασμός απαιτεί να έχουμε βρει μία καλή συλλογή από σχέσεις (πίνακες). – Business decision – Ποια κατηγορήματα (πεδία) θα θέλαμε να περιγράφει η ΒΔ? – Computer Science decision – Ποιες σχέσεις θα θέλαμε να έχουμε και πώς τα παραπάνω κατηγορήματα θα κατανέμονται μεταξύ αυτών των σχημάτων? Φυσικός Σχεδιασμός – Αποφασίζουμε τη φυσική διάταξη της ΒΔ στο δίσκο.

Μοντέλο Οντοτήτων – Σχέσεων (E-R) Μοντελοποιεί τη ΒΔ σαν συλλογή από οντότητες και σχέσεις. – Οντότητα: Ένα “αντικείμενο” που περιγράφει πλήρως την ύπαρξή του και το διαφοροποιεί από όλα τα υπόλοιπα Περιγράφεται από ένα σύνολο ιδιοτήτων (πεδίων ή κατηγορημάτων) – Σχέση: Η συσχέτιση (τρόπος σύνδεσης) μεταξύ δύο οντοτήτων Αναπαρίσταται από ένα E-R διάγραμμα, λ.χ. : customeraccount depositor account_numberbalance customer_id customer_namecustomer_street customer_city

Μοντέλο Σχεσιακών Αντικειμένων (Object-Relational Data Model) Επεκτείνει το υπάρχον σχεσιακό μοντέλο χρησιμοποιώντας τη λογική του αντικειμενοστραφή προγραμματισμού καθώς και πολύπλοκους τύπους δεδομένων Επιτρέπει στις ιδιότητες των σχέσεων να έχουν complex types, π.χ. μη-ατομικές τιμές όπως εμφωλιασμένες σχέσεις (nested relations). Διατηρεί τις βασικές ιδιότητες του σχεσιακού μοντέλου, επεκτείνοντας ωστόσο την ισχύ του μοντέλου. Παρέχει συμβατότητα με τις υπάρχουσες σχεσιακές γλώσσες.

XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) Στην πραγματικότητα είναι μία document markup language και όχι μία database language Η ικανότητα ορισμού νέων tags, και δημιουργίας nested tag structures έκανε την XML ένα φοβερό μέσο ανταλλαγής δεδομένων και όχι απλά μόνο κειμένων Η XML έχει γίνει η βάση για όλα τα formats ανταλλαγής δεδομένων. Μία μεγάλη ποικιλία από tools είναι πλέον διαθέσιμα για ανάλυση (parsing), εύρεση – ψάξιμο (browsing) και υποβολή ερωτημάτων πάνω σε XML κείμενα/δεδομένα. Παράδειγμα: «Βρες τα έγγραφα στο επίπεδο του “ τα οποία έχουν μία λέξη-κλειδί η οποία καλύπτει τη λέξη-κλειδί cat: – SELECT * FROM document in WHERE ONE OF keywords COVERS “cat”

Διαχείριση Αποθήκευσης (Storage Management) Ο Storage manager είναι το πρόγραμμα που παρέχει τη διεπαφή (interface) μεταξύ των low-level data που είναι αποθηκευμένα στη ΒΔ με τα προγράμματα εφαρμογών και τα ερωτήματα που αποστέλλονται στο σύστημα. Είναι υπεύθυνος για τα εξής: – Αλληλεπίδραση με τον διαχειριστή αρχείων (file manager) – Αποδοτική αποθήκευση, ανάκτηση και ενημέρωση δεδομένων Σκοπός: – Προσπέλαση αποθηκευμένων δεδομένων (Storage access) – Οργάνωση Αρχείων (File organization) – Ευρετήρια (Indexing και hashing)

Επεξεργασία Ερωτημάτων (Query Processing) 1.Συντακτική Ανάλυση (Parsing) και μετάφραση (translation) 2.Βελτιστοποίηση (Optimization) 3.Εκτίμηση Κόστους (Evaluation) query relational algebra expression parser & translator optimiser statistics about data execution plan parser & translator query output data

Query Processing (Συν.) Εναλλακτικοί τρόποι εκτίμησης κόστους ενός ερωτήματος – Ισοδύναμες Εκφράσεις – Διαφορετικοί Αλγόριθμοι για κάθε πράξη (operation) Η διαφορά κόστους ανάμεσα στους παραπάνω εναλλακτικούς τρόπους μπορεί να είναι τεράστια Ανάγκη για εκτίμηση του κόστους των πράξεων – Εξαρτάται από τη στατιστική πληροφορία που σχετίζεται με τις ιδιότητες (πεδία) των σχέσεων (πίνακες) που διατηρεί η ΒΔ, μέσα σε ειδικό χώρο (DB catalog) – Ανάγκη για πιθανοτική- στατιστική εκτίμηση του μεγέθους των ενδιάμεσων αποτελεσμάτων με στόχο τον υπολογισμό του συνολικού κόστους ενός σύνθετου ερωτήματος

Διαχείριση Συναλλαγών - Transaction Management Μία συναλλαγή (transaction) είναι μία συλλογή από πράξεις (operations) που εκτελούν μία απλή λογική συνάρτηση σε μία εφαρμογή ΒΔ. Το τμήμα διαχείρισης συναλλαγών (Transaction- management component) εξασφαλίζει ότι η ΒΔ θα παραμείνει σε συνεπή μορφή (consistent or correct) ακόμη και όταν συμβούν system failures (π.χ., power failures ή operating system crashes) ή transaction failures. Ο διαχειριστής ελέγχου συγχρονισμού (Concurrency- control manager) ελέγχει τον τρόπο με τον οποίο αλληλεπιδρούν συναλλαγές που εκτελούνται ταυτόχρονα (concurrent transactions), προκειμένου να εξασφαλίσει συνέπεια του ΣΔΒΔ.

Αρχιτεκτονική ΒΔ Οι βασικές αρχιτεκτονικές στις οποίες μπορεί να στηθεί και να «τρέξει» μία ΒΔ: Centralized Client-server Parallel (multi-processor) Distributed Peer to Peer (P2P)

Χρήστες Application programmers – αλληλεπιδρούν με το σύστημα μέσω DML κλήσεων Sophisticated users – διατυπώνουν αιτήματα σε μία γλώσσα ερωτημάτων. Specialized users – Γράφουν συγκεκριμένες DB εφαρμογές οι οποίες δεν εντάσσονται σε κάποιο από τα παραδοσιακά πεδία επεξεργασίας δεδομένων. Naïve users – επικαλούνται προγράμματα που έχουν αναπτυχθεί από τους προηγούμενους – Π.χ. προσπέλαση τραπεζικών δεδομένων μέσω του web.

Διαχειριστής Τα καθήκοντα του Database administrator: – Ορισμός σχήματος – Ορισμός αποθηκευτικών δομών και μεθόδων προσπέλασης – Φυσική Οργάνωση της ΒΔ στο δίσκο – Δικαιώματα χρηστών για προσπέλαση της ΒΔ – Ορισμός των integrity constraints που πρέπει να τηρούνται – Δράση συνδέσμου με όλους τους users – Έλεγχος της απόδοσης και ανταπόκριση - προσαρμογή της ΒΔ στις επερχόμενες αλλαγές.

Συνολική αρχιτεκτονική ενός ΣΔΒΔ

Ιστορία των ΣΔΒΔ 1950 και αρχές του 1960: – Επεξεργασία δεδομένων με τη χρήση μαγνητικών ταινιών για αποθήκευση Οι ταινίες παρέχουν σειριακή προσπέλαση (μόνο) – Η είσοδος των δεδομένων γίνεται με διάτρητες κάρτες Τέλη του1960 και1970: – Σκληροί Δίσκοι επιτρέπουν άμεση προσπέλαση στα δεδομένα – Εμφανίζονται Δικτυακά και Ιεραρχικά μοντέλα δεδομένων – Ο Ted Codd ορίζει το σχεσιακό μοντέλο δεδομένων Κερδίζει το ACM Turing Award γι’ αυτή τη δουλειά Η IBM Research αναπτύσσει το System R Το UC Berkeley αναπτύσσει την Ingress – Υψηλής απόδοσης (για την εποχή) επεξεργασία συναλλαγών

Ιστορία (συν.) 1980: – Τα σχεσιακά μοντέλα εφαρμόζονται πλέον για την ανάπτυξη εμπορικών εφαρμογών Η SQL γίνεται πλέον industrial standard – Παράλληλα και Κατανεμημένα ΣΔΒΔ – Αντικειμενοστραφή ΣΔΒΔ 1990: – Τεράστιες Εφαρμογές Εξόρυξης Γνώσης (Data Mining) – Τεράστιες (multi-terabyte) αποθήκες δεδομένων (data warehouses) – Ηλεκτρονικό Εμπόριο μέσα από το διαδίκτυο (Web commerce) 2000: – XML και XQuery standards – Αυτόματη Διαχείριση της ΒΔ

Εικόνα 1.4

Εικόνα 1.7

Τέλος Ενότητας