Οι διαφάνειες βασίζονται σε μεγάλο βαθμό σε αυτές που συνοδεύουν το προτεινόμενο σύγγραμμα.

Σχετικά έγγραφα
Οι διαφάνειες βασίζονται σε μεγάλο βαθμό σε αυτές που συνοδεύονται με το προτεινόμενο σύγγραμμα.

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

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

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

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

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

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

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

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

Information Technology for Business

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗς ΠΛΗΡΟΦΟΡΙΚΗΣ. Εφαρμογές της Πληροφορικής

Κεφ.11: Ευρετήρια και Κατακερματισμός

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

Δυναμικός Κατακερματισμός

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

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

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

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

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

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

Πληροφοριακά Συστήµατα

Τίτλος Πακέτου Certified Computer Expert-ACTA

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

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

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

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

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

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

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

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

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Βάσεις Δεδομένων. Database Management Systems (DBMS) Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ)

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εφαρμογές της Πληροφορικής

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Το εσωτερικό ενός Σ Β

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Επεξεργασία Ερωτήσεων

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Επεξεργασία Ερωτήσεων

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

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

Επεξεργασία Ερωτήσεων

ΕΠΛ 002: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗς ΠΛΗΡΟΦΟΡΙΚΗΣ. Εφαρμογές της Πληροφορικής

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

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

Εαρινό Εξάμηνο

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

Τεχνικές Εξόρυξης Δεδομένων

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗς ΠΛΗΡΟΦΟΡΙΚΗΣ. Εφαρμογές της Πληροφορικής

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

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

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Δομές Δεδομένων και Αλγόριθμοι

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

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

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

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

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Επεξεργασία Ερωτήσεων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

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

Κατακερματισμός (Hashing)

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

Ευρετήρια και Κατακερματισμός

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

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

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

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

Transcript:

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

Βάση Δεδομένων Βάση δεδομένων (database): Μια συλλογή δεδομένων που είναι πολυδιάστατη, με την έννοια ότι οι εσωτερικοί σύνδεσμοι μεταξύ των καταχωρήσεών της κάνουν τις πληροφορίες προσπελάσιμες από πληθώρα οπτικών γωνιών Π.χ. Όλες οι δουλειές ενός συνθέτη, όλοι οι συνθέτες για ένα είδος μουσικής, οι συνθέτες που γράφουν παραλλαγές κομματιών άλλων συνθετών κλπ Εν αντιθέσει με το αρχείο (file) που είναι ένα μονοδιάστατο σύστημα αποθήκευσης (παριστάνει την πληροφορία από μια οπτική γωνία) Π.χ. Λίστα από συνθέτες και τα κομμάτια τους 2

Οργάνωση αρχείου σε σχέση με οργάνωση βάσης δεδομένων Η βάση δεδομένων παρέχει ενοποιημένη πληροφορία 3

Σχήματα και Υπο- σχήματα Για να παρέχεται πρόσβαση στη βάση δεδομένων σε διαφορετικούς χρήστες για διαφορετική πληροφορία, δημιουργούνται τα σχήματα (schemas) Σχήμα: περιγραφή της δομής της βάσης δεδομένων που χρησιμοποιείται από το λογισμικό για τη συντήρηση της βάσης Υπο- σχήμα (sub- schema): Περιγραφή μόνο αυτού του τμήματος της βάσης δεδομένων που σχετίζεται με τις ανάγκες ενός συγκεκριμένου χρήστη Αναφέρει διασυνδέσεις μεταξύ διαφορετικών τμημάτων της βάσης Καθορίζει που επιτρέπεται πρόσβαση για συγκεκριμένα τμήματα της βάσης και σε ποιους χρησιμοποιείται για αποτροπή της προσπέλασης ευαίσθητων δεδομένων από μη εξουσιοδοτημένο προσωπικό 4

Τα νοητικά επίπεδα της υλοποίησης μιας βάσης δεδομένων Database Management Systems (DBMS) 5

