Βάσεις Δεδομένων II (Θ) Ενότητα 1: «Προσανατολισμού» (orientation) - Εισαγωγή Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τέλος Ενότητας.
Advertisements

Οργάνωση πληροφοριών Ταξινόμηση (Θ) Ενότητα 9: Qualified Dublin Core Δάφνη Κυριάκη-Μάνεση Τμήμα Βιβλιοθηκονομίας και Συστημάτων Πληροφόρησης Το περιεχόμενο.
Βασικές αρχές ευρετηρίασης
Οργάνωση πληροφοριών Ταξινόμηση (Θ) Ενότητα 1: Εισαγωγή (α μέρος) Δάφνη Κυριάκη-Μάνεση Τμήμα Βιβλιοθηκονομίας και Συστημάτων Πληροφόρησης Το περιεχόμενο.
Η ανοσοαποτύπωση ως επιβεβαιωτική μέθοδος
Τριφασικά συμμετρικά δίκτυα σε συνδεσμολογία Υ (1/2)
Περιλήψεις Γιατί; Πως; Τι είναι; Ποιος τις κάνει;
Αυτοματοποιημένη ευρετηρίαση
Διαμόρφωση πεδίων Περιγραφικά πεδία Διαχειριστικά πεδία Δομικά πεδία.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 11: Βελτιστοποίηση Ενδιάμεσου Κώδικα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Άσκηση με αντίσταση Είναι ο οποιοσδήποτε τύπος ενεργητικής άσκησης στον οποίο η δυναμική ή στατική μυϊκή σύσπαση βρίσκει αντίσταση από μία εξωτερική.
Βάσεις Δεδομένων I (Θ) Ενότητα 11: Ενιαίο παράδειγμα σχεδίασης σχεσιακής βάσης δεδομένων και υλοποίησης με Γλώσσα SQL Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής.
Πολιτική πληροφόρησης Ενότητα 11: Ανακεφαλαίωση Μέρος Ι Δρ Αλέξανδρος Κουλούρης Τμήμα Βιβλιοθηκονομίας & Συστημάτων Πληροφόρησης Ανοικτά Ακαδημαϊκά Μαθήματα.
Η αναγκαιότητα συνθετικής προσέγγισης 1/6
Διάνοιξη πόρων Με ακτινοβολούμενη θερμότητα. Θερμαινόμενα σίδερα.
Έλεγχος Ροής με την Εντολή Επανάληψης FOR 1/9
Καμπυλότητα Φακού P c
Παράγοντες που επηρεάζουν τη δύναμη ενός μυός 1/2
Ορισμός Μάλαξη είναι ένα σύστημα μηχανικών χειρισμών που εκτελούνται στην επιφάνεια του ανθρώπινου σώματος (εδώ στο πρόσωπο), με τα χέρια ή με ειδικά μηχανήματα.
Αλκίνια Χαρακτηριστική ομάδα: τριπλός δεσμός.
Περιγραφή Είναι κύματα που εκπέμπονται σε πολύ μεγάλες συχνότητες.
Αλδεΰδες και Κετόνες Δομή και ιδιότητες.
Σύσταση και Ανάλυση Γλευκών και Οίνων (Θ)
Συστήματα Θεματικής Πρόσβασης (Θ) Ενότητα 5: Θεματική επεξεργασία απεικονιστικών τεκμηρίων Δάφνη Κυριάκη-Μάνεση Τμήμα Βιβλιοθηκονομίας και Συστημάτων Πληροφόρησης.
Μέρη μηχανής φύλλου όφσετ
Τεχνικές μάλαξης (Θ) Ενότητα 12: Μάλαξη και εναλλακτικές θεραπευτικές προσεγγίσεις Γεωργία Πέττα Τμήμα Φυσικοθεραπείας Ανοικτά Ακαδημαϊκά Μαθήματα στο.
Υπηρεσίες Πληροφόρησης Ενότητα 7: Είδη υπηρεσιών πληροφόρησης – Εξυπηρέτηση (β’ μέρος) Δρ. Ευγενία Βασιλακάκη Τμήμα Βιβλιοθηκονομίας και Συστημάτων Πληροφόρησης.
Τεχνολογία οφθαλμικών φακών Ι (Ε) Ενότητα 2: Διόρθωση αμετρωπιών με οφθαλμικούς φακούς Θεμιστοκλής Γιαλελής, Οπτικός, MSc, PhD candidate ΕΔΙΠ του τμήματος.
Τεχνολογία οφθαλμικών φακών Ι (Ε) Ενότητα 5: Έγχρωμοι φακοί Θεμιστοκλής Γιαλελής, Οπτικός, MSc, PhD candidate ΕΔΙΠ του τμήματος Οπτικής και Οπτομετρίας.
Εναρκτήρια συνάντηση Στην πρώτη συνάντηση γίνεται παρουσίαση του μαθήματος και μία σύντομη και περιεκτική επισκόπηση κάποιων βασικών εννοιών των Βάσεων.
Συμπλήρωση Προτύπου Διδακτικού Σχεδιασμού
Eιδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων
Κανόνες Ασφαλείας Εργοταξίων
ΟΙΚΟΝΟΜΙΚΑ ΤΟΥ ΕΛΕΓΧΟΥ ΤΗΣ ΡΥΠΑΝΣΗΣ
Εναρκτήρια συνάντηση Στην πρώτη συνάντηση γίνεται παρουσίαση του μαθήματος και μία σύντομη και περιεκτική επισκόπηση κάποιων βασικών εννοιών των Βάσεων.
Άλλες μορφές νευρώσεων
Διαχείριση παραγωγής εντύπων 1/2
Επικοινωνιακός Προγραμματισμός Ι
Άσκηση 8 (1 από 3) Προβολές 1. Να επιλέξετε ένα θέμα βασισμένο σε κάποια παράγραφο / υποπαράγραφο του κεφαλαίου 6 των σημειώσεων και να κάνετε μια εργασία.
Υπολογιστική Γεωμετρία και Εφαρμογές στις ΒΧΔ
Παρουσίαση ναυπηγικών γραμμών 1/3
Ταυτότητα και περίγραμμα μαθήματος
Δίκτυα Υπολογιστών ΙΙ (Ε)
ΠΡΟΤΥΠΟ ΕΛΟΤ EN ISO 3251 Ζύγιση μάζας υγρού μελανιού (m1 g)
Ενότητα 13 Αξιολόγηση μαθήματος και διδάσκοντος από την εφαρμογή της Μονάδας Ολικής Ποιότητας (ΜΟΔΙΠ) του ΤΕΙ Αθήνας Αξιολόγηση του μαθήματος Αξιολόγηση.
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι η παρουσίαση δηλώσεων SQL που περιλαμβάνουν EXIST, ANY, ALL. Χ. Σκουρλάς.
Άσκηση 9 (1 από 2) Ανακαλύψτε στο χάρτη σας μερικά χαρτογραφικά αντικείμενα που να ανήκουν στις παρακάτω κατηγορίες : φυσικά, τεχνητές κατασκευές, αφηρημένα.
Τοπολογικές σχέσεις 1/3 Βρείτε και περιγράψτε τις τοπολογικές σχέσεις σύμφωνα με τους (Pantazis, Donnay 1996) για τα παρακάτω γεω-γραφικά αντικείμενα:
Κανονικοποίηση ΤΙ ΕΙΝΑΙ ; Τεχνική Διαδικασία
Επικοινωνιακός Προγραμματισμός Ι
Εικαστικές συνθέσεις - Χρώμα στο χώρο
Γενική και Μαθηματική Χαρτογραφία (Ε)
Οργάνωση και Διοίκηση Πρωτοβάθμιας (Θ)
Λιθογραφία – Όφσετ (Θ) Ενότητα 8.2: Εκτυπωτική Διαδικασία Μηχανής
Επικοινωνιακός Προγραμματισμός Ι
Αισθητική Σώματος Ι (Ε)
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας
Ειδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων -E
Γενική και Μαθηματική Χαρτογραφία (Ε)
Αισθητική Σώματος Ι (Ε)
Ενότητα 8: Συστήματα Υγείας στην Ευρώπη: Γαλλία
Eιδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων -Θ
Συστήματα Θεματικής Πρόσβασης (Θ)
Γενική και Μαθηματική Χαρτογραφία (Ε)
Οργανική Χημεία (Ε) Ενότητα 2: Προσδιορισμός σημείου τήξης
Ενότητα 1: ……………….. Όνομα Επώνυμο Τμήμα __
Βάσεις Δεδομένων ΙΙ Ενότητα 6: Τεχνολογία PL/SQL - cursors Χ. Σκουρλάς
Σύσταση και Ανάλυση Γλευκών και Οίνων (Θ)
Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Δυτικής Αττικής
Επικοινωνιακός Προγραμματισμός Ι
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων II (Θ) Ενότητα 1: «Προσανατολισμού» (orientation) - Εισαγωγή Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Στην πρώτη συνάντηση γίνεται παρουσίαση του μαθήματος και μία σύντομη και περιεκτική επισκόπηση κάποιων βασικών εννοιών των Βάσεων Δεδομένων I. Γίνεται, επιπλέον, μία εισαγωγή σε θέματα που θα μας απασχολήσουν στο μάθημα. Η διεκπεραίωση των θεμάτων γίνεται κυρίως με χρήση παραδειγμάτων. Εναρκτήρια συνάντηση 1

