Πληροφοριακά Συστήματα Διοίκησης

Σχετικά έγγραφα
Πληροφορική 2. Βάσεις Δεδομένων (Databases)

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 8 : Βάσεις Δεδομένων (2/2) Δρ.

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Πληροφορική Υγείας. Ενότητα 11 : Εισαγωγή στην επιστήμη των υπολογιστών (Μέρος Δ) Ευγενία Τόκη

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 7 : Βάσεις Δεδομένων (1/2) Δρ.

Διαχείριση Πολιτισμικών Δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

Information Technology for Business

Εισαγωγή στην Πληροφορική

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

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

Ιατρική Πληροφορική. Δρ. Π. ΑσβεστΑΣ ΤμΗμα ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

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

1.1. Βάσεις δεδομένων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

10 η Διάλεξη Python Βάσεις δεδομένων στη python

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

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

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

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

Σχεδίαση Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

Εργαστήριο 5o. Σχέσεις πινάκων Ακεραιότητα αναφορών. Ευάγγελος Γ. Καραπιδάκης

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

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

Lecture 21: Functional Dependencies and Normalization

Εξαγωγή Μετασχηματισμός Εισαγωγή Δεδομένων στην Αποθήκη Πληροφοριών (ETL) ETL) Αριστομένης Μακρής

Εισαγωγή στην πληροφορική

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Επιβλέπων: ΠΟΤΗΡΑΚΗΣ ΑΝΤΩΝΙΟΣ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

1. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

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

Διαχείριση Δεδομένων

Στόχοι και αντικείμενο ενότητας

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

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

Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση

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

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

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Επισκόπηση Μαθήµατος

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

Σχεδίαση Βάσεων Δεδομένων

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

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Εισαγωγή στις Βάσεις Δεδομζνων II

Πεδία (Attributes) Συσχετίσεις (Relationships) Κλειδιά (Identifiers) Οντότητες είναι υποψήφια αρχεία

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

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

Μια ολοκληρωμένη, διαχρονική και μόνιμη συλλογή δεδομένων οργανωμένη κατά αντικείμενο ανάλυσης με στόχο τη διαδικασία υποστήριξης λήψης αποφάσεων -

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

«Εισαγωγή στις ΒΔ - SQL»

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

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

Βάσεις Δεδομένων Ενότητα 5

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

Μάθημα 3. Θεμέλια Επιχειρηματικής Ευφυΐας: Διαχείριση Βάσεων Δεδομένων και πληροφοριών

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

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

Εργαστηριακές Ασκήσεις Σελίδα 1

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Διαχείριση Πολιτισμικών Δεδομένων

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

Βάσεις Δεδομένων. Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Βάσεις εδομένων ΘΕΜΑ ΕΡΓΑΣΙΑΣ. Μέρμηγκας Αλέξανδρος Α.Μ ιαχείρηση Πληροφοριακών Συστηματών

ΕΞΑΓΩΓΗ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΜΕΤΑΦΟΡΤΩΣΗ (EXTRACT, TRANSFORM, LOAD) Πασχάλης Θρήσκος, PhD Λάρισα

Βάσεις δεδομένων. Π. Φιτσιλής

Transcript:

Πληροφοριακά Συστήματα Διοίκησης Βάσεις Δεδομένων ΠΜΣ Λογιστική Χρηματοοικονομική και Διοικητική Επιστήμη ΤΕΙ Ηπείρου @ 2017

Βάσεις Δεδομένων (ΒΔ) Βάση δεδομένων (database) είναι μια οργανωμένη συλλογή δεδομένων τα οποία σχετίζονται μεταξύ τους Αναπαριστούν μια άποψη του πραγματικού κόσμου η οποία παρουσιάζει ενδιαφέρον από επιχειρηματική σκοπιά Σχεδιάζονται και διατηρούν δεδομένα για συγκεκριμένο σκοπό Τα δεδομένα περιγράφουν έναν μικρόκοσμο, είτε κατά την τρέχουσα χρονική στιγμή, είτε στην εξέλιξη της ιστορίας του 2

Τα επίπεδα αρχεία δεν είναι ΒΔ Επίπεδο αρχείο (flat file) είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν μια συγκεκριμένη διαμόρφωση Στα επίπεδα αρχεία δεν ορίζονται σχέσεις μεταξύ των δεδομένων 3

