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

Σχετικά έγγραφα
ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΕΙΣΑΓΩΓΗ. Εισαγωγή και Ορισμοί σε Βάσεις Δεδομένων Η Ύλη του μαθήματος συνοπτικά. Ι.Β -- Εισαγωγή στις Βάσεις Δεδομένων Σελίδα 1.1

Κεφάλαιο 1. Εισαγωγή και Ορισµοί σε Βάσεις εδοµένων Η Ύλη του µαθήµατος συνοπτικά. Ι.Β -- Εισαγωγή στις Βάσεις εδοµένων Σελίδα 1.1

Κεφάλαιο 1. Εισαγωγή και Ορισµοί σε Βάσεις εδοµένων Η Ύλη του µαθήµατος συνοπτικά. Ι.Β -- Εισαγωγή στις Βάσεις εδοµένων Σελίδα 1.1

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

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

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

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

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

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

Συνοπτική επισκόπηση αγοράς & εργαλείων ΒΙ

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

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

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

Εξόρυξη Γνώσης από εδοµένα (Data Mining)

(1 ο μάθημα)

Επαναφορά του Συστήματος (Μέρος Α')

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

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

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

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

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

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

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

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

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

Αποθήκες εδοµένων: Προκλήσεις και Ευκαιρίες

Κεφάλαιο 1. Εισαγωγή και Ορισµοί σε Βάσεις εδοµένων Η Ύλη του µαθήµατος συνοπτικά. Ι.Β -- Εισαγωγή στις Βάσεις εδοµένων Σελίδα 1.1

Πύλη Φαρμακευτικών Υπηρεσιών Υπουργείου Υγείας Κύπρου. System Architecture Overview

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

Εξόρυξη Γνώσης από εδοµένα (Data Mining)

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

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

MOCϦϣΎϬϴϠϋϝϮμΤϟϢΗϊΟήϤϟ. USE northwind SELECT employeeid, lastname, firstname, title FROM employees GO

Lecture 3: Introduction III

Oracle 9i, IBM DB2, SQL Server

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ -2

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

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

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

Συστήματα ΟΔΕΠ (Ολοκληρωμένης. Διαχείρισης Επιχειρησιακών Πόρων)- ERP (Enterprise Resource Planning)

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

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

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

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

Αριστοµένης Μακρής Εργαστήρια Η/Υ

Λογιστικές Εφαρµογές µε Η/Υ. Αριστοµένης Μακρής

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών

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

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

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

ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ

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

Αποκατάσταση συστήματος Βάσεις Δεδομένων

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

Ανάλυση και Σχεδιασµός Πληροφοριακών Συστηµάτων

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

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

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

Business Development, SAP Hellas 01/12/2007

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

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

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

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

Ολοκληρωµένη λύση επιλεκτικής συγκέντρωσης, αναδιοργάνωσης δεδοµένων και παραγωγής πληροφορίας

Επεξεργασία οσοληψιών

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

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

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

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

Υποστήριξη Αποφάσεων. Γεώργιος Ευαγγελίδης. (βασισμένο στο κεφ. 23 του βιβλίου «Συστήματα Διαχείρισης Βάσεων Δεδομένων»)

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

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

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

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

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Αποθήκες εδοµένων και Εξόρυξη Γνώσης. (Data Warehousing & Data Mining) Γιάννης Θεοδωρίδης, Νίκος Πελέκης

Information Technology for Business

Διαχείριση Δοσοληψιών

Αποθήκες Δεδομένων & Πολυδιάστατη Ανάλυση

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

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

Δεδομένα και Πληροφορίες

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ. Παραγωγικές Λειτουργίες Επιχείρησης

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

INFORMATION MANAGEMENT

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

Αποτελεί ισχυρό εργαλείο, µε υψηλή απόδοση & αποτελεσµατικότητα.

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

Microsoft Visual Studio Γιώργος Καµαρινός Developer Programs Marketing Manager Microsoft Hellas

Transactions Management. (Διαχείριση Δοσοληψιών)

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

Information Technology for Business

Lecture 2: Introduction II

Transcript:

ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ ΜΕΡΟΣ Α: ΕΙΣΑΓΩΓΗ - ΠΛΑΙΣΙΟ ΛΕΙΤΟΥΡΓΙΑΣ Αρχές Πληροφοριακών Συστηµάτων Ενδεικτικό Παράδειγµα: Ηλεκτρονικό-Εµπόριο Παραδείγµατα Εφαρµογών / Συστηµάτων Πληροφοριακά Συστήµατα και Επιχειρήσεις ΜΕΡΟΣ Β: ΤΕΧΝΟΛΟΓΙΕΣ Π.Σ. Βασικές Τεχνολογίες Πληροφοριακών Συστηµάτων Αρχιτεκτονικές και Περιβάλλοντα ΜΕΡΟΣ Γ: ΠΩΣ ΥΛΟΠΟΙΟΥΝΤΑΙ ΤΑ Π. Σ. Σχεδιασµός (plan) - Αναδιοργάνωση Πληροφοριακών Συστηµάτων Μεθοδολογίες και Εργαλεία Ανάπτυξης Ειδικά Συστήµατα (ERP, CRM, Business Intelligence) ΜΕΡΟΣ : ΙΟΙΚΗΤΙΚΑ και ΛΕΙΤΟΥΡΓΙΚΑ ΘΕΜΑΤΑ Π. Σ. Επιπτώσεις Πληροφορικών Συστηµάτων - Ποιότητα ιοίκηση Γνώσης Στήριξη Αποφάσεων ιοίκηση Π.Σ. - Λειτουργικός Ανασχεδιασµός της Επιχείρησης Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 225

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ - Ορισµοί Ε ΟΜΕΝΑ (DATA) Γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόηµα ΒΑΣΗ Ε ΟΜΕΝΩΝ (DATABASE) Μία ΟΛΟΚΛΗΡΩΜΕΝΗ συλλογή εδοµένων που συσχετίζονται, ηοποία αποθηκεύεται (συνήθως) σε δευτερεύουσα Μνήµη ΗΒάση εδοµένων αναπαριστά ένα υποσύνολο των στοιχείων που µπορούµε να συλλέξουµεγιατονµικρόκοσµο(πεδίο αναφοράς) µιας εφαρµογής. ΣΥΣΤΗΜΑ ΙΟΙΚΗΣΗΣ / ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ (DATABASE MANAGEMENT SYSTEM - DBMS) Μια αυτοτελής συλλογή από τµήµατα λογισµικού (προγράµµατα) για την δηµιουργία, επεξεργασία και την συντήρηση βάσεων δεδοµένων. ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ (DATABASE SYSTEM) Το λογισµικό (DBMS) µαζί µετηβάση εδοµένων. Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 226

Αναφορές Overview Texts: Ramakrishnan, Database Management Systems (the cow book) Silberschatz, Korth, Sudarshan: Database System Concepts (the sailboat book) O Neil: Database Principles, Programming, Performance Ullman & Widom: A 1st Course in Database Systems Graduate-level Texts Stonebraker & Hellerstein, eds. Readings in Database Systems (http://redbook.cs.berkeley.edu) Gray & Reuter: Transaction Processing: Concepts and Techniques. Ullman: Principles of Database Systems Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 227

ΣΥΝΤΟΜΗ ΣΥΝΟΨΗ Κίνητρα Σενάριο Επεξεργασίας εδοµένων Σχεσιακό Μοντέλο Σχεσιακή Άλγεβρα SQL Συγχρονισµός Μηχανισµοί Ανάκαµψης Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 228

Συστήµατα ιαχείρισης // ιοίκησης Βάσεων εδοµένων Τι θέλουµε παραπάνω από ότι έχουµε σεένα Σύστηµα Αρχείων? Απλές, αποδοτικές επερωτήσεις (ερωτήσεις) που µπορείναγίνονταιανάλογα µετοθέµα / πρόβληµα που προκύπτει στη χρήση των δεδοµένων Έλεγχο Συνδροµικότητας / συγχρονισµού Ανάκαµψη από κάθε πρόβληµα ΌλατακαλάαπότηδυνατότηταΜοντελοποίησης Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 229

Χαρακτηριστικά και Ιδιότητες των DBMS Αυτό-περιγραφική Φύση των Συστηµάτων Βάσεων εδοµένων Οµοιογένεια στην ηµιουργία, Πρόσβαση και Έλεγχο των εδοµένων Μοίρασµα (SHARING) δεδοµένων και χρήση από πολλούς χρήστες Υποστήριξη κανόνων Ακεραιότητας, Ασφάλειας, ικαιοδοσίας στα εδοµένα Κεντρικός έλεγχος Λειτουργίας (Database Administration) Πολλαπλοί Τρόποι Πρόσβασης Έλεγχος Συνδροµικότητας και Μηχανισµοί για Ανάκαµψη Τυποποιήσεις Αύξηση της Παραγωγικότητας στην Ανάπτυξη Εφαρµογών Αποµόνωση Προγραµµάτων και εδοµένων ΑΦΑΙΡΕΣΗ Ε ΟΜΕΝΩΝ (Abstraction) ΑΠΟ ΟΣΗ!!! (Performance - Performance Performance) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 230

Το Σενάριο Επεξεργασίας µε DBMS. Logical Files (VIEWS) F1 User/Group Application Programs P1 DATABASE (Integrated) DBMS (Software) F2 F3 P2 P3 F4.. P4.. Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 231

ΠαράδειγµαΒάσης εδοµένων Suppliers SupplierID CompanyName ContactName Products ProductID ProductName SupplierID Order Details OrderID ProductID UnitPrice Orders OrderID CustomerID EmployeeID Customers CustomerID CompanyName ContactName ContactTitle Address City Region PostalCode Country Phone Fax HomePage Categories CategoryID CategoryName Description Picture CategoryID QuantityPerUnit UnitPrice UnitsInStock UnitsOnOrder ReorderLevel Discontinued Quantity Discount Employees EmployeeID LastName FirstName Title TitleOfCourtesy BirthDate HireDate Address City Region PostalCode Country HomePhone Extension Photo Notes ReportsTo OrderDate RequiredDate ShippedDate ShipVia Freight ShipName ShipAddress ShipCity ShipRegion ShipPostalCode ShipCountry ContactTitle Address City Region PostalCode Country Phone Fax Shippers ShipperID CompanyName Phone Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 232

Παράδειγµα Βάσης- Στιγµιότυπο (1). EmployeeID LastNam e FirstName Title BirthDate HireDate ReportsTo 8 Callahan Laura Inside Sales Coordinator 9/1/1958 5/3/1994 2 5 Buchanan Steven Sales Manager 4/3/1955 17/10/199 3 1 Davolio Nancy Sales Representative 8/12/1968 1/5/1992 2 3 Leverling Janet Sales Representative 30/8/1963 1/4/1992 2 4 Peacock Margaret Sales Representative 19/9/1958 3/5/1993 2 6 Suyama Michael Sales Representative 2/7/1963 17/10/199 3 7 King Robert Sales Representative 29/5/1960 2/1/1994 5 9 Dodswort h Anne Sales Representative 2/7/1969 15/11/199 4 2 Fuller Andrew Vice President, Sales 19/2/1952 14/8/1992 2 5 5 EMPLOYEES Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 233

ΠαράδειγµαΒάσης- Στιγµιότυπο (2) Products ProductID ProductName QuantityPerUnit UnitPrice UnitsInStoc k CategoryName 1 Chai 10 boxes x 20 bags 18,00 ρχ 39 Beverages 2 Chang 24-12 oz bottles 19,00 ρχ 17 Beverages 3 Aniseed Syrup 12-550 ml bottles 10,00 ρχ 13 Condiments 4 Chef Anton's Cajun Seasoning 48-6 oz jars 22,00 ρχ 53 Condiments 6 Grandma's Boysenberry Spread 12-8 oz jars 25,00 ρχ 120 Condiments 7 Uncle Bob's Organic Dried 12-1 lb pkgs. 30,00 ρχ 15 Produce 8 Pears Northwoods Cranberry Sauce 12-12 oz jars 40,00 ρχ 6 Condiments 10 Ikura 12-200 ml jars 31,00 ρχ 31 Seafood Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 234

Η Αρχιτεκτονική ενός DBMS DBMS DATA MANAGER. Output Generator Dictionary Manager DATABASE Applic. USER Query I/O Processor Parser LOG Transaction Manager Recovery Manager Precompiler Authorization Control Optimizer Generation of Executable Code Data Dictionary (Schemas) Integrity Checker Update Processor Query Processor Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 235

Απλούστευση της Αρχιτεκτονικής ενός DBMS Αυτές τα στρώµατα Λαµβάνουν υπόψη Concurrency Control και Recovery Το τυπικό DBMS έχει µια σειρά από επίπεδα / στρώµατα Αυτή είναι µια από τις πιθανές αρχιτεκτονικές κάθε σύστηµα µπορεί να έχει κάποια άλλη παραλλαγή αυτής. Query Optimization and Execution Relational Operators Files and Access Methods Buffer Management Disk Space Management DB Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 236

Έλεγχος Συνδροµικότητας - Concurrency Control Η ταυτόχρονή εκτέλεση δοσοληψιών / πράξεων σε ένα DBMS είναι ΑΠΑΡΑΙΤΗΤΗ για την ΚΑΛΗ ΑΠΟ ΟΣΗ. Επειδή οι προσβάσεις στον ίσκο είναι πολύ συχνές και σχετικά αργές, είναι πολύ σηµαντικό να αφεθεί η CPU να εργάζεται σε πολλά προγράµµατα χρηστών ΤΑΥΤΟΧΡΟΝΑ. Η τυχαία εναλλαγή µεταξύ προγραµµάτων των χρηστών µπορεί να οδηγήσει σε καταστροφή της ακεραιότητας της Βάσης Τα DBMS εξασφαλίζει ότι τέτοια φαινόµενα ΕΝ παρουσιάζονται οι χρήστες παραµένουν µε την εντύπωση ότι έχουν µοναδική χρήση του DBMS. Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 237

οσοληψία ΗεκτέλεσηενόςΠρογράµµατος Η έννοια κλειδί είναι η οσοληψία (transaction), ηοποία είναι µια ατοµική σειρά πράξεων στη Βάση (reads/writes). Κάθε οσοληψία εκτελείται εντελώς και αφήνει την Βάση σε σωστή / συνεπή κατάσταση (consistent state) εφόσον ήταν σε συνεπή κατάσταση όταν άρχιζε η οσοληψία. Οι χρήστες ορίζουν απλούς κανόνες ακεραιότητας (integrity constraints) στα δεδοµένα, και το DBMS αναλαµβάνει να τους τηρεί Πέραν αυτών το DBMS δεν καταλαµβάνει το νόηµα των πράξεων. (π.χ., δεν καταλαβαίνει πως και γιατί υπολογίζεται ο τόκος σε έναν τραπεζικό λογαριασµό) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 238

Λίγα Στοιχεία για τη τησυνδροµικότητα Το DBMS εξασφαλίζει ότι η εκτέλεση των {T1,..., Tn} είναι ισοδύναµη (έχει το ίδιο αποτέλεσµα) µε την ΣΕΙΡΙΑΚΗ (serial) εκτέλεση των T1... Tn. Πριν κάνει READ / WRITE σε µια εγγραφή (αντικείµενο της Βάσης) η οσοληψία ζητά το ΚΛΕΙ ΩΜΑ αυτού (LOCK), και περιµένει ώσπου να το πάρει. Όλα τα κλειδώµατα ελευθερώνονται στο τέλος της δοσοληψίας (Strict 2PL locking protocol.) Ιδέα: Αν κάποια πράξη του Ti (π.χ. WRITE X) επηρεάζει το Tj (π.χ., αυτό κάνει READ X), ένα από αυτά, ας πούµε τοti, θα πάρει το κλειδί στο X πρώτο και το Tj αναγκάζεται να περιµένει µέχρι να τελειώσει το Ti, δηλαδή, µπαίνει µια σειρά στις οσοληψίες. Τι συµβαίνει αν το Tj έχει ήδη ένα κλειδί στο Y και το Ti ζητά αργότερα ένα κλειδί στο Y? (Deadlock!) Το Ti ή το Tj αναγκάζεται να εγκαταλείψει - aborted και να ξαναξεκινήσει! Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 239

Ατοµικότητα (Atomicity) Το DBMS διασφαλίζει την ατοµικότητα (η ιδιότητα «ή όλα ή τίποτα») ακόµη και αν το σύστηµα καταπέσει (crash) στην διάρκεια µιας πράξης. Ιδέα: Κράτα ένα Ιστορικό ( log ) όλων των πράξεων του DBMS Πριν γίνει µια αλλαγή στην Βάση, το ανάλογο ιστορικό φυλάσσεται σε ασφαλές σηµείο. (WAL protocol) Οι µηχανισµοί του Λειτουργικού Συστήµατος ΕΝ είναι αρκετοί.) Μετά το crash, τα µερικά αποτελέσµατα µιας δοσοληψίας απαλείφονται (undone) µε χρήσητουlog. Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 240

ΟΙ ΧΡΗΣΤΕΣ ΤΩΝ DBMS ιαχειριστές (Database Administrators) - Υπεύθυνοι για την διαχείριση της Βάσης (βοηθούν χρήστες να ορίζουν όψεις, επιλέγουν εναλλακτικές δοµές µνήµης και µεθόδους πρόσβασης, επίσης είναι υπεύθυνοι για την ασφάλεια και την ακεραιότητα της Βάσης, για την απόδοση του Συστήµατος, κλπ.) - Σχεδιαστές (Database Designers) - Υπεύθυνοι για τον Σχεδιασµό και Ανάπτυξη της Βάσης Αναλυτές Συστηµάτων και Προγραµµατιστές (Application Programmers / Systems Analysts) - Αναπτύσσουν τις Εφαρµογές Τελικοί Χρήστες (End-Users) - Κάνουν χρήσεις των εφαρµογών, κάνουν ερωταποκρίσεις, κλπ. Περιστασιακοί (CASUAL USERS), Παραµετρικοί (PARAMETRIC) (π.χ., ταµίας τραπέζης έτοιµα από την εφαρµογή) και Εξειδικευµένοι (SOPHISTICATED) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 241

ΑΛΛΟΙ ΣΗΜΑΝΤΙΚΟΙ ΧΡΗΣΤΕΣ Database Designers and Implementers - Αυτοί που αναπτύσσουν τα Ι ΙΑ τα DBMS Tool Developers - Αυτοί που αναπτύσσουν εργαλεία για καλύτερη χρήση των DBMS (design tools, performance tools, ειδικές προσβάσεις / διεπαφές.) Operators and Maintenance Personnel - Βοηθούν τον ιαχειριστή, κάνουν συντήρηση, κλπ. Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 242

Γλώσσες σε ένα DBMS (1) Γλώσσα Ορισµού των εδοµένων --- Data Definition Language (DDL) - Χρησιµοποιείται για να ορισθεί το conceptual schema της Βάσης Αυτό αποθηκεύεται στον Κατάλογο (CATALOG). Συχνά, η DDL χρησιµοποιείται για τον ορισµό όψεων και φυσικών δοµών. Σε ορισµένα DBMS γίνεται διαχωρισµός µεταξύ: SDL - Storage Definition Language (φυσικές δοµές) VDL - View Definition Language (όψεις) Γλώσσα Επεξεργασίας εδοµένων --- Data Manipulation Language (DML) - Για την πρόσβαση (retrieval) και αλλαγές των δεδοµένων (insert, delete, update) - υο βασικές οικογένειες: Procedural DML, Declarative DML Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 243

LANGUAGES ASSOCIATED WITH A DBMS (2) Query Language - Ένα υποσύνολο µόνο για ερωταποκρίσεις - RETRIEVAL - Data Sub-language - Η DML και η DDL µαζί. Host Language - Μια ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (COBOL, C, etc..) όπου εµφυτεύονται εντολές της DML Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 244

DBMS: Τρόποι Πρόσβασης Αυτόνοµη Query language Interface API (Application Programming Interface) για εµφυτευµένες Γλώσσες Pre-Compiler Procedure Calls (subroutines) Προσβάσεις µη-τεχνικών Χρηστών Menu-based, graphics-based, forms-based, φυσική γλώσσα, κλπ. Παραµετρικές Προσβάσεις (function keys) Προσβάσεις για Αναφορές RGL) Πρόσβαση του ιαχειριστή - DBA ηµιουργία Λογαριασµών, ικαιοδοσίες, κλπ Ρύθµιση παραγόντων Συστήµατος Αλλαγές Περιγραφών, οµών, κλπ. Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 245