Συστήματα Διαχείρισης Βάσεων Δεδομένων Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ): Επίπεδο λογισμικού που χειρίζεται μια βάση δεδομένων σε απάντηση των αιτήσεων των εφαρμογών Όταν το λογισμικό εφαρμογής καθορίσει τι ζητά ο χρήστης, χρησιμοποιεί το ΣΔΒΔ για να πάρει τα αποτελέσματα Κρατά τις λεπτομέρειες αποθήκευσης και οργάνωσης της βάσης μακρυά από το χρήστη (π.χ. Αν η βάση είναι αποθηκευμένη σε έναν ή πολλούς υπολογιστές, πως είναι δομημένη εσωτερικά, κλπ) Έλέγχει την πρόσβαση στα δεδομένα Κατανεμημένη (distributed) βάση δεδομένων: Μια βάση δεδομένων που είναι αποθηκευμένη σε πολλά μηχανήματα Το ΣΔΒΔ θα αποκρύψει από τους χρήστες αυτή την οργανωτική λεπτομέρεια Ανεξαρτησία δεδομένων (data independence): Η ικανότητα αλλαγής της οργάνωσης μιας βάσης δεδομένων χωρίς να αλλάζει το λογισμικό εφαρμογών που τη χρησιμοποιεί 6

Μοντέλα Βάσεων Δεδομένων Μοντέλο βάσης δεδομένων: Νοητική, αφαιρετική εικόνα μιας βάσης δεδομένων Αποκρύπτει πολυπλοκότητες της εσωτερικής δομής της βάσης Επιτρέπει στον χρήστη να φαντάζεται την πληροφορία ως αποθηκευμένη στην βάση με έναν συγκεκριμένο (και απλό) τρόπο Π.χ. Η πληροφορία για έναν υπάλληλο μπορεί να είναι ένας πίνακας, όπου κάθε γραμμή αποτελείται από στοιχεία ενός υπαλλήλου (όνομα, επώνυμο, ΑΔΤ, κλπ) Σχεσιακό (relational) μοντέλο βάσης δεδομένων Αντικειμενοστρεφές (object- oriented) μοντέλο βάσης δεδομένων 7

Σχεσιακό Μοντέλο Βάσης Δεδομένων Σχέση (relation): Ένας ορθογώνιος πίνακας (κάτι σαν του excel) Ιδιότητα (attribute): Μια στήλη του πίνακα, ορίζει ένα χαρακτηριστικό Πλειάδα (tuple): Μια γραμμή του πίνακα, εδώ περιέχει πληροφορία για έναν υπάλληλο 8

Σχεσιακός Σχεδιασμός Κομβικό σημείο σχεδιασμού είναι ο καθορισμός των σχέσεων Αποφυγή πολλαπλών εννοιών μέσα σε μια σχέση Μπορεί να οδηγήσει σε πλεονάζοντα δεδομένα Η διαγραφή μιας πλειάδας μπορεί επίσης να διαγράψει απαραίτητες αλλά μη σχετιζόμενες πληροφορίες Παράδειγμα: Αν στην προηγούμενη σχέση θέλουμα να συμπεριλάβουμε πληροφορία για την προϋπηρεσία ενός υπαλλήλου (με ιδιότητες όπως τίτλος εργασίας, διευθυντής, κλπ) Αναγνωριστικό εργασίας Ικανότητες, κλπ 9

Μια σχέση με πλεονάζουσες πληροφορίες Πλεονάζουσες πληροφορίες στην βάση (επαναλαμβάνονται όποτε κάποιος υπάλληλος έχει προϋπηρεσία ή όταν σε μια θέση έχουν εργαστεί πάνω από 1 υπάλληλοι) Κίνδυνος διαγραφής χρήσιμων δεδομένων όταν θέλουμε να διαγράψουμε κάτι άλλο (π.χ. στην 2 η γραμμή) 10 Η διαγραφή μέρους μιας γραμμής χαλάει την οργάνωση της βάσης

Βελτίωση Σχεσιακού Σχεδιασμού Διαίρεση (decomposition): Κατανομή των στηλών μιας σχέσης σε δύο ή περισσότερες σχέσεις, με επανάληψη των στηλών που απαιτούνται για τη διατήρηση των συσχετίσεων μεταξύ των σχέσεων Μη απωλεστική (non- loss ή lossless) διαίρεση: Μια σωστή διαίρεση που δεν οδηγεί σε απώλεια πληροφοριών Χρειάζεται ιδιαίτερη προσοχή στο στάδιο του σχεδιασμού για τον καθορισμό των σωστών σχέσεων 11