Τα αρχεία Excel δεν είναι ΒΔ Τα αρχεία Excel μπορούν να θεωρηθούν ως ένα είδος ενισχυμένων επίπεδων αρχείων Κάθε φύλλο Excel (έκδοση 2013) έχει 1.048.576 γραμμές και 16.384 στήλες και κάθε κελί μπορεί να περιέχει μέχρι 32.767 χαρακτήρες Όλα τα δεδομένα ενός αρχείου Excel πρέπει να φορτωθούν στη μνήμη προκειμένου να γίνει χρήση του Αρχεία Excel μεγαλύτερα από 100ΜΒ έχουν αργή απόκριση Δεν είναι εύκολο να οριστούν λογικές σχέσεις μεταξύ των δεδομένων Τα αρχεία Excel προορίζονται για χρήση σε έναν υπολογιστή και όχι για ταυτόχρονη πρόσβαση ενημέρωση από πολλούς χρήστες 4

Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) Σύστημα Διαχείρισης Βάσεων Δεδομένων (Database Management System=DBMS) είναι ένα σύστημα το οποίο ορίζει δημιουργεί και συντηρεί Βάσεις Δεδομένων. Το ΣΔΒΔ παρέχει επίσης στους χρήστες ελεγχόμενη πρόσβαση στις βάσεις δεδομένων. Τα ΣΔΒΔ επιτρέπουν: Μόνιμη αποθήκευση δεδομένων Αυτοματοποιημένες διαδικασίες λήψης αντιγράφων ασφαλείας Ασφάλεια - έλεγχος πρόσβασης Διαχείριση πλεονασμού (δλδ την αποφυγή επανάληψης της ίδιας πληροφορίας) Πολλαπλές οθόνες για υποβολή ερωτημάτων, φόρμες, αναφορές Έλεγχο συνέπειας - ακεραιότητας δεδομένων (δλδ αποφυγή διατήρησης αντικρουόμενων δεδομένων) 5

Ποιοι χρησιμοποιούν ΣΔΒΔ; Μεγάλες Βάσεις Δεδομένων Τράπεζες Δημόσιοι οργανισμοί (π.χ. εφορία) Νοσηλευτικά Ιδρύματα Εκπαιδευτικά Ιδρύματα Αεροπορικές εταιρείες Ασφαλιστικοί οργανισμοί Αλυσίδες εμπορικών καταστημάτων Ηλεκτρονικά καταστήματα Μικρές Βάσεις Δεδομένων Μικρές επιχειρήσεις Γυμναστήρια Ιατρεία Δημοσκοπήσεις Δεδομένα επιστημονικών πειραμάτων 6

ΣΔΒΔ ανοικτού κώδικα και εμπορικά ΣΔΒΔ Ανοικτού κώδικα MySQL PostgeSQL MariaDB SQLite H2 HSQLDB Εμπορικά Oracle Database Microsoft SQL Server IBM DB2 SAP Sybase 7

Κόστος ΣΔΒΔ Open source (δωρεάν) Οικονομικές (από μερικές εκατοντάδες ως μερικές χιλιάδες ευρώ) Αυξημένου κόστους (χιλιάδες ευρώ ανά άδεια χρήσης) Στο κόστος της ΒΔ θα πρέπει να συμπεριληφθεί και το κόστος πρόσληψης ή απασχόλησης εξειδικευμένου προσωπικού που θα διαχειρίζεται τις ΒΔ Ανάλογα με την εφαρμογή που πρέπει να υποστηριχθεί μπορεί να χρειαστούν διαφορετικοί ρόλοι: Database administrator Database designer 8

Διαχειριστής ΒΔ (Database Administrator=DBA) Ο Διαχειριστής ΒΔ είναι συνήθως ένας ανά ΒΔ και έχει το υψηλότερο δυνατό επίπεδο δικαιωμάτων έχει υψηλή εξειδίκευση ελέγχει τους υπόλοιπους χρήστες παραχωρεί ή αφαιρεί προνόμια φροντίζει έτσι ώστε η βάση δεδομένων να λειτουργεί αποδοτικά Λαμβάνει αντίγραφα ασφαλείας έτσι ώστε σε περίπτωση καταστροφής των δεδομένων να μπορέσει να επαναφέρει το σύστημα σε λειτουργία Οι απλοί χρήστες χρησιμοποιούν το τμήμα της βάσης στο οποίο τους έχει δοθεί πρόσβαση Η περιορισμένη πρόσβαση αφορά είτε το εύρος των δεδομένων που έχουν πρόσβαση είτε το είδος των ενεργειών που είναι σε θέση να εκτελέσουν (π.χ. πρόσβαση μόνο για ανάγνωση) Δεν είναι απαραίτητο να έχουν ιδιαίτερες τεχνικές γνώσεις 9