Βοηθητικά Προγράµµατα του DBMS (UTILITIES) Λειτουργικότητα Loading δεδοµένα από αρχεία στην Βάση Backing up τα δεδοµένα σε Ταινίες Reorganizing οµές της Φυσικής Βάσης Report Generation Utilities Performance Monitoring Utilities Άλλες Λειτουργίες (sorting, user monitoring, data compression, κλπ.) Utilities του Καταλόγου Συστήµατος Αποθήκευση των περιγραφών (schema descriptions), σχεδιαστικών αποφάσεων, προφίλ των χρηστών, τυποποιήσεις, περιγραφές εφαρµογών, κλπ. Ο ενεργός Κατάλογος είναι προσβάσιµος στους χρήστες και στο ίδιο το DBMS Το παθητικό λεξικό (data dictionary) είναι προσβάσιµο µόνο στους χρήστες Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 246

ΣΥΝΟΨΗ - ΣΚΕΨΕΙΣ Το DBMS χρησιµοποιείται για την συντήρηση ΜΕΓΑΛΩΝ Βάσεων εδοµένων. Μεταξύ των πλεονεκτηµάτων, είναι η Ανάκαµψη από Καταστροφές του συστήµατος, ησυνδροµικότητα, γρήγορη ανάπτυξη εφαρµογών, ακεραιότητα, ασφάλεια. Πεδίααφαίρεσηςβοηθούνστηνανεξαρτησίατων προγραµµάτων από τις Φυσικές οµές. Οι ιαχειριστές (DBA) έχουν υπεύθυνες εργασίες και πληρώνονται πολύ καλά! DBMS R&D είναι από τις πλέον ελκυστικές περιοχές της Πληροφορικής (τέλειος συνδυασµός Πράξης Θεωρίας) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 247

