διδακτικές ενότητες στις Βάσεις Δεδομένων

Slides:



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

ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΜΑΘΗΜΑ 5.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
1 Copyright © 2006 Quality & Reliability SQL 1-2.
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
ORACLE PL/SQL Cursors Μέρος 1.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
Δημιουργία Σχεσιακού μοντέλου από ERD
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
ΣΥΝΟΛΑ.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων I (Θ) Ενότητα 11: Ενιαίο παράδειγμα σχεδίασης σχεσιακής βάσης δεδομένων και υλοποίησης με Γλώσσα SQL Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής.
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει τις απαραίτητες έννοιες ώστε οι φοιτητές να κατανοήσουν την τεχνολογία των βάσεων δεδοµένων.
Βάσεις Δεδομένων ER-Διάγραμμα.
Βάσεις Δεδομένων I (Θ) Ενότητα 7: Σχεδίαση βάσεων δεδομένων - Παραδείγματα - Επανάληψη Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Κανονικοποίηση, συναρτησιακές εξαρτήσεις
Βάσεις Δεδομένων I (Θ) Ενότητα 8: Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Βάσεις Δεδομένων I (Θ) Ενότητα 9: Yλοποίηση σχεσιακών βάσεων δεδομένων - Σύνθετες εντολές SQL Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά.
Βάσεις Δεδομένων I Ενότητα 8: Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Χ. Σκουρλάς Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο.
Βάσεις Δεδομένων I Ενότητα: Επισκόπηση σε θέματα σχεδιασμού στις βάσεις δεδομένων Χ. Σκουρλάς Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο.
Κεφάλαιο 7 Εισαγωγή στις βάσεις δεδομένων ISBN Εισαγωγή Η θεωρία της κανονικοποίησης υποστηρίζει την εύρεση της πλέον κατάλληλης εννοιολογικής.
Θεωρία υπολογισμού1 Μη αιτιοκρατικό αυτόματο Σ={0}, L = { 0 k : k=2m, k=3m}, μαντεύουμε το μήκος.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει τις απαραίτητες έννοιες ώστε οι φοιτητές να κατανοήσουν την τεχνολογία των βάσεων δεδοµένων.
Βάσεις Δεδομένων Ι 4η διάλεξη
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Περιγραφή ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει τις απαραίτητες έννοιες ώστε οι φοιτητές να κατανοήσουν την τεχνολογία των βάσεων δεδομένων.
Περιγραφή Ενότητας Σκοπός του μαθήματος αυτού και κεντρικός σκοπός του μαθήματος των Βάσεων Δεδομένων Ι είναι η παρουσίαση των απαραίτητων εννοιών ώστε.
Η φάση του εννοιολογικού σχεδιασμού
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Java DataBase Connectivity
Βάσεις Δεδομένων Ενότητα 3: Σχεσιακή Άλγεβρα Βασίλης Βουτσινάς
Κωδικός Διαφανειών: MKT119
Βάσεις Δεδομένων και web-based Εφαρμογές
Ενισχυτική διδασκαλία
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει στοιχεία μιας μελέτης περίπτωσης. Χ. Σκουρλάς.
Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο.
Βάσεις Δεδομένων και web-based Εφαρμογές
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει τις απαραίτητες έννοιες ώστε οι φοιτητές να κατανοήσουν την τεχνολογία των βάσεων δεδοµένων.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι η παρουσίαση των απαραίτητων εννοιών αλλά και των δηλώσεων SQL ώστε οι φοιτητές να κατανοήσουν σε κάποιο.
Βάσεις Δεδομένων και web-based Εφαρμογές
Οι Συναρτήσεις Ομαδοποίησης
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι η παρουσίαση δηλώσεων SQL που περιλαμβάνουν EXIST, ANY, ALL. Χ. Σκουρλάς.
Βάσεις Δεδομένων Ι 8η διάλεξη
Κανονικοποίηση ΤΙ ΕΙΝΑΙ ; Τεχνική Διαδικασία
Κανονικοπηση(normalization)
Βάσεις Δεδομένων και web-based Εφαρμογές
Βάσεις Δεδομένων και web-based Εφαρμογές
Ενότητα 5: Σχεδίαση βάσεων δεδομένων - Κανονικοποίηση Χ. Σκουρλάς
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας
Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή
Ερωτήματα Επιλογής σε ACCESS
Ερωτήματα Επιλογής σε ACCESS
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Ενότητα 5: Σχεδίαση βάσεων δεδομένων - Κανονικοποίηση Χ. Σκουρλάς
Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Δυτικής Αττικής
Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Δυτικής Αττικής
Ενότητα : Μοντελοποίηση. Μοντέλο Οντοτήτων – Συσχετίσεων Χ. Σκουρλάς
Μεταγράφημα παρουσίασης:

