Lecture 2: Introduction II

Σχετικά έγγραφα
Lecture 2: Introduction II

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

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

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

Lecture 1: Introduction I

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

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

Κεφάλαιο 2. Έννοιες και Αρχιτεκτονική Συστημάτων Βάσεων δεδομένων

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

Information Technology for Business

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

Εισαγωγή-Ορισµοί Ε ΟΜΕΝΑ (DATA) Γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόηµα ΒΑΣΗ Ε ΟΜΕΝΩΝ (DATABASE) Μία ΟΛΟΚΛΗΡΩΜΕΝΗ συλλογή εδοµ

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

Ramez Elmasri and Shamkant B. Navathe Ελληνική Εκδόσεις Δίαυλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 1-1

Εισαγωγή. Τι είναι µια βάση δεδοµένων;

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

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

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

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

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

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

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

Εισαγωγή. web σελίδα Βάσεις εδοµένων Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Lecture 21: Functional Dependencies and Normalization

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

Αυτοματοποιημένη χαρτογραφία

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

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

Εισαγωγή στα Συστήματα Βάσεων εδομένων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 1: Εισαγωγή στις Βάσεις Δεδομένων

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

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

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

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

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

Σχεδίαση Σχεσιακών ΒΔ

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

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

Εισαγωγή. Καλή Ακαδημαϊκή Χρονιά! Τι θα δούμε σήμερα: Τα βασικά Την ιστορία (μέλλον) Μια γρήγορη ματιά στο τι θα δούμε στο μάθημα

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

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

Lecture 3: Introduction III

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

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

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

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

ΓΕΩΠΛΗΡΟΦΟΡΙΚΗ. και ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Διδάσκων: Παναγιώτης Ανδρέου

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

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

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

(1 ο μάθημα)

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

Lecture 12: SQL DDL I

Διάλεξη 05: Εννοιολογική Σχεδίαση Βάσης Δεδομένων III (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

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

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

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

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

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

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

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

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5

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

Αρχές Προγραμματισμού Υπολογιστών

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

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

ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

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

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Θεωρία Κανονικοποίησης

Certified Data Base Designer (CDBD)

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

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

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

Transcript:

Department of Computer Science University of Cyprus EPL342 Databases Lecture 2: Introduction II Database Users and Database System Concepts and Architecture (Chapter 1.4-1.9, 2.1, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 2-1

Περιεχόµενο ιάλεξης 2 Κεφάλαιο 1 1.4) Χρήστες Βάσεων 1.5) Άλλα Πλεονεκτήµατα Χρήσης Βάσεων 1.6) Πότε να µην χρησιµοποιούµε Βάσεις 1.7) Ιστορική Εξέλιξη των Βάσεων & Νέες Κατευθύνσεις Κεφάλαιο 2 2.1) Μοντέλα εδοµένων, Σχήµατα και Στιγµιότυπα 2-2

Χρήστες Βάσεων Οι Χρήστες Βάσεων µπορούν να χωριστούν σε δυο κατηγορίες: Α) Αυτοί που Εργαζόµενοι Στο Προσκήνιο Οι χρήστες εκείνοι οι οποίοι έρχονται σε επαφή µε τα δεδοµένα µιας βάσης. Κύριος στόχος του ΕΠΛ342 Β) Αυτοί που Εργάζονται στο Παρασκήνιο Οι χρήστες εκείνοι οι οποίοι δηµιουργούν την τεχνολογία πάνω στην οποία κτίζουν οι άλλοι εφαρµογές βάσεων δεδοµένων. Κύριος στόχος του ΕΠΛ446 2-3