Τεχνολογία ιοίκησης εδοµένων Ηγλώσσα SQL --- παγκόσµια σταθερά σε Β Sequel 75 (System R) SQL86» H Πρώτη προσπάθεια για τυποποίηση SQL89» referential integrity SQL92» agents, client/server, embedded SQL, dynamic SQL (cursors), temporary tables, standard error codes SQL 99» object SQL Ιδιότητες» αρµονία µε DCE, X/Open» multimedia (text, audio, video, BLOBs) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 248

Εµφύτευση της SQL SQL εντολές καλούνται µέσα από ένα πρόγραµµα µιας host γλώσσας (π.χ., C ή COBOL) Οι εντολές της SQL µπορούν να αναφέρονται σε host µεταβλητές Πρέπει να περιλαµβάνουν µια εντολή για σύνδεσµο µε την σωστή βάση. Οι SQL Σχέσεις είναι σύνολα εγγραφών, χωρίς προκαθορισµένο (a priori) όριο στον αριθµό των εγγραφών. εν υπάρχουν τέτοιες δοµές στην C! Για να αντιµετωπίσει αυτή την δυσκολία η SQL υποστηρίζει ένα µηχανισµό πουλέγεται cursor Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 249

API Βάσης εδοµένων: Εναλλακτικός της Εµφύτευσης τρόπος πρόσβασης Αντί να αλλάζει ο compiler, προστίθεται µια βιβλιοθήκη µε Κλήσεις στη Βάση εδοµένων (API) Application Programming Interface Ειδικές ιαδικασίες / Αντικείµενα Περνά τις SQL εντολές σαν character strings από τη γλώσσα και παρουσιάζει τα αποτελέσµατα µε φιλικό (για τη γλώσσα) τρόπο Το ODBC της Microsoft έχει γίνει το C/C++ standard στα Windows Το JDBC της SUN είναι το ανάλογο για τη Java Ανεξάρτητα του DBMS» Ένας οδηγός παγιδεύει τις κλήσεις και τις µεταφράζει σε κώδικα για το DBMS» ΗΒάσηµπορεί να είναι στο ίκτυο Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 250

