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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Φυσική Σχεδίαση – Υλοποίηση βάσης ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Advertisements

Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας.
Βάσεις Δεδομένων.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασφάλεια και Δικαιοδοσία σε Βάσεις Δεδομένων.
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Μοντέλο Οντοτήτων-Συσχετισμών
PL/SQL.
Ορισμοί Σχεσιακού Μοντέλου και (απλές)Τροποποιήσεις Σχέσεων στην SQL
Αποθηκευμένες Διαδικασίες και Εναύσματα Δρ. Παναγιώτης Συμεωνίδης.
Εργαστήριο 2ο SQL - DDL Ιωάννα Συρίμη
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Βάσεις Δεδομένων Μάθημα 4.
9 Η Γλώσσα SQL Ορισμός Δεδομένων (data definition)
Βάσεις Δεδομένων Εργαστήριο Ι Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ι Ενότητα 7: H γλώσσα SQL Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων  Χειρισμός Δεδομένων.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)
Copyright © 2006 – Quality & Reliability SA PL/SQL TRIGGERS ΜΕΡΟΣ 1.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
Βάσεις Δεδομένων Ενότητα 7.2: Structured Query Language - 2 ο Μέρος Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό.
Βάσεις Δεδομένων I (Θ) Ενότητα 8: Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Βάσεις Δεδομένων I Ενότητα 8: Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Χ. Σκουρλάς Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο.
Βάσεις Δεδομένων Ενότητα 2: Συστήματα Διαχείρισης Βάσεων Δεδομένων Βασίλης Βουτσινάς Τμήμα: Οργάνωση & Διοίκηση Επιχειρήσεων.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ « Advanced MySQL » Σμυρνάκη Ουρανία, Πανεπιστήμιο Κρήτης Σεμινάριο: 2ο Σχολείο Κώδικα Ημερομηνία: 10/07/2015 Με.
Πληροφορική Κεφάλαιο 4 ο : Βάσεις Δεδομένων Κλεπετσάνης Παύλος, Επίκουρος Καθηγητής Τμήμα Φαρμακευτικής.
Eισαγωγή στο SPSS. Tι είναι το SPSS Το SPSS (Superior Performance Software System) είναι το πιο διαδεδομένο πρόγραμμα για τη στατιστική ανάλυση δεδομένων.
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Εισαγωγή στις βάσεις δεδομένων
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει τις απαραίτητες έννοιες ώστε οι φοιτητές να κατανοήσουν την τεχνολογία των βάσεων δεδοµένων.
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας
Σύστημα διαχείρισης αρχείων (file system)
Βάσεις Δεδομένων Ι 4η διάλεξη
Web Services στη C# Εργαστήριο 5
Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Διαγράμματα Κλάσεων Ανάλυση Συστημάτων 2007.
Προγραμματισμός Εφαρμογών Διαδικτύου
Βάσεις Δεδομένων ΙΙ 9η διάλεξη
Επιμόρφωση Εκπαιδευτικών Μέσης Εκπαίδευσης για τα Νέα Αναλυτικά Προγράμματα Πληροφορικής και Επιστήμης Η/Υ Προγραμματισμός Έτους και Ενότητας (Γ’ Γυμνασίου)
Περιγραφή Ενότητας Σκοπός του μαθήματος αυτού και κεντρικός σκοπός του μαθήματος των Βάσεων Δεδομένων Ι είναι η παρουσίαση των απαραίτητων εννοιών ώστε.
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Βάσεις Δεδομένων Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων
Βάσεις Δεδομένων Ι Επανάληψη
Βάσεις Δεδομένων Ι 10η διάλεξη
“Κατασκευή εφαρμογής διαχείρισης προγράμματος διδασκαλίας εκπαιδευτικών ιδρυμάτων με έλεγχο της ακεραιότητας, προσπέλασης και ασφάλειας των δεδομένων”
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να κατανοήσουμε την έννοια της όψης της γλώσσας SQL. Χ. Σκουρλάς.
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Αρχιτεκτονική Συστημάτων
Βάσεις Δεδομένων και web-based Εφαρμογές
Δημιουργία συστήματος υποστήριξης αποφάσεων και έλεγχο διαθεσιμότητας
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας
Σχεσιακεσ βασεισ δεδομενων
Βάσεις Δεδομένων ΙΙ Ενότητα 5: Μελέτη περιπτώσεως:
ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ I
Εφαρμογές Πληροφορικής & Νέες Τεχνολογίες Στη Γεωργία
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εργαστήριο 1.
POSTGRESQL Η PostgreSQL είναι ένα αντικείμενο-σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων (object relational database management system - ORDBMS) και.
Βάσεις Δεδομένων 28/11/2018 Ενότητα Γ6.Μ2 (Βασικά Δομικά Συστατικά Στοιχεία και Κύρια Αντικείμενα μιας Βάσης Δεδομένων ) Ο Δάσκαλος.
Ενότητα # 5: Περιορισμοί ακεραιότητας
ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή
Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Δυτικής Αττικής
SQL Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

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

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

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

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

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

Το ER της ΒΔ dvdClub

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

Το Oracle SQL Developer Data Modeler

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ο κώδικας 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" GO TABLE ΕΝΟΙΚΙΑΣΗ ΠΕΛΑΤΗΣ_ID INTEGER NOT NULL , DVD_ID INTEGER NOT NULL , Από DATE , Έως DATE , CONSTRAINT ΕΝΟΙΚΙΑΣΗ_PK PRIMARY KEY CLUSTERED (ΠΕΛΑΤΗΣ_ID, DVD_ID) 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" GO TABLE ΣΥΝΤΕΛΕΣΤΗΣ ID INTEGER NOT NULL , Όνομα CHAR (50) , CONSTRAINT ΣΥΝΤΕΛΕΣΤΗΣ_PK PRIMARY KEY CLUSTERED (ID)

Ο κώδικας 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" GO TABLE ΤΣ ΤΑΙΝΙΑ_ID INTEGER NOT NULL , ΣΥΝΤΕΛΕΣΤΗΣ_ID INTEGER NOT NULL , Ρόλος CHAR (30) , CONSTRAINT ΤΣ_PK PRIMARY KEY CLUSTERED (ΤΑΙΝΙΑ_ID, ΣΥΝΤΕΛΕΣΤΗΣ_ID) 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 ΠΕΛΑΤΗΣ

Ο κώδικας 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 ΤΑΙΝΙΑ ALTER TABLE ΤΣ ADD CONSTRAINT FK_ASS_5 FOREIGN KEY ( ΣΥΝΤΕΛΕΣΤΗΣ_ID ) REFERENCES ΣΥΝΤΕΛΕΣΤΗΣ ID ON DELETE NO ACTION ON UPDATE NO ACTION GO

ΤΕΛΟΣ