διδακτικές ενότητες στις Βάσεις Δεδομένων Επανάληψη και λυμένα θέματα του μαθήματος «Βάσεις Δεδομένων Ι» για τη διδασκαλία του στo Τμήμα Πληροφορικής του ΤΕΙ Αθήνας. Διδάσκων: Χ. Σκουρλάς, cskourlas@teiath.gr      2015-16

Μοντελοποίηση

Μοντέλο οντοτήτων συσχετίσεων με συμβολισμό Navathe-Elmasri

Βαθμός Συσχέτισης Βαθμός μιας συσχέτισης ονομάζεται ο αριθμός των οντοτήτων που συνδέει. Συνήθως οι συσχετίσεις μεταξύ δύο οντοτήτων (δυαδικές συσχετίσεις) επαρκούν για τις ανάγκες μεγάλου μέρους της εφαρμογής. Υπάρχουν περιπτώσεις όπου τρεις ή περισσότερες οντότητες πρέπει να συνδεθούν με μια συσχέτιση ή μια συσχέτιση να οριστεί πάνω σε οντότητα(ες) και συσχέτιση(εις).

Βαθμός Συσχέτισης Το μοντέλο είναι επαρκές; Δυαδικές Συσχετίσεις ΣΠΟΥΔΑΣΤΗΣ ΜΑΘΗΜΑ παρακολουθεί Ν Μ βοηθά ΣΥΝΕΡΓΑΤΗΣ Μ επιβλέπεται Ν Το μοντέλο είναι επαρκές; Τι γίνεται αν οι σπουδαστές ανήκουν σε εργαστηριακά τμήματα και σε κάθε τμήμα είναι υπεύθυνος ένας και μόνο εργαστηριακός συνεργάτης;

Τριαδική Συσχέτιση Μ Ν ΜΑΘΗΜΑ ΣΠΟΥΔΑΣΤΗΣ ΕΡΓΑΣΤΗΡΙΑΚΟΣ_ΣΥΝΕΡΓΑΤΗΣ εγγράφεται ΕΡΓΑΣΤΗΡΙΑΚΟΣ_ΣΥΝΕΡΓΑΤΗΣ Ν Μ

Είναι στην Τρίτη Κανονική Μορφή;

Απλουστευμένη εκπαιδευτική βάση δεδομένων

Απλοποιημένη βιβλιοθήκη BOOK(ISBN, Title, Pub_code, Subject_code, Lang_Code) AUTHOR (Author_No, Surname, Name) CATEGORY (Subject_Code, Subject) WRITER (ISBN, Author_No) PUBLISHER (Pub_code, pubname, Loc) LANGUAGE(Lang_Code, Lang)

Kανόνας 1 Σε μια σχέση/πίνακα δεν πρέπει να εμφανίζονται σύνθετα πεδία ορισμού ανά ιδιότητα (στήλη), δηλαδή, σε περιγραφική προσέγγιση, για κάθε γραμμή του πίνακα, κάθε στήλη αντιστοιχεί σε απλό χαρακτηριστικό και πρέπει να περιέχει ακριβώς μια τιμή. Κανόνας 2 Αν το κύριο κλειδί της σχέσης, δηλαδή το κλειδί που ορίζει μονοσήμαντα όλες τις στήλες, είναι σύνθετο (αποτελείται από περισσότερες από μια ιδιότητες) και ένα τμήμα του ορίζει μονοσήμαντα ιδιότητες (στήλες) πρέπει το τμήμα αυτό και οι αντίστοιχες ιδιότητες (στήλες) να αποτελέσουν μια ξεχωριστή σχέση. Κανόνας 3 Σε κάθε γραμμή του πίνακα, όλες οι στήλες πρέπει να αντιστοιχούν απ‘ ευθείας στο κλειδί χωρίς μεταβατικές εξαρτήσεις διαμέσου των άλλων στηλών.

Γράψτε τη Δεύτερη και την Τρίτη Κανονική Μορφή ΠΙΝΑΚΑΣ EMPLOY ENAME LANGUAGE LANG_CODE USE EMP NO EXPR SAL P_CODE PNAME BUDGET P_TIME ΒΑΛΑΚΟΣ COBOL 100 3 4 1200 020 ΑΠΟΘΗΚΕΣ 100000 80 FORTRAN77 200 2 010 ΕΡΓΟ Α 200000 20 FORTRAN 77 ΚΑΜΑΡAΣ 1150 PL/I, 1 300 1 ΣΠΥΡΟΥ 1450 ΠΛΑΚΙΔΗΣ 5 400 7 1300 ΝΙΚΟΥ 500 1500 PASCAL σύνθετο κύριο κλειδί = (EMPNO, LANG_CODE, P_CODE) Σχήμα Πρώτη κανονική μορφή βάσης δεδομένων προσωπικού

