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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Information Technology for Business

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η SQL ως γλώσσα τροποποίησης Δεδομένων

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

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 6 : Δομές αρχείων. Δρ. Γκόγκος Χρήστος

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης 2006 Ρ.Κορακίτης, Β.Βεσκούκης, Θ.Καραλόπουλος, Γ.Πανόπουλος

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

Transcript:

Κεφάλαιο 9: Συστήματα Βάσεων Δεδομένων 9.1 Βασικές αρχές βάσεων δεδομένων 9.2 Το σχεσιακό μοντέλο 9.3 Αντικειμενοστρεφείς βάσεις δεδομένων 9.4 Διατήρηση της ακεραιότητας μιας βάσης δεδομένων 9.5 Παραδοσιακές δομές αρχείων 9.6 Εξόρυξη δεδομένων Οι διαφάνειες βασίζονται σε μεγάλο βαθμό σε αυτές που συνοδεύονται με το προτεινόμενο σύγγραμμα. 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 19

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

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

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

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

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

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

Οι συσχετίσεις μεταξύ των αντικειμένων σε μια αντικειμενοστρεφή βάση δεδομένων 26

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συγκρούσεις στον Κατακερματισμό Σύγκρουση (collision): Η περίπτωση να κατακερματίζονται δύο κλειδιά στον ίδιο κάδο Παράδειγμα: Εισαγωγή εγγραφών σε 41 κάδους με τυχαίο τρόπο (όχι με το υπόλοιπο που είδαμε πριν) Αρχικά όλοι οι κάδοι είναι αδειοι Η 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% Λύση: αύξηση του αριθμού των κάδων και εκ νέου κατακερματισμός 42

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

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

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

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

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

Κατασκευή Μοντέλου Αλγόριθμος Κατηγοριοποίησης Εκπαιδευτικά Δεδομένα (training data) NAME RANK 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 48

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

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

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

Βασικές Ερωτήσεις Μοντελοποίηση ενός προφίλ χρήστη (μπορεί να είναι και χρονικά μεταβαλλόμενο) Ποσοτικοποίηση της ιδιωτικότητας Σημασία της διατήρησης της ιδιωτικότητας και ποσοτικοποίησή της Μέτρηση ποιότητας προσωποποιημένης υπηρεσίας (π.χ. Web αναζήτηση, ιατρική κλπ) Τι μπορεί να κάνει ο χρήστης εκτός από να μην δηλώσει καθόλου το προφίλ του; 52

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

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