Περιγραφή Μαθήματος Σκοπός του μαθήματος είναι να παρουσιάσει τις απαραίτητες έννοιες ώστε οι φοιτητές να είναι σε θέση να σχεδιάσουν και να υλοποιήσουν σύνθετα ολοκληρωμένα συστήματα βάσεων δεδομένων χρησιμοποιώντας νέα εργαλεία και τεχνικές σε ένα διαρκώς μεταβαλλόμενο ανταγωνιστικό περιβάλλον. 2

Μαθησιακά Αποτελέσματα Κύριος στόχος του μαθήματος είναι να εφοδιάσει τους φοιτητές με τις απαραίτητες γνώσεις έτσι ώστε να είναι ικανοί να χρησιμοποιούν νέες προχωρημένες τεχνικές της τεχνολογίας βάσεων δεδομένων για να σχεδιάσουν, να υλοποιήσουν και να συντηρήσουν σύνθετες βάσεις δεδομένων και ολοκληρωμένα συστήματα βάσεων δεδομένων. 3

Περίγραμμα ύλης μαθήματος Συναρτησιακές εξαρτήσεις και κανονικοποίηση. Σημασιολογικό μοντέλο δεδομένων. Ενισχυμένο μοντέλο Οντοτήτων – Συσχετίσεων. Αντικειμενοστρεφές μοντέλο δεδομένων. Τεχνολογία Oracle (PL/SQL, triggers, stored procedures κ.λπ.). Συστήματα Διαχείρισης Βάσεων Δεδομένων Ανοικτού κώδικα (mySQL). Αντίγραφα (back up) της βάσης δεδομένων και επαναλειτουργία βάσης (recovery). Συγχρονισμός προσπέλασης (concurrency). Βελτιστοποίηση αιτημάτων προσπέλασης (query optimization). Κατανεμημένες Βάσεις Δεδομένων (distributed database). Επίκαιρα θέματα βάσεων δεδομένων (πχ. βάσεις πολυμέσων, βάσεις δεδομένων στο διαδίκτυο, ασφάλεια βάσεων δεδομένων, διαχείριση γνώσης και βάσεις δεδομένων και γνώσης, XML, OLAP, Data Warehouse κ.λπ.). Μελέτη Περίπτωσης. 4