Query Optimization & Processing Optimizer maps SQL to algebra tree with specific algorithms access methods and join algorithms relational operators implemented as iterators open() next(possible with condition) close processing engine is a pull-based, single-threaded data flow parallelizes naturally Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 251

Τεχνολογία ιοίκησης εδοµένων TRANSACTIONS ( οσοληψίες) Μία ή περισσότερες πράξεις που εκτελούνται σαν µία ενότητα Commit -- rollback ACID test:» Atomicity (όλο ή τίποτα)» Consistency (από ακεραιότητα της βάσης σε ακεραιότητα)» Isolation (καµία επίδραση από άλλες δοσοληψίες - κλείδωµα)» Durability (το αποτέλεσµαείναιµόνιµο - δεν επηρεάζεται) Γενεές ΤPS: 1η, 2η, 3η Τransaction Processing Systems and Monitors 3ης Γενεάς» οσοληψίες σε περιβάλλον δικτύου» Tuxedo, Encina, Top End, TP-lite: Οι δοσοληψίες από το ίδιο το DBMS Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 252

Επιτυχία του ACID Test Concurrency Control Guarantees Consistency and Isolation, given Atomicity. Logging and Recovery Guarantees Atomicity and Durability. C. C.: What problems could arise? What is acceptable behavior? How do we guarantee acceptable behavior? Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 253

