ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ

Σχετικά έγγραφα
Διαδικασία Ανάπτυξης ΣΔΒΔ

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

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

Το Μοντέλο Οντοτήτων Συσχετίσεων

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD)

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

Μοντέλο Οντοτήτων-Συσχετίσεων

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Διάγραμμα Οντοτήτων - Συσχετίσεων

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

ER Diagram Συσχετίσεις Ασθενείς Οντότητες Παράδειγμα ER.. Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

Μετασχηµατισµός διαγράµµατος ER σε σχεσιακό σχήµα Β

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης. Το µοντέλο Οντοτήτων Συσχετίσεων Το Σχεσιακό Μοντέλο εδοµένων

Μοντέλο Οντοτήτων-Συσχετίσεων

Μοντέλο Οντοτήτων-Συσχετίσεων

Το Σχεσιακό Μοντέλο Βάσεων Δεδομένων

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

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

Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

ΗΥ360 - Αρχεία και Βάσεις Δεδομένων Χειμερινό Eξάμηνο Μοντέλο Οντοτήτων-Συσχετίσεων Σχεσιακό Μοντέλο

Σχεσιακή δοµή δεδοµένων

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Καθ. Ιωάννης Βασιλείου ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ

Εισαγωγή στα Πληροφοριακά Συστήματα

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Εργαστήριο Βάσεων εδοµένων. Άσκηση 2. Η βάση βιβλιοθήκη περιλαµβάνει πληροφορίες για τα βιβλία, τους συγγραφείς και τους εκδοτικούς οίκους.

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

Εργαστηριακές Ασκήσεις Σελίδα 1

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

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

ΕΝΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΔΕΔΟΜΕΝΩΝ (6)

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

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων

Εισαγωγή-Ορισµοί Ε ΟΜΕΝΑ (DATA) Γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόηµα ΒΑΣΗ Ε ΟΜΕΝΩΝ (DATABASE) Μία ΟΛΟΚΛΗΡΩΜΕΝΗ συλλογή εδοµ

Μοντέλο Οντοτήτων-Συσχετίσεων

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης

1

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

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

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

Εισαγωγή στις Βάσεις εδοµένων και την Access

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Το Μοντέλο Οντοτήτων Συσχετίσεων

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

Εισαγωγή. Σχεδιασµός µιας Β

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ,

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

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

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

Η Θεωρία των Βάσεων Δεδομένων

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

Πεδία (Attributes) Συσχετίσεις (Relationships) Κλειδιά (Identifiers) Οντότητες είναι υποψήφια αρχεία

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


Διαχείριση Πολιτισμικών Δεδομένων

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λίγα λόγια από το συγγραφέα...7

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

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

Θέματα ανακεφαλαίωσης

Βάσεις Δεδομένων Ι. 3 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

ΕΥΡΕΣΗ ΠΡΟΫΠΗΡΕΣΙΑΣ ΩΡΟΜΗΣΘΙΩΝ ΚΑΘΗΓΗΤΩΝ, ΜΕ ΤΗΝ ΧΡΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Διαχείριση Πολιτισμικών Δεδομένων

Εισαγωγή στην πληροφορική

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Διαδικασία σχεδιασμού Β.Δ.

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

Μοντέλο αρχείων Οι βασικές έννοιες

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

Τίτλος: Σύστηµα ιαχείρισης Ηλεκτρονικής Αποθήκης για την Ελληνική Αστυνοµία

Βάση Δεδομένων: συλλογή από σχετιζόμενα δεδομένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ): λογισμικό για δημιουργία και χρήση μιας βάσης δεδομένων

Μοντέλο Οντοτήτων-Συσχετίσεων

Σχεδίαση Σχεσιακών ΒΔ

Σχεδίαση Βάσεων. Τεχνητά, Σύνθετα, και Δευτερεύοντα Μοναδικά Χαρακτηριστικά (UIDs, Unique IDentifiers) Artificial, Composite, and Secondary UIDs

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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Αρχεία και Βάσεις Δεδομένων

