Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βάσεις Δεδομένων I (Θ) Ενότητα 7: Σχεδίαση βάσεων δεδομένων - Παραδείγματα - Επανάληψη Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Δεδομένων I (Θ) Ενότητα 7: Σχεδίαση βάσεων δεδομένων - Παραδείγματα - Επανάληψη Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα."— Μεταγράφημα παρουσίασης:

1 Βάσεις Δεδομένων I (Θ) Ενότητα 7: Σχεδίαση βάσεων δεδομένων - Παραδείγματα - Επανάληψη Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

2 Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει - επαναλάβει τις απαραίτητες έννοιες ώστε οι φοιτητές να κατανοήσουν την τεχνολογία των βάσεων δεδοµένων και των συστηµάτων βάσεων δεδοµένων. Έµφαση δίδεται στην παρουσίαση των εννοιών της μοντελοποίησης και της κανονικοποίησης. Χ. Σκουρλάς 1

3 Στόχος Ενότητας Κύριος στόχος του μαθήματος είναι να εφοδιάσει τους φοιτητές µε τις απαραίτητες γνώσεις έτσι ώστε να είναι ικανοί να μοντελοποιήσουν τη βάση και να σχεδιάσουν την Τρίτη κανονική μορφή. Λέξεις κλειδιά: Μοντελοποίηση, Κανονικοποίηση, Κανονικές μορφές, Πρώτη Κανονική Μορφή, Δεύτερη Κανονική Μορφή, Τρίτη Κανονική Μορφή, Κανονική Μορφή Boyce Codd. 2

4 Βάση αμερικανικών προεδρικών εκλογών (American elections) Στο δείγμα παρατίθενται εκλογικά αποτελέσματα για τις αναμετρήσεις από το 1952 έως το 1992. Κύριο κλειδί (year, loser). YEARWINNERW_VOTESW-PARTYW_STATELOSERL_VOTESL_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 REP DEM REP DEM TEXAS MASS. TEXAS CALIF. CALIF CALIF. NULL STEVENSON NIXON GOLDWATER HUMPHREY WALLACE McGOVERN FORD CARTER ANDERSON MONDALE DOUKAKIS BUSH PERAULT 89 73 219 52 191 46 17 240 49 0 13 41 NULL DEM REP DEM IND DEM IND DEM REP IND REP=REPUBLICAN, DEM=DEMOCRAT, IND=INDEPENDENT Η αναγραφή NULL σε μια θέση του πίνακα σημαίνει ότι η αντίστοιχη στήλη δεν έχει τιμή. 3

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

6 WINNERW-PARTYW_STATE EISENHOWER KENNEDY JOHNSON NIXON CARTER REAGAN BUSH CLINTON REP DEM REP DEM REP DEM TEXAS MASS. TEXAS CALIF. NULL LOSERL_PARTY STEVENSON NIXON GOLDWATER HUMPHREY WALLACE McGOVERN FORD CARTER ANDERSON MONDALE DOUKAKIS BUSH PERAULT DEM REP DEM IND DEM IND DEM REP IND YEARWINNERW_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 YEARLOSERL_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 0 13 41 NULL PRESIDENTS LOSERS ELECTION WINNER ELECTIONLOSER

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

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

9 Για τη μετάβαση από το μοντέλο οντοτήτων - σχέσεων σε πίνακες ακολούθησε τους εξής κανόνες Κανόνας 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). 8

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

11 Πίνακες SurnamenameStudent_codesemesterAddressbirthdatephone ΚυριακόπουλοςΝικηφόρος213ΔΘησέως 310/10/862101234567 ΑποστόλουΖωή816ΑΑριάδνης 110/10/892102345897 ΠαπαπέτρουΝικόλαος450ΒΕιρήνης 410/10/892109923456 ΖευγαρίδηςΟρέστης346ΓΑίγλης 1023/9/882108223469 ΚοταμανίδουΕιρήνη610ΑΕιρήνης 72/2/892107323434 SurnameNameaddressProfessor _code PhoneBirthdateOffice_ Number speciality CoddTedMass.10210913456710/10/56201Πληροφορική UllmanJeffreyCalif.20210834589710/10/59101Πληροφορική WidomJenniferCalif.30210772345610/10/59110Πληροφορική ElmasriRamezMass.40210234346923/9/58231Ηλεκτρονική NavatheShamkantMass.50210755543412/2/59123Ηλεκτρονική Πίνακας “Professor” Πίνακας “Student” 10