Α. Χρήστες στοπροσκήνιο ιαχειριστές Βάσεων (Database Adminstrators - DBA) Έλεγχος πρόσβασης, επίδοσης, ορθότητας, backups, κτλ. Συνήθως κατέχουν επαγγελµατικά πιστοποιητικά: π.χ., Microsoft MCDBA, Oracle Certified Master (OCM), κτλ., Είναι οι υπεύθυνοι για την πληροφορία σε ένα οργανισµό. Σχεδιαστές / Προγραµµατιστές Βάσεων (DB Designers / Developers) Εννοιολογική Αναπαράσταση των Απαιτήσεων του Χρήστη Παραγωγή ιαγραµµάτωνκαι οµώντης Βάσης για αναπαράσταση της πληροφορίας (Συνήθως από Αναλυτές) Τελικοί Χρήστες (End Users) Έµπειροι:Αναλυτές Συστηµάτων, Επιστήµονες, Μηχανικοί, κ.α., οι οποίοι κατέχουν ικανότητες διαχείρισης εφαρµογών & SQL. Άπειροι: Ταµίες, Πωλητές, κ.α.. άτοµα τα οποία χρησιµοποιούν προκατασκευασµένα λογισµικά που αλληλεπιδρούν µε την βάση. 2-4

Έµπειρος db designer Χρήστες Αφελής Απλός appl. progr. DBA embeded DML DML processor DDL inter. app. pgm(obj) query evaluation trans. mgr buffer mgr file mgr storage manager DB Catalog Metadata 2-5

Έµπειρος db designer Χρήστες Αφελής Απλός appl. progr. DBA embeded DML DML processor DDL inter. app. pgm(obj) query evaluation trans. mgr buffer mgr file mgr storage manager DB Catalog Metadata 2-6

Β. Χρήστες στοπαρασκήνιο Σχεδιαστές και Προγραµµατιστές ΣυστηµάτωνΒάσεων (Database System Designers and Developers) Υλοποίηση των Συστατικών (Modules) που απαρτίζουν µια βάση. Προϋποθέτει καλή γνώση χαµηλού επιπέδου γλωσσών (π.χ., C, C++) και εννοιών συστηµάτων (π.χ., Λειτουργικών, κτλ.) Εργάζονται σε εταιρείες κατασκευής βάσεων δεδοµένων: π.χ., Oracle, Microsoft, κτλ., ή οργανισµούς µε εξειδικευµένες ανάγκες (CERN, NASA, κτλ. Προγραµµατιστές Εργαλείων (Τool Developers) Παράγουν εργαλεία που χρησιµοποιούνται για την εννοιολογική αναπαράσταση, σχεδίαση και αύξηση της επίδοσης βάσεων. Π.χ., Κατασκευαστές ΜS Visio, Oracle Designer, DDS Studio. ιαχειριστές Συστηµάτων (Συµβατικοί Administrators) Γενική ιαχείριση περιβάλλοντος λειτουργίας µιας βάσης 2-7

Β. Χρήστες στοπαρασκήνιο Παράδειγµα Εργαλείου για την Ανάπτυξη Βάσεων εδοµένων 2-8

Άλλα Πλεονεκτήµατα Χρήσης Βάσεων Αναφέραµε ήδη 4 πλεονεκτήµατα των Βάσεων σε σχέση µε συµβατικά αρχεία. 1. Αυτό-περιγραφική Φύση της Β (Κατάλογος) 2. Ανεξαρτησία Προγράµµατος- εδοµένων 3. Παροχή Πολλαπλών Όψεων 4. ιαµοιρασµός Φόρτου και Επεξεργασία οσοληψιών. Τώρα θα δούµε τι άλλα πλεονεκτήµατα µπορεί να αξιοποιήσει ένας DBA. 2-9

Άλλα Πλεονεκτήµατα Χρήσης Βάσεων 5) Έλεγχος των πλεονασµών (redundancy) Π.χ., Στο παράδειγµα του University µπορεί να υπάρχουν πολλές ανεξάρτητες βάσεις: π.χ., LIBRARY- DB, CS-DB, UCY-DB, etc. Αυτό δηµιουργεί προβλήµατα: Σπατάλη Χώρου (Storage Space Waste) Περιπτώσεις Ασυνέπειας (Inconsistencies) Σπατάλη Χρόνου (Duplication of effort) Ιδανικά θα θέλαµε η πληροφορία να αποθηκεύεταισε µια µόνο τοποθεσία. Πως; Κατά τη φάση της σχεδίασηςκαι κανονικοποίησης. 2-10