Εισαγωγή στα Πληροφοριακά Συστήματα

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

Βάσεις εδοµένων Βασίλειος Βεσκούκης Κανονικοποίηση σχήµατος Β Σύνοψη

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκοντες: Καθ. Ιωάννης Βασιλείου, Καθ. Τιμολέων Σελλής ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ

Transcript:

ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 2ο Σχεσιακό µοντέλο (E-R model), ιάγραµµα οντοτήτων συσχετίσεων (E-R diagram), Σχεσιακό σχήµα βάσης δεδοµένων (Relational database schema) Αθανασίου Ειρήνη, MSc 1

Σχεσιακές βάσεις δεδοµένων Τα Σχεσιακά Συστήµατα ιαχείρισης Βάσεων εδοµένων (ΣΣ Β ) ή RBMS (Relational DataBase Management Systems) αναπτύχθηκαν µε βάση το σχεσιακό µοντέλο και έχουν επικρατήσει πλήρως στον χώρο. Κατά τον σχεδιασµό και τη δηµιουργία µιας σχεσιακής βάσης δεδοµένων, οι πίνακες αποτελούν το µοναδικό δοµικό και απαραίτητο στοιχείο για µπορέσουν να αναπαρασταθούν οι πληροφορίες που περιέχονται στη βάση δεδοµένων. Ο όρος σχεσιακό σηµαίνει ότι κάθε εγγραφή της βάσης δεδοµένων περιέχει πληροφορίες συσχετισµένες µ ένα µοναδικό θέµα και µόνο µ αυτό. Ακόµη, τα δεδοµένα που αφορούν σε δύο κατηγορίες πληροφοριών, όπως π.χ. πελάτες και παραγγελίες, µπορούν να αντιµετωπίζονται σαν µια οντότητα που βασίζεται σε συσχετισµένες τιµές δεδοµένων. Π.χ.: Στις παραγγελίες που κάνουν οι πελάτες της εταιρίας θα ήταν σπατάλη χώρου και επικίνδυνο να κάνουµε λάθη αν σε κάθε παραγγελία ενός πελάτη, γράφαµε και τα στοιχεία του, όπως τα επώνυµο, όνοµα, διεύθυνση, ΑΦΜ κ.ά. Ακόµα, αν αλλάξουν κάποια στοιχεία του πελάτη και αυτός έχει κάνει 50 παραγγελίες, θα πρέπει να διορθώσουµε 50 φορές τα στοιχεία του. Αντί γι αυτό, στο σχεσιακό σύστηµα, χρησιµοποιούµε τον κωδικό του πελάτη, που είναι µοναδικός για κάθε πελάτη, σαν πεδίο στα στοιχεία του πελάτη και στα στοιχεία της παραγγελίας και χρησιµεύει για να µπορεί να γίνεται η σύνδεση της κάθε παραγγελίας µε τα στοιχεία του πελάτη. 2

Το Μοντέλο Οντοτήτων Συσχετίσεων (ΟΣ) Entity Relationship model (E-R model) Το µοντέλο που έχει επικρατήσει σήµερα για να παραστήσει τις έννοιες ή τη δοµή µιας βάσης δεδοµένων είναι το Μοντέλο Οντοτήτων Συσχετίσεων (ΟΣ). Οι βασικές (θεµελιώδεις) έννοιες του µοντέλου αυτού είναι οι εξής : Οντότητες Ιδιότητες ή Χαρακτηριστικά Συσχετίσεις Για να αναπαραστήσουµε ένα Μοντέλο Οντοτήτων Συσχετίσεων χρησιµοποιούµε ειδικά διαγράµµατα, όπου τα ορθογώνια συµβολίζουν τις οντότητες, οι ρόµβοι τις συσχετίσεις και οι ελλείψεις τις ιδιότητες. Με ευθείες γραµµές συνδέουµε τις οντότητες που συσχετίζονται µε κάποιο τρόπο µεταξύ τους. Όλα τα παραπάνω αποτελούν τη λογική δοµή µιας βάσης δεδοµένων, µια εργασία που είναι απαραίτητο να γίνει πριν από την καταχώριση και την επεξεργασία των στοιχείων (πληροφοριών) της βάσης δεδοµένων. 3

