Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15 Γλώσσα Ορισμού Δεδομένων (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)

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

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

18 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 σε μια απομακρυσμένη ΒΔ

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

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

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

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

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

24 Επεξεργασία Ερωτημάτων (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

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

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

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

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

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

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

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

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

33 Εικόνα 1.4

34 Εικόνα 1.7

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


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google