Περιεχόμενα Μαθήματος / Ενότητες 1/2 Ενότητα 1: «Προσανατολισμού» (orientation) – Εισαγωγή. Ενότητα 2: Επισκόπηση Μοντελοποίησης, Κανονικοποίησης, Υλοποίησης με χρήση SQL. Ενότητα 3: Σχεδίαση βάσεων δεδομένων βασιζόμενη στην τεχνική των Συναρτησιακών Εξαρτήσεων. Ενότητα 4: Εισαγωγή στον προγραμματισμό με χρήση triggers. Χρήση τεχνολογίας PL/SQL. Ενότητα 5: Μελέτη περιπτώσεως: Προγραμματισμός εφαρμογής με χρήση triggers σε περιβάλλον PL/SQL. Ενότητα 6: Τεχνολογία PL/SQL – cursors. 5

Περιεχόμενα Μαθήματος / Ενότητες 2/2 Ενότητα 7: Μελέτη περίπτωσης: Η εταιρεία Music Corner. Ενότητα 8: Συναλλαγές (Transactions). Ενότητα 9: Συναλλαγές (Transactions) στο προϊόν mySQL. Ενότητα 10: Μελέτη περίπτωσης: Χρήση JDBC API, JSP pages. Ενότητα 11: SQL διαγνωστικά σφαλμάτων (SQL error diagnostics), δήλωση Get Diagnostics. Ενότητα 12: Stored Procedures BY EXAMPLE: Triggers, Functions, Procedures, Cursors. 6