Πότε δεν συνίσταται η χρήση ενός ΣΔΒΔ Όταν η ζητούμενη εφαρμογή είναι πολύ απλή Όταν το κόστος του ΣΔΒΔ δεν καλύπτεται από τα αναμενόμενα οφέλη Παράγοντες αύξησης κόστους Λογισμικό Υλικό Εκπαίδευση Πρόσληψη ατόμων με την απαιτούμενη τεχνογνωσία Όταν δεν απαιτείται ταυτόχρονη πρόσβαση από δύο ή περισσότερους χρήστες 10

Πρώιμες αρχιτεκτονικές Βάσεων Δεδομένων Ιεραρχικές ΒΔ Το πρώτο μοντέλο βάσης δεδομένων που παρουσιάστηκε Τα δεδομένα οργανώνονται σε μια ιεραρχία (ανάποδο δένδρο) Στην κορυφή υπάρχει μια οντότητα η οποία ονομάζεται ρίζα Δικτυωτές ΒΔ Οι οντότητες οργανώνονται σε ένα γράφημα όπου κάποιες από αυτές μπορούν να προσπελαστούν μέσω διαφορετικών διαδρομών. Πολύπλοκο (απαιτεί πολλές ενημερώσεις όταν γίνεται κάποια αλλαγή στα δεδομένα) 11

Σχεσιακές ΒΔ(Relational Databases) Το 1970 o E.F. Codd έθεσε τις βάσεις για την ανάπτυξη των σχεσιακών ΒΔ Τα σχεσιακά ΣΔΒΔ (Relational Database Management Systems=RDBMS) έχουν επικρατήσει (τα τελευταία χρόνια όμως έχουν εμφανιστεί και άλλες τεχνολογίες ΒΔ) Τα δεδομένα στις σχεσιακές ΒΔ αναπαρίστανται ως ένα σύνολο πινάκων που συνδέονται μεταξύ τους 12

Πίνακες (οντότητες - σχέσεις) Κάθε πίνακας έχει πεδία που περιγράφουν μια οντότητα για τον πίνακα ΠΕΛΑΤΕΣ τα πεδία μπορεί να είναι: ΚΩΔΙΚΟΣ, ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ, ΤΗΛΕΦΩΝΟ Κάθε πίνακας πρέπει να έχει πρωτεύον κλειδί για τον πίνακα ΠΕΛΑΤΕΣ πρωτεύον κλειδί μπορεί να είναι ο ΚΩΔΙΚΟΣ (προσοχή: δεν μπορούν να υπάρχουν δύο πελάτες με το ίδιο πρωτεύον κλειδί) Κάθε πίνακας περιέχει εγγραφές Για τον πίνακα ΠΕΛΑΤΕΣ εγγραφές μπορεί να είναι συγκεκριμένοι πελάτες όπως για παράδειγμα: 0001, ΝΙΚΟΛΑΟΥ ΠΕΤΡΟΣ, Λ. ΕΙΡΗΝΗΣ 12, 2682012345 0002, ΠΑΠΠΑ ΜΑΡΙΑ, ΚΑΒΑΦΗ 2, 2682054321 13

Πρωτεύον κλειδί (primary key) Το πρωτεύον κλειδί είναι ένα ή περισσότερα πεδία του πίνακα που η τιμή τους προσδιορίζει μοναδικά μια εγγραφή Δεν είναι δυνατόν δύο εγγραφές του ίδιου πίνακα να έχουν το ίδιο πρωτεύον κλειδί Το πρωτεύον κλειδί χρησιμοποιείται στις σχέσεις του με τους άλλους πίνακες Ένα πρωτεύον κλειδί δεν μπορεί να είναι NULL (KENO) 14

