PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ Παραδοτέα 1. Τα.MDF και.ldf αρχεία της βάσης δεδομένων σας ή το αρχείο backup της βάσης 2. Ο φάκελος που έχει όλο το Project του Builder σε ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ. 3. Εγχειρίδιο χρήσης της εφαρμογής που αναπτύξατε το οποίο θα είναι γραμμένο με τις παρακάτω προδιαγραφές. Εξώφυλλο PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ Φοιτητής:... (ΑΕΜ: ) ΣΕΡΡΕΣ, Ιανουάριος 2010 Εισαγωγή Στην εισαγωγή θα περιγράψετε πως προέκυψαν οι πίνακες της βάσης που αναπτύξατε δηλ. το διάγραμμα E-R και το αντίστοιχο σχεσιακό διάγραμμα από το Diagram του SQL Server. Κεφάλαια Στα υπόλοιπα κεφάλαια θα περιγράψετε τον τρόπο λειτουργίας της εφαρμογής με print screen της κάθε καρτέλας που έχετε κάνει. Θα εξηγείτε με λεπτομέρεια τι πρέπει να κάνει ένας άλλος χρήστης που θα έχει πρόσβαση στην εφαρμογή σας ώστε να δουλέψει με ευκολία. Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 1
Δυναμικά Ερωτήματα Επίσης στις καρτέλες όπου υπάρχουν δυναμικά ερωτήματα να υπάρχει και ο κώδικας του κάθε δυναμικού ερωτήματος με σχόλια. Γραμματοσειρά : Arial ή Times New Roman 12 Διάστιχο Παραγράφου : 1,5 Επικεφαλίδες σε κάθε Κεφάλαιο Αρίθμηση σελίδων σε όλες τις σελίδες εκτός τις πρώτης Περιθώρια σελίδας τα προεπιλεγμένα του Word. Παράδοση Εξέταση Εργασίας Η παράδοση και εξέταση του Project γίνεται μια εβδομάδα πριν τις εξετάσεις του εργαστηρίου στις ώρες του μαθήματος. Όποιος δεν προσκομίσει την ημέρα εκείνη το project παίρνει απουσία μιας και η παρουσία του είναι περιττή την ημέρα εκείνη αφού θα εξετάζονται όλοι για το project που έφεραν. Βαθμός Ο τελικός βαθμός του εργαστηρίου προκύπτει ως εξής: [Βαθμός Εξετάσεων Εργαστηρίου] x 80% + [Βαθμός Project] x 20% Σε περίπτωση που ο καθαρός βαθμός εξετάσεων του εργαστηρίου είναι κάτω από 4.5 τότε δεν προσμετράται ο βαθμός του project και η συμμετοχή του σπουδαστή στις εξετάσεις θεωρείται ανεπιτυχής οπότε θα πρέπει να ξανά-παρακολουθήσει το εργαστήριο Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 2
Project Εργαστηρίου Βάσεων Δεδομένων ΙΙ Εισαγωγή Σκοπός αυτής της άσκησης είναι να επαναληφθούν όλα τα βήματα των ασκήσεων του εργαστηρίου, από την δημιουργία μιας βάσης, την δημιουργία πινάκων, δημιουργία διαγράμματος, εισαγωγή δεδομένων, δημιουργία εφαρμογής, σύνδεση με την βάση με ADO, εκτέλεση δυναμικού ερωτήματος ενημέρωσης και άλλων δυναμικών ερωτημάτων. Η βάση δεδομένων θα αφορά μια επιχείρηση με ΠΕΛΑΤΕΣ, ΠΡΟΜΗΘΕΤΕΣ, ΑΠΟΘΗΚΗ, ΠΑΡΑΓΓΕΛΙΕΣ_ΠΩΛΗΣΕΩΝ, ΠΑΡΑΓΓΕΛΙΕΣ_ΑΓΟΡΩΝ. Υλοποίηση Δημιουργήστε μια ΝΕΑ Βάση Δεδομένων με όνομα ΑPOTHΙΚΙ_ΕPΙΤΗΕΤΟ 1. Η βάση αυτή θα περιέχει τους παρακάτω πίνακες: ΠΡΟΣΟΧΗ: Αντικαταστήστε παρακάτω όλους τους τύπους δεδομένων char με varchar. Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 3
2. Στους παραπάνω πίνακες προσθέστε όσα επιπλέον πεδία πιστεύετε ότι χρειάζονται και περιγράφουν καλύτερα τις οντότητες των πινάκων. Όπως πχ στον Πίνακα Paragelies προσθέστε τα πεδία ΗΜ_Paraggelias date, Tropos_Pliromis varchar(20), Topos_Paradosis varchar(20), Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 4
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) DBNavigator (4 φορές) (γραμμή εργαλείων Data Controls) Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 5
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. Eπιλογή διακομιστή 2. Όνομα Χρήστη=sa Κωδικός πρόσβασης =κενό 3. 7.πιλογή βάσης δεδομένων=αpοτηικι 4. Δοκιμή σύνδεσης Connected=true Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 6
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 και το προγραμματίζουμε ανάλογα, έτσι ώστε όταν καταχωρούμε δεδομένα στον πίνακα Παραγγελιές Πελατών, να ενημερώνεται με το πάτημα του κουμπιού η Αποθήκη. Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 7
9. Αποθηκεύστε τα αρχεία (File Save All) και εκτελέστε το πρόγραμμα (Run). 10. Ομοίως δημιουργήστε μία φόρμα για την εισαγωγή και την ενημέρωση της αποθήκης όταν γίνονται αγορές από τους προμηθευτές. Σε αυτή την περίπτωση η ποσότητα αγοράς θα προστίθεται στην ποσότητα της αποθήκης. 11. Δημιουργήστε νέα φόρμα που θα προβάλει το ιστορικό παραγγελιών ενός πελάτη που θα επιλέγεται από ένα DBLookupComboBox και θα υπολογίσει το συνολικό ποσό για όλες τις παραγγελίες που έκανε ο συγκεκριμένος πελάτης, και θα το προβάλει σε ένα Label όπως στην άσκηση 5. 12. Δημιουργήστε νέα φόρμα που θα προβάλει το ιστορικό αγορών από έναν προμηθευτή που θα επιλέγεται από ένα DBLookupComboBox. Θα υπολογίζει το συνολικό ποσό για όλες τις αγορές που έγιναν από τον συγκεκριμένο προμηθευτή και θα το προβάλει σε ένα Label όπως στην άσκηση 5. 13. Δημιουργήστε νέα φόρμα που θα προβάλει το ιστορικό κίνησης προϊόντων της αποθήκης. Θα επιλέγεται ένα προϊόν της αποθήκης από ένα DBLookupComboBox. Θα προβάλλονται σε ένα DBGrid οι κινήσεις παραγγελιών του προϊόντος. Σε άλλο DBGrid θα προβάλλονται οι κινήσεις αγορών του συγκεκριμένου προϊόντος. Θα υπολογίζεται το συνολικό ποσό για όλες τις παραγγελίες που έγιναν για το συγκεκριμένο προϊόν και θα το προβάλει σε ένα Label όπως στην άσκηση 5. Θα υπολογίζεται το συνολικό ποσό για όλες τις αγορές που έγιναν για το συγκεκριμένο προϊόν και θα το προβάλει σε ένα Label όπως στην άσκηση 5. 14. Δημιουργήστε νέα φόρμα που θα προβάλει την καρτέλα με τα σταθερά στοιχεία του ΠΕΛΑΤΗ, στην οποία θα προβάλλεται και η φωτογραφία του όπως στην άσκηση 8. 15. Δημιουργήστε νέα φόρμα που θα προβάλει την καρτέλα με τα σταθερά στοιχεία της ΑΠΟΘΗΚΗΣ, στην οποία θα προβάλλεται και η φωτογραφία του κάθε είδους της αποθήκης όπως στην άσκηση 8. Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 8
16. Δημιουργήστε μια σκανδάλη στον SQL SERVER με όνομα CALC_AGE που θα υπολογίζει την ΗΛΙΚΙΑ του κάθε πελάτη μόλις καταχωρείται η Ημερομηνία Γέννησης όπως στην άσκηση 10. 17. Δημιουργήστε νέα φόρμα με αναφορά εκτύπωσης QuickReports για τον πίνακα ΠΕΛΑΤΕΣ όπου θα προβάλλονται αλφαβητικά τα σταθερά στοιχεία των ΠΕΛΑΤΩΝ όπως στην άσκηση 9. 18. Δημιουργήστε νέα φόρμα με αναφορά εκτύπωσης QuickReports για τον πίνακα ΑΠΟΘΗΚΗ όπου θα προβάλλονται αλφαβητικά τα σταθερά στοιχεία της ΑΠΟΘΗΚΗΣ όπως στην άσκηση 9. 19. Αντιγράψτε τα.mdf και.ldf αρχεία της βάσης σας και μαζί με τον φάκελο που έχει όλο το Project του Builder γράψτε τα σε ένα CD φέρτε τα στο εργαστήριο 20. Θα εξετασθείτε προφορικά για τη άσκηση αυτή. Δρ. Τσιμπίρης Αλκιβιάδης (alkisser@gmail.com) 9