12 Πίνακες Lesson_nameLesson_codesemestercontent Αρχές Οικονομικής ΙΑ1 Α Προγραμματισμός Η/Υ ΙΑ5 Α Ανθρώπινες Σχέσεις στην εργασίαΑ8 Α Προγραμματισμός Η/Υ ΙΙΒ5 Β Χρήμα - Πίστη - ΤράπεζεςΓ1 Γ Εισαγωγή στο Αστικό ΔίκαιοΑ4 Α Στατιστική ΕπιχειρήσεωνΒ2 Β Οικονομική της ΔιοίκησηςΓ3 Γ Ιστορία και Αρχές ΣυνεργατισμούΓ7 Γ Συστήματα Πληροφοριών ΔιοίκησηςΓ6 Γ Γενική Λογιστική ΙΑ3 Α Πίνακας “Lesson” 11

13 Πίνακες Student_codeLesson_codeMark 213Γ15 213Β57 450Β54 816Α56 816Α88 450Β22 346Γ19 346Γ30 610Α15 610Α37 Professor_code Lesson_code 10Α1 10Α5 20Α8 20Β5 20Γ1 30Α4 30Β2 40Γ3 40Γ7 50Γ6 50Α3 12

14 13

15 Αν teaches 1:N τότε η βάση διαφοροποιείται Καταργείται ο πίνακας teaches και προστίθεται η στήλη professor_code στον πίνακα lesson 14

16 Απλοποιημένη βιβλιοθήκη 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) 15

17 16

18 Απλοποιημένη βάση διαχείρισης προσωπικού (personnel) ENAMELANG UAGE LANG_ CODE USEEMP NO EXPRSALP_CODEPNAMEBUDGE T P_TIME ΒΑΛΑΚΟΣCOBOL100 3 41200 020ΑΠΟΘΗΚΕΣ10000080 ΒΑΛΑΚΟΣFORTR AN77 200 2100 41200 010ΕΡΓΟ Α20000020 ΒΑΛΑΚΟΣCOBOL100 3 41200 010ΕΡΓΟ Α20000020 ΒΑΛΑΚΟΣFORTR AN 77 200 2100 41200 020ΑΠΟΘΗΚΕΣ10000080 ΚΑΜΑΡAΣCOBOL100 2200 31150 010ΕΡΓΟ Α200000100 ΚΑΜΑΡAΣ PL/I, 1300 1200 31150 ΣΠΥΡΟΥCOBOL100 4300 41450 020ΑΠΟΘΗΚΕΣ100000100 σύνθετο κύριο κλειδί = (EMPNO, LANG_CODE, P_CODE) Σχήμα Πρώτη κανονική μορφή βάσης δεδομένων προσωπικού 17

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

20 Γράψτε τη Δεύτερη και την Τρίτη Κανονική Μορφή ENAMELANGUAGELANG_ CODE USEEMP NO EXPRSALP_CODEPNAMEBUDGETP_TIME ΒΑΛΑΚΟΣCOBOL100 3 41200 020ΑΠΟΘΗΚΕΣ10000080 ΒΑΛΑΚΟΣFORTRAN77200 2100 41200 010ΕΡΓΟ Α20000020 ΒΑΛΑΚΟΣCOBOL100 3 41200 010ΕΡΓΟ Α20000020 ΒΑΛΑΚΟΣ FORTRAN 77 200 2100 41200 020ΑΠΟΘΗΚΕΣ10000080 ΚΑΜΑΡAΣCOBOL100 2200 31150 010ΕΡΓΟ Α200000100 ΚΑΜΑΡAΣPL/I, 1300 1200 31150 010ΕΡΓΟ Α200000100 ΣΠΥΡΟΥCOBOL100 4300 41450 020ΑΠΟΘΗΚΕΣ100000100 ΠΛΑΚΙΔΗΣCOBOL100 5400 71300 020ΑΠΟΘΗΚΕΣ100000100 ΠΛΑΚΙΔΗΣFORTRAN77200 2400 71300 020ΑΠΟΘΗΚΕΣ100000100 ΝΙΚΟΥCOBOL100 4500 51500 020ΕΡΓΟ Α200000100 ΝΙΚΟΥPASCAL400 1500 51500 020ΕΡΓΟ Α200000100 ΠΙΝΑΚΑΣ EMPLOY σύνθετο κύριο κλειδί = (EMPNO, LANG_CODE, P_CODE) Σχήμα Πρώτη κανονική μορφή βάσης δεδομένων προσωπικού 19