Συµβολισµοί του διαγράµµατος ΟΣ ΠΛΕΙΟΤΙΜΟ ΓΝΩΡΙΣΜΑ 4

Οι Οντότητες Με τον όρο οντότητα (entity) αναφερόµαστε σε κάθε αντικείµενο, έννοια, πρόσωπο ή κατάσταση που έχει µια ανεξάρτητη ύπαρξη. Είναι κάτι που ξεχωρίζει και µπορούµε να συγκεντρώσουµε πληροφορίες (στοιχεία) γι αυτό. Η οντότητα είναι αντίστοιχη µε την έννοια του αντικειµένου στις σύγχρονες αντικειµενοστραφείς γλώσσες προγραµµατισµού. Παραδείγµατα οντοτήτων είναι τα εξής : ΠΕΛΑΤΗΣ, ΠΑΡΑΓΓΕΛΙΑ, ΠΡΟΜΗΘΕΥΤΗΣ, ΑΠΟΘΗΚΗ, ΜΑΘΗΤΗΣ, ΚΑΘΗΓΗΤΗΣ, ΑΘΛΗΤΗΣ, ΑΓΩΝΙΣΜΑ, ΧΩΡΑ, ΠΟΛΕΙΣ κ.ά. Μια βάση δεδοµένων µπορεί να περιέχει πολλές διαφορετικές οντότητες, οι οποίες απεικονίζονται µε ορθογώνια παραλληλόγραµµα και συσχετίζονται µεταξύ τους ανά δύο. ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ 5

Οι Ιδιότητες (Χαρακτηριστικά) των Οντοτήτων Με τον όρο ιδιότητες (properties) ή χαρακτηριστικά (attributes) αναφερόµαστε στα συστατικά (δοµικά) στοιχεία που προσδιορίζουν (αποτελούν) µια οντότητα. Η ιδιότητα είναι αντίστοιχη µε την έννοια του πεδίου που συναντάµε στα αρχεία και στους πίνακες αλλά και µε την έννοια της µεταβλητής στις γλώσσες προγραµµατισµού. Για παράδειγµα, η οντότητα ΓΙΑΤΡΟΣ µπορεί να αποτελείται από τις ιδιότητες (χαρακτηριστικά) Αριθµός Μητρώου, Επώνυµο, Όνοµα, Πατρώνυµο, Ειδικότητα, Βαθµός, Έτος Γέννησης, ιεύθυνση, ΑΦΜ, Τηλέφωνο, Κινητό κ.ά., ενώ η οντότητα ΑΘΛΗΤΗΣ µπορεί να αποτελείται από τις ιδιότητες (χαρακτηριστικά) Κωδικός Αθλητή, Επώνυµο, Όνοµα, Πατρώνυµο, Αγώνισµα, Επίδοση, Σύλλογος, Έτος Γέννησης, ιεύθυνση, Τηλέφωνο, Κινητό κ.ά. 6

Χαρακτηριστικά Σύνθετα vs Απλά Μονότιµα vs Πλειότιµα Αποθηκευµένα vs Παραγόµενα Κλειδιά Σύνθετα κλειδιά 7

Σύνθετα vs Απλά Σύνθετα: Τα γνωρίσµατα που µπορούν να χωριστούν σε µικρότερα τµήµατα, όπως πχ η διεύθυνση 8

Πλειότιµα vs Μονότιµα Πλειότιµα: Τα γνωρίσµατα για τα οποία µία οντότητα έχει πολλές τιµές. Πχ το γνώρισµα «ξένες γλώσσες» για την οντότητα µαθητής µπορεί να έχει πολλές τιµές, όπως Αγγλικά και Γαλλικά 9

Αποθηκευµένα vs Παραγόµενα Παραγόµενα: Τα γνωρίσµατα που µπορούν να παραχθούν από αποθηκευµένα γνωρίσµατα. Πχ το γνώρισµα «καθαρές αποδοχές» µπορεί να παραχθεί από το «µικτές αποδοχές». 10

