Παρουσίαση του...

Post on 14-Jul-2020

7 views 0 download

Transcript of Παρουσίαση του...

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων

Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

Άδειες Χρήσης

• Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

• Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

2

Χρηματοδότηση • Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια

του εκπαιδευτικού έργου του διδάσκοντα.

• Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού.

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

3

Σκοποί Ενότητας

Ο φοιτητής που θα παρακολουθήσει με επιτυχία την ενότητα αυτή θα διαθέτει τις απαιτούμενες θεωρητικές και πρακτικές γνώσεις ώστε:

• Να περιγράφει τη λειτουργία της Βάσης Δεδομένων σε μια επιχείρηση ή οργανισμό και να προσδιορίζει τη χρηστικότητά της στη Διαχείριση των Δεδομένων.

4

Περιεχόμενα Ενότητας

• Εφαρμογές βασισμένες στα Αρχεία

• Περιορισμοί των Συστημάτων που βασίζονται στα Αρχεία

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

• Πλεονεκτήματα των Βάσεων Δεδομένων

• Μειονεκτήματα των Βάσεων Δεδομένων

5

Δεδομένα

Βασικές Έννοιες-Δεδομένα Δεδομένα (data)

• Αντικείμενα που είναι γνωστά ή παραδεκτά , γεγονότα ή εικόνες από τα οποία μπορούμε να βγάλουμε συμπεράσματα

• Μια αναπαράσταση γεγονότων, νοημάτων, οδηγιών μορφοποιημένα έτσι ώστε να εξυπηρετούν την επικοινωνία και την επεξεργασία τους από ανθρώπους ή από μηχανικά μέσα.

• Κάθε αναπαράσταση όπως χαρακτήρες ή αναλογικές ποσότητες μέσω των οποίων μπορούν να αντιστοιχηθούν νοήματα.

• Τα δεδομένα αποτελούνται από σύμβολα και αναπαριστούν συγκεκριμένα αντικείμενα, ιδέες, αξίες, κ.ά.

7

Δεδομένα - Παραδείγματα

8

Συστήματα Βασισμένα στα Αρχεία Αποτελούνται από:

•Αρχεία που αποθηκεύονται σε Περιφερεικά Μέσα (Σκληρό Δίσκο)

•Μια συλλογή από προγράμματα εφαρμογών τα οποία εκτελούν την επεξεργασία των δεδομένων για τους τελικούς χρήστες.

•Σε κάθε πρόγραμμα ορίζονται τα δεδομένα της εκάστοτε εφαρμογής

9

Συστήματα Βασισμένα Στα Αρχεία – Επεξεργασία Δεδομένων

10

Παράδειγμα

Εφαρμογή Πελάτες, Προϊόντα, Πωλήσεις •Αρχείο Πελατών (ΑΦΜ, Επωνυμία, Διεύθυνση, τηλέφωνο, φαξ, …) •Αρχείο Προϊόντων (Κωδικός, περιγραφή, μέτρηση, τιμή, απόθεμα …) •Αρχείο Πωλήσεων (ΑΦΜ, Κωδικός ΠροΙόντος, Ημερομηνία, ποσότητα, …)

Η σύνδεση των Πελατών και των Προϊόντων με τις πωλήσεις γίνεται με το ΑΦΜ και τον κωδικό προϊόντος αντίστοιχα. Για την καταχώρηση μιας νέας πώλησης η εφαρμογή περιλαμβάνει τις παρακάτω διεργασίες: •Αναζήτηση στοιχείων πελάτη με βάση τον κωδικό ή την επωνυμία του •Αναζήτηση στοιχείων προίόντος με βάση των κωδικό ή την περιγραφή του. •Καταχώρηση των στοιχείων της πώλησης στο αρχείο των Πωλήσεων

11

Περιορισμοί των Συστημάτων που βασίζονται στα Αρχεία (1)

• Διαχωρισμός και απομόνωση των Δεδομένων. Κάθε πρόγραμμα διαχειρίζεται τα δικά του δεδομένα.

• Οι χρήστες δεν έχουν τη δυνατότητα της προσπέλασης σε δεδομένα άλλων εφαρμογών.

• Πολλαπλή τήρηση των Δεδομένων. Τα ίδια δεδομένα χρησιμοποιούνται από πολλές εφαρμογές.