Ενδεικτική Βιβλιογραφία 1/2 1.Σκουρλάς Χ., Υλοποίηση εφαρμογών με γλώσσα SQL – χρήση τεχνολογίας Oracle, Εκδόσεις Νέων Τεχνολογιών, Αθήνα Ramakrishnan R., Gehrke J., Συστήματα διαχείρισης βάσεων δεδομένων, τόμος A και τόμος Β, Eκδόσεις Τζιόλα, Θεσ/νίκη Γεώργιος Βασιλακόπουλος, Σχεδιασμός βάσεων δεδομένων, Elmasri R., Navathe S.B., Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμος Β', Εκδόσεις Δίαυλος, Αθήνα Silberschatz A., Korth H.F., Sudarshan S., Συστήματα βάσεων δεδομένων – Η πλήρης θεωρία των βάσεων δεδομένων, Εκδόσεις Γκιούρδα, Ullman J.D., Widom J., A first course in database systems, Prentice- Hall, Βασιλειάδης Π., Σελλής Τ., Αντικειμενοστρεφή συστήματα διαχείρισης βάσεων δεδομένων, Εκδόσεις Παπασωτηρίου, Αθήνα

Ενδεικτική Βιβλιογραφία 2/2 8.Subrahmanian V.S., Principles of Multimedia Database Systems, Morgan Kaufmann, Gray J., Reuter A., Transaction Processing: Concepts and Techniques, Morgan Kaufmann, Connolly T., Begg C., Database solutions. A step-by-step guide to building databases, Addison-Wesley, Theriault M., Henney W., Oracle security, O’Reilly, Abramson I., Abbey M., Corey M., Oracle Database 10g: A beginner’s guide, Oracle Press, McGraw-Hill, Meloni J., Teach Yourself PHP, MySQL and Apache, SAMS, Davies A., Fisk H., MySQL Clustering, MySQL Press, Bell C.A., Expert MySQL, Apress, Τεχνικές αναφορές, κεφάλαια διπλωματικών εργασιών, ανασκοπήσεις (review papers) και άρθρα σε θέματα αιχμής για τις βάσεις δεδομένων και τις εφαρμογές τους. 8

Η μοντελοποίηση Όταν θέλουμε να μοντελοποιήσουμε ένα σύστημα βάσης δεδομένων σχεδιάζουμε ένα ειδικό μοντέλο για όλες τις εφαρμογές που μας ενδιαφέρουν, το Μοντέλο Οντοτήτων Συσχετίσεων (ΜΟΣ). Το μοντέλο αναπαριστά όλες τις οντότητες (entities) και τις μεταξύ τους συσχετίσεις (relationships). 9