Τα Κλειδιά Με τον όρο κλειδί (key) ή πιο σωστά πρωτεύον κλειδί (primary key) αναφερόµαστε σε µια ιδιότητα (πεδίο), ή σπανιότερα σ ένα σύνολο ιδιοτήτων (πεδίων), η τιµή της οποίας είναι µοναδική σ ολόκληρη την οντότητα (πίνακας). Στην πράξη, το πρωτεύον κλειδί έχει διαφορετική τιµή για κάθε εµφάνιση της οντότητας ή για κάθε γραµµή (εγγραφή) του πίνακα και ποτέ δεν µπορεί να έχει µηδενική (κενή) τιµή (null). Προσοχή, άλλο πράγµα είναι ο αριθµός 0 και άλλο πράγµα είναι η κενή τιµή (null), δηλ. η µη ύπαρξη τιµής. Ο συνδυασµός δύο ή και περισσοτέρων ιδιοτήτων (πεδίων) για τη δηµιουργία ενός πρωτεύοντος κλειδιού αποκαλείται σύνθετο κλειδί. Ένα παράδειγµα σύνθετου κλειδιού θα µπορούσε να είναι ο συνδυασµός των ιδιοτήτων Επώνυµο, Όνοµα και Πατρώνυµο, εφόσον φυσικά είµαστε απολύτως βέβαιοι ότι δεν υπάρχουν δύο ή και περισσότερα άτοµα µε κοινές τιµές στις παραπάνω ιδιότητες. Ξένο κλειδί αποκαλείται µια ιδιότητα (πεδίο) που είναι πρωτεύον κλειδί σε µια οντότητα (πίνακας) αλλά που υπάρχει και σε µια άλλη οντότητα (πίνακας) σαν απλή ιδιότητα. Τα ξένα κλειδιά είναι απαραίτητα για να µπορέσουµε να κάνουµε τις συσχετίσεις (συνδέσεις, επικοινωνίες) ανάµεσα στις οντότητες (πίνακες). 11

Παραδείγµατα κλειδιών Κλειδί, π.χ. αριθµός ταυτότητας Σύνθετο κλειδί, π.χ. τα γνωρίσµατα username και isp µπορούν µαζί να αποτελέσουν κλειδί, που αλλιώς είναι το γνώρισµα email,frank, ceid.upatras.gr->frank@ceid.upatras.gr 12

Οι Συσχετίσεις Μεταξύ Οντοτήτων Ο σωστός σχεδιασµός και προσδιορισµός των οντοτήτων και των ιδιοτήτων τους αποτελούν τα θεµελιώδη βήµατα για τη σωστή σχεδίαση και υλοποίηση µιας βάσης δεδοµένων. Μια συσχέτιση συνδέει δύο ή και περισσότερες οντότητες µεταξύ τους και παριστάνεται στο διάγραµµα οντοτήτων συσχετίσεων µ έναν ρόµβο. Οι συσχετίσεις είναι απαραίτητες για να µπορέσουµε να αντλήσουµε πληροφορίες που αφορούν δύο ή και περισσότερες οντότητες, όπως για παράδειγµα ποιοι πελάτες έκαναν παραγγελίες κάποια συγκεκριµένη χρονική περίοδο (συσχέτιση ΠΑΡΑΓΓΕΛΝΕΙ) ή ποιοι αθλητές ανήκουν σε ποιους συλλόγους (συσχέτιση ΑΝΗΚΕΙ) ή ποιοι αθλητές έλαβαν µέρος σε αγωνίσµατα µια συγκεκριµένη χρονιά (συσχέτιση ΣΥΜΜΕΤΕΧΕΙ) κοκ. ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΝΕΙ ΠΡΟΪΟΝ Μια συσχέτιση µπορεί και η ίδια να έχει ιδιότητες που να περιγράφουν ορισµένα χαρακτηριστικά της, όπως για παράδειγµα η συσχέτιση ΠΑΡΑΓΓΕΛΝΕΙ ανάµεσα στις οντότητες ΠΕΛΑΤΗΣ και ΠΡΟΪΟΝ µπορεί να περιέχει τις ιδιότητες (πεδία) Κωδικός Πελάτη, Κωδικός Προϊόντος, Κωδικός Παραγγελίας, Ηµεροµηνία Παραγγελίας, Ποσότητα κ.ά. ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΣΥΜΜΕΤΕ ΚΑΝΕΙ ΠΡΟΪΟΝ ΧΕΙ Υπάρχουν τρία βασικά είδη συσχετίσεων : 13