Δεύτερη και Τρίτη Κανονική Μορφή ENAME EMPNO EXPR SAL Κύριο κλειδί LANG_CODE USE EMPNO Κύριο κλειδί EMPNO P_CODE PTIME Κύριο κλειδί LANGUAGE LANG_CODE Κύριο κλειδί P_CODE PNAME BUDGET Κύριο κλειδί

Βάση αμερικανικών προεδρικών εκλογών (American elections) YEAR WINNER W_VOTES W-PARTY W_STATE LOSER L_VOTES L_PARTY 1952 1956 1960 1964 1968 1972 1976 1980 1984 1988 1992 EISENHOWER KENNEDY JOHNSON NIXON CARTER REAGAN BUSH CLINTON 442 447 303 486 301 520 297 489 525 426 NULL REP DEM TEXAS MASS. CALIF. CALIF STEVENSON GOLDWATER HUMPHREY WALLACE McGOVERN FORD ANDERSON MONDALE DOUKAKIS PERAULT 89 73 219 52 191 46 17 240 49 13 41 IND REP=REPUBLICAN , DEM=DEMOCRAT , IND=INDEPENDENT Η αναγραφή NULL σε μια θέση του πίνακα σημαίνει ότι η αντίστοιχη στήλη δεν έχει τιμή.

4 πίνακες της τρίτης κανονικής μορφής στους οποίους επιμερίζονται τα στοιχεία των εκλογών. Θυμηθείτε ποιο είναι το κύριο κλειδί κάθε πίνακα.

ELECTION WINNER PRESIDENTS YEAR WINNER W_VOTES 1952 1956 1960 1964 1968 1972 1976 1980 1984 1988 1992 EISENHOWER KENNEDY JOHNSON NIXON CARTER REAGAN BUSH CLINTON  442 447 303 486 301 520 297 489 525 426 NULL WINNER W-PARTY W_STATE EISENHOWER KENNEDY JOHNSON NIXON CARTER REAGAN BUSH CLINTON REP DEM TEXAS MASS. CALIF. NULL ELECTIONLOSER YEAR LOSER L_VOTES 1952 1956 1960 1964 1968 1972 1976 1980 1984 1988 1992 STEVENSON NIXON GOLDWATER HUMPHREY WALLACE McGOVERN FORD CARTER ANDERSON MONDALE DOUKAKIS BUSH PERAULT 89 73 219 52 191 46 17 240 49 13 41 NULL LOSERS LOSER L_PARTY STEVENSON NIXON GOLDWATER HUMPHREY WALLACE McGOVERN FORD CARTER ANDERSON MONDALE DOUKAKIS BUSH PERAULT DEM REP IND

Περιορισμοί Year χαρακτηρίζει μοναδικά την εκλογική αναμέτρηση year - -> winner, w_votes, w_party , w_state (Το έτος χαρακτηρίζει μοναδικά κάποιες στήλες που περιγράφουν την εκλογική αναμέτρηση . Δηλαδή αν σκεφτούμε το έτος μίας εκλογικής αναμέτρησης τότε αυτομάτως έρχεται στο μυαλό μας ακριβώς ένας νικήτης, ο Πρόεδρος, ακριβώς ένα κόμμα, αυτό που νίκησε στις εκλογές κτλ.) winner - -> w_party , w_state (Ο νικητής, ανήκει ισόβια ως υποψήφιος στο ίδιο κόμμα και ξεκινά απο την ίδια πολιτεία) year, loser - - > l_votes

Περιορισμοί (constraints) Year χαρακτηρίζει μοναδικά την εκλογική αναμέτρηση year - -> winner , w-votes , w-party , w_state (Το έτος χαρακτηρίζει μοναδικά κάποια πεδία που περιγράφουν την εκλογική αναμέτρηση. Δηλαδή αν σκεφτούμε το έτος μίας εκλογικής αναμέτρησης τότε αυτομάτως έρχεται στο μυαλό μας ακριβώς ένας νικήτης, ο Πρόεδρος, ακριβώς ένα κόμα, αυτό που νίκησε στις εκλογές κτλ.) winner - -> w_party , w_state (Ο νικητής, ανήκει ισόβια ως υποψήφιος στο ίδιο κόμα και ξεκινά απο την ίδια πολιτεία) year , loser - - > l_votes

