PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΙΙ Παράδοση εργασίας Από 8-1-2008 έως 12-1-2008 Για διευκρινίσεις επικοινωνήστε µε τους: ρ. Τσιµπίρης Αλκιβιάδης Αναστασιάδου Μάρθα c-school@otenet.gr amartha@teiser.gr Παρατήρηση: Η παράδοση της εργασίας αυτής και η επιτυχής προφορική εξέταση µοριοδοτείται µε 1 µονάδα στον τελικό βαθµό του εργαστηρίου. Σε αντίθετη περίπτωση αφαιρείται µία µονάδα από τον τελικό βαθµό του εργαστηρίου. 1
PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΙΙ Εισαγωγή Σκοπός αυτής της εργασίας είναι να επαναληφθούν όλα τα βήµατα των ασκήσεων του εργαστηρίου, από την δηµιουργία µιας βάσης, την δηµιουργία πινάκων, δηµιουργία διαγράµµατος, εισαγωγή δεδοµένων, δηµιουργία εφαρµογής, σύνδεση µε την βάση µε ADO, εκτέλεση δυναµικού ερωτήµατος ενηµέρωσης και άλλων δυναµικών ερωτηµάτων µέχρι και την προφορική εξέταση πάνω στα στάδια υλοποίησης της άσκησης αυτής. Υλοποίηση ηµιουργήστε µια ΝΕΑ Βάση εδοµένων µε όνοµα ΑPOTHΙΚΙ_ΕPΙΤΗΕΤΟ 1. Η βάση αυτή θα περιέχει τους παρακάτω πίνακες: 2
2. Στους παραπάνω πίνακες προσθέστε όσα επιπλέον πεδία πιστεύετε ότι χρειάζονται και περιγράφουν καλύτερα τις οντότητες των πινάκων. Όπως πχ στον Πίνακα Paragelies προσθέστε τα πεδία ΗΜ_Paraggelias date, Tropos_Pliromis varchar(20), Topos_Paradosis varchar(20), 3
Pelates προσθέστε τα πεδία HM_GENNHSIS date, FOTO varchar(100), HLIKIA int 3. ηµιουργήστε τις συσχετίσεις και το αντίστοιχο ιάγραµµα σχέσεων. 1. Εισάγετε δεδοµένα στους πίνακες, τουλάχιστον 3 εγγραφές σε κάθε πίνακα. Ανοίξτε τον Builder και 2. Στην φόρµα 1 που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components) όπως στο παρακάτω σχήµα. ADOConnection (1 φορά) (γραµµή εργαλείων ADO) ADOQuery (5 φορές) (γραµµή εργαλείων ADO) DataSource (5 φορές) (γραµµή εργαλείων Data Aceess) DBGrid (3 φορές) (γραµµή εργαλείων Data Controls) 4
DBNavigator (4 φορές) (γραµµή εργαλείων Data Controls) DBEdit (4 φορές) (γραµµή εργαλείων Data Controls) Label (8 φορές) (γραµµή εργαλείων Standard) (όπου απαιτείται πχ Όνοµα Πεδίο, Τίτλος καρτέλας κλπ) Button (1 φορά) (γραµµή εργαλείων Standard) όπως φαίνονται στην παρακάτω εικόνα 6. Αποθηκεύστε το Project σε νέο υποφάκελο µέσα στον φάκελό σας πχ. EΠΙΘEΤΟ\EΡΓΑΣΙΑ12 7. Σύνδεση Βάσης εδοµένων µε C++ BUILDER και ρύθµιση ιδιοτήτων Ρυθµίστε τις παρακάτω ιδιότητες για τα παραπάνω χειριστήρια όπως στην Άσκηση2 ADOConnection1 Connection String Build Microsoft OLEDB Provider for SQL Server 1. 7.πιλογή διακοµιστή 2. Όνοµα Χρήστη=sa Κωδικός πρόσβασης =κενό 3. 7.πιλογή βάσης δεδοµένων=αpοτηικι 4. οκιµή σύνδεσης 5
Connected=true ADOQuery1 Connection=ADOConnection1 SQL = Select * From Apothiki Active =true DataSource1 DataSet =ADOQuery1 Το ίδιο για τα υπόλοιπα ADOQuery2 µέχρι AQOQuery4 τα οποία θα συνδεθούν µε τους πίνακες Pelates, Praggelies, Paraggelies_Pelaton αντίστοιχα Στο ADOQuery5 ρυθµίστε µόνο την σύνδεση µε την βάση ADOQuery5 Connection=ADOConnection1 DBEdit1 DataSource= DataSource4 DataField=Kodikos_Polisis Οµοίως για τα υπόλοιπα DBEdit Label1 Label2. DBNavigator1 DBNavigator2 DBNavigator3 DBNavigator4 Caption=ΑΠΟΘΗΚΗ Caption=Κείµενο που περιγράφει τα πεδία πχ KA DataSource= DataSource1 DataSource= DataSource2 DataSource= DataSource3 DataSource= DataSource4 Button1 Caption=Update 8. Από την καρτέλα Standard εισάγουµε ένα Button, στο οποίο δίνουµε όνοµα Update και το προγραµµατίζουµε ανάλογα, έτσι ώστε όταν καταχωρούµε δεδοµένα στον πίνακα Παραγγελιές Πελατών, να ενηµερώνεται µε το πάτηµα του κουµπιού η Αποθήκη. 6
9. Αποθηκεύστε τα αρχεία (File Save All) και εκτελέστε το πρόγραµµα (Run). 10. Οµοίως δηµιουργήστε µία φόρµα για την εισαγωγή και την ενηµέρωση της αποθήκης όταν γίνονται αγορές από τους προµηθευτές. Σε αυτή την περίπτωση η ποσότητα αγοράς θα προστίθεται στην ποσότητα της αποθήκης. 11. ηµιουργήστε νέα φόρµα που θα προβάλει το ιστορικό παραγγελιών ενός πελάτη που θα επιλέγεται από ένα DBLookupComboBox και θα υπολογίσει το συνολικό ποσό για όλες τις παραγγελίες που έκανε ο συγκεκριµένος πελάτης, και θα το προβάλει σε ένα Label όπως στην άσκηση 5. 7
12. ηµιουργήστε νέα φόρµα που θα προβάλει το ιστορικό αγορών από έναν προµηθευτή που θα επιλέγεται από ένα DBLookupComboBox. Θα υπολογίζει το συνολικό ποσό για όλες τις αγορές που έγιναν από τον συγκεκριµένο προµηθευτή και θα το προβάλει σε ένα Label όπως στην άσκηση 5. 13. ηµιουργήστε νέα φόρµα που θα προβάλει το ιστορικό κίνησης προϊόντων της αποθήκης. Θα επιλέγεται ένα προϊόν της αποθήκης από ένα DBLookupComboBox. Θα προβάλλονται σε ένα DBGrid οι κινήσεις παραγγελιών του προϊόντος. Σε άλλο DBGrid θα προβάλλονται οι κινήσεις αγορών του συγκεκριµένου προϊόντος. Θα υπολογίζεται το συνολικό ποσό για όλες τις παραγγελίες που έγιναν για το συγκεκριµένο προϊόν και θα το προβάλει σε ένα Label όπως στην άσκηση 5. Θα υπολογίζεται το συνολικό ποσό για όλες τις αγορές που έγιναν για το συγκεκριµένο προϊόν και θα το προβάλει σε ένα Label όπως στην άσκηση 5. 14. ηµιουργήστε νέα φόρµα που θα προβάλει την καρτέλα µε τα σταθερά στοιχεία του ΠΕΛΑΤΗ, στην οποία θα προβάλλεται και η φωτογραφία του όπως στην άσκηση 8. 15. ηµιουργήστε νέα φόρµα που θα προβάλει την καρτέλα µε τα σταθερά στοιχεία της ΑΠΟΘΗΚΗΣ, στην οποία θα προβάλλεται και η φωτογραφία του κάθε είδους της αποθήκης όπως στην άσκηση 8. 16. ηµιουργήστε µια σκανδάλη στον SQL SERVER µε όνοµα CALC_AGE που θα υπολογίζει την ΗΛΙΚΙΑ του κάθε πελάτη µόλις καταχωρείται η Ηµεροµηνία Γέννησης όπως στην άσκηση 10. 17. ηµιουργήστε νέα φόρµα µε αναφορά εκτύπωσης QuickReports για τον πίνακα ΠΕΛΑΤΕΣ όπου θα προβάλλονται αλφαβητικά τα σταθερά στοιχεία των ΠΕΛΑΤΩΝ όπως στην άσκηση 9. 18. ηµιουργήστε νέα φόρµα µε αναφορά εκτύπωσης QuickReports για τον πίνακα ΑΠΟΘΗΚΗ όπου θα προβάλλονται αλφαβητικά τα σταθερά στοιχεία της ΑΠΟΘΗΚΗΣ όπως στην άσκηση 9. 19. Αντιγράψτε τα.mdf και.ldf αρχεία της βάσης σας και µαζί µε τον φάκελο που έχει όλο το Project του Builder γράψτε τα σε ένα CD φέρτε τα στο εργαστήριο 20. Θα εξετασθείτε προφορικά για τη άσκηση αυτή. 8