Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Σχετικά έγγραφα
Εργαστήριο Βάσεων Δεδομένων

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

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

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

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3

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

Ηλεκτρονικοί Υπολογιστές II

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

Κεφάλαιο 3 Δημιουργία Πινάκων Data Definition Language (DDL)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

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

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

Φυσική Σχεδίαση Υλοποίηση βάσης

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

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

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

databases linux - terminal (linux / windows terminal)

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

Το σχεσιακό μοντέλο βάσεων δεδομένων

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Σχεσιακό Πρότυπο Δεδομένων

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΕΠΛ 342 Βάσεις εδοµένων

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

Ηλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 2. Διαφάνεια 1. Κάπαρης Αναστάσιος

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Κεφάλαιο 2. Δημιουργία Βάσης Δεδομένων και Πινάκων

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

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση της MySQL. Γιώργος Πυρουνάκης -

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

Τμήμα Διοίκησης Επιχειρήσεων

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

. Εργαστήριο Βάσεων Δεδομένων. Stored Procedures

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Ανοικτά Ακαδημαϊκά Μαθήματα

DELETE, UPDATE, INSERT.

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

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

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

DELETE, UPDATE, INSERT

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. ΘΕΜΑ: Ηλεκτρονική Διαχείριση Αποθήκης Εργοστασίου

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

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

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Οδηγίες Χρήσης της MySQL

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Κεφ 4: Προχωρημένες Εντολές SQL

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

Οδηγίες Χρήσης της MySQL

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

Transcript:

Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (1)