• Τα δεδομένα τηρούνται σε ξεχωριστά Αρχεία. • Σπατάλη χώρου και δυσκολίες στην επικαιροποίηση των

δεδομένων • Υψηλό κόστος στην ανάπτυξη εφαρμογών

12

Περιορισμοί των Συστημάτων που βασίζονται στα Αρχεία (2)

• Δυσκολίες στην υλοποίηση μεταβολών • Εξάρτηση από τα Δεδομένα. Τα αρχεία δεδομένων

ορίζονται μέσα στα προγράμματα • Ασυμβατότητα της μορφής των Αρχείων (εφόσον έχουν

αναπτυχθεί σε διαφορετικές γλώσσες προγραμματισμού). • Προκαθορισμένα ερωτήματα. Χρονοβόρα ή ανάπτυξη νέων

ερωτημάτων - αναφορών. • Τα προγράμματα κατασκευάζονται έτσι ώστε να

ικανοποιούν συγκεκριμένες λειτουργίες. Κάθε νέα ανάγκη σημαίνει συνήθως και τη συγγραφή νέου υπο-προγράμματος

13

Βάση Δεδομένων Βάση Δεδομένων - Data Base • Είναι ένας μηχανισμός, κοινός και επίσημα ορισμένος

και κεντρικά διαχειριζόμενος για τα δεδομένα που χρησιμοποιούνται σε μια επιχείρηση ή οργανισμό

• Είναι μια αναπόσπαστη οντότητα μέσα στον Οργανισμό ή την Επιχείρηση και στο Πληροφοριακό της Σύστημα

• Η απώλεια δεδομένων (ακόμη και για πολύ μικρό χρονικό διάτημα) δημιουργεί δυσλειτουργίες και αστοχίες στη λειτουργία των επιχειρήσεων και οργανισμών

14

Βάσεις Δεδομένων • Μια συλλογή από διαμοιραζόμενα και λογικά

συσχετισμένα δεδομένα (και περιγραφή των δεδομένων) τα οποία είναι σχεδιασμένα έτσι ώστε να ικανοποιούν τις ανάγκες της περίπτωσης για την οποία αναπτύσσονται.

• Κατάλογος Συστήματος - (Καλείται και λεξικό δεδομένων ή metadata) – Παρέχει την περιγραφή των δεδομένων έτσι ώστε να χρησιμοποιείται από κάθε πρόγραμμα και από το Σύστημα Διαχείρισης Βάσεων Δεδομένων.

• Τα λογικά συσχετισμένα δεδομένα συνθέτουν οντότητας, χαρακτηριστικά, και σχέσεις μέσα στον οργανισμό ή την επιχείρηση.

15

Οι Βάσεις Δεδομένων στην Πυραμίδα Διοίκησης

16

Βάσεις Δεδομένων – Γλώσσα Προγραμματισμού

Γλώσσα Ορισμού Δεδομένων - Data Definition Language (DDL). • Επιτρέπει την περιγραφή και τις προδιαγραφές των τύπων των

δεδομένων, τις δομές και τους περιορισμούς. Όλες οι πληροφορίες των προδιαγραφών των δεδομένων (Meta Data) διατηρούνται στη Βάση Δεδομένων.

(Δημιουργία και Αναμόρφωση Β.Δ., Δημιουργία και Αναμόρφωση Πινάκων, Σχέσεις μεταξύ των Πινάκων, Χρήστες Β.Δ. και Αρμοδιότητες) Γλώσσα Διαχείρισης Δεδομένων - Data Manipulation Language (DML). • Ειδικές λειτουργίες για να θέτουμε ερωτήματα και να διαχειριζόμαστε τα

Δεδομένα (Είσοδος νέων δεδομένων, μεταβολή δεδομένων, διαγραφή δεδομένων, ερωτήματα)

17

Όψεις - Views • Επιτρέπουν στους επιμέρους χρήστες να έχουν την δική τους όψη

στα δεδομένα της Βάσης Δεδομένων. • Μία όψη είναι υποσύνολο της Βάσης Δεδομένων Οφέλη από τις Όψεις: • Μειώνουν την πολυπλοκότητα • Παρέχουν Ασφάλεια • Παρέχουν ένα μηχανισμό για να προσαρμόζεται η παρουσίαση των

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

Δεδομένων, ακόμη και όταν η Β.Δ. είναι σε κατάσταση μεταβολής

