9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΡΩΤΗΜΑΤΑ ΕΠΙΛΟΓΗΣ ΜΑΘΗΜΑ 6. SELECTSELECT SELECT * FROM όνομα_πίνακα ; • Με τη εντολή SELECT ανασύρουμε δεδομένα από την βάση δεδομένων. • Το αστεράκι.
Advertisements

ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΜΑΘΗΜΑ 5.
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Φυσική Σχεδίαση – Υλοποίηση βάσης ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 2. ΣΧΕΣΙΑΚΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ • Μια σχεσιακή ΒΔ καταγράφει δεδομένα μέσα σε σχέσεις (πίνακες). • Μια πραγματική οντότητα γίνεται.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασφάλεια και Δικαιοδοσία σε Βάσεις Δεδομένων.
Μοντέλο Οντοτήτων-Συσχετισμών
PL/SQL.
Ορισμοί Σχεσιακού Μοντέλου και (απλές)Τροποποιήσεις Σχέσεων στην SQL
Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
Η Γλώσσα Βάσεων Δεδομένων SQL (Μέρος Β)
9 Η Γλώσσα SQL Ορισμός Δεδομένων (data definition)
Βάσεις Δεδομένων Εργαστήριο Ι Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ι Ενότητα 7: H γλώσσα SQL Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Ι Λόγοι που συνέτειναν στη υιοθέτηση των Συστημάτων Διαχείρισης Βάσεων Δεδομένων (Database Management Systems) Περιορίζονται τα πλεονασματικά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 SQL.
ΕΡΩΤΗΜΑΤΑ ΕΠΙΛΟΓΗΣ 2 ΜΑΘΗΜΑ 8. ΑΠΑΛΟΙΦΗ ΔΙΠΛΟΕΓΓΡΑΦΩΝ DISTINCT Μπορούμε να απαλείψουμε τις διπλοεγγραφές που μας επιστρέφονται και που οφείλονται στην.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων  Χειρισμός Δεδομένων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 SQL.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ « Advanced MySQL » Σμυρνάκη Ουρανία, Πανεπιστήμιο Κρήτης Σεμινάριο: 2ο Σχολείο Κώδικα Ημερομηνία: 10/07/2015 Με.
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας
Βάσεις Δεδομένων Ι 4η διάλεξη
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Σχεσιακό Μοντέλο Δεδομένων
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Αρχιτεκτονική Συστημάτων
Η Γλώσσα SQL Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Κωδικός Διαφανειών: MKT119
Βάσεις Δεδομένων Ι Επανάληψη
Βάσεις Δεδομένων Ενότητα 3: Σχεσιακή Άλγεβρα Βασίλης Βουτσινάς
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Αρχιτεκτονική Συστημάτων
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Κωδικός Μαθήματος: MK741
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II) Ιωάννης Τσούλος
Βάσεις Δεδομένων και web-based Εφαρμογές
Αρχιτεκτονική Συστημάτων
Αντικειμενο-σχεσιακά ΣΔΒΔ
Σχεσιακεσ βασεισ δεδομενων
Ερωτήματα Επιλογής σε ACCESS
Γ6.4 Μορφοποίηση Πινάκων και Πρωτεύον Κλειδί
POSTGRESQL Η PostgreSQL είναι ένα αντικείμενο-σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων (object relational database management system - ORDBMS) και.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Ενότητα # 5: Περιορισμοί ακεραιότητας
ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή
SQL Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)

2 Εισαγωγή Η δομημένη γλώσσα ερωτημάτων SQL (Structured Query Language ) χρησιμοποιείται από τους χρήστες του ΣΔΒΔ για τη δημιουργία, τροποποίηση και ενημέρωση δεδομένων και τη διατύπωση ερωτημάτων. Η αρχική έκδοση της γλώσσας ονομάστηκε SEQUEL (Structured English Query Language) και σχεδιάστηκε από ερευνητική ομάδα της IBM. Η εταιρεία Oracle χρησιμοποίησε για πρώτη φορά τη γλώσσα σε εμπορικό ΣΔΒΔ το 1979.

3 Εισαγωγή Πρότυπα: SQL1 (1986) SQL2 ή SQL92 (1992) SQL3 ή SQL:1999 (1999)