SQL Η SQL (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομένων. Είναι δομημένη σε βάσεις που περιέχουν πίνακες. Οι πίνακες αποτελούνται από γραμμές (πλειάδες) και στήλες (γνωρίσματα).

Διαχείριση Βάσεων Δημιουργία βάσης: CREATE DATABASE [IF NOT EXISTS] dbname; Επιλογή Βάσης για χρήση: USE dbname; Διαγραφή βάσης: DROP DATABASE [IF EXISTS] dbname; Περιγραφή βάσης: SHOW TABLES;

Διαχείριση βάσεων - Παραδείγματα mysql> CREATE DATABASE IF NOT EXISTS dblab; Query OK, 1 row affected (0.00 sec) mysql> USE dblab; Database changed mysql> SHOW TABLES; Empty set (0.00 sec) mysql> DROP DATABASE IF EXISTS dblab; Query OK, 1 row affected (0.01 sec)

Πίνακες Κάθε πίνακας αποτελείται από πεδία, τα οποία αντιπροσωπεύουν τα γνωρίσματα. Για κάθε πεδίο πρέπει να οριστεί ο τύπος τους. Θα πρέπει πάντα να χρησιμοποιείται ο τύπος δεδομένων που χρειάζεται για να αποθηκευτούν οι τιμές που μπορεί να πάρει το γνώρισμα. Επίσης πρέπει να ορίζεται και το μέγεθος του πεδίου, σύμφωνα με τις ανάγκες.

Τύποι Δεδομένων-Αριθμητικοί INT:ακέραιος μέγιστου μήκους 11 ψηφίων ΤΙΝΥΙΝΤ: ακέραιος μέγιστου μήκους 4 ψηφίων SMALLINT: ακέραιος μέγιστου μήκους 5 ψηφίων MEDIUMINT: ακέραιος μέγιστου μήκους 9 ψηφίων BIGINT: ακέραιος μέγιστου μήκους 20 ψηφίων FLOAT(M,D): κινητής υποδιαστολής M ψηφίων και D δεκαδικών (μέχρι 24), είναι πάντα προσημασμένος DOUBLE(M,D): διπλής ακρίβειας, M ψηφίων και D δεκαδικών (μέχρι 53), είναι πάντα προσημασμένος

Τύποι Δεδομένων Ημερομηνίες & Ώρες DATE: Τιμή ημερομηνίας με μορφή: ΕΕΕΕ-ΜΜ-ΗΗ DATETIME:Ημερομηνία και ώρα με μορφή: ΕΕΕΕ-ΜΜ-ΗΗ ΩΩ:ΛΛ:ΔΔ TIME: Ώρα με μορφή: ΩΩ:ΛΛ:ΔΔ YEAR(M): Αποθηκεύει έτος σε διψήφια ή τετραψήφια μορφή. Στη διψήφια μορφή περιλαμβάνονται τα έτη από 1970-2069. Στην τετραψήφια από 1901-2155. TIMESTAMP: Χρονική ένδειξη με μορφές: 14(ΕΕΕΕΜΜΗΗΩΩΛΛΔΔ) 12(ΕΕΜΜΗΗΩΩΛΛΔΔ) 8(ΕΕΕΕΜΜΗΗ) 6(ΕΕΜΜΗΗ)

Τύποι Δεδομένων - Αλφαριθμητικά CHAR(M): Αλφαριθμητικό σταθερού μεγέθους μεταξύ 1-255 χαρακτήρες. Αν η τιμή δεν φτάνει το μέγεθος συμπληρώνεται με κενά ως το προσδιοριζόμενο μήκος. VARCHAR(M): Αλφαριθμητικό μεταβλητού μεγέθους, από 1-255 χαρακτήρες. TEXT: Πεδίο κειμένου με μέγιστο μήκος 65535 TINYTEXT: Πεδίο κειμένου με μέγιστο μήκος 255 MEDIUMTEXT: Πεδίο κειμένου με μέγιστο μήκος 16777215 LONGTEXT: Πεδίο κειμένου με μέγιστο μήκος 4294967295

Τύποι Δεδομένων - Αλφαριθμητικά ENUM: Απαρίθμηση, δηλαδή μία λίστα. Όταν ορίζεται ένας τύπος ENUM δημιουργείται μία λίστα στοιχείων από τα οποία μπορεί να επιλεχθεί μία τιμή ( ή μπορεί να είναι και NULL). Π.χ. αν θέλουμε το πεδίο να περιέχει τιμές A,B ή C τότε ορίζουμε τον τύπο του ως: ENUM( A, B, C ). SET: Παρόμοιος με τον ENUM αλλά η τιμή ενός γνωρίσματος μπορεί να είναι ένα σύνολο με περισσότερες από μία τιμές του πεδίου ορισμού. Π.χ. για SET( A, B, C ) κάποιο πεδίο μπορεί να πάρει την τιμή Α,Β ή την τιμή A,B,C

Δημιουργία πίνακα Η δημιουργία ενός πίνακα γίνεται με την εντολή CREATE TABLE. H CREATE TABLE συντάσσεται ως εξής: CREATE TABLE [IF NOT EXISTS] όνομα_πίνακα( όνομα_στήλης τύπος_στήλης [options], όνομα_στήλης2 τύπος_στήλης2 [options2], κλπ.. PRIMARY KEY (όνομα_στήλης_κλειδιού1,...) UNIQUE (index_col_name,...) [CONSTRAINT symbol] FOREIGN KEY (index_col_name,...) REFERENCES tbl_name [(index_col_name,...)] [ON DELETE reference_option] [ON UPDATE reference_option]

Δημιουργία πίνακα options = [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] NOT NUL: δεν επιτρέπεται η τιμή NULL NULL: επιτρέπεται η τιμή NULL DEFAULT: ορισμόςπροκαθορισμένηςτιμής πουτίθεται αυτόματα όταν δεν δίνεται ρητά τιμή στο γνώρισμα AUTO_INCREMENT: αυτόματη αύξηση της τιμής κατά 1

Δημιουργία πίνακα reference option = RESTRICT CASCADE SET NULL NO ACTION SET DEFAULT RESTRICT: απορρίπτει τη διαγραφή ή την ανανέωση από τον πίνακα πατέρα CASCADE: διαγραφή ή ανανέωση στον πίνακα πατέρα αυτόματα διαγράφει ή ανανεώνει και τις αντίστοιχες πλειάδες στον πίνακα παιδί SET NULL: διαγραφή ή ανανέωση στον πίνακα πατέρα θέτει το πεδίο του εξωτερικού κλειδιού του πίνακα παιδιού NULL NO ACTION: διαγραφή ή ανανέωση της τιμής του πρωτεύοντος κλειδιού απορρίπτεται εάν υπάρχει ξένο κλειδί που «δείχνει» στον πίνακα μας

Δημιουργία πίνακα-στήλες Έστω ότι ορίζουμε ένα γνώρισμα που περιέχει τον κωδικό ενός προϊόντος. Είναι ακέραιος αριθμός 9 ψηφίων. Θέλουμε να μην είναι ποτέ null και να αυξάνεται αυτόματα η τιμή του με την προσθήκη κάθε νέου προϊόντος. Η αντίστοιχη γραμμή στην δήλωση της CREATE TABLE θα είναι: product_id INT(9) NOT NULL AUTO_INCREMENT Έστω ότι θέλουμε κι άλλο ένα γνώρισμα το οποίο είναι ο αριθμός ταυτότητας του αγοραστή. Είναι αλφαριθμητικό, μήκους 7 χαρακτήρων. buyer_id VARCHAR(7) Έστω ότι υπάρχει κι άλλο όρισμα, το όνομα προϊόντος, αλφαριθμητικό 20 χαρακτήρων που δεν είναι ποτέ NULL. Έχει προεπιλεγμένη τιμή unknown. product_name VARCHAR(20) DEFAULT 'unknown' NOT NULL

Δημιουργία πίνακα-keys Έστω ότι θέλουμε να ορίσουμε ότι το όρισμα product_id είναι πρωτεύον κλειδί στον πίνακα. Προσθέτουμε την γραμμή: PRIMARY KEY(product_id) Έστω ότι ξέρουμε ότι το όνομα προϊόντος είναι μοναδικό και μπορεί να χρησιμοποιηθεί σαν εναλλακτικό κλειδί. Το δηλώνουμε ως εξής: UNIQUE (product_name)

Δημιουργία πίνακα-foreign keys Έστω ότι το buyer_id είναι ένα ξένο κλειδί που «δείχνει» στο όρισμα ar_tayt του πίνακα πελάτης. Βάζουμε ένα περιορισμό με όνομα PRDCTBR και δηλώνουμε τον περιορισμό αναφορικής ακεραιότητας: CONSTRAINT PRDCTBR FOREIGN KEY(buyer_id) REFERENCES pelatis(ar_tayt) ON DELETE SET NULL ON UPDATE CASCADE Η πράξη ON DELETE SET NULL σημαίνει ότι στην περίπτωση που διαγραφεί η αντίστοιχη εγγραφή του πελάτη, το πεδίο τίθεται NULL. Η πράξη ON UPDATE CASCADE σημαίνει ότι αν αλλάξει ο αριθμός ταυτότητας του πελάτη, ενημερώνεται αυτόματα το πεδίο buyer_id.

Δημιουργία πίνακα - Παράδειγμα Συνολικά η πρόταση CREATE TABLE είναι: mysql> create table product( -> product_id INT(9) NOT NULL AUTO_INCREMENT, -> buyer_id VARCHAR(7), -> product_name VARCHAR(20) DEFAULT 'unknown' NOT NULL, -> PRIMARY KEY(product_id), -> UNIQUE name_index(product_name), -> CONSTRAINT PRDCTBR -> FOREIGN KEY(buyer_id) references pelatis(ar_tayt) -> ON DELETE SET NULL ON UPDATE CASCADE -> ); Query OK, 0 rows affected (0.08 sec)

Παράδειγμα - ER

Παράδειγμα-Σχεσιακό

Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastnamevarchar(25) DEFAULT 'unknown' NOT NULL, AM INT(5) NOT NULL AUTO_INCREMENT, PRIMARY KEY(AM) ); CREATE TABLE professor( pr_namevarchar(25) DEFAULT 'unknown' NOT NULL, pr_lastnamevarchar(25) DEFAULT 'unknown' NOT NULL, email VARCHAR(255) NOT NULL, PRIMARY KEY(email) );

Παράδειγμα Δημιουργία Πινάκων CREATE TABLE course( title VARCHAR(255) DEFAULT 'unknown' NOT NULL, material TEXT, course_id INT(4) NOT NULL AUTO_INCREMENT, supervisor VARCHAR(255) NOT NULL, PRIMARY KEY(course_id), UNIQUE(title), CONSTRAINT SUPERVISEDFOREIGN KEY (supervisor) REFERENCES professor(email) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE books( title VARCHAR(128) DEFAULT Title' NOT NULL, course_bookint(4) NOT NULL, PRIMARY KEY(title,course_book), CONSTRAINT CRSBOOKFOREIGN KEY (course_book) REFERENCES course(course_id) ON DELETE CASCADE ON UPDATE CASCADE );

Παράδειγμα Δημιουργία Πινάκων CREATE TABLE lecture( subject VARCHAR(128), num_lectureint(2) NOT NULL, course_lectureint(4) NOT NULL, PRIMARY KEY(num_lecture,course_lecture), CONSTRAINT CRSLECTUREFOREIGN KEY (course_lecture) REFERENCES course(course_id) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE registration( reg_datedate NOT NULL, reg_studentint(5) NOT NULL, reg_courseint(4) NOT NULL, PRIMARY KEY(reg_student,reg_course), CONSTRAINT CRSREGISTRATIONFOREIGN KEY (reg_course) REFERENCES course(course_id)on DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT STDNTREGISTRATIONFOREIGN KEY (reg_student) REFERENCES student(am)on DELETE CASCADE ON UPDATE CASCADE