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

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

Τμήμα Πληροφορικής ΑΠΘ

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

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

Βάζεις Δεδομένων ΤΛΟΠΟΙΗΗ ΜΙΑ ΑΠΛΗ ΒΑΗ ΜΔ ΑΤΣΟΜΑΣΑ ΔΡΓΑΛΔΙΑ. Υινπνίεζε Απιήο Βάζεο 1

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

Βάζεηο Γεδνκέλσλ. Δηζαγσγή γηα ην Δξγαζηήξην. Τκήκα Πιεξνθνξηθήο ΑΠΘ

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

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

Τμήμα Πληροφορικής ΑΠΘ

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

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

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

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

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

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

Τμήμα Πληροφορικής ΑΠΘ

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

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

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

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

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

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

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

Το Σχεσιακό μοντέλο και η γλώσσα SQL

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

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

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

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

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

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

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

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

Βάσεις Δεδομέμωμ. Δξγαζηήξην Ι. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

2 η Εργαστηριακή Άσκηση

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

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

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

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

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

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

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Βάσεις Περιβαλλοντικών Δεδομένων

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

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

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

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

Τεχνολογία Πολιτισμικού Λογισμικού

Κεφάλαιο 6. Περιορισμοί Ακεραιότητας Βάσεων Δεδομένων

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Βάσεις Δεδομένων. Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

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

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ. Φοιτητής:... (ΑΕΜ: ) ΣΕΡΡΕΣ, Ιανουάριος 2010

Εργαστήριο 5o. Σχέσεις πινάκων Ακεραιότητα αναφορών. Ευάγγελος Γ. Καραπιδάκης

Transcript:

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

2 Βασικοί στόχοι Μερικοί βασικοί στόχοι του εργαστηρίου είναι: Η ικανότητα ανάλυσης των απαιτήσεων, κατασκευής ER διαγραμμάτων, μετατροπής σε σχεσιακά μοντέλα και υλοποίησης απλών βάσεων δεδομένων. Η εκμάθηση βασικών λειτουργιών του MS SQL Server 2012. Η εισαγωγή και η εφαρμογή της γλώσσας SQL. Η ικανότητα ανάπτυξης απλών ερωτημάτων στην γλώσσα SQL. Χρήση βοηθητικών εργαλείων.

3 Η βάση δεδομένων που θα Στα εργαστηριακά μαθήματα θα δημιουργηθεί μία βάση δεδομένων που θα αφορά την λειτουργία ενός DVD Club στο οποίο οι πελάτες ενοικιάζουν DVD ταινιών. χρησιμοποιηθεί

4 Η ανάλυση των απαιτήσεων της βάσης δεδομένων dvdclub 1/2 Το dvdclub έχει ένα σύνολο από πελάτες για τους οποίους καταχωρεί ένα μοναδικό κωδικό ID, το επίθετο, το τηλέφωνο και τη διεύθυνσή τους οδό και αριθμό. Κάθε πελάτης μπορεί να νοικιάσει ένα ή περισσότερα dvd. Κάθε dvd μπορεί να νοικιαστεί για ένα συγκεκριμένο χρονικό διάστημα το οποίο καθορίζεται από μία ημερομηνία έως μία άλλη. Κάθε dvd χαρακτηρίζεται από ένα μοναδικό κωδικό ID, την τιμή ενοικίασής του, τον τύπο του και την διαθέσιμη ποσότητά του.

5 Η ανάλυση των απαιτήσεων της βάσης δεδομένων dvdclub 2/2 Σε κάθε dvd αντιστοιχεί μία συγκεκριμένη ταινία είναι dvd ταινίας. Κάθε ταινία χαρακτηρίζεται από έναν μοναδικό κωδικό ID, τον τίτλο της και τη xρονιά που αυτή γυρίστηκε. Κάθε ταινία έχει ένα σύνολο ΤΣ από συντελεστές. Κάθε συντελεστής σε μία ταινία έχει έναν συγκεκριμένο μοναδικό ρόλο. Κάθε συντελεστής χαρακτηρίζεται από έναν μοναδικό κωδικό ID και το όνομα του.

Το ER της ΒΔ dvdclub 6

7 Η χρήση βοηθητικών εργαλείων Τα τελευταία χρόνια έχουν αναπτυχθεί δεκάδες διάφορα εργαλεία τα οποία εκτός της κατασκευής ενός ER διαγράμματος μπορούν να δομήσουν αυτόματα το σχεσιακό μοντέλο μίας βάσης αλλά και να παράγουν αυτόματα κώδικα SQL-DDL για την υλοποίησή της π.χ. στον SQL Server Μία καλή καταγραφή τους γίνεται στη σελίδα: http://www.databaseanswers.org/modelling_tools.htm Ένα από αυτά με πολλές δυνατότητες που είναι εύκολο στη χρήση και είναι ελεύθερο λογισμικό είναι το Oracle SQL Developer Data Modeler: http://www.oracle.com/technetwork/developertools/datamodeler/overview/index.html