Πρωτεύον κλειδί (παράδειγμα) Δεν μπορούν να υπάρξουν στη ΒΔ σε έναν πίνακα 2 εγγραφές με το ίδιο πρωτεύον κλειδί 15

Ξένο κλειδί (foreign key) Ξένο κλειδί είναι ένα πεδίο ενός πίνακα που χρησιμοποιείται ως σύνδεσμος με ένα αντίστοιχο πεδίο ενός άλλου πίνακα Το ξένο κλειδί δεν προσδιορίζει μοναδικά τις εγγραφές του πίνακα Το ξένο κλειδί μπορεί να αποτελείται από περισσότερα του ενός πεδία Στον πίνακα Accounts πρωτεύον κλειδί είναι το ACCT_ID και ξένο κλειδί το CUST_ID Στον πίνακα Customers πρωτεύον κλειδί είναι το CUST_ID https://www.ibm.com/support/knowledgecenter/sspk3v_7.0.0/com.ibm.swg.im.soliddb.sql.doc/figure/referentialconstraint.gif 16

Ξένο κλειδί (παράδειγμα ακεραιότητας αναφορών) Δεν μπορεί να εισαχθεί εγγραφή στον πίνακα «ΚΛΗΣΕΙΣ» που να μην αντιστοιχεί σε συνδρομητή. Ο αριθμός 6987654327 δεν υπάρχει στον πίνακα των συνδρομητών Ακεραιότητα αναφορών (referential integrity) μεταξύ πεδίων: κάθε τιμή ενός πεδίου θα πρέπει να υπάρχει ως τιμή σε πεδίο ενός άλλου πίνακα 17

Μοντέλο οντοτήτων συσχετίσεων (Entity- Relations Model) Μοντέλο οντοτήτων συσχετίσεων (E-R model) είναι ένα μοντέλο που περιγράφει με αφηρημένο τρόπο τα δεδομένα ενός προβλήματος αλλά είναι σε θέση να οδηγήσει στην υλοποίηση μιας σχεσιακής ΒΔ Ένα E-R μοντέλο μπορεί να περιέχει: Σχέσεις 1 προς 1 Σχέσεις ένα προς πολλά Σχέσεις πολλά προς πολλά Εργαλεία σχεδιασμού μοντέλων E-R MySQL workbench Draw.io yed Graph Editor 18

Σχέση ένα προς ένα (1:1) Μια σχέση ένα προς ένα από τον πίνακα Α στον πίνακα Β σημαίνει ότι: για κάθε εγγραφή του πίνακα Α μπορεί να υπάρχει μία και μόνο μια σχετική εγγραφή στον πίνακα Β. Για κάθε εγγραφή του πίνακα Β ομοίως μπορεί να υπάρχει μια μόνο σχετική εγγραφή στον πίνακα Α Δημιουργείται προσθέτοντας το πρωτεύον κλειδί κάθε πίνακα ως ξένο κλειδί στο σχετιζόμενο πίνακα Η σχέση 1:1 χρησιμοποιείται σπάνια Παράδειγμα: Σχέση ανάμεσα σε υπαλλήλους και γραφεία. Για κάθε υπάλληλο υπάρχει ένα μοναδικό γραφείο και για κάθε γραφείο υπάρχει ένας μοναδικός υπάλληλος PK FK1 Υπάλληλος Κωδικός Όνομα Τηλέφωνο Διεύθυνση Τμήμα Τίτλος Σχέση ένα προς ένα από τον πίνακα Υπάλληλος προς τον πίνακα Γραφείο PK FK1 Γραφείο Αριθμός Γραφείου Κτίριο Όροφος Κωδικός 19

Σχέση ένα προς πολλά (1:Ν) Μια σχέση ένα προς πολλά από τον πίνακα Α στον πίνακα Β σημαίνει ότι: μια εγγραφή του πίνακα Α μπορεί να έχει πολλές σχετιζόμενες εγγραφές στον πίνακα Β και κάθε εγγραφή του πίνακα Β σχετίζεται με μια μόνο εγγραφή του πίνακα Α Δημιουργείται προσθέτοντας το πρωτεύον κλειδί του πίνακα Α ως ξένο κλειδί στον πίνακα Β Η σχέση 1:Ν είναι η πλέον συνηθισμένη Παράδειγμα: Σχέση ανάμεσα σε τμήματα και υπαλλήλους. Κάθε τμήμα έχει πολλούς υπαλλήλους. Κάθε υπάλληλος ανήκει σε ένα τμήμα PK Τμήμα Σχέση ένα προς πολλά από τον πίνακα Τμήμα προς τον πίνακα Υπάλληλος Τίτλος Περιγραφή Έδρα PK FK1 Υπάλληλος Κωδικός Όνομα Τηλέφωνο Διεύθυνση Τμήμα Τίτλος 20