Παράδειγμα Βάσης Δεδομένων που αποτελείται από τρεις σχέσεις 12

Παράδειγμα: Εντοπισμός των τμημάτων στα οποία έχει εργαστεί ο υπάλληλος 23Y34 13

Μια σχέση και μια προτεινόμενη διαίρεσή της Αναζήτηση του τμήματος που δουλεύει ένας υπάλληλος: αναζήτηση στην 1 η και 2 η στήλη Τι συμβαίνει όταν διαφορετικά τμήματα έχουν επαγγέλματα με τον ίδιο τίτλο; 14

Σχεσιακές Λειτουργίες (Relational Operations) Select (Επιλογή): Επιλογή γραμμών Project (Προβολή): Επιλογή στηλών Join (Σύνδεση): Συγκέντρωση πληροφοριών από δύο ή περισσότερες σχέσεις 15

Η λειτουργία SELECT (Επιλογή) 16

Η λειτουργία PROJECT (Προβολή) 17

Η λειτουργία JOIN (Σύνδεση) 18

Μια εφαρμογή της λειτουργίας JOIN Σκοπός: να βρεθούν τα Id υπαλλήλων και το τμήμα όπου ΤΩΡΑ εργάζεται κάθε υπάλληλος 19

Δομημένη Γλώσσα Ερωτημάτων (SQL) Ερωτήματα ή Επερωτήσεις (queries) SQL: Structured Query Language Γλώσσα στην οποία υλοποιούνται ερωτήματα σε βάσεις δεδομένων με το σχεσιακό μοντέλο MySQL: σχεσιακό σύστημα διαχείρισης βάσης δεδομένων, πολύ διαδεδομένο Η Oracle χρησιμοποιεί SQL Λειτουργίες για το χειρισμό πλειάδων insert update delete select 20

Παραδείγματα SQL Μορφή επερωτήματος (query) σε ΒΔ με την SQL select EmplId, Dept #attributes from ASSIGNMENT, JOB #relations where ASSIGNMENT.JobId = JOB.JobId and ASSIGNMENT.TermDate = * #(condition) Ισοδύναμο με: JOIN (from) + SELECT (where) + PROJECT (select) insert into EMPLOYEE values ( 43212, Sue A. Burt, 33 Fair St., 444661111 ) 21

Παραδείγματα SQL (2) (είναι ουσιαστικά PROJECT) (είναι ουσιαστικά SELECT) (είναι ουσιαστικά SELECT + PROJECT) (είναι ουσιαστικά JOIN+ SELECT + PROJECT) 22

Παραδείγματα SQL (3) delete from EMPLOYEE where Name = G. Jerry Smith update EMPLOYEE set Address = 1812 Napoleon Ave. where Name = Joe E. Baker 23

Αντικειμενοστρεφείς Βάσεις Δεδομένων Αντικειμενοστρεφής βάση δεδομένων: βάση δεδομένων που κατασκευάζεται με εφαρμογή του αντικειμενοστρεφούς μοντέλου Κάθε οντότητα αποθηκεύεται ως αντικείμενο (object) Οι συσχετίσεις υποδηλώνονται από συνδέσμους μεταξύ των αντικειμένων Το ΣΔΒΔ συντηρεί αυτούς τους συνδέσμους Πλεονεκτήματα: Ταιριάζουν με το σχεδιαστικό μοντέλο των αντικειμενοστρεφών εφαρμογών Σε αντίθεση με το προστακτικό (παραδοσιακό) μοντέλο Στα χειριστήρια των χαρακτηριστικών μπορούν να ενσωματωθούν ευφυείς λειτουργίες Μπορούν να χειρίζονται προχωρημένους τύπους δεδομένων Παράδειγμα: πολυμέσα 24