18

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

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

• Λογισμικό το οποίο επιτρέπει στους χρήστες να ορίζουν, δημιουργούν, διαχειρίζονται και συντηρούν Βάσεις Δεδομένων και επιπλέον παρέχει ελεγχόμενη πρόσβαση στα δεδομένα της Βάσης..

20

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

21

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

Η ελεγχόμενη πρόσβαση στη Βάση Δεδομένων μπορεί να περιλαμβάνει: • Ένα σύστημα Ασφάλειας. • Ένα σύστημα ελέγχου ακεραιότητας των δεδομένων • Ένα σύστημα επαναφοράς των δεδομένων • Έναν κατάλογος ελέγχου της προσβασιμότητας • Ο Μηχανισμός παρουσίασης των δεδομένων. • Παρέχει στους χρήστες τη δυνατότητα να εμφανίσουν

μόνο τα δεδομένα που επιθυμούν και έχουν την άδεια πρόσβασης.

22

Προδιαγραφές - Λειτουργίες και Υπηρεσίες του ΣΔΣΒΔ

Καταχώρηση, Ανάκληση και Ενημέρωση Δεδομένων. • Το ΣΔΣΒΔ οφείλει να εξυπηρετεί τους χρήστες με διαδικασίες για να

αποθηκεύουν, να ανακαλούν και να ενημερώνουν τα δεδομένα της Β.Δ. Κατάλογος προσπελάσιμος από τους Χρήστες • Το Σ.Δ.Σ.Β.Δ. οφείλει να εξυπηρετεί του χρήστες με έναν κατάλογο στον

οποίο διατηρούνται περιγραφές των δεδομένων (πίνακες, πεδία, μορφή, ..) και στον οποίο οι χρήστες θα έχουν δυνατότητα προσπέλασης.

Υποστήριξη Συναλλαγών • Το ΣΔΣΒΔ θα πρέπει να διαθέτει μηχανισμούς που θα εξασφαλίζουν την

πραγματοποίηση της ενημέρωσης της Βάσης Δεδομένων για κάθε συναλλαγή που γίνεται και να ενημερώσουν τους χρήστες σχετικά.

23

Λειτουργίες και Υπηρεσίες του ΣΔΣΒΔ

Υπηρεσίες Ελέγχου Ακεραιότητας • Το ΣΔΣΒΔ θα πρέπει να διαθέτει μηχανισμό που θα

εξασφαλίζει ότι η Β.Δ. ενημερώνεται σωστά, όταν χρησιμοποιείται από πολλούς χρήστες ταυτόχρονα.

Υπηρεσίες Επαναφοράς • Το ΣΔΣΒΔ θα πρέπει να διαθέτει μηχανισμούς για την

επαναφορά της Βάσης Δεδομένων σε περιπτώσεις που υπάρχουν ανεπιθύμητες αστοχίες.

Υπηρεσίες Διαχείρισης Αρμοδιοτήτων • Το ΣΔΣΒΔ θα πρέπει να διαθέτει μηχανισμούς για την

εξασφάλιση της προσπέλασης στη Βάση μόνο από χρήστες που τους έχει δοθεί η αρμοδιότητα.

24

Λειτουργίες και Υπηρεσίες του ΣΔΣΒΔ

Υποστήριξη της Επικοινωνίας • Το ΣΔΣΒΔ θα πρέπει να έχει δυνατότητες συνεργασίας με

άλλα συστήματα (πρωτόκολλα επικοινωνίας). Υπηρεσίες Ακεραιότητας • Το ΣΔΣΒΔ θα πρέπει να διαθέτει σύστημα ελέγχου που θα

εξασφαλίζουν την τήρηση των κανόνων που διέπουν το Σχεσιακό Μοντέλο.

Υπηρεσίες που εξασφαλίζουν την Ανεξαρτησία των Δεδομένων • Το ΣΔΣΒΔ θα πρέπει να περιλαμβάνει λειτουργίες που θα

εξασφαλίζουν την ανεξαρτησία των προγραμμάτων από τη Β.Δ..

25

Πλεονεκτήματα και Μειονεκτήματα των ΣΔΒΔ

Πλεονεκτήματα των ΣΔΣΒΔ