Σχέση πολλά προς πολλά (Μ:Ν) Μια σχέση πολλά προς πολλά από τον πίνακα Α στον πίνακα Β σημαίνει ότι: Μια εγγραφή του πίνακα Α μπορεί να έχει πολλές σχετιζόμενες εγγραφές στον πίνακα Β και μια εγγραφή του πίνακα Β μπορεί να έχει πολλές σχετιζόμενες εγγραφές στον πίνακα Α Οι σχέσεις πολλά προς πολλά δεν μπορούν να μεταφραστούν απευθείας σε πίνακες αλλά θα πρέπει να μετατραπούν σε δύο ή περισσότερες σχέσεις ένα προς πολλά χρησιμοποιώντας ενδιάμεσους πίνακες συσχέτισης Παράδειγμα: Σχέση ανάμεσα σε υπαλλήλους και εργολαβίες. Ένας υπάλληλος μπορεί να συμμετάσχει σε πολλές εργολαβίες. Μία εργολαβία μπορεί να έχει πολλούς υπαλλήλους PK Εργολαβία Κωδικός Πελάτης Έναρξη Κόστος Σχέση πολλά προς πολλά από τον πίνακα Υπάλληλος προς τον πίνακα Εργολαβία. Σπάει σε 2 επιμέρους σχέσεις 1 προς πολλά προς ένα ενδιάμεσο πίνακα συσχέτισης PK FK1 Υπάλληλος_Εργολαβία PK,FK1 PK,FK2 Υπάλληλος Κωδικός Αριθμός Μητρώου Αριθμός Μητρώου Όνομα Τηλέφωνο Διεύθυνση Τμήμα Τίτλος 21

Κανονικοποίηση (normalization) Κανονικοποίηση είναι η τεχνική που χρησιμοποιείται στο σχεδιασμό σχεσιακών ΒΔ προκειμένου να δημιουργηθούν πίνακες χωρίς πλεονασμό δεδομένων Η κανονικοποίηση χρησιμοποιεί την έννοια της συναρτησιακής εξάρτησης των πεδίων των πινάκων Συναρτησιακή εξάρτηση του πεδίου Υ από το πεδίο Χ σημαίνει ότι οι τιμές του πεδίου Χ καθορίζουν τις τιμές που θα λαμβάνει το πεδίο Υ σε όλες τις εγγραφές του πίνακα (συμβολίζεται X Y) Αν το πεδίο Χ είναι πρωτεύον κλειδί τότε όλα τα υπόλοιπα πεδία του πίνακα πρέπει να είναι συναρτησιακά εξαρτώμενα από το πεδίο Χ 22