Locking: A Technique for C. C. Concurrency control usually done via locking. Lock info maintained by a lock manager : Stores (XID, RID, Mode) triples.» This is a simplistic view; suffices for now. Mode {S,X} Lock compatibility table: If a Xact can t get a lock, it is suspended on a wait queue. -- S X -- S X Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 254

Logging and Recovery: Motivation Atomicity: Transactions may abort ( Rollback ). Durability: What if DBMS stops running? (Causes?) Desired Behavior after system restarts: T1, T2 & T3 should be durable. T4 & T5 should be aborted (effects not seen). T1 T2 T3 T4 T5 crash! Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 255

Basic Idea: Logging Record REDO and UNDO information, for every update, in a log. Sequential writes to log (put it on a separate disk). Minimal info (diff) written to log, so multiple updates fit in a single log page. Log: An ordered list of REDO/UNDO actions Log record contains: <XID, pageid, offset, length, old data, new data> and additional control info Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 256

Write-Ahead Logging (WAL) The Write-Ahead Logging Protocol: Must force the log record for an update before the corresponding data page gets to disk. Must write all log records for a Xact before commit. #1 guarantees Atomicity. #2 guarantees Durability. Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 257

Management Requirements in in DBMS Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 258

Τεχνολογία ιοίκησης εδοµένων // Πληροφοριών Κατανεµηµένη Επεξεργασία και εδοµένα Επεξεργασία σε πολλαπλά (γεωγραφικά σε απόσταση) συστήµατα Τρόποι Κατανοµής εδοµένων:» Fragmentation / Partitioning ( ύσκολη Υλοποίηση)» Replication / Duplication (Παρουσιάζει Ρίσκα, π.χ., συγχρονισµός) Κατανεµηµένα (Distributed) DBMS ή Multidatabases ή Federated DBMS και Heterogeneous DDBMS Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 259

