Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας."— Μεταγράφημα παρουσίασης:

1 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας

2 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα  Περιεχόμενα  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα Περιεχόμενα

3 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Βιβλιογραφία  [Ramakrishnan 2002a]: Chapter 3  [Ullman 2007]: Chapter 5  [Seyed 2007]: Chapter 5  [Forta 2005]: Chapters 2-3  [Oppel 2004]: Chapter 4  [Petersen 2002]: Chapter 8  [Taylor 2000]: Chapter 12  Αθ. Μάργαρης, Πανεπιστήμιο Μακεδονίας: SQL Βιβλιογραφία Ενότητας  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

4 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Αναπτύχθηκε από την IBM (system R) στις αρχές της δεκαετίας 1970s  Υπήρχε ανάγκη προτυποποίησης διότι χρησιμοποιούταν από πολλούς προμηθευτές συστημάτων DBMS  Πρότυπα:  SQL-86  SQL-89 (μικρή αναθεώρηση)  SQL-92 (μεγάλη αναθεώρηση, υφιστάμενο πρότυπο)  SQL-99 (σημαντικές προσθήκες, χρησιμοποιείται από ορισμένους προμηθευτές αλλά δεν έχει προτυποποιηθεί ακόμη)  Στο παράδειγμα του προηγούμενου πίνακα Students για να βρούμε και να εμφανίσουμε όλα τα στοιχεία για τους φοιτητές ηλικίας 18 χρονών θα μπορούσαμε να χρησιμοποιήσουμε τις εντολές: SELECT * FROM Students S WHERE S.age=18  Για να βρούμε μόνο τα ονόματα και τα logins θα χρησιμοποιούσαμε: SELECT S.name, S.login FROM Students S WHERE S.age=18 Η γλώσσα SQL  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

5 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Η SQL παρέχει εντολές εξειδικευμένες για:  Ορισμό των δεδομένων της βάσης (πινάκων και όψεων). Παράδειγμα τέτοιων εντολών είναι οι CREATE, ALTER, DROP  Διαχείριση των δεδομένων της βάσης (εισαγωγή, ενημέρωση ή διαγραφή εγγραφών). Παράδειγμα τέτοιων εντολών είναι οι INSERT, UPDATE, DELETE  Έλεγχο της πρόσβασης στη βάση (διαχείριση των δικαιωμάτων των χρηστών της βάσης). Παράδειγμα τέτοιων εντολών είναι οι GRANT, REVOKE  Διατύπωση ερωτημάτων στη βάση (εύρεση δεδομένων, δημιουργία αναφορών). Παράδειγμα τέτοιων εντολών είναι η SELECT και οι παραλλαγές της.  Επιπλέον των ανωτέρω υπάρχει πληθώρα βοηθητικών εντολών που χρησιμεύουν για απομακρυσμένη σύνδεση στη βάση, δημιουργία εναυσμάτων, ορισμό περιορισμών, κ.ο.κ Κατηγορίες εντολών στην SQL  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

6 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εντολές ορισμού δεδομένων της βάσης  Οι εντολές ορισμού δεδομένων (Data Definition Statements) χρησιμοποιούνται για τον ορισμό των αντικειμένων της βάσης (πίνακες, όψεις) αλλά όχι για την εισαγωγή δεδομένων σε αυτά.  Στην ουσία ορίζουν το σχήμα ενός πίνακα ή μιας όψης  Υπάρχουν τρεις βασικές εντολές ορισμού δεδομένων  CREATE. Δημιουργεί ένα αντικείμενο συγκεκριμένου τύπου (TABLE, VIEW) όπως ορίζεται στο όρισμα της εντολής  DROP. Καταστρέφει ένα αντικείμενο συγκεκριμένου τύπου όπως ορίζεται στο όρισμα της εντολής  ALTER. Τροποποιεί ένα αντικείμενο συγκεκριμένου τύπου όπως ορίζεται στο όρισμα της εντολής  Πολλοί από τους περιορισμούς που ισχύουν σε μια βάση ορίζονται κατά τον ορισμό των αντικειμένων της βάσης  Περιορισμοί πεδίου (τύπου δεδομένων)  Πρωτεύοντος και ξένου κλειδιού  Υποχρεωτικής τιμής και μοναδικότητας  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