Άλλα Πλεονεκτήµατα Χρήσης Βάσεων 6) Περιορισµός της Μη-Εξουσιοδοτηµένης Προσπέλασης υνατότητα δηµιουργίας ρόλων, οµάδων, κτλ. όπως σε συµβατικά Λειτουργικά Συστήµατα. 7) Παροχή Εφεδρικών Αντιγράφων (Backup) και Μηχανισµών Ανάκαµψης (Recovery) Π.χ., Εάν έχουµε διακοπή ρεύµατος (χωρίς UPS) δεν θα βρεθεί σε ασυνεπή κατάσταση η βάση δεδοµένων. 8) Υποστήριξη οµών Αποθήκευσης για Αποτελεσµατική Επεξεργασία Επερωτήσεων Π.χ., Ευρετήρια Κατακερµατισµού, ενδρικά Ευρετήρια, Χωρικά Ευρετήριακαι πολλά άλλα. 2-11

Άλλα Πλεονεκτήµατα Χρήσης Βάσεων (Παράδειγµα ενδρικού Ευρετηρίου) Λογική Αναπαράσταση Ευρετηρίου 45 33 38 44 46 59 61 69 99 Φυσική Αναπαράσταση Ευρετηρίου στη ευτερεύουσα Μνήµη 38 44 99 69 61 59 Mike 3.14 Physical Layout (on Disk) 59, Mike, 3.14 Empty Pages Index Entry Data Entry 33 59 46 45 Data Pages 2-12

Άλλα Πλεονεκτήµατα Χρήσης Βάσεων 9) υνατότητα Επιβολής Κανόνων Ακεραιότητας Π.χ., Επιβολή κανόνα: «Σε κανένα µάθηµα δεν µπορούν να εγγραφούν πάνω από 99 φοιτητές» Παράδειγµα σε SQL-DDL*:, CREATE TABLE COURSE ( CourseID INT NOT NULL DEFAULT 1 Positions INT NOT NULLCHECK (Pos<100).) * Η δηλωτική αυτή γλώσσα θα µελετηθεί αργότερα στο µάθηµα 10) υνατότητα Εκτέλεσης Σκανδαλών (Triggers) Π.χ., Όποτε αλλάξει κάτι στον λογαριασµό του χρήστη στείλε του SMS! CREATE TRIGGER change AFTER INSERT OR DELETE OR UPDATE ON CustomerAccount FOR EACH ROW EXECUTE PROCEDURE sendsms (); 2-13

Κάποια Μέτα-Πλεονεκτήµατα Χρήσης Βάσεων υνατότητα Επιβολής Κανόνων στην Αναπαράσταση εδοµένων σε ένα οργανισµό: Π.χ., Σχεδιάζοντας και Υλοποιώντας τη βάση UNIVERSITY προτυποποιείται ότι το STUDENT.Name είναι µέχρι 30 χαρακτήρες. Μειωµένος χρόνος ανάπτυξης εφαρµογών Υπολογίζεται ότι ο χρόνος ανάπτυξης εφαρµογών µε βάσεις µειώνεται από 75-84%του χρόνου που απαιτείται. Ευελιξία Εύκολη µετάβαση σε άλλη κωδικοποίηση βάσης (µε εργαλεία EXPORT). Όχι τόσο απλό εάν είναι σε ειδική κωδικοποίηση 2-14

Πότε να µην χρησιµοποιούµε Βάσεις; Α) Υπάρχει συνήθως ψηλό κόστος αγοράς (9/9/09), π.χ., Oracle Standard Edition (per CPU): 5,900$ Oracle Enterprise Edition (per CPU): 47,500$ ΙΒΜ DB2 v9.7 Enterprise: 25,000$ SQL Server 2008 Enterprise: 25,000$ Τα πιο πάνω ΕΝ περιλαµβάνουν κόστος αγοράς υλικού (server), λειτουργικού συστήµατος, training, κτλ.! Όταν ο προϋπολογισµός ενός project είναι περιορισµός τότε λαµβάνεται σηµαντικά υπόψη µια τέτοια παράµετρος. Ακόµη και εάν χρησιµοποιηθεί DBMS ανοικτού πηγαίου κώδικα (π.χ., MySQL, PostgreSQL, κτλ.), οι οποίες είναι δωρεάν, τότε υπάρχουν και πάλι λόγοι για τους οποίους δεν θέλουµε να χρησιµοποιήσουµε τέτοιες βάσεις ες επόµενη διαφάνεια 2-15