Το Oracle SQL Developer Data Modeler 8

9 Οι οντότητες στον Modeler Η κατασκευή των οντοτήτων entities γίνεται με drag & drop απευθείας στο περιβάλλον του Logical Model από το new entity της εργαλειοθήκης. Μετά από την κατασκευή κάθε οντότητας εμφανίζουμε τις ιδιότητές της για να προσθέσουμε τα χαρακτηριστικά της attributes. Η διαχείρισή τους γίνεται με την εργαλειοθήκη τους. Βασικό να καθορίσουμε το όνομά τους name, τον τύπο τους datatype με την επιλογή logical όπου εμφανίζονται σε λίστα όλοι οι γνωστοί προκαθορισμένοι τύποι δεδομένων, καθώς και τους περιορισμούς ποιο είναι κύριο κλειδί [primaryuid], αν δεν επιτρέπουμε τιμές null [mandatory] κλπ.

Η κατασκευή της οντότητας ΠΕΛΑΤΗΣ 10

Οι οντότητες του dvdclub στον Modeler 11

12 Οι συσχετίσεις στον Modeler 1/2 Η κατασκευή των συσχετίσεων relations γίνεται με κλικ απευθείας πάνω στις αντίστοιχες οντότητες που πρόκειται να συνδεθούν. Υπάρχουν οι επιλογές 1:1, 1:Ν, Ν:Μ στην εργαλειοθήκη. Είναι πολύ σημαντικό να έχουμε καθορίσει το είδος της αντιστοιχίας στο ER καθώς αυτό θα επηρεάσει και την κατασκευή του σχεσιακού μοντέλου. Π.χ. η συσχέτιση ΕΝΟΙΚΙΑΣΗ είναι τύπου Ν:Μ καθώς ένας πελάτης μπορεί να ενοικιάσει πολλά dvd αλλά και ένα dvd μπορεί να νοικιαστεί από πολλούς πελάτες σε διαφορετικά χρονικά διαστήματα.

13 Οι συσχετίσεις στον Modeler 2/2 Μπορούμε να επέμβουμε στις ιδιότητες μίας αντιστοιχίας και να αλλάξουμε εκ των υστέρων τον τύπο της στις επιλογές Source-to-Target και Targetto-Source Cardinality. Σημαντικό είναι να καθορίσουμε και το ποια ή ποιες οντότητες συμμετέχουν υποχρεωτικά στη συσχέτιση με τις επιλογές Source Optional και Target Optional, καθώς και πάλι επηρεάζεται το σχεσιακό μοντέλο. Π.χ. στην αντιστοιχία ΕΝΟΙΚΙΑΣΗ η οντότητα ΠΕΛΑΤΗΣ συμμετέχει υποχρεωτικά καθώς για να είναι πελάτης πρέπει να έχει νοικιάσει τουλάχιστον ένα dvd, ενώ η οντότητα DVD όχι καθώς μπορεί ένα dvd να μην έχει νοικιαστεί από κάποιον πελάτη.

Η συσχέτιση ΕΝΟΙΚΙΑΣΗ στον Modeler 14

Τα χαρακτηριστικά της ΕΝΟΙΚΙΑΣΗΣ 15

16 Οι υπόλοιπες συσχετίσεις του dvdclub Η συσχέτιση ΕΙΝΑΙ_DVD_ΤΑΙΝΙΑΣ είναι τύπου 1:Ν καθώς μία ΤΑΙΝΙΑ μπορεί να αποθηκευτεί σε διαφορετικούς τύπους DVD, αλλά ένα dvd περιέχει μία μόνο ταινία. Και οι δύο οντότητες συμμετέχουν υποχρεωτικά στη συσχέτιση. Η συσχέτιση ΤΣ είναι τύπου Ν:Μ καθώς μία ΤΑΙΝΙΑ μπορεί να έχει πολλούς ΣΥΝΤΕΛΕΣΤΕΣ, αλλά και ένας συντελεστής μπορεί να μετέχει σε πολλές ταινίες. Και οι δύο οντότητες συμμετέχουν υποχρεωτικά στη συσχέτιση.

Η συσχέτιση ΕΙΝΑΙ_DVD_ΤΑΙΝΙΑΣ 17

Η συσχέτιση ΤΣ 18

Τα χαρακτηριστικά της ΤΣ 19

Το τελικό ER του dvdclub στον Modeler 20

21 Αυτόματη δημιουργία του Σχεσιακού Μοντέλου Η αυτόματη κατασκευή του αντίστοιχου Σχεσιακού Μοντέλου μίας βάσης γίνεται με δεξί κλικ στο Logical Model και την εντολή Engineer to Relational Model. Τίποτε άλλο! Φυσικά μετά την κατασκευή θα πρέπει να κάνουμε έναν έλεγχο το κάθε τι που έχει δημιουργηθεί και αν θέλουμε μπορούμε να κάνουμε επεμβάσεις.