4 Εισαγωγή Η γλώσσα SQL χαρακτηρίζεται από σημαντικά πλεονεκτήματα, εκ των οποίων τα βασικότερα είναι: Κάθε σχεσιακό σύστημα υποστηρίζει την SQL, οπότε η διατύπωση των ερωτημάτων είναι ανεξάρτητη από το χρησιμοποιούμενο ΣΔΒΔ. Η γλώσσα χρησιμοποιείται για όλες τις λειτουργίες του ΣΔΒΔ. Πολλές γλώσσες προγραμματισμού έχουν τροποποιηθεί ώστε να υποστηρίζουν διατύπωση ερωτημάτων σε SQL. Η SQL είναι έχει απλή σύνταξη, και αποδεσμεύει το χρήστη από λεπτομέρειες υλοποίησης.

5 Εισαγωγή Η γλώσσα SQL αποτελεί υλοποίηση της σχεσιακής άλγεβρας. Υποδιαιρείται σε 2 ξεχωριστές γλώσσες: Α) τη γλώσσα ορισμού δεδομένων (DDL) Β) τη γλώσσα χειρισμού δεδομένων (DML) H SQL χρησιμοποιεί όρους όπως πίνακας, γραμμή, στήλη, οι οποίοι αντιπροσωπεύουν τις έννοιες σχέση, πλειάδα και χαρακτηριστικό.

6 Η γλώσσα SQL Πλήρης γλώσσα βάσεων δεδομένων –γλώσσα ορισμού δεδομένων –γλώσσα χειρισμού δεδομένων –γλώσσα ορισμού όψεων –δυνατότητα για εμφύτευση σε γλώσσες προγραμματισμού γενικού σκοπού (π.χ. C, Pascal) Δηλωτική γλώσσα υψηλού επιπέδου –ορίζουμε το τι θέλουμε να γίνει όχι το πώς Η επεξεργασία γίνεται σε επίπεδο συνόλου –μηχανισμοί για επεξεργασία σε επίπεδο μεμονωμένων εγγραφών για υποστήριξη διαδικαστικών γλωσσών

7 Γλώσσα Ορισμού Δεδομένων Δημιουργία νέου σχήματος: CREATE SCHEMA νέο-σχήμα AUTHORIZATION όνομα-χρήστη

8 Δημιουργία πινάκων με την SQL Μέσω της εντολής create table ορίζουμε –το όνομα του πίνακα –τα ονόματα και τους τύπους δεδομένων των γνωρισμάτων –αν τα γνωρίσματα μπορούν να δέχονται ή όχι τιμές NULL –εξ ορισμού τιμές για τα γνωρίσματα –πρωτεύοντα κλειδιά και περιορισμούς μοναδικότητας –περιορισμούς τιμών πάνω σε πεδία –περιορισμούς αναφορικής ακεραιότητας

9 Δημιουργία πινάκων με την SQL – Βασική σύνταξη CREATE TABLE student ( amCHAR(13), department_idCHAR(5), surnameVARCHAR(15), nameVARCHAR(15), id_numberCHAR(7), father_nameVARCHAR(15), birth_dateDATE, exams_rankNUMBER(3), degree_gradeNUMBER(4, 2) );

10 Δημιουργία πινάκων με την SQL – Τύποι δεδομένων CHAR(N) – συμβολοσειρά σταθερού μήκους N χαρακτήρων –αν η συμβολοσειρά είναι μικρότερη από N χαρακτήρες συμπληρώνεται με κενά στο τέλος –αν η συμβολοσειρά είναι μεγαλύτερη από Ν χαρακτήρες περικόπτεται ή σφάλμα VARCHAR(N) – συμβολοσειρά μεταβλητού μήκους 0 έως Ν χαρακτήρες NUMBER(N) – ακέραιος έως N ψηφία –κατά περίπτωση υποστηρίζονται τα INTEGER, BINGINT, SMALLINT, TINYINT NUMBER(N, M) – ακέραιος με N συνολικά ψηφία από τα οποία τα M είναι δεκαδικά –κατά περίπτωση υποστηρίζονται float, real DATE – ημερομηνία που περιέχει και ώρα –κατά περίπτωση υποστηρίζονται ξεχωριστοί τύποι DATE, TIME και συνδυαστικός DATETIME ή TIMESTAMP