• Έλεγχος της Ακεραιότητας της Β.Δ. • Συνέπεια στα Δεδομένα • Περισσότερες πληροφορίες για

την ίδια ποσότητα δεδομένων • Διαμοιρασμός των Δεδομένων • Ακεραιότητα των Δεδομένων

27

Πλεονεκτήματα των ΣΔΣΒΔ

• Καθορισμένα πρότυπα για όλους • Ασφάλεια στα Δεδομένα • Οικονομία κλίμακας • Ισορροπία σε αλληλοσυγκρουόμενες

απαιτήσεις • Υψηλές δυνατότητες στην προσπέλαση

δεδομένων και την ανταπόκριση του συστήματος

28

Πλεονεκτήματα των ΣΔΣΒΔ

• Αύξηση της Παραγωγικότητας • Καλύτερη συντήρηση του Συστήματος • Εξασφάλιση της επικαιροποίησης των

δεδομένων • Διαχείριση αντιγράφων ασφαλείας και

υπηρεσίες επαναφοράς

29

Μειονεκτήματα των ΣΔΣΒΔ • Πολυπλοκότητα στη λειτουργία τους και απαιτουν

εξειδικευμένο προσωπικο (διαχείριση, προγραμματισμός) • Μέγεθος – Συνήθως τα ΣΔΣΒΔ που λειτουργούν σε εταιρικό

επίπεδο είναι ιδιαίτερα απαιτητικά συστήματα. • Κόστος προμήθειας του Λογισμικού – Συνήθως Δεν

χρειαζόμαστε όλες τις προσφερόμενες λειτουργίες ή δυνατότητες.

• Επιπρόσθετο κόστος σε Υλικό Εξοπλισμό (Εξυπηρετητές, Δικτυακός Εξοπλισμος)

• Κόστος μετάβασης (όταν έχουμε Συστήματα βασισμένα σε Αρχεία)

• Δεν υπάρχει παντα η αναμενόμενη απόδοση σε ταχύτητα.

30

Αρχιτεκτονική Εφαρμογών Βάσεων Δεδομένων

ANSI-SPARC Αρχιτεκτονική τριών επιπέδων

32

Αρχιτεκτονική Τριών Επιπέδων • Όλοι οι χρήστες θα έχουν

πρόσβαση στην ίδια βάση δεδομένων.

• Η όψη (view) ενός χρήστη είναι απρόσβλητη από αλλαγές που γίνονται σε άλλες όψεις (View).

• Οι χρήστες δεν απαιτείται να γνωρίζουν λεπτομέρειες για το πως είναι φυσικά καταχωρημένα τα δεδομένα στη Βάση Δεδομένων

33

Οι στόχοι της Αρχιτεκτονικής τριών επιπέδων

• Ο Διαχειριστής της Βάσης Δεδομένων θα μπορεί να αλλάξει τη δομή της Βάσης χωρίς να επηρεάσει τις όψεις των χρηστών (Views).

• Η εσωτερική δομή της Βάσης Δεδομένων δεν πρέπει να επηρεάζεται από αλλαγές στη φυσική καταχώρηση των Δεδομένων στη Βάσης Δεδομένων

• Ο Διαχειριστής της Βάσης

Δεδομένων θα μπορεί να αλλάζει τον σημασιολογικό σχεδιασμό της Βάσης Δεδομένων χωρίς να επηρεάζει όλες τις όψεις των χρηστών

34

ANSI-SPARC Αρχιτεκτονική Τριών Επιπέδων

Εξωτερικό Επίπεδο • Αυτό που βλέπουν οι χρήστες από τη Βάση

Δεδομένων. Ουσιαστικά περιγράφεται το τμήμα της Βάσης που αναφέρεται για τον κάθε χρήστη ξεχωριστά.

Σημασιολογικό Επίπεδο • Η συνολική εικόνα της Βάσης Δεδομένων.

Περιγράφεται ποια δεδομένα διατηρούνται στη Βάση και η σχέση μεταξύ τους.

Εσωτερικό Επίπεδο • Η φυσική αναπαράσταση της Βάσης

Δεδομένων. Περιγράφεται πώς τα Δεδομένα είναι καταχωρημένα στη Βάση Δεδομένων.

35

Διαφοροποίηση ανάμεσα στα τρία επίπεδα

36

Ανεξαρτησία Δεδομένων