7 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Στο πιο κάτω παράδειγμα δίνονται οι εντολές για τη δημιουργία του πίνακα Students. Η σχετική εντολή είναι η CREATE TABLE. Παρατηρήστε ότι ο τύπος δεδομένων κάθε στήλης ορίζεται σαφώς.  Κάθε φορά που εισάγονται καινούργια δεδομένα στον πίνακα το σύστημα DBMS ελέγχεται η συμβατότητα των δεδομένων με τους ορισθέντες τύπους. CREATE TABLE Students (sid CHAR(20), name CHAR(20), login CHAR(10), age INTEGER, gpa REAL)  Στη MySQL υπάρχουν κάποιες μικροδιαφορές ως προς τους τύπους δεδομένων που υποστηρίζονται: CREATE TABLE Students (sid VARCHAR(20), name VARCHAR(20), login VARCHAR(10), age TINYINT(2), gpa REAL(3,2))  Όψη είναι ένας πίνακας στον οποίο αποθηκεύουμε έναν ορισμό (σε SQL) αντί για εγγραφές: CREATE VIEW YoungActiveStudents (name, grade) AS SELECT S.name, E.grade FROM Students S, Enrolled E WHERE S.sid = E.sid and S.age<21 Δημιουργία πινάκων και όψεων  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

8 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Για τη διαγραφή ενός πίνακα (τόσο του στιγμιότυπου όσο και του σχήματος) χρησιμοποιείται η εντολή DROP TABLE. DROP TABLE Students  Μπορούμε να διαγράψουμε Όψεις χρησιμοποιώντας την SQL εντολή DROP VIEW.  Τι γίνεται όταν διαγράψουμε ένα πίνακα με την εντολή DROP TABLE και ο πίνακας αυτός χρησιμοποιείται στον ορισμό μιας όψης;  Η εντολή DROP TABLE έχει επιλογές που επιτρέπουν στο χρήστη να χειριστεί αυτό το θέμα.  Η τροποποίηση του σχήματος ενός πίνακα επιτυγχάνεται με την εντολή ALTER TABLE.  ALTER TABLE Students ADD COLUMN firstYear: integer  Η τροποποίηση μπορεί να αφορά:  Προσθήκη ή διαγραφή στήλης (πεδίου) από κάποιο πίνακα  Προσθήκη, τροποποίηση ή διαγραφή περιορισμών  Τροποποίηση τύπου δεδομένων ενός πεδίου Τροποποίηση και διαγραφή πινάκων και όψεων  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

9 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Προσθήκη στήλης (πεδίου dept_id): ALTER TABLE Professors ADD COLUMN dept_id VARCHAR(10) NOT NULL;  Διαγραφή στήλης (πεδίου dept_id): ALTER TABLE Professors DROP dept_id;  Τροποποίηση ενός πεδίου (birthdate): ALTER TABLE Professors CHANGE birthdate birthdate date NOT NULL; Τροποποίηση πινάκων  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

10 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Δημιουργία περιορισμών  Περιορισμοί πεδίου (στο παράδειγμα το πεδίο rank): ALTER TABLE Professors CHANGE rank rank SET( 'Lecturer', 'Assistant Professor', 'Associate Professor', 'Professor' ) NOT NULL DEFAULT 'Lecturer’;  Πρωτεύον κλειδί: CREATE TABLE Professors (prof_ssn varchar(10), first_name varchar(20), last_name varchar(25), birthdate date, rank smallint(2), PRIMARY KEY (prof_ssn)); ή προσθήκη σε υφιστάμενο πίνακα: ALTER TABLE Students ADD PRIMARY KEY (sid); (η διαγραφή του πρωτεύοντος κλειδιού γίνεται με την εντολή: ALTER TABLE Students DROP PRIMARY KEY);  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