Μοντέλο οντοτήτων συσχετίσεων με συμβολισμό Navathe-Elmasri 10

11

Διαχείριση σχεσιακών βάσεων δεδομένων με γλώσσα SQL Απόσπασμα απλουστευμένης σχεσιακής (relational) βάσης δεδομένων Πίνακας «Υπαλλήλων» Πίνακας «Τμημάτων» DeptnoDnameNo_of_employees Κωδικόςτμήμααριθμός υπαλλήλων που εργάζονται στο τμήμα 10ΛΟΓΙΣΤΗΡΙΟ2 20ΠΩΛΗΣΕΙΣ1 30ΕΡΓΑ EmpnoEnameJobSalDeptno κωδικόςΌνομαΘέσηΜισθόςΚωδικός τμήματος 10ΧΡΗΣΤΟΥΑΝΑΛΥΤΗΣ ΣΠΥΡΟΥΠΩΛΗΤΗΣ ΜΑΡΚΟΥΑΝΑΛΥΤΗΣ

mySQLOracle CREATE DATABASE new_personnel; USE new_personnel; CREATE TABLE DEPT(DEPTNO INT(2) NOT NULL, DNAME VARCHAR(14), LOC VARCHAR(14)); CREATE TABLE DEPT(DEPTNO NUMBER(2) NOT NULL, DNAME VARCHAR2(14), LOC VARCHAR2(14)); CREATE TABLE EMP(EMPNO INT(4) NOT NULL, ENAME VARCHAR(10), JOB VARCHAR(25), HIREDATE DATE, MGR INT(4), SAL FLOAT(7,2), COMM FLOAT(7,2), DEPTNO INT(2)); CREATE TABLE EMP(EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(25), HIREDATE DATE, MGR NUMBER(4), SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2)); INSERT INTO DEPT(DEPTNO, DNAME, LOC) VALUES (10, 'ACCOUNTING', 'NEW YORK'); INSERT INTO EMP VALUES (10, 'CODD', 'ANALYST', '1989/01/01', 15, 3000, NULL, 10); INSERT INTO DEPT(DEPTNO, DNAME, LOC) VALUES (10, 'ACCOUNTING', 'NEW YORK'); INSERT INTO EMP VALUES (10, 'CODD', 'ANALYST', '01/01/1989', 15, 3000, NULL, 10); SELECT * FROM EMP; SELECT * FROM DEPT; SELECT * FROM EMP; SELECT * FROM DEPT; DROP TABLE EMP; DROP TABLE DEPT; DROP TABLE EMP; DROP TABLE DEPT; DROP DATABASE NEW_PERSONNEL; SHOW TABLES;SELECT * FROM Tab; Υλοποίηση με χρήση MySQL, Oracle: Συγκριτικός Πίνακας διαφορών 13

Δημιουργία βάσεως δεδομένων Για να δημιουργηθεί αυτό το σχήμα της βάσης δεδομένων μπορούμε να χρησιμοποιήσουμε τις παρακάτω εντολές σε γλώσσα SQL (oracle): CREATE TABLE dept(deptno NUMBER(2) NOT NULL, dname CHAR(14), No_of_employees NUMBER(5), PRIMARY KEY(deptno)); CREATE TABLE emp(empno NUMBER(4) NOT NULL, ename CHAR(10), job CHAR(10), sal NUMBER(5), deptno NUMBER(2), PRIMARY KEY(empno), FOREIGN KEY(deptno) REFERENCES dept(deptno)); 14

Δημιουργία trigger Δημιουργήστε τον trigger Insert_Trig: Στην περίπτωση εισαγωγής των στοιχείων υπαλλήλου στον πίνακα emp θα ενεργοποιείται αυτόματα ο trigger και θα προστίθεται 1 στην αντίστοιχη θέση της στήλης No_of_employee του πίνακα dept (oracle): 1.CREATE TRIGGER Insert_Trig 2.BEFORE INSERT ON emp 3.FOR EACH ROW 4.BEGIN 5.UPDATE dept 6.SET No_of_employees=NVL(No_of_employees, 0)+1 7.WHERE deptno=:NEW.deptno; 8.END; Trigger created seconds 15