11 Τύποι Δεδομένων BOOLEAN NUMERIC, DECIMAL, INT FLOAT, DOUBLE DATE, TIME CHAR, VARCHAR … Είναι ο τύπος δεδομένων κατάλληλος για το είδος δεδομένων που πρέπει να αποθηκεύσετε; Πρέπει να χρησιμοποιήσετε έναν καθορισμένου μήκους ή μεταβλητού μήκους τύπο δεδομένων;

12 Δημιουργία πινάκων με την SQL – δυνατότητα χρήσης τιμών NULL CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL, surnameVARCHAR(15) NOT NULL, nameVARCHAR(15) NOT NULL, id_numberCHAR(7) NOT NULL, father_nameVARCHAR(15) NOT NULL, birth_dateDATE NULL, exams_rankNUMBER(3) NOT NULL, degree_gradeNUMBER(4, 2) NULL ); Αν παραλειφθεί ο σχετικός προσδιορισμός, το γνώρισμα δέχεται τιμές NULL

13 Δημιουργία πινάκων με την SQL – Καθορισμός εξ ορισμού τιμών CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL, surnameVARCHAR(15) NOT NULL, nameVARCHAR(15) NOT NULL, id_numberCHAR(7) NOT NULL, father_nameVARCHAR(15) DEFAULT 'ΑΓΝΩΣΤΟ' NOT NULL, birth_dateDATE DEFAULT '01/01/1970' NULL, exams_rankNUMBER(3) NOT NULL, degree_gradeNUMBER(4, 2) NULL ); Η πρόταση DEFAULT παρατίθεται για να δίνονται εξ ορισμού τιμές κατά την εισαγωγή στοιχείων, όταν οι τιμές των γνωρισμάτων δεν ορίζονται ρητώς Αν δεν είναι παρούσα πρόταση DEFAULT σε ένα γνώρισμα και δεν δοθεί τιμή στην εισαγωγή γι’ αυτό, χρησιμοποιείται η τιμή NULL

14 Δημιουργία πινάκων με την SQL – Πρωτεύοντα κλειδιά CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL, surnameVARCHAR(15) NOT NULL, nameVARCHAR(15) NOT NULL, id_numberCHAR(7) NOT NULL PRIMARY KEY, father_nameVARCHAR(15) DEFAULT 'ΑΓΝΩΣΤΟ' NOT NULL, birth_dateDATE DEFAULT '01/01/1970' NULL, exams_rankNUMBER(3) NOT NULL, degree_gradeNUMBER(4, 2) NULL -- PRIMARY KEY(id_number) ); Όταν το πρωτεύον κλειδί είναι ένα γνώρισμα μόνον, μπορεί να ορισθεί είτε γράφοντας PRIMARY KEY δίπλα από το γνώρισμα είτε παραθέτοντας την πρόταση PRIMARY KEY μετά το τέλος των πεδίων

15 Δημιουργία πινάκων με την SQL – Περιορισμοί μοναδικότητας Ένας πίνακας μπορεί να έχει μόνον ένα πρωτεύον κλειδί, αλλά επίσης να έχει περιορισμούς μοναδικότητας πάνω σε άλλα πεδία. Αν το πεδίο είναι ένα, δηλώνεται με τη λέξη UNIQUE δίπλα από το όνομα του CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL, surnameVARCHAR(15) NOT NULL, nameVARCHAR(15) NOT NULL, id_numberCHAR(7) NOT NULL UNIQUE, father_nameVARCHAR(15) DEFAULT 'ΑΓΝΩΣΤΟ' NOT NULL, birth_dateDATE DEFAULT '01/01/1970' NULL, exams_rankNUMBER(3) NOT NULL, degree_gradeNUMBER(4, 2) NULL, PRIMARY KEY(am, department_id) );

16 Δημιουργία πινάκων με την SQL – Περιορισμοί μοναδικότητας Αν τα μοναδικά γνωρίσματα είναι δύο ή περισσότερα, δηλώνονται με ξεχωριστή πρόταση UNIQUE μετά τους ορισμούς των πεδίων CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL, surnameVARCHAR(15) NOT NULL, nameVARCHAR(15) NOT NULL, id_numberCHAR(7) NOT NULL PRIMARY KEY, father_nameVARCHAR(15) DEFAULT 'ΑΓΝΩΣΤΟ' NOT NULL, birth_dateDATE DEFAULT '01/01/1970' NULL, exams_rankNUMBER(3) NOT NULL, degree_gradeNUMBER(4, 2) NULL, UNIQUE (am, department_id) );