11 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Δημιουργία περιορισμών (2)  Ακεραιότητα αναφοράς (δημιουργία ξένου κλειδιού): CREATE TABLE Students (sid VARCHAR(6) NOT NULL, sname VARCHAR(50), login VARCHAR(20) NOT NULL, birthdate date NOT NULL, gpa REAL(3,2), dept_id VARCHAR(6) NOT NULL, FOREIGN KEY (dept_id) REFERENCES Departments); ή προσθήκη σε υφιστάμενο πίνακα: ALTER TABLE Students ADD FOREIGN KEY (dept_id) REFERENCES Departments; (η διαγραφή ξένου κλειδιού γίνεται με την εντολή: ALTER TABLE Students DROP FOREIGN KEY dept_id);  Στην SQL υποστηρίζονται 4 επιλογές ακεραιότητας αναφοράς σε περίπτωση διαγραφής / ενημέρωσης:  Default is NO ACTION (η διαγραφή / ενημέρωση απορρίπτεται)  CASCADE (διαγραφή /ενημέρωση όλων των εγγραφών οι οποίες κάνουν αναφορά στην εγγραφή που έχει διαγραφεί / ενημερωθεί)  SET NULL / SET DEFAULT (η τιμή του ξένου κλειδιού τίθεται σε κάποια τιμή αναφοράς, εκ των προτέρων καθορισμένη)  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

12 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Δημιουργία περιορισμών (3)  Ακεραιότητα αναφοράς: Παράδειγμα διαγραφής / ενμέρωσης CREATE TABLE Enrolled (sid CHAR(20), cid CHAR(20), grade CHAR(2), PRIMARY KEY (sid,cid), FOREIGN KEY (sid), REFERENCES Students ON DELETE CASCADE ON UPDATE SET DEFAULT )  Μοναδικότητα πεδίου (UNIQUE): ALTER TABLE Students ADD UNIQUE (login); (η διαγραφή υποψήφιου κλειδιού γίνεται με την τροποποίηση του σχετικού πεδίου ALTER TABLE Students CHANGE login login VARCHAR(20) NOT NULL; ή με διαγραφή του περιορισμού ALTER TABLE Students DROP INDEX login;)  Έλεγχος τιμών πεδίου: ALTER TABLE Students ADD CONSTRAINT GPA_max CHECK (GPA<4); Η διαγραφή ενός περιορισμού μπορεί να γίνει με: ALTER TABLE Students DROP CONSTRAINT GPA_max;  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

13 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εντολές διαχείρισης δεδομένων  Οι εντολές διαχείρισης δεδομένων (Data Manipulation Statements) χρησιμοποιούνται για την εισαγωγή, ενημέρωση και διαγραφή δεδομένων (εγγραφών) στους πίνακες της βάσης.  Στην ουσία δημιουργούν το εκάστοτε στιγμιότυπο της βάσης  Υπάρχουν τρεις βασικές εντολές διαχείρισης δεδομένων  INSERT. Εισαγωγή μιας νέας εγγραφής σε ένα πίνακα  UPDATE. Ενημέρωση / τροποποίηση εγγραφών σε ένα πίνακα  DELETE. Διαγραφή εγγραφών από ένα πίνακα  Επιπλέον των πιο πάνω εντολών υπάρχουν και οι εντολές:  COMMIT. Επιβεβαιώνει ένα σύνολο ενεργειών (transaction) που έχουν γίνει στη βάση. Για παράδειγμα μια ομαδική εισαγωγή εγγραφών μπορεί να αποτελεί ένα transaction. Τα δεδομένα δεν καταχωρούνται οριστικά στη βάση εφόσον δεν δοθεί μια εντολή COMMIT.  Η εντολή COMMIT εκτελείται αυτόματα κάθε φορά που εκτελείται μια εντολή ορισμού δεδομένων.  ROLLBACK. Ακυρώνει όλες τις ενέργειες που περιλαμβάνονται στο τελευταίο transaction.  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