Διατήρηση Ακεραιότητας Βάσης Δεδομένων Ακεραιότητα (integrity): η ιδιότητα του να μην αλλάζει η ΒΔ είτε κατά λάθος, είτε από κακόβουλους σκοπούς Συναλλαγή (transaction): Μια ακολουθία λειτουργιών που πρέπει να συμβούν όλες μαζί Παράδειγμα: μεταφορά χρημάτων μεταξύ τραπεζικών λογαριασμών Ή αναζήτηση από την ΒΔ στοιχείων ενός υπαλλήλου Ημερολόγιο συναλλαγών (transaction log): Μια μη πτητική καταγραφή των δραστηριοτήτων κάθε συναλλαγής, που κατασκευάζεται πριν επιτραπεί στη συναλλαγή να εκτελεστεί Σημείο δέσμευσης (commit point): Το σημείο στο οποίο έχει καταγραφεί η συναλλαγή στο ημερολόγιο Στο σημείο δέσμευσης, η ΒΔ δεσμεύεται ότι μπορεί να εκτελέσει σωστά την συναλλαγή ακόμη και στην περίπτωση που υπάρχει λειτουργική βλάβη 25

Διατήρηση Ακεραιότητας Βάσης Δεδομένων (2) Αναίρεση (roll back): Η διαδικασία ακύρωσης μιας μερικώς εκτελεσμένης, αποτυχημένης συναλλαγής Αναίρεση: αν υπάρξει βλάβη πριν φτάσουμε στο σημείο δέσμευσης Αναίρεση ενεργειών που έγιναν στο μεταξύ Συνεχόμενη αναίρεση (cascading rollback): το φαινόμενο της διαδοχικής αναίρεσης λειτουργιών αν η τελευταία είχε χρησιμοποιηθεί από μια άλλη, η οποία με τη σειρά της είχε χρησιμοποιηθεί από άλλη, κοκ Προβλήματα ταυτόχρονης πρόσβασης: Πρόβλημα λανθασμένης σύνοψης (incorrect summary problem): Παράδειγμα, όταν μια συναλλαγή είναι στην διαδικασία μεταφοράς ενός ποσού από έναν λογαριασμό σε άλλον, και μια άλλη συναλλαγή προσπαθεί να υπολογίσει το σύνολο των καταθέσεων Πρόβλημα χαμένης ενημέρωσης (lost update problem): Παράδειγμα, όταν 2 συναλλαγές προσπαθούν ταυτόχρονα να αφαιρέσουν ένα ποσό από έναν λογαριασμό. Θα δώσουν λανθασμένα αποτελέσματα 26

Διατήρηση Ακεραιότητας Βάσης Δεδομένων (3) Για να αποτρέψουμε καταστάσεις σαν τις προηγούμενες, ένα ΣΔΒΔ πρέπει να αναγκάζει τις συναλλαγές να εκτελούνται μια κάθε φορά Χρησιμοποιούνται τεχνικές χρονοπρογρογραμματισμού και αμοιβαίου αποκλεισμού όμοιες με αυτές που είδαμε στο Κεφ.3 για διεργασίες Σε μια ΒΔ πρέπει να επιτρέπονται να εκτελούνται ταυτόχρονα συναλλαγές που δεν επηρεάζουν η μια το αποτέλεσμα της άλλης Κλείδωμα (lock): αποτροπή άλλων συναλλαγών από το να προσπελάσουν τα δεδομένα που χρησιμοποιούνται από μια συναλλαγή Τα δεδομένα που χρησιμοποιούνται από μια συναλλαγή «μαρκάρονται» Κοινόχρηστο (shared) κλείδωμα: χρησιμοποιείται κατά την ανάγνωση δεδομένων (δεν τροποποιούνται τα δεδομένα) Αποκλειστικό (exclusive) κλείδωμα: χρησιμοποιείται κατά την τροποποίηση δεδομένων Επιτρέπεται ταυτόχρονη πρόσβαση σε συναλλαγές που ζητούν κοινόχρηστη πρόσβαση 27

Διατήρηση Ακεραιότητας Βάσης Δεδομένων (4) Αδιέξοδο αν 2 συναλλαγές απαιτούν η καθεμία αποκλειστική πρόσβαση σε 2 ίδια δεδομένα (μπορούν να μπλοκάρουν η μια την άλλη) Αν η καθεμιά παίρνει αποκλειστική πρόσβαση σε ένα (διαφορετικό) τμήμα δεδομένων και επιμένει να περιμένει την άλλη Αποφυγή τέτοιων φαινομένων με ανάθεση προτεραιοτήτων σε συναλλαγές Προτεραιότητα σε παλαιότερες συναλλαγές Αν μια παλαιότερη συναλλαγή απαιτεί πρόσβαση σε δεδομένα που είναι κλειδωμένα από μια νεώτερη συναλλαγή, η τελευταία αναγκάζεται να απελευθερώσει τα δεδομένα από το κλείδωμα, και η παλαιότερη αποκτά πρόσβαση Οι συναλλαγές καθώς «παλαιώνουν» παίρνουν μεγαλύτερη προτεραιότητα 28

