Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
ΥΠΕΥΘΥΝΟΣ: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ tmanavis@ist.edu.gr
Διαλέξεις 1,2 ΥΠΕΥΘΥΝΟΣ: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ T Manavis
2
Γιατί παρουσιάζουν τόσο ενδιαφέρον (τώρα και στο μέλλον) οι ΒΔ;
Γιατί παρουσιάζουν τόσο ενδιαφέρον (τώρα και στο μέλλον) οι ΒΔ; Ερώτηση: Γιατί παρουσιάζουν τόσο ενδιαφέρουν οι Σχεσιακές Βάσεις Δεδομένων; Απάντηση Γιατί είναι το τεχνικό θεμέλιο (υπόβαθρο) κάθε σύγχρονου Πληροφοριακού Συστήματος. Τραπεζικές Εφαρμογές & Χρηματιστήριο, (Διαδικτυακά) Συστήματα Κρατήσεων Ε-Διακυβέρνηση (Ανανέωση Αδειών, Φορολογία, κτλ.) Αρχεία Προσωπικού, Πελατών, κτλ (Οργανισμοί, Εταιρείες, κτλ.) Λιανική Πώληση και Διαδικτυακά Καταστήματα Τηλεπικοινωνίες, και άπειρες άλλες εφαρμογές…. Γιατί ένα μεγάλο ποσοστό απασχόλησης αποφοίτων της Πληροφορικής είναι στο χώρο των Πληροφοριακών Συστημάτων (Βάσεων Δεδομένων)
3
Βασικοί Ορισμοί Βάση Δεδομένων (Database - DB):
Μια συλλογή από συσχετιζόμενα δεδομένα. Τα δεδομένα του Πανεπιστήμιου (Φοιτητών, Μαθημάτων, Αιθουσών, κτλ), Πτήσεων, Ξενοδοχείου,.. Τυχαία συλλογή δεδομένων δεν αποτελούν βάση π.χ., όλες οι λέξεις ενός βιβλίου παρόλο που είναι συσχετιζόμενα δεδομένα δεν αποτελούν βάση δεδομένων. Δεδομένα (Data): Γνωστά γεγονότα τα οποία μπορούν να καταγραφούν και τα οποία έχουν συγκεκριμένη σημασία. π.χ., Ο Κώστας είναι 32 ετών και η ταυτότητα του είναι Ο Κώστας είναι φοιτητής του IST.
4
ΧΡΗΣΗ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ
Η χρησιμοποίηση Βάσεων Δεδομένων (Databases) εξασφαλίζει ένα γενικό τρόπο αποθήκευσης των δεδομένων. Τα δεδομένα είναι ολοκληρωμένα (integrated) και καταμερισμένα (shared) έτσι ώστε, αφενός μεν τα πλεονάζοντα (redundant) δεδομένα να αποθηκεύονται όσο το δυνατόν λιγότερες φορές, αφετέρου δε να είναι προσπελάσιμα, από διάφορους χρήστες, για ποικίλες εφαρμογές. Βασικά πλεονεκτήματα από την οργάνωση των δεδομένων της Βάσης με τον τρόπο αυτό είναι ότι μειώνεται ο χώρος αποθήκευσης στο δίσκο καθώς ο χρόνος για ενημέρωση των δεδομένων.
5
Παράδειγμα Σχεσιακής Βάσης (Relational Database) Πανεπιστημίου
6
Παράδειγμα Σχεσιακής Βάσης Πελατών
1
7
Βασικοί Ορισμοί Database Management System (DBMS):
π.χ., Oracle, IBM DB2, SQL-Server, PostgreSQL, MySQL, MS Access, Interbase, Sybase, … Κύριος σκοπός των DBMS: αποθήκευση & διαχείριση Εύκολα και βολικά (conveniently) Γρήγορα και αποδοτικά (efficiently) Αξιόπιστα και με συνέπεια (reliably and consistently) Σύστημα Βάσης (Database System): DBS = DBMS + DATA
8
Βασικοί Ορισμοί v v (DB)
9
Αρχιτεκτονική ενός DBMS
10
Συστήματα Διαχείρησης Βάσεων Δεδομένων
Εμπορικά Oracle IBM/DB2 MS SQL-server Sybase Informix (MS Access, ...) Ελεύθερο Λογισμικό- Open Source Postgres (UCB) mySQL, mSQL miniBase (Wisc) Predator (Cornell) …
11
Εφαρμογές Βάσεων Δεδομένων
Αεροπορικές κρατήσεις Νοσοκομεία, Χημεία Τραπεζικές Εφαρμογές Λογιστήρια Σύστημα εγγραφής φοιτητών (banner) Κοινωνικές Ασφαλίσεις, Φόροι (taxisnet) Πωλήσεις – Αποθήκες (Amazon.com, eBay) Πιστωτικές κάρτες Χρηματιστήριο Τηλεπικοινωνίες … και άλλες πολλές!
12
Τύποι Βάσεων Δεδομένων
Παραδοσιακές Εφαρμογές: Αριθμητικές Βάσεις (Numerical) and Βάσεις Κειμένου (Text) Παράδειγμα Sprint Telecom (Αμερική): ΤOP-5 Database. Καταγραφή στοιχειών συνδιάλεξης (π.χ., ο X τηλεφώνησε του Υ για 10 λεπτά και 20 δευτερόλεπτα) 2,85 τρισεκατομμύρια (x1012) εγγραφές! 385 εκατομμύρια (x106) νέες εγγραφές την ημέρα! Σε εξαιρετικές περιπτώσεις μέχρι και 70,000 νέες εγγραφές το Δευτερόλεπτο. Πρόσφατες Εφαρμογές: Βάσεις Πολυμέσων και Γεωγραφικών Πληροφ. Συστημάτων (GIS) Αποθήκες Δεδομένων (Data Warehouses) Εξόρυξη δεδομένων (Data Mining) κλπ.
13
Τυπικές Λειτουργίες σε μια DBMS
Α) Ορισμός βάσης: τύποι δεδομένων (data types), δομές (structures), και περιορισμοί (constraints) Β) Δημιουργία ή Φόρτωση του αρχικού περιεχομένου της βάσης δεδομένων στη δευτερεύουσα μνήμη (secondary storage medium) Γ) Επεξεργασία της Βάσης: Ανάκτηση: Επερωτήσεις (Querying), Δημιουργία Αναφορών (Generating reports),… Τροποποίηση: Εισαγωγές, Διαγραφές και Ενημερώσεις Ταυτόχρονη πρόσβαση της βάσης από εφαρμογές, web, κτλ από πολλούς χρήστες … διασφαλίζοντας ότι τα δεδομένα είναι ορθά (valid) και συνεπή (consistent) π.χ., δυο διαφορετικοί φοιτητές δεν μπορούν να έχουν τον ίδιο αριθμό ταυτότητας. Αυτός ο κανόνας πρέπει να ισχύει συνέχεια.
14
Χαρακτηριστικά και Ιδιότητες των DBMS
Αυτό-περιγραφική Φύση των Συστημάτων Βάσεων Δεδομένων –Ομογένεια στην Δημιουργία, Πρόσβαση και Έλεγχο των Δεδομένων Μοίρασμα (SHARING) δεδομένων και χρήση από πολλούς χρήστες Υποστήριξη κανόνων Ακεραιότητας και Ασφάλειας στα Δεδομένα Κεντρικός έλεγχος Λειτουργίας(Database Administration) Έλεγχος Συνδρομικότητας (concurrency) και Μηχανισμοί για Ανάκαμψη (recovery) Τυποποιήσεις Αύξηση της Παραγωγικότητας στην Ανάπτυξη Εφαρμογών Διαχωρισμός Προγραμμάτων και Δεδομένων –ΑΦΑΙΡΕΣΗ ΔΕΔΟΜΕΝΩΝ (Abstraction) ΑΠΟΔΟΣΗ !!! (Performance -Performance –Performance)
15
Βήματα για τη χρήση των DBMS
Εκπαίδευση Χρηστών Ορισμός των περιγραφών (Schemas) της Βάσης Εισαγωγή Δεδομένων στη Βάση Υλοποίηση των Προγραμμάτων της Εφαρμογής Συνεχείς ΑΛΛΑΓΕΣ στη Βάση και την Εφαρμογή
16
Πλεονεκτήματα Βάσεων Δεδομέων
T Manavis
17
Συστήματα αρχείων: η αρχική προσέγγιση (δες και στο τμήμα «ιστορική αναδρομή», slide 30-)
Πριν την εμφάνιση των βάσεων δεδομένων, η αποθήκευση και η διαχείριση των δεδομένων ήταν στην ευθύνη των προγραμμάτων εφαρμογής Η αποθήκευση των δεδομένων γινόταν σε αρχεία του λειτουργικού συστήματος. Η ανάγνωση, αποθήκευση και ενημέρωση των δεδο-μένων ανήκε στην ευθύνη του προγραμματιστή της εφαρμογής.
18
Συστήματα αρχείων: η αρχική προσέγγιση
19
Η προσέγγιση με DBMS
20
Βασικά Πλεονεκτήματα της Προσέγγισης των Βάσεων
1) Αυτό-Περιγραφική Φύση μιας Βάσης: Μια DBMS περιέχει ένα Κατάλογο (Catalog) ο οποίος αποθηκεύει την περιγραφή μιας βάσης (π.χ., δομή πινάκων, τύποι δεδομένων, περιορισμοί, κτλ) Η πληροφορία ονομάζεται meta-data.
21
Παράδειγμα ενός Απλοποιημένου Καταλόγου (Catalog)
22
Βασικά Πλεονεκτήματα της Προσέγγισης των Βάσεων
2) Ανεξαρτησία Προγράμματος-Δεδομένων (Program-data independence) Επιτρέπει να αλλάξουμε την δομή και φυσική οργάνωση των δεδομένων χωρίς να χρειαστεί να αλλάξουμε τα Προγράμματα (DBMS Application Programs / Queries) Π.χ., εάν η DB χωριστεί σε 2 επί μέρους DBs ή εάν ταξινομηθεί η βάση τότε αυτό δε χρειάζεται να το γνωρίζει ο χρήστης! Αφαιρετικότητα (Data Abstraction)! (DB)
23
Βασικά Πλεονεκτήματα της Προσέγγισης των Βάσεων
3) Δυνατότητα Εκτέλεσης Επερωτήσεων μέσω Γενικής Διεπαφής (interface) Ο Χρήστης διατυπώνει τι επιθυμεί να ανακτήσει χωρίς να ορίζει πως (δηλ., αλγόριθμο) θέλει να γίνει η ανάκτηση δεδομένων. SELECT Course_number FROM COURSE WHERE Credit_hours<4 AND Department=‘CS’ DB Database System
24
Βασικά Πλεονεκτήματα της Προσέγγισης των Βάσεων
4) Παροχή Πολλαπλών Όψεων (Views) της ίδιας πληροφορίας. Π.χ., η γραμματεία της πληροφορικής βλέπει μόνο όσες εγγραφές φοιτητών συσχετίζονται με τις εγγραφές των φοιτητών του Τμήματος Πληροφορικής. CS-Students Students Math-Students
25
Βασικά Πλεονεκτήματα της Προσέγγισης των Βάσεων
5) Διαμοιρασμός Δεδομένων (Μεταξύ Χρηστών) και Επεξεργασία Δοσοληψιών Πολλαπλών Χρηστών : Επιτρέπει σε ταυτόχρονους χρήστες (concurrent users) να ανακτούν και να ενημερώνουν την βάση. Το Υποσύστημα Ελέγχου Συνδρομικότητας (Concurrency control subsystem) της DBMS διασφαλίζει ότι τα δεδομένα θα παραμένουν σε ορθή (correct) και συνεπή (consistent) κατάσταση. Δες παράδειγμα στην επόμενη διαφάνεια Το Υποσύστημα Ανάκαμψης (Recovery subsystem) διασφαλίζει ότι κάθε ολοκληρωμένη δοσοληψία (πρόγραμμα βάσης) θα καταγράψει μόνιμα τα αποτελέσματα της στη βάση δεδομένων
26
Υποσύστημα Ελέγχου Συνδρομικότητας (διασφαλίζει ότι η Εκτέλεση 2 δε θα συμβεί)
Deposit (amount, account#) { x = read(accounts[account#]); write(accounts[account#], amount + x); } Θεωρήστε: Account[7] = €100 T1: Deposit1(100, 7) T2: Deposit2(50, 7) Εκτέλεση 1 Εκτέλεση 2 T1 Read1 Write1 T2 Read2 Write2 T1 Read1 Write1 T2 Read2 Write2 150€ ! WRONG 250€ (Correct)
27
Βασικά Πλεονεκτήματα της Προσέγγισης των Βάσεων
Μέτρα Προστασίας και Ασφάλειας Δυνατότητα περιορισμού μη-εξουδιοτημένων (unauthorized) προσβάσεων στα δεδομένα. Μέσω Υποσυστήματος Ασφάλειας (Security) Διασφάλιση Μόνιμης Αποθήκευσης Δεδομένων Κάθε ολοκληρωμένη δοσοληψία (πρόγραμμα βάσης) θα καταγράψει μόνιμα τα αποτελέσματα στη βάση. Μέσω Υποσυστήματος Ανάκαμψης (Recovery) Προχωρημένες Δυνατότητες: Εξόρυξη Δεδομένων (Data Mining), Ανάκτηση Δεδομένων (Information Retrieval), Γεωγραφικά Δεδομένα, Αναφορές (Reports), κτλ.
28
Βασικά Πλεονεκτήματα της Προσέγγισης των Βάσεων
Μειωμένος χρόνος ανάπτυξης εφαρμογών Υπολογίζεται ότι ο χρόνος ανάπτυξης εφαρμογών με βάσεις μειώνεται κατά 75-84%.
29
Μειονεκτήματα των Βάσεων Δεδομένων
Δαπανηρή προμήθεια, οργάνωση και συντήρηση. Απαιτήσεις σε υλικό, όπως πρόσθετη μνήμη, πρόσθετες περιφερειακές μονάδες και, πολλές φορές, ανάγκη προμήθειας νέου ισχυρότερου υπολογιστή. Επίσης απαιτεί στελέχωση με εξειδικευμένο προσωπικό. Κίνδυνος πρόσβασης από μη εξουσιοδοτημένα άτομα => αυξημένο πρόσθετο κόστος (overhead) για την ασφάλεια.
30
Ιστορική αναδρομή T Manavis
31
Ιστορική αναδρομή 1/5 1950s (Πρώτη Γενεά –Αρχεία σε Ταινίες)
– batch processing, κάρτες και ταινίες (σειριακή επεξεργασία) 1960s (Δεύτερη Γενεά -Αρχεία σε Δίσκους) – Εκτεταμένη χρήση των Δίσκων »Επιστημονικό Πεδίο Βάσεων Δεδομένων – Πρώτα Συστήματα Αρχείων – Γενικευμένα Πακέτα Ταξινόμησης Δεδομένων – Δειλή παρουσία Γενικευμένων Λογισμικών Πακέτων – Ορισμός των Δεδομένων σε Γλώσσα Προγραμματισμού »COBOL – Ανάπτυξη Συστημάτων ΒΔ για Ιδιωτική Χρήση
32
Ιστορική αναδρομή 2/5 1970s Τρίτη Γενεά –Προ-Σχεσιακή (Pre-Relational)
-Τάση για Πρότυπα με την CODASYL αναφορές προτύπων 1969, 19, 73, 78, 81, 85.., »DBTG (Data Base Task Group) - ΑΠΟΘΗΚΕΥΣΗ δεδομένων ΚΑΙ ΤΩΝ ΟΡΙΣΜΩΝ τους - εμφύτευση γενικής χρήσης προγραμμάτων προσπέλασης σε HOST γλώσσα (COBOL) -Συστήματα Δικτύου (NETWORK)και Ιεραρχικά (HIERARCHICAL) -Θεωρητικός Ορισμός του Σχεσιακού Μοντέλου (από τον CODD) -Ενδιαφέρον από την Ακαδημαϊκή / Ερευνητική Κοινότητα (Computer Science) -Καθαρός Διαχωρισμός μεταξύ «φυσικής» και «λογικής» οργάνωσης ΒΔ -Θεωρητικές προσεγγίσεις σε Πρακτικά Θέματα Λειτουργίας -Τα πρώτα πιλοτικά Σχεσιακά Συστήματα (SYSTEM-R, INGRESS) -Αναγνώριση του ρόλου της Μοντελοποίησης. -ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΩΝ -Επεξεργασία ΒΔ σε ΧΑΜΗΛΟ επίπεδο (κακό στην παραγωγικότητα, λάθη, κλπ.)
33
Ιστορική αναδρομή 3/5 s (Τετάρτη Γενεά –Σχεσιακό Μοντέλο και Συστήματα) »Relational Database Systems - ΥΨΗΛΟΥ επιπέδου, ισχυρότατες Γλώσσες Επεξεργασίας–Set-Oriented (όχι Record-oriented) - Αναγνώριση της Θεωρίας Βάσεων Δεδομένων - Αρχιτεκτονικές 3 επιπέδων -To DBMS ενσωματωμένο σε μεγάλα Συστήματα Δοσοληψιών (Transactional Systems) π.χ., σε Δίκτυα. - SQL - Εμφάνιση των Αντικειμενοστραφών Συστημάτων, Ευφυών Συστημάτων, κλπ.
34
Ιστορική αναδρομή 4/5
35
Ιστορική αναδρομή 5/5 1990-2000s (Πέμπτη Γενιά – Μετά-Σχεσιακή Εποχή)
- Η εποχή των ΣΥΝΘΕΤΩΝ ΟΝΤΟΤΗΤΩΝ σε Βάσεις Δεδομένων (engineering objects, πολυμέσα -multimedia, software objects) - Object-Relational Database Systems – Ενεργές (Active) ΒΔ, Intelligent Systems, Πολυμέσα – Εξυπηρετητές/ πελάτες – Κατανεμημένες (Multidatabases), Παραλληλοποίηση »Συστήματα σε Προσωπικούς Υπολογιστές »Συστήματα στο Internet (Web-based) »Αποθήκες Δεδομένων (Data Warehouse)
36
Χρήστες των DBMS T Manavis
37
Βασικοί Χρήστες των DBMS
38
Άλλοι σημαντικοί Χρήστες
39
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων
T Manavis
40
Αναπαράσταση Δεδομένων
Φυσικό επίπεδο (Physical) (το χαμηλότερο (πιό λεπτομερές) επίπεδο αφαίρεσης) Λογικό επίπεδο (Logical) (το αμέσως υψηλότερο επίπεδο αφαίρεσης) Επίπεδα όψης (Views) (το πιό υψηλό επίπεδο αφαίρεσης)
41
Αναπαράσταση Δεδομένων
42
Αναπαράσταση Δεδομένων
43
Σχήματα και Στιγμιότυπα
44
Σχήματα και Στιγμιότυπα
45
Γενικά:
46
Η διαδικασία ανάπτυξης
Μια μακρά και επίπονη διαδικασία μετατροπής της ΓΝΩΣΗΣ ενός πραγματικού μικρόκοσμου σε μια ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ που θα την διαχειρίζεται ένα DBMS. Για διευκόλυνση της όλης διαδικασίας, αυτή διακρίνεται σε συνεχόμενες αυτοτελείς διαδικασίες (ΦΑΣΕΙΣ), κάθε μια των οποίων δημιουργεί ενδιάμεσες περιγραφές. Συλλογή Απαιτήσεων και Ανάλυση (Requirements Collection and Analysis), Εννοιολογικός Σχεδιασμός Βάσης (Conceptual Database Design), Λογικός Σχεδιασμός Βάσης (Logical Database Design), Φυσικός Σχεδιασμός Βάσης (Physical Database Design) Πλήρωση της Βάσης με Δεδομένα (Database Loading)
47
Η διαδικασία ανάπτυξης
48
Η διαδικασία ανάπτυξης
Ανάλυση Απαιτήσεων (Requirement Analysis): Ο Αναλυτής του συστήματος προετοιμάζει ένα έγγραφο απαιτήσεων με την βοήθεια του πελάτη. Τι δεδομένα να αποθηκεύονται και που; Τι εφαρμογές θα χτιστούν πάνω από τα δεδομένα; Ποιες πράξεις/διαδικασίες πρέπει να υποστηριχθούν και με τι απαιτήσεις επίδοσης;
49
Ανάλυση Απαιτήσεων
50
Ανάλυση Απαιτήσεων - Παράδειγμα
51
Ανάλυση Απαιτήσεων - Παράδειγμα
52
Η διαδικασία ανάπτυξης
Β. Εννοιολογική Σχεδίαση Βάσης (Conceptual Database Design): O DB Designer ετοιμάζει ένα ER διάγραμμα το οποίο μπορεί να γίνει αντιληπτό στο πελάτη (για επικύρωση) Το διάγραμμα αυτό πρέπει να ορθό, πλήρες και αποδοτικό για να είναι εύκολη η μετατροπή στο επόμενο στάδιο.
53
Η διαδικασία ανάπτυξης – Διάγραμμα ER
6
54
Η διαδικασία ανάπτυξης – Relational Schema
Λογική Σχεδίαση Βάσης (Logical Database Design): Μετατροπή του ER διαγράμματος σε ένα (Σχεσιακό) Σχήμα Βάσης (Relational Schema). Μπορεί να γίνει και αυτόματα με κάποιο αλγόριθμο / εργαλείο
55
(Η διαδικασία ανάπτυξης – Επερωτήσεις (Queries))
// Βρες (Αριθμό Φοιτητή, Όνομα) Φοιτητών SELECT Student_number, Name FROM STUDENT WHERE Major=‘Computer Science’ // Βρες (Αριθμό Φοιτητή, Όνομα) σε αύξουσα σειρά ORDER BY Student_number ASC 6
56
Η διαδικασία ανάπτυξης – Φυσικό Σχήμα
57
Πηγές Εθνικό Μετσόβιο Πολυτεχνείο : Σημειώσεις του μαθήματος Βάσεις Δεδομένων Ι Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστημίου Πατρών : Σημειώσεις του μαθήματος Βάσεις Δεδομένων Ι
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.