Συσχέτιση Ένα προς Ένα Ένα προς Ένα- one to one (1 1). Στην περίπτωση αυτή µια εγγραφή της µιας οντότητας αντιστοιχεί σε µια και µόνο εγγραφή της άλλης οντότητας Π.χ. έστω ότι έχουµε τις οντότητες Πελάτης µε πεδία Κωδικός_Πελάτη, ιεύθυνση, Περιοχή κλπ και την οντότητα Στοιχεία_Πελάτη, µε τα πεδία Κωδικός_Πελάτη, Αριθµός_Ταυτότητας, Ονοµατεπώνυµο, κλπ. Αν θέλουµε να εµφανίσουµε τα ονόµατα των πελατών µας και τους αντίστοιχους αριθµούς των ταυτοτήτων τους, πρέπει να εφαρµόσουµε µια τέτοια συσχέτιση όπου µια εγγραφή της οντότητας Πελάτης αντιστοιχεί σε µια και µόνο εγγραφή της οντότητας Στοιχεία_Πελάτη, γιατί κάθε πολίτης έχει µόνο µια ταυτότητα. Ένας οδηγός µπορεί να έχει ένα µόνο δίπλωµα οδήγησης, αλλά και ένα δίπλωµα οδήγησης ανήκει µόνο σ έναν οδηγό. Ένα αυτοκίνητο µπορεί να έχει µόνο µία µηχανή, αλλά και µία µηχανή ανήκει µόνο σ ένα αυτοκίνητο. Ένας νοµός µπορεί να έχει µόνο µία πόλη σαν πρωτεύουσα, αλλά και µία πόλη µπορεί να είναι πρωτεύουσα µόνο ενός νοµού. ΠΕΛΑΤΗΣ 1 1 ΕΧΕΙ ΣΤΟΙΧΕΙΑ ΠΕΛΑΤΗ 14

Συσχέτιση Ένα προς Πολλά Ένα προς Πολλά-one to many (1 ) ή Πολλά προς Ένα-many to one ( 1). Στην περίπτωση αυτή µια εγγραφή της µιας οντότητας αντιστοιχεί σε πολλές εγγραφές της άλλης οντότητας. Π.χ. Ένας πελάτης κάνει πολλές παραγγελίες, αλλά µια παραγγελία ανήκει µόνο σ έναν πελάτη, σ ένα νοσοκοµείο, ένας γιατρός µπορεί να παρακολουθεί πολλούς ασθενείς, αλλά ένας ασθενής παρακολουθείται µόνο από έναν γιατρό, ένας υπάλληλος σε µια διεύθυνση συγκοινωνιών καταχωρεί πολλά διπλώµατα, αλλά ένα δίπλωµα καταχωρείται µόνο από έναν υπάλληλο. ΠΕΛΑΤΗΣ 1 ΚΑΝΕΙ Ν ΠΑΡΑΓΓΕΛΙΑ 15