Σειριακά Αρχεία Σειριακό αρχείο (sequential file): Ένα αρχείο του οποίου τα περιεχόμενα μπορούν να διαβαστούν μόνο με τη σειρά Π.χ. Αρχεία μουσικής, βίντεο, αρχεία κειμένου Πρέπει να αποθηκεύονται στον σκληρό δίσκο με τρόπο που διατηρεί την σειριακή φύση του αρχείου Π.χ όπως σε ένα CD ή σε διαδοχικούς τομείς του σκληρού δίσκου Πρέπει να μπορεί να ανιχνεύεται το τέλος αρχείου (end of file, EOF) Τα δεδομένα μπορεί να είναι αποθηκευμένα σε λογικές εγγραφές, ταξινομημένες με βάση ένα πεδίο- κλειδί Π.χ. Αρχείο υπαλλήλων με διάφορα πεδία (όνομα, ΑΔΤ, διεύθυνση κατοικίας κλπ) 29

Παράδειγμα Σειριακού Αρχείου Η δομή ενός απλού αρχείου υπαλλήλων που έχει υλοποιηθεί ως αρχείο κειμένου 30

Συγχώνευση δύο σειριακών αρχείων Εφαρμογή αλγορίθμου συγχώνευσης (Χρησιμοποιούνται γράμματα για την αναπαράσταση ολόκληρων εγγραφών. Το συγκεκριμένο γράμμα δείχνει την τιμή του πεδίου- κλειδιού της εγγραφής.) Οι εγγραφές στα 2 αρχεία εισόδου υποτίθεται ότι είναι διευθετημένες σε αύξουσα σειρά με βάση κάποιο κοινό πεδίο- κλειδί Το αρχείο εξόδου έχει τις τιμές των πεδίων- κλειδιών επίσης σε αύξουσα σειρά 31

Διαδικασία για τη συγχώνευση δύο σειριακών αρχείων 32

Ευρετηριασμένα (indexed) Αρχεία Ευρετήριο (index): Μια λίστα με τιμές- κλειδιά του αρχείου και θέσεις των συσχετισμένων εγγραφών τους δείχνουν που είναι αποθηκευμένη η εγγραφή που περιέχει κάθε κλειδί Λειτουργεί ακριβώς όπως το ευρετήριο σε ένα βιβλίο για να βρεθούν τμήματα του βιβλίου ή λέξεις- κλειδιά Για να βρεθεί μια πληροφορία: ανατρέχουμε στο ευρετήριο, βρίσκουμε το αντίστοιχο κλειδί και μετά βρίσκουμε την πληροφορία που είναι αποθηκευμένη στη θέση (μέσα στο αρχείο) που συσχετίζεται με το κλειδί Π.χ. Στο αρχείο υπαλλήλων οι τιμές- κλειδιά μπορεί να είναι οι ΑΔΤ των υπαλλήλων 33

Άνοιγμα ευρετηριασμένου αρχείου Σημ: Χρειάζεται επιπλέον αποθηκευτικός χώρος για την διατήρηση του ευρετηρίου 34

Κατακερματισμένα Αρχεία (Hash files) Κατακερματισμός (hashing) Κάθε εγγραφή έχει ένα πεδίο- κλειδί Δεν απαιτείται ευρετήριο Με τον κατακερματισμό βρίσκεται η θέση της εγγραφής απευθείας από το κλειδί Ο χώρος αποθήκευσης χωρίζεται σε κάδους (buckets) Κάθε κάδος μπορεί να αποθηκεύει αρκετές εγγραφές Μια συνάρτηση κατακερματισμού (hash function) υπολογίζει έναν αριθμό κάδου για κάθε τιμή κλειδιού Κάθε εγγραφή αποθηκεύεται στον κάδο που αντιστοιχεί στον κατακερματισμό του κλειδιού της Για να εντοπιστεί μια εγγραφή: εφαρμόζεται η συνάρτηση κατακερματισμού στο πεδίο- κλειδί προκύπτει ο αριθμός κάδου οδηγούμαστε σε αυτόν τον κάδο βρίσκουμε την εγγραφή ανάμεσα στις εγγραφές αυτού του κάδου 35