Τεχνολογία ιοίκησης εδοµένων Αρχιτεκτονικές Κατανεµηµένων DBMS Πως κατανέµονται τα δεδοµένα: Κάθε µονάδα έχει µοναδικό σηµείο αλλαγής, κατανεµηµένες αλλαγές στο ελάχιστο, τα δεδοµένα όσο πιο κοντά γίνεται στα προγράµµατα, DRDA - Distributed Relational Database Architecture (IBM)» Πρόσβαση σε κατανεµηµένα δεδοµένα για κάθε πλατφόρµατηςibm (MVS, VM, OS/400, OS/2, AIX, )» Βασίζεται στο SNA RDA - Remote Data Access (ISO)» Όλοι οι µεγάλοι προµηθευτές DBMS (εκτός ΙΒΜ)» Βασίζεται στο OSI (Open System Interconnection)» σχεδιασµένη για µετεφερσιµότητα (portability)» SAG (SQL Access Group) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 260

Τεχνολογία ιοίκησης εδοµένων ΚατανοµήσεCLIENT/SERVER Mία ακόµηδιαµάχη µε δύο διαφορετικά αποτελέσµατα: ODBC (από την Microsoft), X/Open CLI --- 1992, 1994» Open Database Connectivity IDAPI (από τις Borland, IBM, Novell) --- 1992» Integrated Database Application Programming Interface Στο επίπεδο του SQL Call-level Interface (CLI) MIDDLEWARE Κάθε σύνολο προγραµµάτων ή διαδικασιών που επιτρέπει δυο πολύ διαφορετικά προγράµµατα να συλλειτουργούν (interoperate) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 261

