ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΡΟΝΟΜΩΝ ΤΟΠΟΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ Μάθηµα: ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΡΑΠΤΗ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2002 ιδάσκοντες: Τ.Σελλής, Β.Βεσκούκης Θεµα 1 (µονάδες 50) ια την υποστήριξη της καταγραφής και της αντιµετώπισης των κακοτεχνιών στους δρόµους, οι αρµόδιες υπηρεσίες σχεδιάζουν να χρησιµοποιήσουν µια σχεσιακή βάση δεδοµένων. Στη βάση αυτή, πρέπει να αποθηκεύονται τα παρακάτω στοιχεία: 1. Τηλεφωνήµατα που πραγµατοποιήθηκαν στην υπηρεσία συλλογής καταγγελιών. ια κάθε τηλεφώνηµα ενδιαφέρουν τα στοιχεία: ηµεροµηνία, ώρα, ονοµατεπώνυµο, Α Τ και τηλέφωνο του ατόµου που πραγµατοποιεί την καταγγελία, υπάλληλος που έλαβε την καταγγελία. 2. Κακοτεχνίες που έχουν καταγγελθεί. ια κάθε κακοτεχνία ενδιαφέρουν τα στοιχεία: δήµος, διεύθυνση (οδός, αριθµός), περιγραφή, σοβαρότητα στην κλίµακα 1-10 (1:αισθητικό πρόβληµα έως 10:αδύνατη η διέλευση οχηµάτων), κατάσταση (ληφθείσα, επιβεβαιωµένη, εκκρεµής, υπό επισκευή, επισκευασµένη). Σε κάθε τηλεφώνηµα µπορούν να καταγγέλλονται πολλές κακοτεχνίες και επίσης, η ίδια κακοτεχνία µπορεί να καταγγέλλεται σε περισσότερα του ενός τηλεφωνήµατα. 3. Ενέργειες για την αντιµετώπιση των κακοτεχνιών. Κάθε κακοτεχνία απαιτεί µια ή περισσότερες επισκευές προκειµένου να διορθωθεί. ια κάθε τέτοια παρέµβαση ενδιαφέρουν τα στοιχεία: περιγραφή επισκευής, εργολάβος που πραγµατοποίησε την επισκευή, ηµεροµηνία έναρξης εργασιών, ηµεροµηνία λήξης εργασιών, κόστος εργασιών. 1.1 (Μονάδες 15) Να κατασκευάσετε ένα διάγραµµα οντοτήτων - συσχετίσεων για τα τµήµατα 1 και 2 της Β που περιγράφηκε παραπάνω.
Επεξήγηση ονοµάτων ιδιωµάτων PHONECALL Τηλεφώνηµα ADDRESS.STREET ιεύθυνση.οδός PHONECALL_ID Κωδικός τηλεφωνήµατος ADDRESS.NUMBER ιεύθυνση.αριθµός DATE Ηµεροµηνία DESCRIPTION Περιγραφή κακοτεχνίας TIME Ωρα RANK Βαθµός σοβαρότητας CALLER_NAME Ονοµατεπώνυµο καταγγέλλοντος STATUS Κατάσταση CALLER_ADT Α Τ καταγγέλλοντος LEADS_TO Επιφέρει CALLER_PHONE Τηλ καταγγέλλοντος ACTION Ενέργεια επισκευής EMPLOYEE_NAME Ονοµατεπώνυµο υπαλλήλου που λαµβάνει την καταγγελία ACTION_ID Κωδικός ενέργειας επισκευής CONTAINS Περιέχει DESCRIPTION Περιγραφή επισκευής REPORT Αναφορά κακοτεχνίας COMPANY Εταιρία ανάδοχος REPORT_ID Κωδικός αναφοράς κακοτεχνίας DATE_START Ηµεροµηνία έναρξης CITY Πόλη DATE_FINISH Ηµεροµηνία λήξης COST Κόστος επισκευής 1.2 (Μονάδες 20) Να ορίσετε το σχήµα µιας σχεσιακής Β που αντιστοιχεί στο διάγραµµα οντοτήτων-συσχετίσεων που κατασκευάσατε στο ερώτηµα 1.1. Πρέπει να προσδιορίσετε τις σχέσεις (πίνακες) τα ιδιώµατα κάθε σχέσης (πεδία), τα ξένα κλειδιά που θα ανήκουν σε κάθε σχέση, καθώς και το πρωτεύον κλειδί για κάθε σχέση. PHONECALL PHONECALL_ID DATE TIME CALLER_NAME CALLER_ADT CALLER_PHONE EMPLOYEE_NAME CONTAINS PHONECALL_ID REPORT_ID REPORT REPORT_ID CITY STREET NUMBER DESCRIPTION RANK STATUS_ID ACTION ACTION_ID REPORT_ID DESCRIPTION COMPANY DATE_START DATE_FINISH COST STATUS STATUS_ID STATUS_DESCRIPTION Η οµάδα Α περιέχει τις σχέσεις PHONECALL, CONTAINS, REPORT, STATUS. Η οµάδα Β περιέχει τις σχέσεις REPORT, ACTION, STATUS Τα κύρια κλειδιά φαίνονται υπογραµµισµένα, ενώ τα ξένα κλειδιά φαίνονται µε πλάγια γράµµατα. Η σχέση STATUS δεν είναι υποχρεωτικό να οριστεί. Αν οριστεί, σύµφωνα µε την περιγραφή του προβλήµατος θα πρέπει να περιέχει τις πλειάδες: STATUS_ID STATUS_DESCRIPTION 1 ΛΗΦΘΕΙΣΑ 2 ΕΠΙΒΕΒΑΙΩΜΕΝΗ 3 ΕΚΚΡΕΜΗΣ 4 ΥΠΟ ΕΠΙΣΚΕΥΗ 5 ΕΠΙΣΚΕΥΑΣΜΕΝΗ 2
1.3 (Μονάδες 15) Με βάση το σχήµα που κατασκευάσατε στο 1.2, να δώσετε τις εντολές SQL που απαντούν στα παρακάτω ερωτήµατα: ΟΜΑ Α Α Α. Ποια είναι η περιγραφή και η σοβαρότητα των καταγγελιών οι οποίες αναφέρονται σε κακοτεχνίες επί της οδού ΝΑΞΟΥ στο δήµο ΚΟΡΥ ΑΛΛΟΥ; Β. Ποιες είναι οι καταγγελίες (όλα τα στοιχεία) που έλαβε ο τηλεφωνητής µε όνοµα ΑΝ ΡΕΟΥ;. Ποιες είναι οι διευθύνσεις και οι περιγραφές για τις ΕΠΙΒΕΒΑΙΩΜΕΝΕΣ κακοτεχνίες σε δρόµους του δήµου ΖΩΡΑΦΟΥ; ΟΜΑ Α Β Α. Ποιες είναι οι καταγγελίες (όλα τα στοιχεία) που έλαβε ο τηλεφωνητής µε όνοµα ΒΑΣΙΛΕΙΟΥ; Β. Ποια είναι η περιγραφή και η σοβαρότητα των καταγγελιών οι οποίες αναφέρονται σε κακοτεχνίες επί της οδού ΠΑΝΟΡΜΟΥ στο δήµο ΑΘΗΝΑΙΩΝ;. Ποιες είναι οι διευθύνσεις και οι περιγραφές για τις ΕΠΙΣΚΕΥΑΣΜΕΝΕΣ κακοτεχνίες σε δρόµους του δήµου ΚΑΙΣΑΡΙΑΝΗΣ; (οµάδα Α) A Β Β SELECT DESCRIPTION, RANK WHERE CITY='ΚΟΡΥ ΑΛΛΟΣ' AND STREET='ΝΑΞΟΥ', PHONECALLS, CONTAINS WHERE PHONECALLS.EMPLOYEE_NAME='ΑΝ ΡΕΟΥ' AND PHONECALLS.PHONECALL_ID=CONTAINS.PHONECALL_ID AND CONTAINS.REPORT_ID=REPORTS.REPORT_ID FROM (REPORTS INNER JOIN (CONTAINS INNER JOIN PHONECALLS ON PHONECALLS.PHONECALL_ID=CONTAINS.PHONECALL_ID) ON CONTAINS.REPORT_ID=REPORTS.REPORT_ID) WHERE PHONECALLS.EMPLOYEE_NAME='ΑΝ ΡΕΟΥ' Απλή εκδοχή µε ορισµένη τη σχέση STATUS σύµφωνα µε την απάντηση του 1.2: SELECT STREET, NUMBER, DESCRIPTION WHERE CITY='ΖΩΡΑΦΟΥ' AND STATUS_ID=2 Σηµείωση: χωρίς τη σχέση STATUS η τελευταία γραµµή γίνεται: WHERE CITY='ΖΩΡΑΦΟΥ' AND STATUS_ID='ΕΠΙΒΕΒΑΙΩΜΕΝΗ' Πλήρης εκδοχή µε σύνδεση πινάκων: SELECT REPORTS.STREET, REPORTS.NUMBER, REPORTS.DESCRIPTION, STATUS WHERE REPORTS.CITY='ΖΩΡΑΦΟΥ' AND STATUS.STATUS_DESCRIPTION='ΕΠΙΒΕΒΑΙΩΜΕΝΗ' AND REPORTS.STATUS_ID=STATUS.STATUS_ID 3
(οµάδα Β) Α Α Β, PHONECALLS, CONTAINS WHERE PHONECALLS.EMPLOYEE_NAME='ΒΑΣΙΛΕΙΟΥ' AND PHONECALLS.PHONECALL_ID=CONTAINS.PHONECALL_ID AND CONTAINS.REPORT_ID=REPORTS.REPORT_ID FROM (REPORTS INNER JOIN (CONTAINS INNER JOIN PHONECALLS ON PHONECALLS.PHONECALL_ID=CONTAINS.PHONECALL_ID) ON CONTAINS.REPORT_ID=REPORTS.REPORT_ID) WHERE PHONECALLS.EMPLOYEE_NAME='ΒΑΣΙΛΕΙΟΥ' SELECT DESCRIPTION, RANK WHERE CITY='ΑΘΗΝΑΙΩΝ' AND STREET='ΠΑΝΟΡΜΟΥ' Απλή εκδοχή µε ορισµένη τη σχέση STATUS σύµφωνα µε την απάντηση του 1.2: SELECT STREET, NUMBER, DESCRIPTION WHERE CITY='ΚΑΙΣΑΡΙΑΝΗ' AND STATUS_ID=5 Σηµείωση: χωρίς τη σχέση STATUS η τελευταία γραµµή γίνεται: WHERE CITY='ΚΑΙΣΑΡΙΑΝΗ' AND STATUS_ID='ΕΠΙΣΚΕΥΑΣΜΕΝΗ' Πλήρης εκδοχή µε σύνδεση πινάκων: SELECT REPORTS.STREET, REPORTS.NUMBER, REPORTS.DESCRIPTION, STATUS WHERE REPORTS.CITY='ΚΑΙΣΑΡΙΑΝΗ' AND STATUS.STATUS_DESCRIPTION='ΕΠΙΣΚΕΥΑΣΜΕΝΗ' AND REPORTS.STATUS_ID=STATUS.STATUS_ID Σηµείωση: υπάρχουν και άλλες αποδεκτές εκδοχές της απάντησης του ερωτήµατος αυτού. 4
Θέµα 2 (µονάδες 30) ίνεται το παρακάτω ηµιτελές διάγραµµα οντοτήτων συσχετίσεων το οποίο αναφέρεται στα έργα που προκηρύσσονται και εκτελούνται στους ήµους της χώρας. 2.1 (µονάδες 5) Να συµπληρώσετε το διάγραµµα οντοτήτων - συσχετίσεων µε τις πολλαπλότητες σχέσεων που λείπουν (πάνω στο σχήµα). 2.2 (µονάδες 10) Να περιγράψετε µε κείµενο που δε θα ξεπερνά τη µισή σελίδα, όλα όσα µπορείτε να συµπεράνετε από το διάγραµµα οντοτήτων-συσχετίσεων (όπως θα το έχετε συµπληρώσει) σχετικά µε τη διαδικασία των διαγωνισµών και της ανάθεσης έργων. Σύµφωνα µε το διάγραµµα οντοτήτων - συσχετίσεων και µόνο µε αυτό: Κάθε ήµος µπορεί να διεξάγει πολλούς διαγωνισµούς για την ανάθεση έργων. Κάθε διαγωνισµός διεξάγεται µόνο από έναν ήµο, δηλαδή δεν υπάρχουν διαγωνισµοί που διεξάγονται από περισσότερους του ενός ήµους. Κάθε διαγωνισµός αφορά ακριβώς ένα έργο, δηλαδή δεν υπάρχουν διαγωνισµοί που να προκηρύσσονται για περισσότερα του ενός έργα. Κάθε έργο ανατίθεται υποχρεωτικά µετά από έναν διαγωνισµό. εν υπάρχει άλλος τρόπος ανάθεσης έργου, παρά µόνο ένας διαγωνισµός (πλήρης συµµετοχή της σχέσης 'ΕΡΟ'). Σε κάθε διαγωνισµό συµµετέχουν πολλοί εργολάβοι και κάθε εργολάβος µπορεί να συµµετέχει σε πολλούς διαγωνισµούς. Ενας διαγωνισµός κερδίζεται (κατοχυρώνεται σε) έναν ακριβώς εργολάβο. εν υπάρχουν διαγωνισµοί που να κατοχυρώνονται σε περισσότερους του ενός από τους συµµετέχοντες. 5
Εστω οι παρακάτω σχέσεις οι οποίες αντιστοιχούν σε ένα τµήµα του διαγράµµατος οντοτήτων - συσχετίσεων. 2.3 (µονάδες 5) Να εντοπίσετε το κύριο κλειδί κάθε σχέσης (υπογραµµίστε στο σχήµα τα πεδία που συµµετέχουν σε αυτό) 2.4 (µονάδες 5) Να εντοπίσετε τα ξένα κλειδιά που συµµετέχουν σε κάθε σχέση 2.3 και 2.4 Το κύριο κλειδί κάθε σχέσης σηµειώνεται µε υπογράµµιση, ενώ τα ξένα κλειδιά σηµειώνονται µε πλάγια γράµµατα. 2.5 (µονάδες 5) Σύµφωνα µε το σχήµα που δίνεται στο ερώτηµα 2.3, στη συσχέτιση " ΙΑΩΝΙΣΜΟΣ - ΑΦΟΡΑ - ΕΡΟ" ποια είναι η σχέση µε πλήρη συµµετοχή; Η σχέση µε την πλήρη συµµετοχή πρέπει να περιλαµβάνει ως ξένο κλειδί το πρωτεύων κλειδί της άλλης, η οποία δεν έχει πλήρη συµµετοχή. Από το σχήµα της Β που δίνεται παραπάνω, φαίνεται ότι η σχέση ΙΑΩΝΙΣΜΟΣ δεν περιλαµβάνει κάποιο πεδίο που να µπορεί να εκληφθεί ως ξένο κλειδί της σχέσης ΕΡΟ. Από αυτό συµπεραίνουµε ότι η σχέση µε την πλήρη συµµετοχή είναι η σχέση ΕΡΟ. 6