Πότε να µην χρησιµοποιούµε Βάσεις Β) Εάν η βάση δεδοµένων είναι απλή, καλά ορισµένη και δεν πρόκειται να αλλάξει εύκολα Π.χ., ένα απλό κατάλογο τηλεφώνων ενός γραφείου. Γ) Εάν η πληροφορία είναι πάρα πολύ µεγάλη π.χ., το Google ΕΝ αποθηκεύει το ευρετήριο σε µια DBMS. Γιατί; Αυτό βέβαια δεν είναι κανόνας. Λέγεται ότι το Facebook χρησιµοποιεί την MySQL: To Facebook εχει πάνω από 1.5 petabytes (10 15 ) σε φωτογραφίες (περίπου 10 δισεκατοµµύρια φωτογραφίες!) ) Εάν δεν υπάρχει το προσωπικό («DBA»)για παροχή ασφάλειας, ανάκαµψης, αντιγράφων, κτλ. Ε) Εάν δεν υπάρχει πολλή ταυτόχρονη πρόσβαση στα δεδοµένα, εάν δεν µπορεί εύκολα να αναπαρασταθεί κάποια πληροφορία σε µια βάση. 2-16

Ιστορική Εξέλιξη των Βάσεων 1960: Αρχικές Εφαρµογές «Βάσεων»: Ξεκίνησαν µε την δηµιουργία των Η/Υ τη δεκαετία του 60και έχουν από τότε αλλάξει σε όλα τα επίπεδα. Το πρώτο λογισµικό Β το Integrated Data Store (IDS) / Codasyl το οποίο προσωποποιήθηκε το 1971. 1970: Σχεσιακές Βάσεις εδοµένων Το Σχεσιακό Μοντέλο (όπου η πληροφορία αναπαριστάται µε µε σχέσεις) προτάθηκε το 1969 από τον E.F. Codd. Στη συνέχεια ερευνήθηκεκαι δοκιµάστηκεεκτενώς στο IBM Research και πολλά πανεπιστήµια. Προϊόντα Σχεσ. DBMS δηµιουργούνται στις αρχές του 1980 H Oracleδηµιουργείται το 1977από ένα project το οποίο επιχορηγείται από το CIA. Η Oracle είναι σήµερα ένας από τους κολοσσούς στο χώρο των βάσεων µε γραφεία σε 126 χώρες του κόσµου! 2-17

Ιστορική Εξέλιξη των Βάσεων 1980: Αντικειµενοστρεφείς Βάσεις: Object-Oriented Database Management Systems (OODBMSs) εισήχθηκαν περί τα τέλη του 1980sσε µια ανάγκη να αναπαριστάνουν περίπλοκες ανάγκες διαχείρισης δεδοµένων τα οποία προέκυπταν σε CAD (Computer-Aided design) εφαρµογές. Σε αυτές, τα δεδοµένα αναπαριστώνται από Αντικείµενα (Objects) κατά αντίστοιχο τρόπο µε OO Προγραµµατισµό. Σήµερα δεν χρησιµοποιούνται πολύ εκτενώς Ωστόσο πολλές έννοιες εισήχθηκαν σε Σχεσιακές DBMS δηµιουργώντας την έννοια Σχεσιό-Αντικειµενοστρεφών Βάσεων εδοµένων [ Οbject-Relational DBMSs (ORDBMSs)] Π.χ., η PostgreSQL είναι µια τέτοια βάση δεδοµένων η οποία επιτρέπει τη δηµιουργία οντοτήτων µε κληρονοµικότητα και πολλά άλλα. 2-18

