Βαςεις δεδομενων 1 Δρ. Αλζξανδροσ Βακαλουδθσ
επικοινωνια Email: avakaloudis@hotmail.com Website: http://teiser.alvak.gr Ερωτιςεισ Στο ΤΕΙ Σερρϊν Δευτζρα, Τριτθ (κατοπιν ςυννενόθςθσ)
Σιμερα Μοντζλο οντοτιτων ςυςχετίςεων Πλοι οι ςυμβολιςμοί Ρερνϊντασ ςτο φυςικό επίπεδο
Μοντζλο οντοτιτων ςυςχετίςεων Entity-Relationship Model Ανικει ςτο λογικό επίπεδο Σχεδιάηει τθ βάςθ με ζνα τρόπο ουδζτερο Κατανοθτό (με λίγθ επεξιγθςθ) από ζνα μθ ειδικό Βαςίηεται ςτο ομϊνυμο διάγραμμα (ERD) Σε 2 ζννοιεσ Οντότθτεσ (ουςιαςτικά) Συςχετίςεισ (ριματα)
Οντοτιτεσ ςτο ERD Αντιςτοιχοφν ςτα ςθμεία τθσ εφαρμογισ τα οποία κελουμε να αποκθκεφςουμε ςτθ βάςθ δεδομζνων Ρ.χ. Φοιτθτισ, Μάκθμα, Σχολι, τμιμα Συμβολίηονται με ορκογϊνια μζςα ςτα οποία γράφουμε το όνομα τθσ οντότθτασ
Αςκενείσ οντοτιτεσ ςτο ERD Weak Entities Εκείνεσ που οι εγγραφζσ τουσ υπάρχουν μόνο αν υπάρχουν αντίςτοιχεσ εγγραφζσ ςε ςυςχετιηόμενεσ οντότθτεσ
Ρεδία οντότθτων ςτο ERD Κάκε οντότθτα ζχει ςυγκεκριµζναγνωρίςµατα Στο διάγραμμα δεν αρκεί να δϊςουμε το όνομα μιασ οντότθτασ Ρρζπει να περιγράψουμε και τα πεδία (γνωρίςματα) τουσ Συμβολίηονται με ελλείψεισ μεςα ςτισ οποίεσ γράφουμε το όνομα τουσ
Ρεδία οντότθτων ςτο ERD Το πρωτεφον κλειδί είναι υπογραμιςμζνο Επιπλζον υποπεριπτϊςεισ πεδίων Ραραγόμενα πεδία Σφνκετα πεδία
Ραραγόμενα πεδία οντοτιτων ςτο ERD Είναι τα πεδία τα οποία υπολογίηονται Ρ.χ. θ το πεδίο θλικία υπολογίηεται από το πεδίο Ημ. Γζννθςθσ Συμβολίηονται με διακεκομμζνεσ ελλείψεισ Αυτό δεν αποτελεί περιττι πλθροφορία?
Ραραγόμενα πεδία Δεν ζχουμε δθλαδι τθν ίδια πλθροφορία εισ διπλοφν? Αποτελεί επαναλαμβανόμενθ πλθροφορία Αλλά όχι περιττι Γιατί? Επειδι αλλιϊσ ςε ερωτιματα τα οποία χρειάηονται τθν θλικία κα ζπρεπε αυτι καϋκε φορά να υπολογίηονται Κακιςτϊντασ το ερϊτθμα πιο αργό Επαναλαμβάνοντασ τον ίδιο υπολογιςμό ςυνεχϊσ Αυτό κα ιταν περιττό
Σφνκετα πεδία οντότθτων ςτο ERD Αυτά είναι πεδία που αποτελοφνται από άλλα μικρά Ρ.χ. πεδιο address (διεφκυνςθ) Αποτελείται από οδό, αρικμό, πόλθ, ΤΚ, χϊρα Συμβολίηεται ζλλειψθ για κάκε πεδίο και με γραμμζσ που ενϊνουν κάκε πεδίο ςτο ςφνκετο Διεφκυνςθ Οδόσ Αρικμόσ Ρόλθ ΤΚ Χϊρα
Συςχετίςεισ ςτο ERD Αναπαρίςτανται ςυνικωσ με ριματα Συςχετίηουν (μερικζσ φορζσ περιςςότερεσ) οντότθτεσ Ένας κακθγθτισ διδάςκει πολλά μακιματα Μία ςχολι ζχει πολλά τμιματα Μποροφν να περιζχουν πεδία τα οποία ςυμβολίηονται με ελλείψεισ μεςα ςτισ οποίεσ γράφουμε το όνομα τουσ Άλλα δεν ζχουν πρωτεφοντα κλειδιά
Συςχετίςεισ ςτο ERD Υπάρχουν τφποι 1:1 ζνα προσ ζνα 1:Ν ζνα προσ πολλά Ν:Μ πολλά προσ πολλά Συμβολίηονται με ρόμβουσ μζςα ςτουσ οποίουσ γράφουμε το όνομα τθσ ςυςχετίςεωσ με γραμμζσ οι οποίεσ ενϊνουν το ρόμβο με τισ οντότθτεσ τισ οποίεσ ςυςχετίηουν Δθλϊνοντασ τον τφπο (π.χ. 1, Ν) ςε κάκε άκρο τθσ ςυςχετίςεωσ
Ρολλαπλζσ ςυςχετίςεισ ςτο ERD Οι ςυςχετίςεισ ςυνδζουν δφο οντότθτεσ Υπάρχουν όμωσ και πιο πολφπλοκεσ ςυςχετίςεισ Οι οποίεσ ςφνδεουν περιςςότερεσ οντότθτεσ Ρ.χ. Ρελάτθσ Νοικιάηει Αυτοκίνθτο Υπάλλθλοσ
Ρολλαπλζσ ςυςχετίςεισ ςτο ERD Το ERD υποςτιρίηει τζτοιεσ ςυςχετίςεισ Πμωσ μια καλι πρακτικι είναι να τισ αποφεφγουμε Ρωσ? Διαιρϊντασ τισ ςε πολλζσ ςυςχετίςεισ Ρελάτθσ Νοικιάηει Αυτοκίνθτο Διαχειρίηεται Υπάλλθλοσ Ανακζτει
ID AEM 1 Σχολι ID Πνομα Τθλ DOB Φοιτθτισ Ν Εκτελεί 1 Άνικει Ν Τμιμα Πνομα Πνομα ID Μ Ν ID Τίτλοσ Ημ. Ανάκεςθσ Ρτυχιακι Ν Επιβλζπει Μ Εγγράφεται Ημ. Εγγραφισ ID 1 Ραρακο λουκεί Κακθγθτισ Ν Μ Πνομα Διδάςκει Μάκθμα ΔΜ Ν Πνομα ID Εξάμθνο
Ραρατθριςεισ Δεν είναι θ μοναδικι ςωςτι λφςθ Και ςτο παραπάνω ςχιμα, είναι απλουςτευμζνθ Η οντότθτα Ρτυχιακι, είναι αδφναμθ Δεν μπορεί να υπάρξουν εγγραφζσ εκεί χωρίσ τθν αντίςτοιχθ εγγραφι ςε φοιτθτι και κακθγθτι
Ρερνϊντασ ςτο φυςικό επίπεδο Η χριςθ του ERD είναι μασ επιτρζψει να υλοποιιςουμε τουσ απαραίτθτουσ πίνακεσ Δθμιουργϊντασ ζτςι τθ βάςθ δεδομζνων θ οποία είναι ςυμβατι με το ERD Και το οποίο με τθ ςειρά του ζχει ςυμφωνθκεί με τον εντολοδόχο Ππωσ είχαμε πει τθν προθγοφμενθ εβδομαδα, υπάρχουν τρεισ βαςικοί κανόνεσ
Από το λογικό ςτο φυςικό επίπεδο 1. Για κάκε οντότθτα δθμιουργοφμε ζνα πίνακα 2. Για κάκε ςχεςθ 1:Ν, προςκζτουμε ωσ επιπλζον πεδίο ςτθν πλευρά των πολλϊν (Ν), το πρωτεφον κλειδί του 1 Ρ.χ. μία ςχολι ζχει πολλά τμιματα sxoli προςτίκεται ςτον πίνακα tmimata 3. Για κάκε ςχζςθ Ν:Μ δθμιουργοφμε ζνα ςυνδετικό πίνακα (bridge table) με τα πρωτεφοντα κλειδιά των δφο οντοτιτων π.χ. Ρολλά μακιματα τα παρακολουκοφν πολλοί φοιτθτζσ tmimatafoitites (tmimaid, foititesid)
Αποτζλεςμα ςτο προθγοφμενο παράδειγμα faculties (id, name) Dept (id,name, faculty) Modules (id, name, dm, semester) Lecturers (id,name) Students(id,AEM, name, DOB, tel, dept, regd) Projects (id,title, approvaldate, lecturer) StudentsProjects (id, student, project) StudentsModules (id,student, module) LecturersModules (id, lecturer, module)
Ραρατθριςεισ Πχι υποχρεωτικά ςε όλεσ τισ βάςεισ δεδομζνων αλλα γίνεται θ ηωι μασ ευκολότερθ Τα ονόματα πινάκων, πεδίων με λατινικουσ χαρακτιρεσ Χωρίσ κενά Ράντα αρχι με νοφμερο Τα ξζνα κλειδιά ασ ζχουν το όνομα του άλλου πίνακα
Αναδρομικζσ ςυςχετίςεισ Ζνασ πίνακασ ςυςχετίηεται με τον εαυτό του Ρ.χ. ζςτω ζνασ πίνακασ Υπάλλθλοι και ο κάκε υπάλλθλοσ ζχει ζνα αφεντικό (ο οποίοσ είναι επίςθσ υπάλλθλοσ με πολλοφσ υφιςταμζνουσ) Ιςχφει ο 2 οσ κανόνασ, προςκετουμε το κλειδί ΚΑΙ ωσ ξζνο κλειδί 1 Υπάλλθλοι Ν εποπτεφεται
Σενάριο Εταιρεία ΤΑΞΙ Μία εταιρεία πολλϊν ταξί, ζχει ωσ υπαλλιλουσ οριςμζνουσ οδθγοφσ και γραμματείσ Κάκε οδθγόσ ζχει ζνα αυτοκίνθτο υπό τθν ευκφνθ του αλλά μπορεί να οδθγιςει και άλλα Κάκε γραμματζασ ζχει ζνα τθλζφωνο Κάκε τθλεφωνικι κράτθςθ γίνεται από ζνα γραμματζα και προσ ζνα οδθγό