Συσχέτιση Πολλά προς Πολλά Πολλά προς Πολλά- many to many ( ).Στην περίπτωση αυτή πολλές εγγραφές της µιας οντότητας, αντιστοιχούν σε πολλές εγγραφές της άλλης οντότητας. Π.χ. έστω ότι έχουµε τις οντότητες Ιατροί_Νοσοκοµείου και Ασθενείς. Είναι προφανές ότι ένας ιατρός µπορεί να περιθάλπει πολλούς ασθενείς, ενώ ταυτόχρονα ένας ασθενής να περιθάλπεται από πολλούς ιατρούς διαφορετικής ειδικότητας ο καθένας, Ένας καθηγητής διδάσκει σε πολλούς µαθητές, αλλά και ένας µαθητής διδάσκεται από πολλούς καθηγητές, ένας ιδιοκτήτης µπορεί να έχει στην κατοχή του πολλά ακίνητα, αλλά και ένα ακίνητο µπορεί να ανήκει σε πολλούς ιδιοκτήτες, ένας αθλητής παίρνει µέρος σε πολλούς αγώνες, αλλά και σ έναν αγώνα παίρνουν µέρος πολλοί αθλητές. ΠΕΛΑΤΗΣ Μ ΠΑΡΑΓΓΕΛΝΕΙ Ν ΠΡΟΪΟΝ 16

Συσχετίσεις-Ολική Συµµετοχή Η ολική συµµετοχή ή εξάρτηση ύπαρξης ορίζει αν η ύπαρξη µιας οντότητας εξαρτάται από το αν σχετίζεται µε µια άλλη οντότητα µέσω του τύπου της συσχέτισης. 17

Αναδροµικές Συσχετίσεις Αναδροµικές συσχετίσεις συµβαίνουν στην περίπτωση που ο ίδιος τύπος οντότητας συµµετέχει παραπάνω από µια φορές στη συσχέτιση µε διαφορετικό ρόλο. Ν ΕΠΟΠΤΕΥΕΙ 1 ΥΠΑΛΛΗΛΟΣ 18

Συσχετίσεις-Χαρακτηριστικά Μια συσχέτιση µπορεί να έχει κάποια χαρακτηριστικά όπως και οι οντότητες. 19

Μη ισχυροί τύποι οντοτήτων (Weak Entity types) Μη ισχυροί τύποι οντοτήτων λέγονται οι τύποι οντοτήτων που δεν έχουν γνώρισµα-κλειδί. Προσδιορίζονται από τη σχέση τους (προσδιορίζουσα συσχέτιση) µε άλλες οντότητες (προσδιορίζοντας ιδιοκτήτης), σε συνδυασµό µε τις τιµές κάποιων γνωρισµάτων τους (µερικά κλειδιά). Ένας µη ισχυρός τύπος οντοτήτων έχει πάντα περιορισµό ολικής συµµετοχής ως προς την προσδιορίζουσα συσχέτισή του. ηλαδή η σχέση είναι υποχρεωτική-πρέπει Παράδειγµα 20

Παράδειγµα 1ο Φαρµακείο (1/4) Θεωρείστε τις παρακάτω προδιαγραφές για την κατασκευή µιας βάσης δεδοµένων η οποία θα διατηρεί πληροφορίες για την αποθήκη και το πελατολόγιο ενός συγκεκριµένου φαρµακείου. Συγκεκριµένα : Για κάθε πελάτη του φαρµακείου διατηρούµε πληροφορίες σχετικά µε το όνοµά του, το επίθετό του, το ασφαλιστικό του φορέα, το µητρώο του ασφαλιστικού του φορέα, καθώς και την ηµεροµηνία γέννησής του. Επίσης διατηρούµε δεδοµένα για το ποσό που έχει δαπανήσει σε αγορές από το φαρµακείο καθώς και το υπόλοιπο του λογαριασµού του (ποσό που δεν έχει εξοφληθεί). Για τα φάρµακα διατηρούµε πληροφορίες για το όνοµα του φαρµάκου, την κατηγορία στην οποία ανήκει (π.χ. αναλγητικό, υπνωτικό κτλ), περιγραφή του φαρµάκου, παρενέργειες του φαρµάκου, την τιµή του, τον µοναδικό κωδικό του φαρµάκου καθώς και την διαθέσιµη ποσότητά του στην αποθήκη. Επίσης θα πρέπει να διατηρείται πληροφορία για κάθε αγορά φαρµάκων. Σε κάθε αγορά θα πρέπει να καταγράφουµε την ποσότητα του εκάστοτε φάρµακου, την ηµεροµηνία αγοράς και την συνολική αξία της. Κάθε πελάτης µπορεί να πραγµατοποιεί µία η περισσότερες αγορές. Μία αγορά πραγµατοποιείται αποκλειστικά από έναν πελάτη. Ένα φάρµακο µπορεί να συµµετέχει σε µία ή περισσότερες αγορές. Μία αγορά µπορεί να περιέχει ένα ή περισσότερα είδη φαρµάκων. 21