Για τη μετάβαση από το μοντέλο οντοτήτων - συσχετίσεων σε πίνακες ακολούθησε τους εξής κανόνες Κανόνας 1: Για κάθε τύπο οντότητα θα έχεις ένα πίνακα που θα περιλαμβάνει σαν στήλες τουλάχιστον όλα τα χαρακτηριστικά (attributes) της. Το κύριο κλειδί της οντότητας, απλό ή σύνθετο, θα είναι και κύριο κλειδί του πίνακα που θα αναπαριστά την οντότητα Κανόνας 2: Έστω συσχέτιση σ:A(K1)-->B(K2) , όπου Α(Κ1), Α(Κ2) οντότητες και K1,K2 τα κύρια κλειδιά των οντοτήτων. Αν η συσχέτιση σ είναι τύπου 1:Ν τότε (για τη συσχέτιση σ) δεν κατασκευάζεις ξεχωριστό πίνακα. Απλά προσθέτεις στα χαρακτηριστικά της οντότητας Β(Κ2) το Κ1 σα ξένο κλειδί. Κανόνας 3: Αν η συσχέτιση σ είναι τύπου 1:1 τότε (για τη συσχέτιση σ) δεν κατασκευάζεις ξεχωριστό πίνακα. Απλά προσθέτεις στα χαρακτηριστικά της οντότητας Β(Κ2) το Κ1 σα ξένο κλειδί ή στα χαρακτηριστικά της Α(Κ1) το Κ2 σαν ξένο κλειδί. Ποτέ και τα δύο! Κανόνας 4: Αν η συσχέτιση σ είναι Μ:Ν τότε κατασκευάζεις ξεχωριστό πίνακα που περιλαμβάνει τα Κ1,Κ2, ως ξένα κλειδιά, το (Κ1,Κ2) ως σύνθετο κύριο κλειδί και τα χαρακτηριστικά της συσχέτισης, άν υπάρχουν τέτοια χαρακτηριστικά. Κανόνας 5: Αν μια συσχέτιση σ συνδέει παραπάνω από δύο οντότητες π.χ. τις οντότητες A(K1), Α(Κ2), Α(Κ3) με Κ1, Κ2, Κ3 κύρια κλειδιά οντοτήτων αντίστοιχα, τότε για τη συσχέτιση αυτή, συνήθως, κατασκευάζουμε ξεχωριστό πίνακα με κύριο κλειδί, συνήθως, (Κ1,Κ2,Κ3). Αν η σ είναι Μ:Ν:Ν κάνεις πίνακα, αν είναι 1:M:N όχι.

PRESIDENTS WINNER W-PARTY W_STATE EISENHOWER KENNEDY JOHNSON NIXON CARTER REAGAN BUSH CLINTON REP DEM TEXAS MASS. CALIF. NULL /* Δείξτε όλα τα στοιχεία προέδρων */ SELECT * FROM presidents; /* Δείξτε όλα τα στοιχεία προέδρων με άλλη σειρά */ SELECT w_party, winner, w_state /* Δείξτε όλα τα στοιχεία προέδρων κατά κόμμα και αλφαβητικά */ FROM presidents order by w_party, winner; /* Δείξτε όλα τα στοιχεία προέδρων που ανήκουν στο κόμμα των ρεπουμπλικάνων */ WHERE w_party = 'REPUBLICAN';

PRESIDENTS WINNER W-PARTY W_STATE /* τι θα δείξουν οι αναζητήσεις; */ EISENHOWER KENNEDY JOHNSON NIXON CARTER REAGAN BUSH CLINTON REP DEM TEXAS MASS. CALIF. NULL /* τι θα δείξουν οι αναζητήσεις; */ SELECT winner, w_party, w_state FROM presidents WHERE w_party = 'REP';   WHERE w_party = 'RepUBLICAN'; WHERE w_party = 'republican'; SELECT winner,w_party,w_state WHERE w_state = 'REPUBLICAN';

/. Δείξτε στοιχεία για τον NIXON /* Δείξτε στοιχεία για τον NIXON */ SELECT winner, w_party, w_state FROM presidents WHERE winner = 'NIXON'; /* Δείξτε υποψήφιους που έχασαν με ψήφους λιγότερους των 80 */ SELECT loser, election_year, l_votes FROM electionloser where l_votes <80; /* Δείξτε υποψήφιους που έχασαν στις εκλογές πάνω από μία φορά */ SELECT loser, count(*) GROUP BY loser HAVING count(*) > 1;

/* Δείξτε όλα τα στοιχεία των εκλογών για κάθε έτος εκλογικής αναμέτρησης*/ SELECT electionwinner.election_year, presidents.winner, w_party, w_votes, electionloser.loser, l_party, l_votes FROM presidents, electionwinner, electionloser, losers WHERE presidents.winner = electionwinner.winner AND electionwinner.election_year = electionloser.election_year AND electionloser.loser = losers.loser order by electionwinner.election_year;

Επισκόπηση κάποιων σύνθετων εντολών της γλώσσας SQL

Συνάρτηση datediff SELECT datediff(‘2015/06/28’, current_date); Τι θα δείξει στις 21.1.2016:

Ερωτήσεις