Ανεξαρτησία Λογικών Δεδομένων • Αφορά την μη επιρροή του εξωτερικού σχήματος της

βάσης για αλλαγές στο σημασιολογικό επίπεδο. • Δηλαδή, για αλλαγές στο Σημασιολογικό Σχήμα (πχ.

πρόσθεση ή διαγραφή μιας οντότητας) δεν θα απαιτούνται αλλαγές στο εξωτερικό σχήμα.

Ανεξαρτησία Φυσικών Δεδομένων • Αφορά την μη επιρροή του σημασιολογικού σχήματος για

αλλαγές που γίνονται στο εσωτερικό σχήμα. • Δηλαδή, για αλλαγές στην οργάνωση των αρχείων, τον

τύπο των δεδομένων κ.α. δεν απαιτούνται αλλαγές στο σημασιολογικό ή εξωτερικό σχήμα.

37

Αρχιτεκτονική Εφαρμoγών Βάσεων Δεδομένων

38

Αρχιτεκτονική Πελάτη – Εξυπηρετητή (Client – Server)

Ερωτήσεις - Ασκήσεις

Ερωτήσεις - Ασκήσεις

Ερωτήσεις: • Ποιές είναι οι βασικές λειτουργίες του Συστήματος Διαχείρισης Βάσεων

Δεδομένων; • Ποιός είναι ο ρόλος (υπευθυνότητες) του Διαχειριστή της Βάσης

Δεδομένων; • Ποιές είναι οι διακριτές διαφορές ανάμεσα στα Συστήματα Διαχείρισης

Δεδομενων που βασίζονται στα Αρχεία και τα Συστήματα Διαχείρισης Σχεσιακών Βάσεων Δεδομενων;

• Ποιές είναι οι οφέλειες από την Ανεξαρτησία των Επιπέδων (Εξωτερικό, Σημασιολογικό και Εσωτερικό);

• Πλεονεκτήματα – Μειονεκτήματα των Αρχιτεκτονικών Πελάτη – Εξυπηρετητή (client – server) και ν –Επιπέδων (n – tier ή thin client-server)

40

ΑΣΚΗΣΗ 1 Μια Οικοδομική Κατασκευαστική Εταιρεία σκοπεύει να εγκαταστήσει Βάση Δεδομένων για την υποστήριξη των λειτουργιών της. Η εταιρεία διαθέτει Τεχνικό Τμήμα με δύο μονάδες (Μελετητική, Κατασκευαστική), Λογιστήριο για την Οινομική Διαχείρισή της, Τμήμα Μάρκετινγκ και Πωλήσεων και Διοικητικής Μέριμνας. Η εταιρεια κατασκευάζει πολυκατοικίες και συγκροτήματα κατοικιών τα οποία πουλά σε πελάτες. • Ποιές είναι οι βασικές λειτουργίες της Εταιρείας που θα

υποστηριχθούν από το Σύστημα Βάσης Δεδομένων; • Ποιά είναι τα αναμενόμενα οφέλη από τη λειτουργία του

Συστήματος • Στα τρία Επίπεδα της Πυράμίδας της Επιχείρησης ποιές είναι οι

λειτουργίες που θα υποστηριχθούν από τη Βάση Δεδοομένων; Αναφέρατε Παραδείγματα.

41

ΑΣΚΗΣΗ 2 Ενα Ξενοδοχείο σκοπεύει να εγκαταστήσει Βάση Δεδομένων για την υποστήριξη των λειτουργιών του. Το Ξενοδοχείο διαθέτει 40 δωμάτα (μονόκλινα και Δίκλινα), Εστιατόριο, Καφετέρια, Τεχνική Υπηρεσία, Υπηρεσία Καθαριότητας, Λογιστήριο και το τμήμα Κρατήσεων, Υποδοχής και Εξυπηρέτησης Πελατών. • Ποιές είναι οι βασικές λειτουργίες του Ξενοδοχείου που θα

υποστηριχθούν από το Σύστημα Βάσης Δεδομένων; • Ποιά είναι τα αναμενόμενα οφέλη από τη λειτουργία του

Συστήματος • Στα τρία Επίπεδα της Πυράμίδας του Ξενοδοχείου ποιές

είναι οι λειτουργίες που θα υποστηριχθούν από τη Βάση Δεδοομένων; Αναφέρατε Παραδείγματα.

42

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