Χρήση SQL INSERT INTO dept(deptno, dname) VALUES(10, ‘ΛΟΓΙΣΤΗΡΙΟ’); INSERT INTO emp VALUES(10, ‘ΧΡΗΣΤΟΥ’, ‘ΑΝΑΛΥΤΗΣ’, 2500, 10); SELECT empno, ename, job, sal, deptno FROM emp WHERE deptno IN (SELECT deptno FROM dept WHERE dname= ‘ΠΩΛΗΣΕΙΣ’); SELECT empno, ename, job, sal, emp.deptno, dname FROM emp, dept WHERE emp.deptno=dept.deptno ORDER BY job, ename; SELECT job, COUNT(*) No_of_employees FROM emp GROUP BY job; 16

Κανονικοποίηση με χρήση συναρτησιακών εξαρτήσεων 17

Μελέτη περίπτωσης - Βάση δεδομένων Διεύθυνσης Προσωπικού. Οι στήλες των πινάκων είναι οι εξής: Empno=Κωδικός υπαλλήλου, Surname=επώνυμο, Name=όνομα, Job=θέση, Deptno=κωδικός τμήματος, Dname=τμήμα Sal=μισθός, C_No=κωδικός παιδιού υπαλλήλου, C_Name=όνομα παιδιού, B_Date= ημερομηνία γέννησης παιδιού. Περιορισμοί Υποτίθεται ότι κάθε υπάλληλος έχει μία θέση, ανήκει σε ένα τμήμα, ο μισθός του εξαρτάται από τη θέση και μπορεί να έχει ή να μην έχει παιδιά. 18

19

20

21

Όψη (view) Όψη είναι ένας ιδεατός (virtual) πίνακας που περιλαμβάνει στήλες από έναν ή περισσότερους πίνακες ή και άλλες όψεις της ΒΔ. Ο χρήστης / προγραμματιστής χειρίζεται τις όψεις όπως και τους πίνακες. Μπορεί δηλαδή να χρησιμοποιήσει τις εντολές Select, Insert, Update, Delete σαν να ήταν η όψη ένας συνηθισμένος πίνακας (με κάποιους περιορισμούς ανάλογα με τον ορισμό της όψης). Τα στοιχεία του αντικειμένου της όψης αντανακλούν άμεσα τις αλλαγές που γίνονται στα στοιχεία των πινάκων με τους οποίους συνδέεται η όψη. Και αντίστροφα, όταν εισάγουμε, τροποποιούμε ή διαγράφουμε στοιχεία της όψης οι αλλαγές αντανακλώνται άμεσα στους πίνακες στους οποίους βασίζεται η όψη (με κάποιους περιορισμούς ανάλογα με τον ορισμό της όψης). 22

Πότε μια view δεν είναι ενημερώσιμη (is not updatable) Όταν περιλαμβάνει: 1.Aggregate functions (SUM(), MIN(), MAX(), COUNT(), …) 2.DISTINCT 3.GROUP BY 4.HAVING 5.UNION, INTERSECT, MINUS 6.Subquery (select … select ) 7.Πράξεις κ.λπ. στη λίστα του select πχ select sal+comm. … 8.SELECT που χρησιμοποιεί συνδέσεις (Certain joins). Ισχύει στις περισσότερες περιπτώσεις, όχι σε όλες 9.Μη ενημερώσιμη όψη στο FROM (Non updatable view in the FROM clause 10.Υποαναζήτηση ( SELECT ) στο WHERE που αναφέρεται σε πίνακα στο FROM (A subquery in the WHERE clause that refers to a table in the FROM clause ) 23

DBA - ΓΛΩΣΣΑ ΕΛΕΓΧΟΥ ΔΕΔΟΜΕΝΩΝ (Data Control Language - DCL) Δικαιώματα πρόσβασης Υπάρχουν δύο διαφορετικά είδη δικαιωμάτων πρόσβασης: 1) Δικαιώματα που καθορίζουν το είδος της πρόσβασης των χρηστών. 2) Δικαιώματα που καθορίζουν τον τύπο των ενεργειών, που επιτρέπονται σε πίνακες. 24