Παράδειγμα κατακερματισμού Κατακερματισμός της τιμής πεδίου κλειδιού 25Χ3Ζ σε έναν από 41 κάδους Αποτέλεσμα της συνάρτησης κατακερματισμού 36

Παράδειγμα κατακερματισμού (2) 37

Κατακερματισμός (2) Όταν ο κατακερματισμός εφαρμόζεται στον σκληρό δίσκο, μιλάμε για αρχείο κατακερματισμού (hash file) Όταν ο κατακερματισμός εφαρμόζεται στην κύρια μνήμη, μιλάμε για πίνακα κατακερματισμού (hash table) Κατακερματισμός χρησιμοποιείται και για αυθεντικοποίηση (authentication) στο ίντερνετ Αυθεντικοποίηση: η επιβεβαίωση ότι ο αποστολέας ενός μηνύματος είναι πράγματι αυτός που διατείνεται ότι είναι Σύστημα αυθεντικοποίησης MD5 38

Σχεδίαση συνάρτησης κατακερματισμού Γιατί στην συνάρτηση κατακερματισμού διαιρούμε με το 41; Για να έχουμε αποδοτική αποθήκευση πρέπει οι εγγραφές να κατανεμηθούν έτσι ώστε παρόμοιος αριθμός εγγραφών να ανήκουν σε κάθε κάδο Διαφορετικά, υπάρχει το φαινόμενο της συσταδοποίησης (clustering) Πολλές εγγραφές συγκεντρώνονται σε λίγους κάδους (ή και σε έναν κάδο) Η αναζήτηση μιας εγγραφής σε έναν κάδο καθίσταται επίπονη Αν διαιρούσαμε με το 40 Αν οι τιμές- κλειδιά στο αρχείο μας ήταν πολλαπλάσια του 5 θα προέκυπτε ότι αυτοί θα αποθηκεύονταν μόνο στους κάδους 0, 5, 10, 15, 20, 25, 30, 35 Επιλέγουμε να διαιρούμε με πρώτους (prime) αριθμούς για να μειώσουμε το ενδεχόμενο συσταδοποίησης 39