21 Δεύτερη και Τρίτη Κανονική Μορφή ENAMEEMPNOEXPRSAL Κύριο κλειδί LANG_CODEUSEEMPNO Κύριο κλειδί LANGUAGELANG_CODE Κύριο κλειδί P_CODEPNAMEBUDGET Κύριο κλειδί EMPNOP_CODEPTIME Κύριο κλειδί 20

22 21

23 Απλοποιημένη βάση προσωπικού - μισθοδοσίας empno: κωδικός υπαλλήλου name: ονοματεπώνυμο expr: χρόνια υπηρεσίας στην εταιρεία job: θέση που έχει στο τμήμα basic_pay: βασικός μισθός qualification: τίτλος σπουδών relaxation_allowance: επίδομα 22

24 Ο βασικός μισθός καθορίζεται με προσωπική συμφωνία με τον εργαζόμενο Employee(empno, name, qualification, basic_pay, expr, job) Allowance(job, relaxation_allowance) 23

25 Ο βασικός μισθός εξαρτάται από τη θέση Employee(empno, name, qualification, expr, job) Allowance(job, relaxation_allowance, basic_pay) 24

26 Ο βασικός μισθός εξαρτάται από τη θέση και τις σπουδές Employee(empno, name, qualification, expr, job) Allowance(job, relaxation_allowance) Salary(job, qualification, basic_pay) 25

27 Απλοποιημένο σύστημα διαχείρισης παραγγελιών (orders) Order_noC_codeC_nameAddressO_dateItem_noI_nameList_priceqty Σχήμα Πρώτη κανονική μορφή. Κύριο κλειδί = (order_no, item_no) Πίνακας “Orders” 26

28 Δεύτερη κανονική μορφή Order_noC_codeC_nameAddressO_date Κύριο κλειδί Order_noItem_noqty Κύριο κλειδί Item_noI_nameList_price Κύριο κλειδί 27

29 Τρίτη κανονική μορφή – Διορθώστε Order_noC_codeC_nameAddressO_date Κύριο κλειδί Order_noItem_noqty Κύριο κλειδί Item_noI_nameList_price Κύριο κλειδί 28

30 29

31 Τέλος Ενότητας Ερωτήσεις;

32 Σημειώματα

33 Σημείωμα Αναφοράς Copyright Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας, Χ. Σκουρλάς 2014. Χ. Σκουρλάς. «Βάσεις Δεδομένων I (Θ). Ενότητα 7: Σχεδίαση βάσεων δεδομένων - Παραδείγματα - Επανάληψη». Έκδοση: 1.0. Αθήνα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: ocp.teiath.gr.ocp.teiath.gr

34 Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

35 Επεξήγηση όρων χρήσης έργων τρίτων Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. © διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. διαθέσιμο με άδεια CC-BY-ND Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. διαθέσιμο με άδεια CC-BY-NC-ND Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. χωρίς σήμανσηΣυνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.

36 Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει:  το Σημείωμα Αναφοράς  το Σημείωμα Αδειοδότησης  τη δήλωση Διατήρησης Σημειωμάτων  το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.

37 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.


Κατέβασμα ppt "Βάσεις Δεδομένων I (Θ) Ενότητα 7: Σχεδίαση βάσεων δεδομένων - Παραδείγματα - Επανάληψη Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google