Databases and the Web Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 262

ΝΕΕΣ ΤΑΣΕΙΣ Τεχνολογία ιοίκησης εδοµένων Massively-Parallel DBMS» Shared Memory, Shared Disks, Shared Nothing Object-oriented Database Systems» Versant, O2, Ontos, Itasca,» ODMG Standards Object-Relational Database Systems» UniSQL, Oracle 8, Document Management Systems» Text retrieval Hypermedia DBs» Κόµβοι που κρατούν Text Multimedia DBMS» image exchange, compression, user interfaces Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 263

Τεχνολογία ιοίκησης εδοµένων ΝΕΕΣ ΤΑΣΕΙΣ (συνέχεια) Active DBMS (Database Intelligence)» Triggering Events» Business Rules Knowledge Base Managament Systems» Artificial Inteliigence and DBMS» περιορισµοί Temporal DBMS (TSQL) Spatial DBMS» Γεωµετρικά σηµεία» Εφαρµογές σε GIS (Geographic Information Systems) PC-BASED DBMS!» dbase, Paradox, CA-Clipper, Access,... Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 264

Τεχνολογία ιοίκησης εδοµένων OLAP Ανάλυση σε πολυδιάστατο χώρο» Πωλήσεις ΑΝΑ (Προϊόν, Πελάτη, Χρόνο)» Κύβος drill down, rollup Essbase, Commander, Oracle Express, SAS, Excel Data Warehouses Νέα µορφή για Decision Support Systems Redbrick, Oracle DW, Informix, Sybase, Micro Strategy Data Marts Data Mining Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 265