17 Περιορισμοί τιμών πάνω σε πεδία CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL, surnameVARCHAR(15) NOT NULL, nameVARCHAR(15) NOT NULL, id_numberCHAR(7) NOT NULL PRIMARY KEY, father_nameVARCHAR(15) DEFAULT 'ΑΓΝΩΣΤΟ' NOT NULL, birth_dateDATE DEFAULT '01/01/1970' NULL, exams_rankNUMBER(3) NOT NULL, degree_gradeNUMBER(4, 2) NULL, UNIQUE (am, department_id), CHECK ((degree_grade >= 5) AND (degree_grade <= 10) OR (degree_grade IS NULL)) );

18 Περιορισμοί αναφορικής ακεραιότητας CREATE TABLE department ( dept_idCHAR(5) NOT NULL PRIMARY KEY, dept_nameVARCHAR(20) NOT NULL ); CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL REFERENCES department(dept_id), surnameVARCHAR(15) NOT NULL, nameVARCHAR(15) NOT NULL, id_numberCHAR(7) NOT NULL PRIMARY KEY, father_nameVARCHAR(15) DEFAULT 'ΑΓΝΩΣΤΟ' NOT NULL, birth_dateDATE DEFAULT '01/01/1970' NULL, exams_rankNUMBER(3) NOT NULL, degree_gradeNUMBER(4, 2) NULL, UNIQUE (am, department_id), CHECK ((degree_grade >= 5) AND (degree_grade <= 10) OR (degree_grade IS NULL)) );

19 Περιορισμοί αναφορικής ακεραιότητας Αν τα ονόματα των στηλών στους δύο πίνακες ταυτίζονται, μπορεί στον πίνακα που ορίζεται το ξένο κλειδί να παραληφθεί το όνομα της στήλης department_id CHAR(5) NOT NULL REFERENCES department Η στήλη προς την οποία αναφερόμαστε πρέπει να είναι μοναδική (UNIQUE) ή πρωτεύον κλειδί στον πίνακα όπου βρίσκεται Μπορούμε να ορίσουμε ότι η διαγραφή στον αναφερόμενο πίνακα, προκαλεί διαγραφή στον πίνακα όπου ορίζεται ο περιορισμός department_id CHAR(5) NOT NULL REFERENCES department ON DELETE CASCADE Αν έχουμε δύο ή περισσότερες στήλες στο ξένο κλειδί πρέπει να χρησιμοποιήσουμε την πρόταση FOREIGN KEY

20 Περιορισμοί αναφορικής ακεραιότητας CREATE TABLE student ( amCHAR(13) NOT NULL, department_idCHAR(5) NOT NULL REFERENCES department(dept_id), id_numberCHAR(7) NOT NULL PRIMARY KEY, … UNIQUE (am, department_id), CHECK ((degree_grade >= 5) AND (degree_grade <= 10) OR (degree_grade IS NULL)) ); create table grade( amCHAR(13) NOT NULL, dept_idCHAR(5) NOT NULL, teaching_idCHAR(7) NOT NULL, exam_periodCHAR(1) CHECK (exam_period in (1, 2, 3)), gradeINTEGER NOT NULL, PRIMARY KEY(am, dept_id, teaching_id, exam_period), FOREIGN KEY(am, dept_id) REFERENCES student(am, department_id));

21 Καταστροφή πινάκων Μέσω της εντολής DROP TABLE drop table grade; Ο πίνακας δεν μπορεί να καταστραφεί αν υπάρχουν περιορισμοί ακεραιότητας που τον αναφέρουν drop table student cascade constraints;

22 Μεταβολή δομής πινάκων Τροποποιείται η δομή του πίνακα με έναν από τους κάτωθι τρόπους –προσθήκη μιας στήλης ALTER TABLE student ADD (hmeromhnia_orkomosias DATE); –αλλαγή του τύπου, δυνατότητας χρήσης τιμών NULL ή εξ ορισμού τιμής μιας στήλης ALTER TABLE student MODIFY (am integer not null); –προσθήκη ή κατάργηση περιορισμών ακεραιότητας ALTER TABLE student ADD CONSTRAINT am_not_zero CHECK (am <> 0); ALTER TABLE student DROP CONSTRAINT am_not_zero;