Παράδειγµα 1ο Φαρµακείο (2/4) Οντότητες : Φάρµακο Πελάτης Αγορά? Σχέσεις : Πελάτης (µπορεί να) πραγµατοποιεί αγορά 1-Ν Αγορά (πρέπει να) συµπεριλαµβάνει φάρµακο Μ-Ν 22

Παράδειγµα 1ο Φαρµακείο (3/4) Πρώτη λύση - ιάγραµµα E-R 23

Παράδειγµα 1ο Φαρµακείο (4/4) εύτερη λύση - ιάγραµµα E-R 24

Παράδειγµα 2ο Βιβλιοπωλείο (1/2) Θέλουµε να κατασκευάσουµε µια Β για την αλυσίδα βιβλιοπωλείων «ηµόκριτος». Σε κάθε πόλη υπάρχει µόνο ένα κατάστηµα. Για κάθε κατάστηµα διατηρούµε πληροφορίες για την ταχυδροµική του διεύθυνση (η οποία αποτελείται από οδό, αριθµό και ΤΚ) και το ωράριο λειτουργίας του. Κάθε κατάστηµα πουλά βιβλία. Ένα βιβλίο πρέπει να διατίθεται από ένα ή περισσότερα καταστήµατα. Κάθε κατάστηµα µπορεί να διαθέτει ή όχι ένα βιβλίο και αν το διαθέτει µπορεί να έχει ένα ή περισσότερα αντίτυπά του. Για κάθε βιβλίο που πουλά ένα κατάστηµα, κρατάµε τον αριθµό των αντιτύπων που διαθέτει και την τιµή που το πουλά (που µπορεί να είναι διαφορετική για κάθε κατάστηµα). Κάθε βιβλίο έχει έναν µοναδικό κωδικό (ISBN). Επίσης, κρατάµε πληροφορία για τoν εκδοτικό οίκο, το χρόνο έκδοσής του, τους συγγραφείς του και τον τίτλο του. Κάποια βιβλία αποτελούν επανεκδόσεις προηγούµενων βιβλίων. Κάθε επανέκδοση έχει διαφορετικό ISBN 25

Παράδειγµα 2ο Βιβλιοπωλείο (2/2) Οδό Αριθµό Τ.Κ. Εκδ. Οίκος Έτος Έκδοσης Ωράριο ιεύθυνση ISBN Συγγραφείς Πόλη Ν Μ Κατάστηµα Πουλά Βιβλία Τίτλος Αρ. Αντιτύπων Τιµή 1 Επανέκδοση Ν 26

Παράδειγµα 3ο Πανεπιστήµιο (1/2) Η γραµµατεία ενός πανεπιστηµίου κρατάει πληροφορίες για τις ακόλουθες οντότητες: Μαθήµατα (νούµερο, τίτλο, αρ. διδακτικών µονάδων, περίληψη, προαπαιτούµενα µαθήµατα) Προσφερόµενα µαθήµατα (νούµερο µαθήµατος, έτος, εξάµηνο, τοµέας, καθηγητής, ώρα, τάξη) Φοιτητές (Αρ. Μητρώου, όνοµα, πρόγραµµα) Καθηγητές (ΑΤ, όνοµα, τµήµα, τίτλος) Επιπλέον η εγγραφή φοιτητών σε µαθήµατα και οι βαθµοί των φοιτητών σε κάθε µάθηµα πρέπει να µοντελοποιηθούν κατάλληλα. Κατασκευάστε το E-R µοντέλο. 27

Παράδειγµα 3ο Πανεπιστήµιο (2/2) 28