Ιστορική Εξέλιξη των Βάσεων 1990: εδοµένα στο Web καιεφαρµογές Ηλεκτρονικού Εµπορίου: To Web περιέχει περιεχόµενο στη Γλώσσα Μορφοποίησης HTML (Hypertext markup language) µε συνδέσµους ανάµεσα σε ιστοσελίδες. Αυτό έχει δώσει χώρο σε ένα νέο σύνολο εφαρµογών στο χώρο των βάσεων δεδοµένων. Συγκεκριµένα: ιαδικτυακές Βάσεις εδοµένων. Παραγωγή Περιεχοµένου HTML από τα δοµηµένα δεδοµένα Β µε χρήση γλωσσών όπως PHP, Java, ASP, κτλ. Επιτρέπει επίσης αλλαγές στα δεδοµένα της βάσης Εφαρµογές Business-to-Business (Ανταλλαγή Εγγράφων µε χρήση της XML (extended Markup Language)) Παράδειγµα XML ακολουθεί στην επόµενη διαφάνεια. 2-19

Ιστορική Εξέλιξη των Βάσεων (HTML vs. XML µε Παράδειγµα) Μορφοποιώντας εδοµένα µε HTML <html> <head><title>bread Recipe Page (prepare in 5 minutes!)</title></head> <body> <p><font color=red><b>flour:</b></font> 8 dl</p> <p><font color=red><b>yeast:</b></font> 10 grams</p> <p><font color=red><b>water:</b></font> 8dL (warm)</p> <p><font color=red><b>salt:</b></font> 1 teaspoon</p> <p><font size=5><b>cook for 3 hours!</b></font></p> </body> </html> Οντότητες Γνωρίσµατα εδοµένα Περιγράφοντας εδοµένα µε XML <recipe name="bread" prep_time="5 mins" cook_time="3 hours"> <title>basic bread</title> <ingredient amount="8" unit="dl">flour</ingredient> <ingredient amount="10" unit="grams">yeast</ingredient> <ingredient amount="4" unit="dl" state="warm">water</ingredient> <ingredient amount="1" unit="teaspoon">salt</ingredient> </recipe> 2-20

Ιστορική Εξέλιξη των Βάσεων (HTML vs. XML µε Παράδειγµα) Εφόσον η πληροφορία σε XML είναι ιεραρχική, αυτό δηµιουργεί διάφορα προβλήµατα αναπαράστασης της σε τυπικά µοντέλα Βάσεων εδοµένων. Αυτό οδήγησε σε Νέες Εξελίξεις Νέοι Τύποι Βάσεων εδοµένων MonetDB, existdb, κτλ. Επέκταση Υφιστάµενων Βάσεων Oracle XML DB, κτλ. Νέες Γλώσσες (XPATH, XQuery, κτλ.) 2-21

Επεκτείνοντας τις υνατότητες Β Υπάρχουν προσθήκες δυνατοτήτων στα ακόλουθα πεδία: Αποθήκευση και ιαχείριση Εικόνων Q=(χρώµα,texture, κτλ.) Q O1 O2 O3 O4 O5 ιαχείριση Ήχου (αλλά και Βίντεο) ----Mat-lab-------------------------- ---Maat--llaabb------------------- EPL342: Σύγκριση Databases Spectographs - Demetris για Zeinalipour εντοπισµό (University όµοιων of λέξεων Cyprus) 2-22

Επεκτείνοντας τις υνατότητες Β Υπάρχουν προσθήκες δυνατοτήτων στα ακόλουθα πεδία: ιαχείριση Χρονικών (Temporal) εδοµένων D = 7.3 Distance χρόνος? D = 10.2 Query D = 11.8 Βρες ποια µετοχή κινήθηκε παρόµοια µε αυτή που δίνεται ως ερώτηση D = 17 D = 22 2-23