23 Γλώσσα Ορισμού Δεδομένων Δημιουργία νέου πίνακα: CREATE TABLE νέος-πίνακας (στήλη1 τύπος-δεδομένων, στήλη2 τύπος-δεδομένων,... στήληN τύπος-δεδομένων,,...

24 Γλώσσα Ορισμού Δεδομένων Δημιουργία νέου πίνακα: CREATE TABLE Γνωστική_Περιοχή (κωδικός INTEGER NOT NULL, τίτλος CHAR(50) NOT NULL, αριθμός_συνδρομητών INTEGER DEFAULT 0, PRIMARY KEY (κωδικός), UNIQUE (τίτλος), CHECK (αριθμός_συνδρομητών >= 0))

25 Γλώσσα Ορισμού Δεδομένων Δημιουργία νέου πίνακα: CREATE TABLE Πρακτικά_Συνεδρίου (κωδικός INTEGER NOT NULL, συνέδριο VARCHAR(100) NOT NULL, ημερομηνία DATE NOT NULL, χώρα CHAR(20), κωδικός_εκδοτικού_οίκου INTEGER NOT NULL, PRIMARY KEY (κωδικός), FOREIGN KEY (κωδικός_εκδοτικού_οίκου) REFERENCES Εκδοτικός_Οίκος (κωδικός) ON DELETE CASCADE ON UPDATE CASCADE )

26 Γλώσσα Ορισμού Δεδομένων Αλλαγή δομής πίνακα: ALTER TABLE Χρησιμοποιείται για: προσθήκη νέας στήλης στον πίνακα, διαγραφή υπάρχουσας στήλης, εισαγωγή νέου περιορισμού (constraint), κατάργηση περιορισμού, αλλαγή της αρχικής τιμής στήλης (default), κατάργηση αρχικής τιμής στήλης.

27 Γλώσσα Ορισμού Δεδομένων Αλλαγή δομής πίνακα: Κατασκευή νέας στήλης ALTER TABLE Συνδρομητής ADD COLUMN ημερ/νία-γέννησης DATE NOT NULL Για την κατάργηση της στήλης ημερ/νία-γέννησης έχουμε: ALTER TABLE Συνδρομητής DROP COLUMN ημερ/νία-γέννησης

28 Γλώσσα Χειρισμού Δεδομένων Εντολές: SELECT, για διατύπωση ερωτημάτων, INSERT, για εισαγωγή νέων δεδομένων, UPDATE, για ενημέρωση δεδομένων, και DELETE, για διαγραφή δεδομένων από τη ΒΔ,

29 Γλώσσα Χειρισμού Δεδομένων SELECT: SELECT [DISTINCT] FROM [WHERE συνθήκη] [GROUP BY ] [HAVING συνθήκη] [ORDER BY [ASCENDING | DESCENDING]]

30 Γλώσσα Χειρισμού Δεδομένων Παραδείγματα SELECT ``Να επιστραφούν όλες οι γραμμές του πίνακα Γνωστική_Περιοχή.'' SELECT * FROM Γνωστική_Περιοχή ή SELECT κωδικός, τίτλος, αριθμός_συνδρομητών FROM Γνωστική_Περιοχή

31 Γλώσσα Χειρισμού Δεδομένων Παραδείγματα SELECT ``Να βρεθούν οι κωδικοί, τα ονόματα και οι αριθμοί πιστωτικών καρτών των συνδρομητών που βρίσκονται στην Ελλάδα, και τα αποτελέσματα να ταξινομηθούν αλφαβητικά ως προς το όνομα, και στη συνέχεια ως προς τον αριθμό πιστωτικής κάρτας.'' SELECT κωδικός, όνομα, ΑΠΚ FROM Συνδρομητής WHERE χώρα = `Ελλάδα' ORDER BY όνομα, ΑΠΚ

32 Γλώσσα Χειρισμού Δεδομένων Παραδείγματα SELECT ``Να βρεθούν οι κωδικοί και τα ονόματα των συνδρομητών και οι τίτλοι των γνωστικών περιοχών για τις οποίες έχουν πληρώσει συνδρομή.'' SELECT Συνδρομητής.κωδικός, Συνδρομητής.όνομα, Γνωστική_Περιοχή.τίτλος FROM Συνδρομητής, Γνωστική_Περιοχή, Συνδρομή WHERE Συνδρομητής.κωδικός = Συνδρομή.κωδικός_συνδρομητή AND Συνδρομή.κωδικός_γνωστικής_περιοχής = Γνωστική_Περιοχή.κωδικός