Συγκρούσεις στον τυχαίο Κατακερματισμό Σύγκρουση (collision): Η περίπτωση να κατακερματίζονται δύο κλειδιά στον ίδιο κάδο Παράδειγμα: Εισαγωγή εγγραφών σε 41 κάδους με τυχαίο τρόπο (όχι με το υπόλοιπο που είδαμε πριν) Αρχικά όλοι οι κάδοι είναι αδειοι Η 1 η εγγραφή μπαίνει σε άδειο κάδο σίγουρα (με πιθανότητα 1) Η 2 η εγγραφή μπαίνει σε άδειο κάδο με πιθανότητα 40/41 Η 3 η εγγραφή μπαίνει σε άδειο κάδο με πιθανότητα τουλάχιστον 39/41... Η 8 η εγγραφή μπαίνει σε άδειο κάδο με πιθανότητα τουλάχιστον 34/41 Πιθανότητα και οι 8 εγγραφές να μπουν σε άδειο κάδο είναι τουλάχιστον = 1 x (40/41) x (39/41) x (38/41) x x (34/41) = 0.482 Στις 8 πρώτες εισαγωγές θα έχει συμβεί μια τουλάχιστον σύγκρουση με πιθανότητα 52% Πρόβλημα όταν ο παράγοντας φορτίου (load factor) δηλαδή ο λόγος (# εγγραφών )/ (συνολική χωρητικότητα) είναι πάνω από 75% Λύση: αύξηση του αριθμού των κάδων και εκ νέου κατακερματισμός 40

Εξόρυξη Δεδομένων Εξόρυξη δεδομένων (data mining): Ο τομέας της επιστήμης υπολογιστών που ασχολείται με την ανακάλυψη προτύπων (patterns), τάσεων (trends) και κρυμμένων ή άγνωστων συμπερασμάτων (inference) σε συλλογές δεδομένων Εφαρμογές: Κοινωνικά δίκτυα, συστήματα συστάσεων, παγκόσμιος ιστός, οικονομία, βιοπληροφορική, ασφάλεια υπολογιστών Στις μέρες μας είναι ένας από τους πιο εξελισσόμενους τομείς της επιστήμης λόγω των Μεγάλων Δεδομένων (Big Data) Διαφέρει από τον τομέα των ΒΔ Αποθήκη δεδομένων (data warehouse): Μια στατική συλλογή δεδομένων απ όπου θα γίνει η εξόρυξη 41

Η διαδικασίας της ανακάλυψης γνώσης Εξόρυξη δεδομένων- πυρήνας της διαδικασίας ανακάλυψης γνώσης Εξόρυξη Δεδομένων Επιλογή δεδομένων με βάση την επιθυμητή εργασία Αποτίμηση προτύπων Αποθήκες Δεδομένων Επιλογή Data Cleaning Εκκαθάριση δεδομένων Ενοποίηση δεδομένων ΒΔ 42

Γιατί όχι παραδοσιακή ανάλυση δεδομένων ; Εξαιρετικά μεγάλος όγκος δεδομένων Οι αλγόριθμοι πρέπει να είναι υψηλής κλιμάκωσης ώστε να μπορούν να διαχειρίζονται tera- bytes από δεδομένα Υψηλών διαστάσεων δεδομένα Υψηλής πολυπλοκότητας δεδομένα Ροές δεδομένων (Data streams) και δεδομένα αισθητήρων Χρονολογικές σειρές (Time- series data), χρονικά δεδομένα, ακολουθιακά δεδομένα (sequential data) Δομημένα δεδομένα, γραφήματα, κοινωνικά δίκτυα (social networks) Ετερογενείς βάσεις δεδομένων Χωρικά, χωροχρονικά, πολυμέσα, κείμενο 43

Στρατηγικές Εξόρυξης Δεδομένων Περιγραφή κλάσεων (class description): αναγνώριση ιδιοτήτων που χαρακτηρίζει μια ομάδα δεδομένων Π.χ. Αναγνώριση χαρακτηριστικών των ανθρώπων που αγοράζουν Smart Διάκριση κλάσεων (class discrimination): αναγνώριση ιδιοτήτων που ξεχωρίζουν δυο ή περισσότερες ομάδες δεδομένων Π.χ. Αναγνώριση χαρακτηριστικών που ξεχωρίζουν αυτούς που αγοράζουν καινούρια από αυτούς που αγοράζουν μεταχειρισμένα αυτοκίνητα Ανάλυση συστάδων (cluster analysis): ανακάλυψη κλάσεων δηλ. ανακάλυψη ιδιοτήτων δεδομένων που οδηγούν σε ομαδοποίηση Π.χ. Άτομα 4-10 ετών και 25-40 ετών είδαν μια φωτογραφική μηχανή Ανάλυση συσχετισμών (association analysis): εύρεση συσχετισμών ανάμεσα σε ομάδες δεδομένων Π.χ. Πελάτες που αγοράζουν πατατάκια, αγοράζουν και κοκα- κόλα 44

Στρατηγικές Εξόρυξης Δεδομένων (2) Ανάλυση αποκλίσεων (outlier analysis): Αναγνωρίζει δεδομένα που δεν εμπίπτουν στην κανονικότητα των υπολοίπων Π.χ. Για αναγνώριση λαθών σε συλλογές δεδομένων, για ανίχνευση υποκλοπής πιστωτικής κάρτας, για τρομοκρατία Σειριακή ανάλυση προτύπων (sequential pattern analysis): Αναγνώριση τάσεων κατά τη διάρκεια του χρόνου Π.χ. Συστήματα μετοχών, αναγνώριση τάσεων (trend detection) σε κοινωνικά δίκτυα 45

Κατασκευή Μοντέλου Μηχανικής Μάθησης Αλγόριθμος Κατηγοριοποίησης NAME RANK Εκπαιδευτι κά Δεδομένα (training data) YEARS TENURED Mike Assistant Prof 3 no Mary Assistant Prof 7 yes Bill Professor 2 yes Jim Associate Prof 7 yes Dave Assistant Prof 6 no Anne Associate Prof 3 no Κατηγοριοποιητής (classifier) (Μοντέλο) IF rank = professor OR years > 6 THEN tenured = yes 46

Κατασκευή Μοντέλου Μηχανικής Μάθησης (2) Κατηγοριοποιητής (classifier) Δεδομένα για έλεγχο (test data) Άγνωστα δεδομένα (Jeff, Professor, 4) NAME RANK YEARS TENURED Tom Assistant Prof 2 no Merlisa Associate Prof 7 no George Professor 5 yes Joseph Assistant Prof 7 yes Tenured? 47

Κοινωνικές επιπτώσεις της τεχνολογίας των βάσεων δεδομένων Προβλήματα: Συλλογή προσωπικών δεδομένων σε μαζική κλίμακα Συνήθως χωρίς τη γνώση και χωρίς την οικειοθελή συναίνεση των εμπλεκόμενων ατόμων Τα δεδομένα μπορεί να χρησιμοποιηθούν από τρίτους που ο χρήστης που τα δίνει ούτε καν τους γνωρίζει Π.χ. Δεδομένα που συλλέγονται από Google, Yahoo!, Amazon, κλπ Μπορούν να πουληθούν σε τρίτους με σκοπό κυρίως την στοχευμένη διαφήμιση (targeted advertising) Ζητήματα Ιδιωτικότητας (privacy) Δικαίωμα στη λήθη ( The right to be forgotten ) Κυρώσεις: Οι υπάρχουσες ποινικές κυρώσεις είναι αναποτελεσματικές Η «αρνητική δημοσιότητα» (negative publicity) μπορεί ναι είναι πιο αποτελεσματική αποτρεπτική τακτική 48

Περίπτωση Προφίλ χρήστη Εμπλεκόμενοι Σκοπός Πλοήγηση στο web Θέση (κινητού) Έξυπνοι μετρητές ηλ. Ενέργειας Συστήματα Συστάσεων Παραδείγματα Κινδύνων Ιδιωτικότητας Δεδομένων Συμπεριφορά πλοήγησης (επισκεψιμότητα ιστοσελίδων, συχνότητα, κκλ) Θέσεις που πέρασε το κινητό, διάρκεια διαμονής, τροχιά Προφίλ κατανάλωσης ενέργειας, συσκευές ανοιχτές, κλπ Βαθμολόγηση αντικειμένων (ταινίες, βιβλία, ξενοδοχεία) Google, Yahoo!, Facebook, Twitter, Amazon, Πάροχοι κινητής τηλεφωνίας, κατασκευαστές εξοπλισμού για κινητά (π.χ. Apple, Samsung ) Πάροχοι ηλ. Ενέργειας Online αγορές (Amazon), πάροχοι περιεχομέμου (Spotify, Netflix), Στοχευμένη διαφήμιση Υπηρεσίες με βάση τη θέση (Location- based services), διαφημίσεις (location- based ads, εντοπισμός στο χάρτη, ειδοποιήσεις, κλπ Υπηρεσίες όπως demand response, εκπτώσεις, διαφημίσεις Συστάσεις αντικειμένων στο χρήστη 49

Παραδείγματα (ιδιωτικού) προφίλ χρήστη Πλοήγηση στο διαδίκτυο P = (w 1, w t ) : κατηγορίες ιστοσελίδων που επισκέπτεται ο χρήστης Έξυπνοι μετρητές P=(a 1, a n ) : Κατανάλωση ηλ. συσκευών Υπηρεσίες με βάση την κινητή θέση P = (L(1),L(2), L(t),..): Τοποθεσίες που Πέρασε το κινητό Συστήματα συστάσεων P=(a 1, a n ) : Βαθμολόγηση 50

Αγορές Μεγάλων δεδομένων Κοινωνικά μέσα (Social media), Κοινωνικά Δίκτυα (Social Networks) ως πηγές μεγάλου όγκου δεδομένων (Big Data) Η ιδιωτικότητα και η πληροφορία μπορούν να θεωρηθούν εμπόρευμα και να διακινηθούν σαν σε αγορές Οι χρήστες θυσιάζουν την ιδιωτικότητά τους και φανερώνουν προσωπική πληροφορία Θέλουν να πληρωθούν για αυτό Αγορά για προσωπικά δεδομένα: Οι εταιρείες και οι ενδιάμεσοι που συλλέγουν και μεταπωλούν δεδομένα 51