Μοντέλα δεδοµένων Ένα Μοντέλο εδοµένων (Data Model) είναι ένα σύνολο εννοιώνπου µπορούν να χρησιµοποιηθούν για την περιγραφή τις δοµής ενός database Τέτοιες έννοιες περιλαµβάνουν έννοιες οµής Οντότητες (Elements) και τους τύπους δεδοµένων τους Οµάδες Οντοτήτων (Εγγραφές, Πίνακες, κτλ) Συσχετίσεις (Relationships) µεταξύ των Οντοτήτων. Περιορισµούς (Constraints)τα οποία περιλαµβάνουν κάποιους κανόνες οι οποίοι πρέπει να τηρούνται πάντα για να είναι η Β σε µια συνεπή κατάσταση. Τέτοιες έννοιες περιλαµβάνουν έννοιες Τελεστών Τελεστές Ανάκτησης και Ενηµέρωσης εδοµένων Χωρίζεται σε βασικούς τελεστές (insert, delete, update) και τελεστών χρηστών (π.χ., compute_student_gpa, update_inventory) 2-24

Κατηγορίες Μοντέλων Υψηλού Επιπέδου Μοντέλα, εννοιολογικό µοντέλο (high-level or conceptual) Παρέχει έννοιες κοντά στον τρόπο που πολλοί χρήστες καταλαβαίνουν τα διάφορα δεδοµένα Π.χ., Entity-Relationship Model Χαµηλού Επιπέδου Μοντέλα (low-level or physical) Παρέχει έννοιες που περιγράφουν τις λεπτοµέρειες του πως τα δεδοµένα είναι αποθηκευµένα στη δευτερεύουσα µνήµη Π.χ., Specific Storage Model Ενδιάµεσου Επίπεδου Μοντέλα (Αναπαραστατικό) (Representational or implementational) Παρέχει έννοιες που είναι µεν κατανοητές από τους χρήστες αλλά όχι πολύ αποµακρυσµένες από το τρόπο αποθήκευσης Π.χ., Relational Model and DB Schemas 2-25

Κατηγορίες Μοντέλων (Παράδειγµα Εννοιολογικού Μοντέλου) Υψηλού Επίπεδου * Λεπτοµέρειες θα µελετηθούν αργότερα στο µάθηµα. 2-26

Κατηγορίες Μοντέλων (Παράδειγµα Αναπαραστατικού Μοντέλου) Ενδιάµεσου Επίπεδου * Λεπτοµέρειες θα µελετηθούν αργότερα στο µάθηµα. 2-27

Σχήµατα και Στιγµιότυπα Σχήµα Βάσης (Database Schema) Η περιγραφή µιας βάσης. Περιλαµβάνει περιγραφές της δοµής, τύπων δεδοµένων,και περιορισµούς. ιάγραµµα Σχήµατος: Ένας γραφικός τρόπος αναπαράστασης των πληροφοριών ενός σχήµατος. Στο πιο πάνω διάγραµµα δεν φαίνονται οι τύποι δεδοµένων και οι περιορισµοί. 2-28

Σχήµατα και Στιγµιότυπα Κατάσταση Βάσης (Database State): Η πραγµατική πληροφορία που αποθηκεύεται σε µια βάση µια δεδοµένη στιγµή Αυτό περιλαµβάνει τη συλλογή όλωντων δεδοµένων της βάσης δεδοµένων. Ονοµάζεται επίσης Στιγµιότυπο Β (DB instance, occurrence or snapshot). Με την ίδια λογική, ο όρος στιγµιότυποµπορεί να εφαρµοστεί πάνω σε επί µέρους συστατικά µιας βάσης (π.χ., στιγµιότυπο εγγραφής, στιγµιότυπο πίνακα, στιγµιότυπο οντότητας, κτλ.) Παρατήρηση: To Σχήµα µιας βάσης ΕΝ αλλάζει συχνά Η Κατάσταση µια βάσης αλλάζει συχνά. 2-29

Κατηγορίες Μοντέλων (Παράδειγµα Αναπαραστατικού Μοντέλου) ιάγραµµα Σχήµατος Κατάσταση Σχήµατος τη Στιγµή Χ 2-30