22

Το τελικό Σχεσιακό Μοντέλο 23

Το τελικό Σχεσιακό Μοντέλο 24

25 Αυτόματη παραγωγή κώδικα SQL-DDL Η αυτόματη κατασκευή του κώδικα SQL-DDL Data Definition Language γίνεται από το μενού File με την εντολή Export DDL File. Ανοίγει ο DDL File Editor στον οποίο επιλέγουμε την γλώσσα SQL που θέλουμε π.χ. Microsoft SQL Server και κάνουμε Generate και OK. Τίποτε άλλο! Ο κώδικας δημιουργείται αυτόματα στον Editor και μπορούμε φυσικά να τον αντιγράψουμε ή να τον αποθηκεύσουμε.

26

27

28 Ο κώδικας SQL-DDL του dvdclub 1/3 CREATE TABLE DVD ID INTEGER NOT NULL, Τύπος CHAR 4, Ποσότητα INTEGER, Τιμή INTEGER, ΤΑΙΝΙΑ_ID INTEGER NOT NULL, CONSTRAINT DVD_PK PRIMARY KEY CLUSTERED ID WITH ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON ON "default" ON "default" GO CREATE TABLE ΠΕΛΑΤΗΣ ID INTEGER NOT NULL, Επίθετο CHAR 30 NOT NULL, Τηλέφωνο CHAR 10, Οδός CHAR 30, Αριθμός CHAR 30, CONSTRAINT ΠΕΛΑΤΗΣ_PK PRIMARY KEY CLUSTERED ID WITH ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON ON "default" ON "default" GO CREATE TABLE ΕΝΟΙΚΙΑΣΗ ΠΕΛΑΤΗΣ_ID INTEGER NOT NULL, DVD_ID INTEGER NOT NULL, Από DATE, Έως DATE, CONSTRAINT ΕΝΟΙΚΙΑΣΗ_PK PRIMARY KEY CLUSTERED ΠΕΛΑΤΗΣ_ID, DVD_ID WITH ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON ON "default" ON "default" GO CREATE TABLE ΣΥΝΤΕΛΕΣΤΗΣ ID INTEGER NOT NULL, Όνομα CHAR 50, CONSTRAINT ΣΥΝΤΕΛΕΣΤΗΣ_PK PRIMARY KEY CLUSTERED ID WITH ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON ON "default" ON "default" GO

29 Ο κώδικας SQL-DDL του dvdclub 2/3 CREATE TABLE ΤΑΙΝΙΑ ID INTEGER NOT NULL, Τίτλος CHAR 100, Χρονιά INTEGER, CONSTRAINT ΤΑΙΝΙΑ_PK PRIMARY KEY CLUSTERED ID WITH ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON ON "default" ON "default" GO CREATE TABLE ΤΣ ΤΑΙΝΙΑ_ID INTEGER NOT NULL, ΣΥΝΤΕΛΕΣΤΗΣ_ID INTEGER NOT NULL, Ρόλος CHAR 30, CONSTRAINT ΤΣ_PK PRIMARY KEY CLUSTERED ΤΑΙΝΙΑ_ID, ΣΥΝΤΕΛΕΣΤΗΣ_ID WITH ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON ON "default" ON "default" GO ALTER TABLE DVD ADD CONSTRAINT DVD_ΤΑΙΝΙΑ_FK FOREIGN KEY ΤΑΙΝΙΑ_ID REFERENCES ΤΑΙΝΙΑ ID ON DELETE NO ACTION ON UPDATE NO ACTION GO ALTER TABLE ΕΝΟΙΚΙΑΣΗ ADD CONSTRAINT FK_ASS_2 FOREIGN KEY ΠΕΛΑΤΗΣ_ID REFERENCES ΠΕΛΑΤΗΣ ID ON DELETE NO ACTION ON UPDATE NO ACTION GO

30 Ο κώδικας SQL-DDL του dvdclub 3/3 ALTER TABLE ΕΝΟΙΚΙΑΣΗ ADD CONSTRAINT FK_ASS_3 FOREIGN KEY DVD_ID REFERENCES DVD ID ON DELETE NO ACTION ON UPDATE NO ACTION GO ALTER TABLE ΤΣ ADD CONSTRAINT FK_ASS_4 FOREIGN KEY ΤΑΙΝΙΑ_ID REFERENCES ΤΑΙΝΙΑ ID ON DELETE NO ACTION ON UPDATE NO ACTION GO ALTER TABLE ΤΣ ADD CONSTRAINT FK_ASS_5 FOREIGN KEY ΣΥΝΤΕΛΕΣΤΗΣ_ID REFERENCES ΣΥΝΤΕΛΕΣΤΗΣ ID ON DELETE NO ACTION ON UPDATE NO ACTION GO

ΤΕΛΟΣ 31