Δικαιώματα πρόσβασης χρηστών Υπάρχουν τριών ειδών δικαιώματα: CONNECT RESOURCE DBA 25

Δικαίωμα CONNECT 1/2 Οι χρήστες με το CONNECT δικαίωμα έχουν την δυνατότητα: πρόσβασης στο περιβάλλον της βάσης, να δουν τα περιεχόμενα πινάκων που ανήκουν σε άλλους χρήστες με την προϋπόθεση ότι έχουν το SELECT δικαίωμα για αυτούς τους πίνακες, να εκτελέσουν ενέργειες χειρισμού δεδομένων ( INSERT, UPDATE, DELETE ) σε πίνακες άλλων χρηστών εάν τους έχει δωθεί το αντίστοιχο δικαίωμα, να δημιουργήσουν όψεις και συνώνυμα που βασίζονται σε πίνακες στους οποίους έχουν δικαίωμα SELECT. 26

Δικαίωμα CONNECT 2/2 Οι χρήστες με το CONNECT δικαίωμα δεν μπορούν: να δημιουργήσουν ή να διαγράψουν πίνακες, δείκτες (indexes) ή συστάδες πινάκων (clusters), να μεταβάλλουν τη δομή πινάκων. 27

Δικαίωμα RESOURCE 1/2 Η ύπαρξη αυτού του δικαιώματος προϋποθέτει την ύπαρξη του δικαιώματος CONNECT. Ο χρήστης με αυτό το δικαίωμα έχει τη δυνατότητα να: δημιουργήσει πίνακες, ευρετήρια (indexes) και συστάδες (clusters) και να χειριστεί αυτά τα αντικείμενα χωρίς κανένα περιορισμό. παραχωρήσει και να αφαιρέσει δικαιώματα πρόσβασης σε άλλους χρήστες για τα αντικείμενα που του ανήκουν. χρησιμοποιήσει την AUDIT εντολή για τον έλεγχο της πρόσβασης στα αντικείμενα που του ανήκουν. 28

Δικαίωμα RESOURCE 2/2 Ο χρήστης με το RESOURCE δικαίωμα δεν έχει την δυνατότητα να: χειριστεί πίνακες που έχουν δημιουργηθεί από άλλο χρήστη, εκτός αν του έχει παραχωρηθεί το ανάλογο δικαίωμα πρόσβασης, παραχωρήσει ή να αφαιρέσει CONNECT ή RESOURCE δικαιώματα σε άλλους χρήστες. 29

Δικαίωμα DBA Το DBA δικαίωμα είναι το πιο ισχυρό δικαίωμα πρόσβασης. Ενας χρήστης με αυτό το δικαίωμα έχει όλα τα δικαιώματα που συνεπάγονται το CONNECT και το RESOURCE και έχει τη δυνατότητα να: προσπελάσει τους πίνακες όλων των χρηστών και να εκτελέσει οποιαδήποτε ενέργεια πάνω σε αυτούς, παραχωρήσει και να αφαιρέσει δικαιώματα πρόσβασης χρηστών στη βάση (CONNECT, RESOURCE, DBA), δημιουργήσει γενικά συνώνυμα (PUBLIC SYNONYM), δημιουργήσει και να τροποποιήσει διαμερίσεις (partitions), παρακολουθήσει την πρόσβαση στο σύστημα της βάσης δεδομένων καθώς και την πρόσβαση σε πίνακες χρηστών, αποθηκεύσει τη βάση δεδομένων σαν απλό αρχείο λειτουργικού συστήματος για λόγους δημιουργίας εφεδρικού αντιγράφου ή μεταφοράς. 30