14 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Η εισαγωγή εγγραφών σε ένα πίνακα πραγματοποιείται με την εντολή INSERT INTO.  Η εντολή μπορεί να εκτελεστεί με δύο τρόπους  Ορίζονται τα επακριβώς πεδία στα οποία θα εισαχθούν οι τιμές: INSERT INTO Students (name, sid, login, age, gpa) VALUES (‘Smith’, 53688, ‘smith@eec.org’, 18, 3.2)  Οι τιμές εισάγονται με τη σειρά των στηλών του πίνακα (σε αυτή την περίπτωση πρέπει να δηλώνονται ρητά οι τιμές για όλα τα πεδία, συμπεριλαμβανομένων και των πεδίων που μπορούν να πάρουν τιμή NULL: INSERT INTO Students VALUES (53688, ‘Smith’, NULL, 18, 3.2)  Εισαγωγή εγγραφών μπορεί να γίνει ομαδικά ως αποτέλεσμα κάποιου υποερωτήματος: INSERT INTO Students (sid, name, login, age, gpa, dept_id) SELECT grad_ssn, sname, student_id, age, grade, dept_id FROM Graduates WHERE dept_id = ‘CIS’; Προσθήκη εγγραφών  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

15 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Η ενημέρωση εγγραφών σε ένα πίνακα πραγματοποιείται με την εντολή UPDATE.  Η ενημέρωση αφορά το αποτέλεσμα μιας συνθήκης WHERE ώστε να μην επηρεάζονται όλες οι εγγραφές του πίνακα: UPDATE Students SET dept_id = ‘IMM’ WHERE dept_id = ‘CIS’  Προσοχή:  Αν στην εντολή UPDATE δεν υπάρχει μια συνθήκη WHERE τότε θα γίνει προσπάθεια να ενημερωθούν όλες οι εγγραφές του συγκεκριμένου πίνακα.  Στην περίπτωση αυτή μπορούμε να αναστρέψουμε τα αποτελέσματα εκτελώντας μια εντολή ROLLBACK Ενημέρωση εγγραφών  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

16 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Η διαγραφή εγγραφών πραγματοποιείται με την εντολή DELETE. Όπως και στην περίπτωση της ενημέρωσης η εντολή DELETE πρέπει να συνδυάζεται με μια συνθήκη WHERE ώστε να καθορίζεται σαφώς ποιες εγγραφές επηρεάζονται από την εφαρμογή της.  Στο πιο κάτω παράδειγμα έχουμε διαγραφή όλων των εγγραφών που ικανοποιούν συγκεκριμένη συνθήκη (name = Smith): DELETE FROM Students S WHERE S.name = ‘Smith’ Διαγραφή εγγραφών  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

17 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εντολές ελέγχου  Οι εντολές ελέγχου πρόσβασης στα δεδομένα (Data Control Statements) χρησιμοποιούνται για την απόδοση ή ανάκληση δικαιωμάτων στη βάση και στα αντικείμενα της.  Οι τρεις πιο διαδεδομένες εντολές αυτής της μορφής είναι οι:  CREATE USER. Δημιουργεί ένα νέο χρήστη για το σύστημα DBMS  GRANT. Αποδίδει συγκεκριμένα δικαιώματα σε ένα χρήστη για μια συγκεκριμένη βάση  REVOKE. Διαγραφή εγγραφών από ένα πίνακα  Δικαίωμα (privilege) είναι η εξουσιοδότηση να πραγματοποιούνται συγκεκριμένες ενέργειες σε μια βάση. Υπάρχουν δύο ειδών δικαιώματα σε ένα σύστημα DBMS:  Δικαιώματα συστήματος. Επιτρέπουν στον εξουσιοδοτούμενο να εκτελεί ενέργειες σχετικές με το DBMS, π.χ. σύνδεση στο σύστημα, δημιουργία νέων χρηστών κλπ.  Δικαιώματα αντικειμένων. Επιτρέπουν στον εξουσιοδοτούμενο να εκτελεί ενέργειες επι των αντικειμένων της βάσης (δημιουργία πίνακα, εισαγωγή εγγραφών κλπ).  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

18 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Για τη δημιουργία χρήστη για το σύστημα χρησιμοποιείται η εντολή CREATE USER. CREATE USER 'cis330instructor'@'%' IDENTIFIED BY '***';  Η απόδοση δικαιωμάτων (συστήματος) γίνεται με μια εντολή GRANT: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, SHUTDOWN, INDEX, ALTER, SHOW DATABASES, CREATE VIEW, EVENT, SHOW VIEW, EXECUTE ON *. * TO 'cis330instructor'@'%' IDENTIFIED BY '***' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; Δημιουργία χρήστη και απόδοση δικαιωμάτων  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

19 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Η απόδοση δικαιωμάτων (αντικειμένου) επί μιας συγκεκριμένης βάσης δεδομένων γίνεται και πάλι με μια εντολή GRANT: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE VIEW, EVENT, SHOW VIEW ON `cis330`. * TO 'cis330instructor'@'%' WITH GRANT OPTION ; Απόδοση δικαιωμάτων  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

20 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis  Η ανάκληση δικαιωμάτων γίνεται με μια εντολή REVOKE: REVOKE DROP, UPDATE ON cis330.* TO 'cis330instructor'@'%';  Η ανάκληση δικαιωμάτων μπορεί να γίνει για:  όλα τα αντικείμενα του DBMS: REVOKE DROP, UPDATE ON *.* TO 'cis330instructor'@'%';  μια συγκεκριμένη βάση: REVOKE DROP ON cis330.* TO 'cis330instructor'@'%';  Ένα συγκεκριμένο αντικείμενο μιας βάσης: REVOKE DROP ON cis330.Students TO 'cis330instructor'@'%'; Ανάκληση δικαιωμάτων  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα

21 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Σύνοψη  Η γλώσσα SQL υπήρξε καθοριστικός παράγοντας για την ευρεία αποδοχή του σχεσιακού μοντέλου των βάσεων δεδομένων.  Είναι σαφώς ποιο φυσική και κατανοητή από τις κλασσικές γλώσσες προγραμματισμού οι οποίες περιγράφουν πως θα βρεθεί η λύση σε ένα πρόβλημα (procedural languages) σε αντίθεση με την SQL η οποίο περιγράφει ποιο είναι το επιθυμητό αποτέλεσμα  Επειδή στην SQL υπάρχουν πολλοί τρόποι να γράψει κάποιος ένα ερώτημα.  Ο χρήστης πρέπει να είναι γνώστης του τόπου με τον οποίο εκτελούνται τα ερωτήματα ώστε να μπορεί να διατυπώνει τα ερωτήματα με τέτοιο τρόπο ώστε να επιτυγχάνονται τα καλύτερα αποτελέσματα (όσον αφορά το χρόνο εκτέλεσης και τον τρόπο που παρουσιάζονται τα αποτελέσματα)  Η ύπαρξη τιμών NULL περιπλέκει τον τρόπο εκτέλεσης ερωτημάτων και είναι η αφορμή για την ύπαρξη πολλών τρόπων σύζευξης πινάκων  Εσωτερική σύζευξη, αριστερή εξωτερική σύζευξη, δεξιά εσωτερική σύζευξη κλπ.  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Σύνοψη / Παραδείγματα

22 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Σύνοψη (2)  Με την SQL μπορούμε να καθορίσουμε πολλαπλούς περιορισμούς:  Πεδίου (τύπου δεδομένων)  Πρωτεύοντος κλειδιού  Αναφοράς  Επιτρεπτών τιμών σε πεδία  Τα εναύσματα (triggers), δηλαδή διαδικασίες οι οποίες λαμβάνουν χώρα αυτόματα όταν υπάρξει κάποια αλλαγή στη βάση, αποτελούνται από τρία μέρη:  Γεγονός (ενεργοποίηση του εναύσματος)  Συνθήκη (συνθήκη εκτέλεσης εναύσματος)  Δράση (τι γίνεται όταν εκτελείται το έναυσμα)  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Σύνοψη / Παραδείγματα

23 ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Παραδείγματα  Να λύσετε τις ασκήσεις: 1.5.1 2.5.3 3.5.5 από το βιβλίο σας [Ramakrishnan 2002a]  Εισαγωγή στην SQL  Εντολές Ορισμού  Εντολές Διαχείρισης  Εντολές Ελέγχου  Εντολές Ερωτημάτων  Παραδείγματα


Κατέβασμα ppt "ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google