On-Line Analytical Processing (OLAP) Multidimensional Database Technology ROLAP, MOLAP HOLAP (Hybrid OLAP), WOLAP (Web OLAP) OLAP ευέλικτη, υψηλής απόδοσης πρόσβαση και ανάλυση µεγάλου όγκου σύνθετων δεδοµένων - από διαφορετικές εφαρµογές Visualization of business data (πολυδιάστατα) data mining, query & reporting, statistical analysis, multidimensional analysis Enterprise Decision Support Systems Ad-hoc reporting and Analytical Power (analytical discovery ) 266 Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 266

OLAP: Η έννοια του ΚΥΒΟΥ Sales Volumes M O D E L Mini Van Coupe Sedan Carr Gleason Clyde DEALERSHIP Blue Red White COLOR 267 Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 267

OLAP - Εφαρµογές Κλασσικές Εφαρµογές Financial Analysis, Modeling and Reporting, Budgeting, Quality Assurance and Quality Control, Product Profitability, Survey Analysis Promotion Tracking OLAP και OLTP δεν µπορούν να δουλέψουν ταυτόχρονα στα ίδια λειτουργικά δεδοµένα! εντελώς διαφορετικές και συγκρουόµενες απαιτήσεις 268 Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 268

Κλασσική Αρχιτεκτονική DW BUSINESS INTELLIGENCE (clients) OLAP Q&R DSS DM Data Mart Data Mart Administration REPOSITORY Agent Meta Database Data Warehouse Wrappers / Loaders Mediator Το MIDDLEWARE των Αποθηκών εδοµένων SOURCES Text File DB External data Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 269

Απλή ιαχείριση εδοµένων ΕΞΕΛΙΞΗ στην Εφαρµογή και Τεχνολογία ιοίκησης // ιαχείρισης εδοµένων Επιχειρησιακή ιαχείριση - ΟΠΣ Αρχές 80 Τέλη 80 Αρχές - Μέσα 90 Τέλη 90 21ος C Προ- Σχεσιακά DBMS Πρώτα Σχεσιακά Client-server Σχεσιακά Επιχειρησιακή Κάλυψη Internet Computing Simple transactions, on-line backup & recovery Απλό OLTP Stored procedures, triggers Ενεργές Βάσεις εδοµένων Αποθήκες εδοµένων & Hi-end OLTP Scaleable OLTP, parallel query, partitioning, cluster support, row-level locking, high availability Support for all types of data, extensibility, objects Πακέτα & Κάθετες Εφαρµογές - Business Intelligence Middleware (messaging, queues, events) Java, CORBA, Web interfaces XML ) Ι. Βασιλείου --- Αρχές Πληροφοριακών Συστηµάτων Βασικές Τεχνολογίες 270