Δικαιώματα σε χρήστες 1/2 Παραχώρηση δικαιωμάτων πρόσβασης σε χρήστες GRANT { CONNECT | RESOURCE | DBA } TO όνομα [ IDENTIFIED BY συνθηματικό ] και αφαίρεση δικαιωμάτων πρόσβασης από χρήστες REVOKE { CONNECT | RESOURCE | DBA } FROM όνομα 31

Δικαιώματα σε χρήστες 2/2 Δικαιώματα πρόσβασης χρηστών σε αντικείμενα GRANT { δικαίωμα,... | ALL } ON πίνακας ΤΟ { χρήστης | PUBLIC } [WITH GRANT OPTION ] όπου δικαίωμα είναι ένα από τα ακόλουθα: SELECT, INSERT, UPDATE, DELETE, ALTER, INDEX. REVOKE { δικαίωμα,... | ALL } ON πίνακας FROM { χρήστης | PUBLIC } 32

Η έννοια της Συναλλαγής (transaction) Αν θέλουμε να μεταφέρουμε χρήματα από ένα λογαριασμό σε άλλο χρειαζόμαστε δύο απλές κινήσεις: UPDATE ACCOUNTS SET BALANCE = BALANCE WHERE ACCNO = ; UPDATE ACCOUNTS SET BALANCE = BALANCE WHERE ACCNO = ; Πως θα εξασφαλίσουμε την ασφάλεια της συναλλαγής αν αποτύχει κάποια κίνηση; Θα πρέπει να αναφερθούμε στις εντολές COMMIT, ROLLBACK. Το θέμα των Συναλλαγών θα εξετασθεί διεξοδικά στο πλαίσιο του μαθήματος Βάσεις Δεδομένων ΙΙ. 33

Μηχανισμός ROLLBACK Στο επόμενο διάλογο (session) με το σύστημα μπορούμε να κατανοήσουμε καλύτερα την εντολή (1) SELECT NAME FROM CUSTOMER WHERE CUSTNO=7654; (2) Επιστρέφει E. CODD (3) UPDATE CUSTOMERS SET NAME = ‘P.D. JAMES’ WHERE CUSTNO=7654; (4) SELECT NAME FROM CUSTOMER WHERE CUSTNO=7654; (5) Επιστρέφει P.D. JAMES (6) ROLLBACK; (7) SELECT NAME FROM CUSTOMER WHERE CUSTNO=7654; (8) Επιστρέφει E. CODD 34

Πρωτόκολλο COMMIT / ROLLBACK Στο επόμενο διάλογο (session) με το σύστημα μπορούμε να κατανοήσουμε καλύτερα το πρωτόκολλο (1) SELECT NAME FROM CUSTOMER WHERE CUSTNO=7654; (2) Επιστρέφει E. CODD (3) UPDATE CUSTOMERS SET NAME = ‘P.D. JAMES’ WHERE CUSTNO=7654; (4) COMMIT; (5) SELECT NAME FROM CUSTOMER WHERE CUSTNO=7654; (6) Επιστρέφει P.D. JAMES (7) ROLLBACK; (8) SELECT NAME FROM CUSTOMER WHERE CUSTNO=7654; (9) Επιστρέφει P.D. JAMES 35

Τέλος Ενότητας

Σημειώματα

Σημείωμα Αναφοράς Copyright Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας, Χ. Σκουρλάς Χ. Σκουρλάς. «Βάσεις Δεδομένων II (Θ). Ενότητα 1: «Προσανατολισμού» (orientation) - Εισαγωγή ». Έκδοση: 1.0. Αθήνα Διαθέσιμο από τη δικτυακή διεύθυνση: ocp.teiath.gr.ocp.teiath.gr

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Επεξήγηση όρων χρήσης έργων τρίτων Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. © διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. διαθέσιμο με άδεια CC-BY-ND Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. διαθέσιμο με άδεια CC-BY-NC-ND Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. χωρίς σήμανσηΣυνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει:  το Σημείωμα Αναφοράς  το Σημείωμα Αδειοδότησης  τη δήλωση Διατήρησης Σημειωμάτων  το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.