Παράδειγμα κανονικοποίησης Πρόβλημα: Μια εταιρεία (company) λαμβάνει εξαρτήματα (parts) από έναν αριθμό προμηθευτών (suppliers). Κάθε προμηθευτής εδρεύει σε μια πόλη. Κάθε πόλη μπορεί να έχει περισσότερους από ένα προμηθευτές κάθε πόλη έχει έναν κωδικό κατάστασης (status). Κάθε προμηθευτής μπορεί να παρέχει πολλά εξαρτήματα. Η επιχείρηση αποφασίζει να αποθηκεύσει τα δεδομένα σε ένα απλό πίνακα FIRST με πεδία FIRST(s#, status, city, p#, qty) όπου: s# Κωδικός του προμηθευτή city Πόλη στην οποία βρίσκεται ο προμηθευτής p# Κωδικός του εξαρτήματος που προμηθεύεται qty Αριθμός από προϊόντα τα οποία έχουν προμηθευτεί μέχρι σήμερα Τα πεδία (s#,p#) αποτελούν από κοινού το πρωτεύον κλειδί δηλαδή δεν μπορούν να υπάρχουν 2 εγγραφές με ίδιες τιμές και στα 2 αυτά πεδία 23

Πλεονασμός (redundancy) Η ίδια πληροφορία επαναλαμβάνεται σε περισσότερα από ένα σημεία στη ΒΔ Η πληροφορία για την πόλη του κάθε προμηθευτή και την κατάσταση της πόλης του προμηθευτή επαναλαμβάνονται για κάθε εξάρτημα που προμηθευόμαστε Όταν υπάρχει πλεονασμός μπορεί να υπάρξει και ασυνέπεια στα δεδομένα Ο πλεονασμός οδηγεί σε ανωμαλίες εισαγωγής, διαγραφής και ενημέρωσης: ΕΙΣΑΓΩΓΗΣ. Ένας νέος προμηθευτής δεν μπορεί να προστεθεί μέχρι να προμηθεύσει ένα εξάρτημα ΔΙΑΓΡΑΦΗΣ. Αν διαγράψουμε μια εγγραφή χάνονται και οι πληροφορίες για τον προμηθευτή ΕΝΗΜΕΡΩΣΗΣ. Αν ο προμηθευτής s1 μεταφερθεί από το Λονδίνο στην Νέα Υόρκη τότε θα πρέπει να ενημερωθούν 6 γραμμές 24

Πρώτη κανονική μορφή (1NF) Για να είναι ένας πίνακας σε 1NF κάθε στήλη (πεδίο) για κάθε εγγραφή θα πρέπει να έχει μια μόνο ατομική τιμή Στο παράδειγμα ο πίνακας First για να μην ήταν σε 1NF θα έπρεπε σε ένα πεδίο του να ήταν μαζί κωδικοποιημένες περισσότερες από μια πληροφορίες π.χ. 20 OK σε μια εγγραφή και 20 NOT OK σε μια άλλη Ο πίνακας FIRST είναι σε 1NF 25

Δεύτερη κανονική μορφή (2NF) Ένας σχεσιακός πίνακας είναι σε 2NF αν είναι σε 1NF και κάθε στήλη που δεν είναι κλειδί εξαρτάται πλήρως από το πρωτεύον κλειδί στο σύνολό του Ο πίνακας FIRST δεν είναι σε 2NF διότι τα πεδία status και city είναι συναρτησιακά εξαρτώμενα από το τμήμα s# του σύνθετου πρωτεύοντος κλειδιού (s#,p#) s# city, status Για να είναι η ΒΔ σε 2NF δημιουργείται νέος πίνακας για κάθε πεδίο του κλειδιού από το οποίο εξαρτώνται άλλα πεδία Ο πίνακας SECOND έχει ως πρωτεύον κλειδί το s# που είναι πλέον και ξένο κλειδί στον πίνακα PARTS 26

Τρίτη κανονική μορφή (3NF) Ένας πίνακας είναι σε 3NF αν είναι ήδη σε 2NF και κάθε πεδίο που δεν είναι κλειδί εξαρτάται μόνο από το πρωτεύον κλειδί Στον πίνακα SECOND υπάρχει η συναρτησιακή εξάρτηση: SECOND.city SECOND.status Για να είναι η ΒΔ σε 3NF δημιουργείται νέος πίνακας για κάθε πεδίο Χ (εκτός πρωτεύοντος κλειδιού) από το οποίο εξαρτώνται άλλα πεδία Ο πίνακας SECOND σπάει στους πίνακες SUPPLIER_CITY και CITY_STATUS Ο CITY_STATUS έχει ως πρωτεύον κλειδί το city Ο SUPPLIER_CITY έχει ως ξένο κλειδί το city 27

Πλεονεκτήματα της 3NF Δεν υπάρχει πλεονάζουσα πληροφορία Κέρδος σε χωρητικότητα SUPPLIER_CITY PK s# FK1 city CITY_STATUS PK city status PARTS PK,FK1 s# PK p# qty Εισαγωγή: Το γεγονός ότι η πόλη Rome έχει κατάσταση 50 μπορεί να προστεθεί χωρίς να υπάρχει προμηθευτής από τη συγκεκριμένη πόλη Διαγραφή: Οι εγγραφές σχετικά με τα εξαρτήματα για τα οποία έχει γίνει προμήθεια μπορούν να διαγραφούν χωρίς να χαθεί η πληροφορία για τον προμηθευτή ή την πόλη. Ενημέρωση: Η αλλαγή της πόλης ενός προμηθευτή ή της κατάστασης μιας πόλης απαιτεί την ενημέρωση μόνο μιας γραμμής 28

Η γλώσσα SQL SQL = (Structured Query Language). Δημιουργήθηκε από την εταιρεία ΙΒΜ το 1975 και είναι εξαιρετικά δημοφιλής Είναι μια κοινή γλώσσα ερωτημάτων (queries) για την προσπέλαση και την τροποποίηση των δεδομένων σε σχεσιακές ΒΔ Μερικές εντολές της SQL είναι οι: insert, update, delete, select Η SQL έχει διάφορες διαλέκτους οι οποίες έχουν προτυποποιηθεί: SQL-86, SQL-89, SQL-92, SQL-99, SQL-2003, SQL-2006, SQL-2008, SQL-2011 29

Απλές εντολές SQL Programmes SELECT * FROM Programmes WHERE Duration<20 OR Genre='Nature'; SELECT * FROM Programmes WHERE Genre='Entertainment' AND Channel='BBC3'; 07, Dick and Dom, 05, Wild Brazil, 03, The Voice, 30

Εντολές SQL με σύνδεση (join) πινάκων inner join Επιστροφή όλων των υπαλλήλων που ανήκουν σε κάποιο τμήμα και όλων των τμημάτων που έχουν υπαλλήλους http://www.developingthefuture.net/types-of-joins-in-sql/ 31

Τα χαρακτηριστικά ACID των σχεσιακών ΒΔ Δοσοληψία ή συναλλαγή (transaction) είναι μια σειρά λειτουργιών που εκτελείται ως μια λογική μονάδα εργασίας που είτε θα εκτελεστεί στο σύνολό της είτε δεν θα πραγματοποιηθεί καμία από τις επιμέρους λειτουργίες της Μια δοσοληψία μπορεί να οριστικοποιηθεί (commit) ή να ανακληθεί (rollback) Atomicity (ατομικότητα): Μια δοσοληψία γίνεται είτε στο σύνολό της είτε καθόλου Consistency (συνέπεια): Κάθε δοσοληψία μεταφέρει τη ΒΔ από μια συνεπή κατάσταση σε άλλη συνεπή επίσης κατάσταση Isolation (απομόνωση): Οι άλλες λειτουργίες δεν μπορούν να προσπελάσουν αλλαγές στα δεδομένα δοσοληψιών που δεν έχουν ολοκληρωθεί Durability (ανθεκτικότητα): Η ΒΔ μπορεί να ανακάμψει σε περίπτωση αστοχιών υλικού 32

ETL Εξαγωγή-μετασχηματισμός-φόρτωση ETL = Extract-Transform-Load Λήψη δεδομένων από διάφορες πηγές, προ-επεξεργασία και αποθήκευση σε μορφή που να μπορεί να αναλυθεί περαιτέρω από εργαλεία οπτικοποίησης (visualization) και ανάλυσης (analytics) Εξαγωγή Extract Μετασχηματισμός Transform Φόρτωση Load Λήψη δεδομένων από διάφορες πηγές Καθαρισμός επεξεργασία των δεδομένων Διατήρηση των δεδομένων σε μορφή που να μπορεί εύκολα να ανακληθεί 33

Αποθήκες δεδομένων (Data warehouses) Η αποθήκη δεδομένων είναι ένα κεντρικό αποθετήριο δεδομένων που περιλαμβάνει πληροφορίες αντλούμενες από πολλές πηγές οι οποίες χρησιμοποιούνται για ανάλυση, επιχειρηματική ευφυία και στρατηγικό σχεδιασμό Η αποθήκη δεδομένων συμπληρώνει τα δεδομένα της μέσω διαδικασιών ETL 34

Συστήματα Φωνητικής Αλληλεπιδραστικής Απόκρισης (IVR) Η φωνητική αλληλεπιδραστική απόκριση (Interactive Voice Response) είναι η τεχνολογία η οποία διευκολύνει την πρόσβαση στη ΒΔ μέσω σημάτων που μεταδίδονται από το τηλέφωνο για την ανάκληση και την εισαγωγή δεδομένων Εξέλιξη των IVR είναι τα συστήματα κατανόησης φυσικής γλώσσας https://www.voicebox.com/ Amazon Alexa Apple ios Siri Google now Microsoft Cortana 35