(Select * From FILOI Where EPITHETO Like K% ) (Select POLH, Count(AA) As PLHTHOS From FILOI Group By POLH)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "(Select * From FILOI Where EPITHETO Like K% ) (Select POLH, Count(AA) As PLHTHOS From FILOI Group By POLH)"

Transcript

1 Τ.Ε.Ι. ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ ΑΣΚΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΣΕΡΡΕΣ 2007 ρ. Τσιµπίρης Αλκιβιάδης 1

2 Άσκηση 1 Εισαγωγή Η εργασία αυτή, που πραγµατοποιείται στα πλαίσια του εργαστηριακού µαθήµατος Βάσεις εδοµένων ΙΙ αφορά την δηµιουργία µια βάσης δεδοµένων για µια αντζέντα όπου θα καταχωρούνται στοιχεία φίλων και γνωστών. Θα δηµιουργηθούν ερωτήµατα SQL, αντίγραφα ασφαλείας, µετατροπή και εξαγωγή των δεδοµένων σε άλλο RDBMS Υλοποίηση Για την υλοποίηση της άσκησης αυτής ακολουθήστε τα παρακάτω βήµατα: Α. ηµιουργήστε µία νέα βάση δεδοµένων στον SQL Server µε όνοµα ATZENTA_EPITHETO Χρησιµοποιείτε κεφαλαία γράµµατα για την ονοµασία Βάσεων δεδοµένων, πινάκων, πεδίων για την διευκόλυνσή σας. Επίσης εάν θέλετε το όνοµα βάσης, πίνακα ή πεδίου να αποτελείται από δύο ή περισσότερες λέξεις καλό είναι να τις ενώνετε µε την κάτω παύλα (_) όπως βλέπετε και στο παραπάνω όνοµα της βάσης Β. ηµιουργήστε τον παραπάνω πίνακα: FILOI ΠΑΡΑΤΗΡΗΣΗ: Για να έχει ένα πεδίο Αυτόµατη αρίθµηση θα πρέπει να αλλάξετε τις ιδιότητες Identity=Yes (Not for replication), Seed=1 που αναφέρετε στον γόνο από όπου θα ξεκινήσει η αρίθµηση, Increment=1 όπου ορίζετε το βήµα µε το οποίο θα αυξάνει η αρίθµηση ώστε αυτόµατη αρίθµηση στο πεδίο ΑΑ. 2

3 Γ. Καταχωρήστε 5 νέες εγγραφές στον πίνακα Για να ανοίξετε τον πίνακα και να καταχωρήσετε εγγραφές πιέστε : εξί κλίκ πάνω στον πίνακα και επιλέξτε Open Table Return all rows AA EPITHETO ONOMA ON_PATROS HM_GENNHSIS ODOS AR TK 1 Γεωργίου Απόστολος ηµήτριος 7/4/1997 Βενιζέλου Παπαδόπουλος Γεώργιος Ιωάννης 4/5/1999 Μεραρχείας Μιχαηλίδης Αντώνιος Αθανάσιος 4/5/1997 ελφών Καραλής Ανδρέας Περικλής 3/3/1984 Κηφησίας Τριανταφύλλου Γρηγόριος Βασίλειος 7/8/1997 ωδώνης Συνέχεια κάθε εγγραφής POLH THL_ERGASIAS THL_SPITIOY KINHTO SXOLIA ΣΕΡΡΕΣ Φίλος ΣΕΡΡΕΣ Γνωστός ΘΕΣΣΑΛΟΝΙΚΗ Φίλος ΑΘΗΝΑ Φίλος ΙΩΑΝΝΙΝΑ Γνωστός. ηµιουργήστε όψεις (Views), εκτελέστε και αποθηκεύστε τα παρακάτω ερωτήµατα. 1. Εµφανίστε όλα τα στοιχεία των φίλων σας που το επίθετό τους αρχίζει πχ από Κ (Select * From FILOI Where EPITHETO Like K% ) 2. Εµφανίστε Επίθετο, Όνοµα και Κινητό των φίλων σας που γεννήθηκαν µετά το 1997 και είναι από την πόλη Σέρρες. 3. Οµαδοποιήστε τους φίλους σας ανά πόλη και µετρήστε πόσοι είναι από κάθε πόλη (Select POLH, Count(AA) As PLHTHOS From FILOI Group By POLH) 4. Οµαδοποιήστε τους φίλους σας ανά Σχόλιο και µετρήστε πόσοι είναι φίλοι και πόσοι γνωστοί (Select SXOLIA, Count(AA) As PLHTHOS From FILOI Group By SXOLIO) 5. Προβάλετε τις καταχωρήσεις που κατάγονται από την ίδια πόλη που κατάγεται ο Γεωργίου (φωλιασµένο ερώτηµα) 6. Προβάλετε σε ένα ερώτηµα τις καταχωρήσεις που κατάγονται από Αθήνα και αυτές από Θεσσαλονίκη Ε. Πάρτε Backup την βάση δεδοµένων. 1. εξί κλικ πάνω στην βάση ΑΤΖΕΝΤΑ_ΕΠΙΘΕΤΟ Όλες οι Εργρασίες Backup Database 2. Στο παράθυρο που θα εµφανιστεί στην επιλογή Destination πιέστε το κουµπί Add ώστε να προσθέσετε τη θέση προορισµού του αντιγράφου ασφαλείας. 3

4 . 3. Στο νέο παράθυρο που θα εµφανιστεί στην επιλογή File name πιέζοντας το κουµπί browse επιλέξτε τη θέση προορισµού. Στην περίπτωση των εργαστηρίων όπου υπάρχουν περιορισµένα δικαιώµατα πρόσβασης σε φακέλους πληκτρολογήστε την θέση του φακέλου σας στην θέση FileName. Πχ C:\AYTOMATISMOY\ΒΑΣΕΙΣ2\ΤΡ_8_10\ΕΠΙΘΕΤΟ_ΣΑΣ και στην συνέχεια πατήστε ΟΚ στις καρτέλες. Z. ιαγράψτε την Βάση ΑΤΖΕΝΤΑ_ΕΠΙΘΕΤΟ. 1. εξί κλικ πάνω στην βάση ΑΤΖΕΝΤΑ_ΕΠΙΘΕΤΟ ιαγραφή Yes H. Κάντε Restore ή Attach την βάση που πήρατε πριν Backup 1. εξί κλικ πάνω στον φάκελο Databases Όλες οι εργασίες Restore database 4

5 2. Στο παράθυρο που θα εµφανιστεί δώστε τι παρακάτω επιλογές όπως φαίνεται στην παραπάνω εικόνα, α. Πληκτρολογήστε στην επιλογή Restore as Database: το όνοµα της βάσης δεδοµένων που διαγράψατε πχ. ΑΤΖΕΝΤΑ_ΕΠΙΘΕΤΟ_ΣΑΣ β. Restore From device γ. Select Devices.. δ. Στο νέο παράθυρο που θα ανοίξει πιέστε Add.. ε. στην επιλογή File Name πιέστε το κουµπί browse και επιλέξτε τη θέση στον δίσκο από την οποία θα πάρετε το αντίγραφο ασφαλείας και θα το επαναφέρετε. Στην περίπτωση των εργαστηρίων όπου υπάρχουν περιορισµένα δικαιώµατα πρόσβασης σε φακέλους πληκτρολογήστε την θέση του φακέλου σας στην θέση FileName. Πχ C:\AYTOMATISMOY\ΒΑΣΕΙΣ2\ΤΡ_8_10\ ΕΠΙΘΕΤΟ_ΣΑΣ\ΒΑΣΗ_BACKUP και στην συνέχεια πατήστε ΟΚ στις καρτέλες. 5

6 Θ. ηµιουργήστε στον φάκελο σας στον δίσκο µια κενή βάση σε ACCESS µε όνοµα ΑΤΖΕΝΤΑ_ΕΠΙΘΕΤΟ. Κλείστε την ACCESS. Μετατρέψτε και µεταφέρετε την δοµή µε τα δεδοµένα της βάσης που δηµιουργήσατε από τον SQL Server στην ACCESS µε τις επιλογές του Data Transformation Services 1. Tools Data Transformation Services Export Data Επόµενο Βήµα1 Βήµα2 Βήµα3 Βήµα4 ΠΡΟΣΟΧΗ: Στο βήµα 1 πηγή δεδοµένων είναι η βάση ΑΤΖΕΝΤΑ από DataSource=Microsoft OLE DB Provider for SQL Server Στο βήµα 2 προορισµός δεδοµένων είναι η βάση ΤΕΣΤ της ACCESS από Destination=Microsoft Access Μπορείτε να διαλέξετε ως πηγή ή προορισµό δεδοµένων όλους τους διαθέσιµους οδηγούς που παρέχει ο SQL Server. 6

7 Άσκηση 2 Εισαγωγή Στην άσκηση αυτή θα δείξουµε πως γίνεται η σύνδεση µεταξύ µιας βάσης δεδοµένων και µιας εφαρµογής γραµµένης σε C++ Builder. Θα δηµιουργηθεί µία απλή φόρµα που θα προβάλει τα στοιχεία ενός ερωτήµατος ή πίνακα µε ευκολία µετακίνησης στις εγγραφές. Η σύνδεση θα γίνει µε ADO (ActiveX Data Object) 1. Κάντε Restore την βάση ΑΤΖΕΝΤΑ_ΕΠΙΘΕΤΟ που πήρατε πριν Backup 2. Ανοίξτε τον Builder και στην φόρµα που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components). ADOConnection (γραµµή εργαλείων ADO) ADOQuery ή εναλλακτικά ADOTable (γραµµή εργαλείων ADO) DataSource (γραµµή εργαλείων Data Aceess) DBGrid DBNavigator (γραµµή εργαλείων Data Controls) (γραµµή εργαλείων Data Controls) 2. Αποθηκεύστε το Project σε νέο υποφάκελο µέσα στον φάκελό σας πχ. ΕΠΙΘΕΤΟ\ΕΡΓΑΣΙΑ3 3. Σύνδεση Βάσης εδοµένων µε C++ BUILDER Ρυθµίστε τις παρακάτω ιδιότητες για τα παραπάνω χειριστήρια 7

8 ADOConnection Connection String Build Microsoft OLEDB Provider for SQL Server 1. Επιλογή διακοµιστή 2. Όνοµα Χρήστη=sa Κωδικός πρόσβασης =κενό 3. Επιλογή βάσης δεδοµένων=ατζεντα 4. οκιµή σύνδεσης Connected=true ADOQuery Connection=ADOConnection1 SQL = Select * From FILOI Active =true DataSource DataSet =ADOQuery1 Στην ιδιότητα SQL του ADOQuery µπορεί να γραφεί οποιοδήποτε ερώτηµα SQL. Στον SQLServer υπάρχει η δυνατότητα σύνδεσης µε πίνακα µε το χειριστήριο ADOTable µε το οποίο µπορεί να γίνει σύνδεση µε οποιονδήποτε πίνακα της βάσης ρυθµίζοντας αντίστοιχα την ιδιότητα TableName DBGrid DataSource= DataSource1 DBNavigator DataSource= DataSource1 5. Αποθηκεύστε το Project του Builder µε την επιλογή Save All και εκτελέστε το µε την επιλογή Run Κάντε συχνά Αποθήκευση των αλλαγών σας. 4. Επεξεργαστείτε τα δεδοµένα του πίνακα µε τα πλήκτρα του Navigator 6. Εκτελέστε τα παρακάτω ερωτήµατα µε τον ίδιο τρόπο και προβάλετε τα αποτελέσµατα σε νέα DBGrid µέσα στην ίδια φόρµα. a. Select * from FILOI where POLH= ΣΕΡΡΕΣ b. Select EPITHETO, ONOMA, KINHTO from FILOI where KINHTO Like 69% Προσοχή δεν χρειάζεται να τοποθετείτε νέο ADOConnection, αρκεί µόνο ένα για την σύνδεση µε την βάση δεδοµένων. Χρειάζονται νέα ADOQuery, DataSource, DBGrid και DBNavigator 8

9 Άσκηση 3 Εισαγωγή Η εργασία αυτή, αφορά την δηµιουργία µια βάσης δεδοµένων και της αντίστοιχης εφαρµογής διαχείρισης των δεδοµένων µιας εικονικής επιχείρησης, ενοικίασης αυτοκινήτων στην περίπτωση µας. Στη βάση δεδοµένων θα αποθηκεύονται τα σταθερά στοιχεία των πελατών, των αυτοκινήτων καθώς και πληροφορίες που αφορούν τις ενοικιάσεις των αυτοκινήτων, τις χρεώσεις από κάποια ηµεροµηνία ενοικίασης του αυτοκινήτου µέχρι την ηµεροµηνία επιστροφής, την καταγραφή και κοστολόγηση πιθανών ζηµιών που έκανε ο πελάτης στο αυτοκίνητο κατά τη διάρκεια της ενοικίασης. Υλοποίηση Για την υλοποίηση της άσκησης αυτής ακολουθήστε τα παρακάτω βήµατα: 1. ηµιουργήστε µία νέα βάση δεδοµένων στον SQL Server µε όνοµα ENOIKIASEIS_AYTOKINHTON_EPITHETO Χρησιµοποιείτε κεφαλαία γράµµατα για την ονοµασία Βάσεων δεδοµένων, πινάκων, πεδίων για την διευκόλυνσή σας. Επίσης εάν θέλετε το όνοµα βάσης, πίνακα ή πεδίου να αποτελείται από δύο ή περισσότερες λέξεις καλό είναι να τις ενώνετε µε την κάτω παύλα (_) όπως βλέπετε και στο παραπάνω όνοµα της βάσης ΑΥΤΟΚΙΝΗΤΑ PELATES 2. ηµιουργήστε τους πίνακες ΑΥΤΟΚΙΝΗΤΑ, PELATES, ENOIKIASH 9

10 ENOIKIASH ΠΑΡΑΤΗΡΗΣΗ: Για να έχει ένα πεδίο Αυτόµατη αρίθµηση θα πρέπει να αλλάξετε τις ιδιότητες Identity=Yes (Not for replication), Seed=1 που αναφέρετε στον γόνο από όπου θα ξεκινήσει η αρίθµηση, Increment=1 όπου ορίζετε το βήµα µε το οποίο θα αυξάνει η αρίθµηση. Ορίστε το πεδίο ΚΕΝ (που αναφέρεται στον Κωδικό Ενοικίασης αυτοκινήτου) να έχει αυτόµατη αρίθµηση. 3. ηµιουργήστε νέο διάγραµµα (Diagram) και ορίστε τις συσχετίσεις µεταξύ των πινάκων όπως βλέπετε στην παρακάτω εικόνα. 10

11 4.Καταχωρήστε τις παρακάτω εγγραφές για κάθε πίνακα ΠΕΛΑΤΕΣ KP EPITHETO ONOMA ON_PATROS HM_GENNHSIS ODOS AR TK 1 Γεωργίου Απόστολος Ιωάννης 1/1/1999 ΕΛΦΩΝ Παπαδόπουλος Γεώργιος ηµήτριος 1/2/1966 ΒΕΝΙΖΕΛΟΥ Μιχαηλίδης Αντώνιος Βασίλειος 6/7/1998 ΕΡΜΟΥ Καραλής Ανδρέας Ιωάννης 3/4/1979 ΤΣΙΜΙΣΚΗ Τριανταφύλλου Γρηγόριος Νικόλαος 5/5/1995 Ω ΩΝΗΣ συνέχεια πεδίων πίνακα POLH AFM DOY THL_ERGASIAS KINHTO THL_SPITIOY SXOLIA ΣΕΡΡΕΣ Α ΣΕΡΡΩΝ ΠΡΟΣΕΚΤΙΚΟΣ ΣΕΡΡΕΣ Β ΣΕΡΡΩΝ ΑΣΤΑΤΟΣ ΑΘΗΝΑ ΣΤ ΑΘΗΝΩΝ ΕΠΙΚΙΝ ΥΝΟΣ ΘΕΣΣΑΛΟΝΙΚΗ ΦΑΕ ΘΕΣ/ΝΙΚΗΣ ΠΡΟΣΕΚΤΙΚΟΣ ΙΩΑΝΝΙΝΑ Α ΙΩΑΝΝΙΝΩΝ ΑΠΑΡΑ ΕΚΤΟΣ ΑΥΤΟΚΙΝΗΤΑ KA MARKA MONTELO AR_KYKLOFORIAS THESIS PORTES XROMA 1 FIAT STILO KOKKINO 2 OPEL CORSA ΛΕΥΚΟ 3 MERCEDES SLK ΑΣΗΜΙ 4 VW GOLF ΜΠΚΛΕ 5 ALFA ROMEO KOKKINO συνέχεια πεδίων πίνακα TIMH_ENOIKIASIS TYPOS_KAYSIMOY HMEROM_KYKLOFORIAS XILIOMETRA 20 BENZINH 1/1/ ΒΕΝΖΙΝΗ 1/5/ ΒΕΝΖΙΝΗ 1/6/ ΠΕΤΡΕΛΑΙΟ 1/2/ BENZINH 1/3/ ΕΝΟΙΚΙΑSH KEN KP KA HMER_ENOIKIASHS HMER_EPISTROFHS POSO_PLHROMHS /7/ /7/ /8/ /8/ /9/ /9/ /10/2007 2/10/ /10/ /10/ /10/ /10/ συνέχεια πεδίων πίνακα PERIGRAFH_ZHMIAS XREOSH_ZHMIAS TELIKO_POSO ΛΑΣΤΙΧΟ ΕΜΠΡΟΣ ΕΞΙΑ

12 5. ηµιουργήστε τα παρακάτω ερωτήµατα SQL µε την µορφή όψεων (Views) i. Εµφανίστε αναλυτικά το ιστορικό ενοικιάσεων των πελατών ii. Εµφανίστε τα αυτοκίνητα που δεν ενοικιάστηκαν ποτέ iii. Προβάλετε τα στοιχεία του κάθε πελάτη µε το συνολικό ποσό που πλήρωσε. iv. Προβάλετε τα στοιχεία του κάθε πελάτη µε το µέγιστο συνολικό ποσό. v. Προβάλετε τα στοιχεία του αυτοκινήτου που προτιµούν να νοικιάζουν οι πελάτες. vi. Εµφανίστε το ποσοστό των ενοικιάσεων κατά το οποίο συνέβη ζηµία σε ενοικιαζόµενο αυτοκίνητο. 6. Πάρτε αντίγραφο ασφαλείας (Backup) από την βάση και αποθηκεύστε το µε όνοµα ΕΠΙΘΕΤΟ_ΑΥΤΟΚΙΝΗΤΑ_ΑΝΤΙΓΡΑΦΟ 7. Χρονοπρογραµµατίστε τον SQL Server ώστε να παίρνει αντίγραφο ασφαλείας της βάσης σας κάθε Τετάρτη στις 10:00 το βράδυ. Tools Database Maintenance Planer Επόµενο Επόµενο Επόµενο Επόµενο Επιλέξτε την βάση σας, την θέση που θα αποθηκευτεί το Backup, την ηµέρα και ώρα που θα ξεκινήσει, κάθε πότε, την διάρκεια κά. 8. Σταµατήστε τον SQL Server (δεξί κλικ στο εικονίδιο του SQL Server στην γραµµή εργασιών Stop) 9. Βρείτε τα αρχεία ENOIKIASEIS_AYTOKINHTON_EPITHETO.MDF και ENOIKIASEIS_AYTOKINHTON_EPITHETO.LDF που αντιστοιχούν στην βάση δεδοµένων που δηµιουργήσατε και αντιγράψτε τα στον φάκελό σας πχ. ΕΠΙΘΕΤΟ\ΕΡΓΑΣΙΑ3 ΠΡΟΣΟΧΗ: Η αντιγραφή αυτών των αρχείων γίνετε µόνο στην περίπτωση που ο Server δεν τρέχει. 12

13 Άσκηση 4 Εισαγωγή Η άσκηση αυτή παρουσιάζει αναλυτικά τα βήµατα για την ανάπτυξη µιας εφαρµογής µε πολλές καρτέλες που τροφοδοτούνται από πίνακες µια βάσης. Στην άσκηση αυτή αφού γίνει η σύνδεση µεταξύ της βάσης δεδοµένων της προηγούµενης άσκησης µε µια φόρµα του C++ Builder θα δηµιουργηθούν καρτέλες για κάθε πίνακα και χθα ρησιµοποιηθούν επιπρόσθετα visual components από την καρτέλα Data Controls. Η σύνδεση θα γίνει µε ADO (ActiveX Data Object) 1. Κάντε Restore την βάση ΕΠΙΘΕΤΟ_ΑΥΤΟΚΙΝΗΤΑ_ΑΝΤΙΓΡΑΦΟ 2. Ανοίξτε τον Builder και στην φόρµα που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components) όπως στο παρακάτω σχήµα. ADOConnection (1 φορά) (γραµµή εργαλείων ADO) ADOQuery (3 φορές) (γραµµή εργαλείων ADO) DataSource (3 φορές) (γραµµή εργαλείων Data Aceess) DBEdit (ένα για κάθε πεδίο) (γραµµή εργαλείων Data Controls) DBNavigator (1 φορά) (γραµµή εργαλείων Data Controls) Label (ένα για κάθε πεδίο) (γραµµή εργαλείων Standard) PageControl (1 φορά) (γραµµή εργαλείων Win32) 13

14 3. Αποθηκεύστε το Project σε νέο υποφάκελο µέσα στον φάκελό σας πχ. ΕΠΙΘΕΤΟ\ΕΡΓΑΣΙΑ4 4. Σύνδεση Βάσης εδοµένων µε C++ BUILDER και ρύθµιση ιδιοτήτων Ρυθµίστε τις παρακάτω ιδιότητες για τα παραπάνω χειριστήρια όπως στην Άσκηση2 ADOConnection Connection String Build Microsoft OLEDB Provider for SQL Server 1. Επιλογή διακοµιστή 2. Όνοµα Χρήστη=sa Κωδικός πρόσβασης =κενό 3. Επιλογή βάσης δεδοµένων=αυτοκινητα 4. οκιµή σύνδεσης Connected=true Για κάθε πίνακα της βάσης θα υπάρχει ένα ADOQuery και ένα DataSource τα οποία ρυθµίζονται όπως παρακάτω για τον πίνακα PELATES ADOQuery Connection=ADOConnection1 SQL = Select * From PELATES Active =true DataSource DataSet =ADOQuery1 Κάντε το ίδιο για τους υπόλοιπους πίνακες της βάσης. PageControl εξί κλικ πάνω του New Page προσθέστε 3 σελίδες Κλικ στο κέντρο ενός TabSheet Caption= Πελάτες το ίδιο για τις άλλες καρτέλες DBEdit DBNavigator DataSource= DataSource1 DataField=ΠΕ ΙΟ του ΠΙΝΑΚΑ DataSource= DataSource1 Label Caption=Κείµενο πχ που περιγράφει τα πεδία 5. Αποθηκεύστε το Project του Builder µε την επιλογή Save All και εκτελέστε το µε την επιλογή Run 6. Επεξεργαστείτε τα δεδοµένα του πίνακα µε τα πλήκτρα του Navigator 7. Σε κάθε σελίδα του PageControl κάντε καρτέλες για κάθε πίνακα όπως στην εικόνα 14

15 Άσκηση 5 Εισαγωγή Στην άσκηση αυτή αφού γίνει η σύνδεση µεταξύ της βάσης δεδοµένων (της άσκησης 3) µε µια φόρµα του C++ Builder ( φόρµα της άσκησης 4) θα εκτελούµε δυναµικά ερωτήµατα και τα αποτελέσµατα θα προβάλλονται σε νέα φόρµα. Η σύνδεση θα γίνει µε ADO (ActiveX Data Object) 1. Κάντε Restore την βάση ΕΠΙΘΕΤΟ_ΑΥΤΟΚΙΝΗΤΑ_ΑΝΤΙΓΡΑΦΟ 2. Ανοίξτε τον Builder και το project της άσκησης 3. Στην φόρµα 1 παρουσιάζονται όλα τα components που τοποθετήθηκαν στην προηγούµενη άσκηση, τα οποία τα αφήνουµε και δεν τα πειράζουµε. 3. Προσθέστε νέα φόρµα : File New Form 4. Στην φόρµα 2 που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components) όπως στο παρακάτω σχήµα. ADOQuery (2 φορές) (γραµµή εργαλείων ADO) DataSource (1 φορά) (γραµµή εργαλείων Data Aceess) DBLookUpComboBox (1 φορά) (γραµµή εργαλείων Data Controls) DBGrid (1 φορά) (γραµµή εργαλείων Data Controls) 15

16 Label (4 φορές) (γραµµή εργαλείων Standard) (όπου απαιτείται πχ Τίτλος καρτέλας) Στην Form1 τοποθετήστε ένα κουµπί Button το οποίο θα ανοίγει την Form2 µέσα από την Form1 Button (1 φορά) (γραµµή εργαλείων Standard) όπως φαίνονται στην παρακάτω εικόνα 4. Επικοινωνία φορµών Μεταβείτε στην Form1 κάνοντας κλικ πάνω στην φόρµα File Include Unit Hdr Unit2 Μεταβείτε στην Form2 κάνοντας κλικ πάνω στην φόρµα File Include Unit Hdr Unit1 Με τον τρόπο αυτό η κάθε φόρµα µπορεί να «βλέπει» τα αντικείµενα της άλλης φόρµας. 5. Ρυθµίσεις χειριστηρίων (components) της Φόρµας 2 ADOQuery1 Connection= Form1 ADOConnection1 DataSource1 DataSet=ADOQuery1 DBGrid DataSource= DataSource1 ADOQuery2 Connection= Form1 ADOConnection1 16

17 DBLookUpComboBox1 ListSource=Form1 DataSource1 (αντιστοιχεί στους Πελάτες) DBLookUpComboBox1 ListField=EPITHETO (το πεδίο που θα εµφανίζεται) DBLookUpComboBox1 KeyField=KP (το πρωτεύον κλειδί του πίνακα ) Με τις ρυθµίσεις αυτές στο DBLookUpComboBox1 ορίζουµε ότι θα συνδέεται µε τα στοιχεία που θα προβάλει το ADOQuery1 της Form1 και όχι της Form2, και θα επιλέγει ένα από τα επίθετα του πίνακα PELATES. ΠΡΟΣΟΧΗ: Η Ιδιότητα DataSource του DBLookupComboBox1 θα πρέπει να είναι κενή. 6. Εκτέλεση υναµικού Ερωτήµατος SQL Αφού επιλεχθεί το επιθυµητό επίθετο, θα εκτελεστεί ένα ερώτηµα SQL και θα προβληθεί το ιστορικό ενοικιάσεων αυτοκινήτων του πελάτη που επιλέχθηκε στο DBGrid. Επίσης σε ένα Label θα παρουσιάζεται το άθροισµα των ποσών που έχει πληρώσει ο πελάτης συνολικά. Πατήστε διπλό κλικ πάνω στο DBLookUpComboBox1 ώστε να ανοίξει το παράθυρο του Unit2.cpp για να γραφτεί κώδικας εντολών. Γράψτε τις παρακάτω εντολές στην µέθοδο DBLookupComboBox1Click: void fastcall TForm2::DBLookupComboBox1Click(TObject *Sender) { //Προβολή ιστορικού ενοικιάσεων Πελάτη // ADOQuery1->SQL->Text="SELECT MARKA, MONTELO, XROMA, HMER_ENOIKIASHS, \ HMER_EPISTROFHS, PERIGRAFH_ZHMIAS, TELIKO_POSO \ FROM PELATES INNER JOIN (ENOIKIASH INNER JOIN AYTOKINHTA \ ON ENOIKIASH.KA= AYTOKINHTA.KA) \ ON PELATES.KP=ENOIKIASH.KP \ WHERE PELATES.EPITHETO='"+ DBLookupComboBox1->Text+"'"; ADOQuery1->ExecSQL(); // Εκτέλεση ερωτήµατος ADOQuery1->Active=true; // Ενεργοποίηση του ερωτήµατος // Υπολογισµός συνολικού ποσού πληρωµής ενός πελάτη // που επιλέγεται από το DBLookupComboBox ADOQuery2->SQL->Text="SELECT SUM(TELIKO_POSO)as TP \ FROM PELATES INNER JOIN ENOIKIASH \ ON PELATES.KP=ENOIKIASH.KP \ WHERE PELATES.EPITHETO='"+ DBLookupComboBox1->Text+"'"; ADOQuery2->ExecSQL(); // Εκτέλεση ερωτήµατος ADOQuery2->Open(); // Άνοιγµα ερωτήµατος ADOQuery2->FindFirst(); // Μετάβαση στην πρώτη εγγραφή του ερωτήµατος Label4->Caption=ADOQuery2->FieldValues["TP"]; // Με αυτόν τον τρόπο παίρνουµε την τιµή ενός πεδίου // από ένα ερώτηµα και την αναθέτουµε σε µια µεταβλητή της C++ ADOQuery2->Close(); } // Κλείσιµο του Ερωτήµατος πάντα µετά από άνοιγµα. 7. Άνοιγµα φόρµας από κουµπί (button) Μεταβείτε στην Form1 κάνοντας κλικ πάνω στην φόρµα 17

18 Τοποθετήστε το κουµπί που θα ανοίγει την φόρµα2 Αλλάξτε την ιδιότητα Caption και γράψτε το κείµενο που θα εµφανίζεται πάνω στο κουµπί. Button1 Caption=Open Form2 Πατήστε διπλό κλικ πάνω στο Button1 ώστε να ανοίξει το παράθυρο του Unit1.cpp για να γραφτεί κώδικας εντολών. Γράψτε την παρακάτω εντολή στην µέθοδο Button1Click: void fastcall TForm1::Button1Click(TObject *Sender) { Form2->ShowModal(); // Ανοίγει την φόρµα2 χωρίς δυνατότητα µετακίνησης // στην φόρµα1 πριν κλείσει η φόρµα 2 } 8. Αποθηκεύστε το Project του Builder µε την επιλογή Save All και εκτελέστε το µε την επιλογή Run Κάντε αποθηκεύσεις µε την επιλογή Save All συχνά και την ανάπτυξη της εφαρµογής. 9. Επαναλάβετε τα βήµατα από το 2 έως το 8 για να προβάλετε το ιστορικό ενοικιάσεων για κάθε αυτοκίνητο αυτή τη φορά και τον συνολικό τζίρο χρηµάτων που αποφέρει το κάθε αυτοκίνητο. 18

19 Άσκηση 6 Εισαγωγή Σκοπός αυτής της άσκησης είναι να εξοικειωθεί ο σπουδαστής µε την σύνταξη διαδοχικών δυναµικών ερωτηµάτων. Στο τέλος της άσκησης ο χρήστης θα µπορεί να κάνει πολλαπλές επιλογές κριτηρίων και θα βλέπει το τελικό αποτέλεσµα µετά από εκτέλεση ενός ερωτήµατος που θα συνδυάζει όλες τις επιλογές κριτηρίων που επέλεξε ο χρήστης. Το παράδειγµα που θα χρησιµοποιηθεί βασίζεται πάνω στην βάση δεδοµένων της άσκησης 3 και αποτελεί συνέχεια της εφαρµογής σε C++ Builder της άσκησης 4 και 5. Συγκεκριµένα θα γίνετε αναζήτηση αυτοκινήτων µε κριτήρια την ΜΑΡΚΑ, το ΜΟΝΤΕΛΟ, το ΧΡΩΜΑ και την ΤΙΜΗ, και µόλις ο χρήστης επιλέξει όλα τα κριτήρια που θέλει θα παρουσιαστούν τα διαθέσιµα αυτοκίνητα. Η σύνδεση µε την βάση θα γίνει µε ADO (ActiveX Data Object) 1. Κάντε Restore ή Attach την βάση ΕΠΙΘΕΤΟ_ΑΥΤΟΚΙΝΗΤΑ 2. Ανοίξτε τον Builder και το project της άσκησης (3, 4, 5). Στην φόρµα 1 παρουσιάζονται όλα τα components που τοποθετήθηκαν στην προηγούµενη άσκηση, τα οποία τα αφήνουµε και δεν τα πειράζουµε. 3. Προσθέστε νέα φόρµα : File New Form 4. Στην φόρµα 3 που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components) όπως στο παρακάτω σχήµα. ADOQuery (5 φορές) (γραµµή εργαλείων ADO) DataSource (5 φορές) (γραµµή εργαλείων Data Aceess) DBLookUpComboBox (4 φορές) (γραµµή εργαλείων Data Controls) DBGrid (1 φορά) (γραµµή εργαλείων Data Controls) Label (6 φορές) (γραµµή εργαλείων Standard) (όπου απαιτείται πχ Τίτλος καρτέλας) Στην Form1 τοποθετήστε ένα κουµπί Button το οποίο θα ανοίγει την Form3 µέσα από την Form1 19

20 Button (γραµµή εργαλείων Standard) όπως φαίνονται στην παρακάτω εικόνα 4. Επικοινωνία φορµών εν ξεχνάµε να κάνουµε include τα header files της νέας φόρµας στην αρχική και το αντίθετο ώστε να µπορεί η κάθε φόρµα να «βλέπει» τα αντικείµενα της άλλης φόρµας. Μεταβείτε στην Form1 κάνοντας κλικ πάνω στην φόρµα File Include Unit Hdr Unit3 Μεταβείτε στην Form2 κάνοντας κλικ πάνω στην φόρµα File Include Unit Hdr Unit1 (ΠΡΟΣΟΧΗ: Σε περίπτωση που δεν υπάρχει η προηγούµενη άσκηση3,4,5 για να συνεχίσετε, δηµιουργήστε νέο project και αποθηκεύστε το σε νέο φάκελο ΑΣΚΗΣΗ6. Η µόνη διαφορά είναι ότι θα πρέπει να προσθέσετε στην νέα φόρµα ένα ADOConnection ώστε να συνδεθείτε µε την βάση δεδοµένων. Σε αυτή την περίπτωση δεν χρειάζεται το βήµα 4 γιατί δεν υπάρχουν πολλές φόρµες) 5. Ρυθµίσεις χειριστηρίων (components) της Φόρµας 3 20

21 ADOQuery1 Connection= Form1 ADOConnection1 ADOQuery1 SQL Select * From AYTOKINHTA ADOQuery1 Active=true; DataSource1 DataSet=ADOQuery1 DBLookUpComboBox1 ListSource=DataSource1 (αντιστοιχεί στα Αυτοκίνητα) DBLookUpComboBox1 ListField=MARKA (το πεδίο που θα εµφανίζεται) DBLookUpComboBox1 KeyField=KP (το πρωτεύον κλειδί του πίνακα ) Με τις ρυθµίσεις αυτές στο DBLookUpComboBox1 ορίζουµε ότι θα συνδέεται µε τα στοιχεία που θα προβάλει το ADOQuery1 της Form2, και θα επιλέγει µια ΜΑΡΚΑ από τα στοιχεία του πίνακα AYTOKINHTA. ADOQuery2 Connection= Form1 ADOConnection1 ADOQuery3 Connection= Form1 ADOConnection1 ADOQuery4 Connection= Form1 ADOConnection1 ADOQuery5 Connection= Form1 ADOConnection1 Με τις ρυθµίσεις αυτές συνδέουµε όλα τα ερωτήµατα µε το ADOConnection της πρώτης φόρµας. Label1 Caption= ΚΑΡΤΕΛΑ ΕΠΙΛΟΓΗΣ ΑΥΤΟΚΙΝΗΤΟΥ» Label2 Caption= ΙΑΛΕΞΕ ΜΑΡΚΑ» το ίδιο και για τα υπόλοιπα Labels 6. ιαδοχικά υναµικά Ερωτήµατα SQL Πατήστε διπλό κλικ πάνω στο DBLookUpComboBox1 ώστε να ανοίξει το παράθυρο του Unit3.cpp για να γραφτεί κώδικας εντολών. Με τις εντολές αυτές µόλις επιλεχθεί µια ΜΑΡΚΑ από την λίστα θα εκτελεστεί ένα ερώτηµα που θα προβάλει τα ΜΟΝΤΕΛΑ των αυτοκινήτων που έχουν την µάρκα που επιλέχθηκε. Το ερώτηµα αυτό εκτελείται από το ADOQuery2 και συνδέεται µε το επόµενο DBLookUpComboBox2. Γράψτε τις παρακάτω εντολές στην µέθοδο DBLookupComboBox1Click: void fastcall TForm3::DBLookupComboBox1Click(TObject *Sender) { ADOQuery2->SQL->Text="Select KA,MONTELO From AYTOKINHTA \ Where MARKA='"+DBLookupComboBox1->Text+"'"; ADOQuery2->ExecSQL(); ADOQuery2->Active=true; DataSource2->DataSet=ADOQuery2; DBLookupComboBox2->ListSource= DataSource2; DBLookupComboBox2->ListField="MONTELO"; DBLookupComboBox2->KeyField="KA"; } // Πατήστε διπλό κλικ πάνω στο DBLookUpComboBox2 ώστε να ανοίξει το παράθυρο του Unit3.cpp για να γραφτεί κώδικας εντολών. Με τις εντολές αυτές µόλις επιλεχθεί ένα ΜΟΝΤΕΛΟ 21

22 από την λίστα θα εκτελεστεί ένα ερώτηµα που θα προβάλει τα ΧΡΩΜΑΤΑ των αυτοκινήτων που έχουν την µάρκα και το µοντέλο που επιλέχθηκε στα δύο προηγούµενα DBLookUpComboBox. Το ερώτηµα αυτό εκτελείται από το ADOQuery3 και συνδέεται µε το επόµενο DBLookUpComboBox3. void fastcall TForm3::DBLookupComboBox2Click(TObject *Sender) { ADOQuery3->SQL->Text="Select KA,XROMA From AYTOKINHTA \ Where MARKA='"+DBLookupComboBox1->Text+"' AND \ MONTELO='"+DBLookupComboBox2->Text+"'"; ADOQuery3->ExecSQL(); ADOQuery3->Active=true; DataSource3->DataSet=ADOQuery3; DBLookupComboBox3->ListSource= DataSource3; DBLookupComboBox3->ListField="XROMA"; DBLookupComboBox3->KeyField="KA"; } // Πατήστε διπλό κλικ πάνω στο DBLookUpComboBox3 ώστε να ανοίξει το παράθυρο του Unit3.cpp για να γραφτεί κώδικας εντολών. Με τις εντολές αυτές µόλις επιλεχθεί ένα ΧΡΩΜΑ από την λίστα θα εκτελεστεί ένα ερώτηµα που θα προβάλει τις ΤΙΜΕΣ ΕΝΟΙΚΙΑΣΗΣ των αυτοκινήτων που έχουν την µάρκα και το µοντέλο και το χρώµα που επιλέχθηκε στα τρία προηγούµενα DBLookUpComboBox. Το ερώτηµα αυτό εκτελείται από το ADOQuery4 και συνδέεται µε το επόµενο DBLookUpComboBox4. void fastcall TForm3::DBLookupComboBox3Click(TObject *Sender) { ADOQuery4->SQL->Text="Select KA,TIMH_ENOIKIASIS From AYTOKINHTA \ Where MARKA='"+DBLookupComboBox1->Text+"' AND \ MONTELO='"+DBLookupComboBox2->Text+"' AND \ XROMA='"+DBLookupComboBox3->Text+"'"; ADOQuery4->ExecSQL(); ADOQuery4->Active=true; DataSource4->DataSet=ADOQuery4; DBLookupComboBox4->ListSource= DataSource4; DBLookupComboBox4->ListField="TIMH_ENOIKIASIS"; DBLookupComboBox4->KeyField="KA"; } // Πατήστε διπλό κλικ πάνω στο DBLookUpComboBox4 ώστε να ανοίξει το παράθυρο του Unit3.cpp για να γραφτεί κώδικας εντολών. Με τις εντολές αυτές µόλις επιλεχθεί µια ΤΙΜΗ ΕΝΟΙΚΙΑΣΗ από την λίστα θα εκτελεστεί ένα ερώτηµα που θα προβάλει ΟΛΑ τα στοιχεία των αυτοκινήτων που έχουν την µάρκα και το µοντέλο το χρώµα και την τιµή που επιλέχθηκε στα τέσσερα προηγούµενα DBLookUpComboBox. Το ερώτηµα αυτό εκτελείται από το ADOQuery5 και συνδέεται µε το DBGrig για να προβληθούν όλα τα στοιχεία από τα διαθέσιµα αυτοκίνητα που πληρούν τα παραπάνω κριτήρια. void fastcall TForm3::DBLookupComboBox4Click(TObject *Sender) { ADOQuery5->SQL->Text="Select * From AYTOKINHTA \ Where MARKA='"+DBLookupComboBox1->Text+"' AND \ MONTELO='"+DBLookupComboBox2->Text+"' AND \ 22

23 XROMA='"+DBLookupComboBox3->Text+"'AND \ TIMH_ENOIKIASIS='"+DBLookupComboBox4- >Text+"'"; ADOQuery5->ExecSQL(); ADOQuery5->Active=true; DataSource5->DataSet=ADOQuery5; DBGrid1->DataSource= DataSource5; } // Το αποτέλεσµα θα είναι η παρακάτω φόρµα 7. Άνοιγµα φόρµας από κουµπί (button) Μεταβείτε στην Form1 κάνοντας κλικ πάνω στην φόρµα Τοποθετήστε το κουµπί που θα ανοίγει την φόρµα3 Αλλάξτε την ιδιότητα Caption και γράψτε το κείµενο που θα εµφανίζεται πάνω στο κουµπί. Button1 Caption= Open Form3 Πατήστε διπλό κλικ πάνω στο Button1 ώστε να ανοίξει το παράθυρο του Unit1.cpp για να γραφτεί κώδικας εντολών. Γράψτε την παρακάτω εντολή στην µέθοδο Button1Click: void fastcall TForm1::Button1Click(TObject *Sender) { Form3->ShowModal(); // Ανοίγει την φόρµα3 χωρίς δυνατότητα µετακίνησης // στην φόρµα1 πριν κλείσει η φόρµα 3. // µε την εντολή Form3->Show(); γίνεται µετακίνηση σε κάθε ανοιχτή φόρµα. } 8. Αποθηκεύστε το Project του Builder µε την επιλογή Save All και εκτελέστε το µε την επιλογή Run Κάντε αποθηκεύσεις µε την επιλογή Save All συχνά και την ανάπτυξη της εφαρµογής. 23

24 Άσκηση 7 Εισαγωγή Σκοπός αυτής της άσκησης είναι να µάθει ο σπουδαστής ακόµη έναν τρόπο επικοινωνίας Βάσεων εδοµένων µε Γλώσσες Προγραµµατισµού. Θα εξοικειωθεί µε την πλατφόρµα επικοινωνίας ODBC (Open Data Base Connectivity). Η πλατφόρµα αυτή περιλαµβάνει συναρτήσεις που ανοίγουν την επικοινωνία µε µία βάση, συναρτήσεις που δηµιουργούν και εκτελούν ερωτήµατα, «βλέπουν» πίνακες, όψεις, διαδικασίες. Για την πλατφόρµα αυτή ODBC, ο κάθε κατασκευαστής RDBMS έχει δηµιουργήσει έναν οδηγό (driver) ώστε να µπορεί ο κάθε προγραµµατιστής να συνδεθεί µέσω του ODBC µε το συγκεκριµένο RDBMS. Αρχικά το ODBC προέβλεπε συναρτήσεις επικοινωνίας µόνο µε σχεσιακές βάσεις δεδοµένων, γεγονός δεσµευτικό. Στην συνέχεια το ADO (ActiveX Data Object) επέκτεινε την επικοινωνία αυτή µε οποιοδήποτε ενεργό αντικείµενο και ενσωµάτωσε και το ODBC. Στην άσκηση αυτή θα δείξουµε αναλυτικά τα βήµατα που πρέπει να ακολουθηθούν ώστε να επιτευχθεί η σύνδεση µιας βάσης του SQL Server µε µία εφαρµογή Client/Server γραµµένη σε οπτικό προγραµµατισµό µε την γλώσσα C++ της Borland C++ Builder v6.0. Υλοποίηση Για την υλοποίηση της άσκησης αυτής ακολουθήστε τα παρακάτω βήµατα: 1. Κάντε Restore ή Attach την βάση ENOIKIASEIS_AYTOKINHTON_EPITHETO που έχετε δηµιουργήσει σε παλαιότερη άσκηση. 2. ηµιουργία ODBC Connection. α. Έναρξη Πίνακας Ελέγχου Εργαλεία ιαχείρισης Πηγές εδοµένων(odbc) DSN χρήστη Προσθήκη 24

25 β. Επιλέξτε το πρόγραµµα οδήγησης (driver) SQL Server και πιέστε Τέλος. γ. Γράψτε στην θέση Όνοµα : DB_ENOIKIASEIS_EPITHETO_SAS Αυτό είναι το όνοµα που θα έχει το ODBC connection string και θα το καλείται. Περιγραφή : Data Base ENOIKIASEIS AYTOKINHTON with ODBC Είναι µια περιγραφή της βάσης που θα συνδεθείται ιακοµιστής: AYTOMATISMOY ή localhost ή τίποτε Είναι το όνοµα του SQL Server µε το οποίο θα συνδεθεί το ODBC. Εάν δεν το γνωρίζεται και ο SQL Server τρέχει στον υπολογιστή που δουλεύεται και θέλετε να µάθετε το όνοµά του, τότε µετακινήστε το ποντίκι δεξιά κάτω στην γµαµµή εργασιών πάνω από το εικονίδιο του SQL Server και θα εµφανιστεί ένα µήνυµα µε το όνοµα του Server. 25

26 δ. Στην καρτέλα αυτή ζητείται ο τρόπος µε τον οποίο θα ελεγχθεί η ταυτότητα του χρήστη που πρόκειται να συνδεθεί µε την βάση. Υπάρχουν δύο τρόποι. Επιλέξτε τον δεύτερο τρόπο, που ελέγχει ο SQL Server την ταυτότητα του χρήστη από το όνοµα και τον κωδικό. Αναγνωριστικό σύνδεσης : sa (συνδέεστε ως System Administrators και έχετε πλήρη δικαιώµατα) Κωδικός Πρόσβασης: κενό (εκτός αν τον άλλαξε ο DBA) Επόµενο.. ε. Στο παράθυρο αυτό αλλάξτε την προεπιλεγµένη βάση που είναι η master µε την δική σας βάση δεδοµένων. Επιλέξτε από την αναδιπλούµενη λίστα την βάση που δηµιουργήσατε ENOIKIASEIS_AYTΟKINHTON_EPITHETO και πιέστε Επόµενο. 26

27 στ. Στην καρτέλα αυτή δεν επιλέγετε τίποτε. Απλά πιέστε Επόµενο. ζ. Πιέστε οκιµή του αρχείου προέλευσης δεδοµένων για να ελέγξετε αν συνδέεστε σωστά µε την βάση που επιλέξατε. Εάν το µήνυµα που θα προβληθεί είναι ΜΕ ΕΠΙΤΥΧΙΑ τότε ολοκληρώσατε επιτυχώς την διαδικασία δηµιουργίας ODBC Connection. Μόλις δηµιουργήσατε µία γέφυρα επικοινωνίας µεταξύ την βάσης σας και οποιασδήποτε εφαρµογής ή γλώσσας θελήσει να συνδεθεί µε αυτή την βάση. 27

28 Στη συνέχεια ανοίγουµε την C++ Builder για δηµιουργήσουµε τις φόρµες, που θα έχει η εφαρµογή και θα επικοινωνεί µε την βάση ώστε να διαχειρίζεται τα δεδοµένα. 3. Ανοίξτε τον Builder και 4. Στην νέα φόρµα που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components). Query ή εναλλακτικά Table (γραµµή εργαλείων BDE) DataSource (γραµµή εργαλείων Data Aceess) DBGrid DBNavigator Label (γραµµή εργαλείων Data Controls) (γραµµή εργαλείων Data Controls) (γραµµή εργαλείων Standard) 5. Αποθηκεύστε το Project σε νέο υποφάκελο µέσα στον φάκελό σας πχ. D:\... \ΕΠΙΘΕΤΟ\ΕΡΓΑΣΙΑ8 Η διαδικασία σύνδεσης µε την βάση και την εκτέλεση ερωτήµατος είναι παρόµοια µε αυτή που µάθατε και ακολουθείτε για την σύνδεση µε ADO. Για να εµφανιστούν τα παραπάνω στην φόρµα σας θα πρέπει να ρυθµίσετε τις παρακάτω ιδιότητες των χειριστηρίων. Query1 DataBaseName=DB_ENOIKIASEIS_EPITHETO_SAS (το όνοµα του ODBC driver που δηµιουργήθηκε µε την προηγούµενη διαδικασία) SQL = Select * From PELATES Active =true 28

29 DataSource1 DataSet =Query1 Στην ιδιότητα SQL του Query µπορεί να γραφεί οποιοδήποτε ερώτηµα SQL. Στον Builder υπάρχει η δυνατότητα σύνδεσης µε πίνακα µε το χειριστήριο Table µε το οποίο µπορεί να γίνει σύνδεση µε οποιονδήποτε πίνακα της βάσης ρυθµίζοντας αντίστοιχα και την ιδιότητα TableName ΠΡΟΣΟΧΗ: Μην συγχέεται το Query µε το ADOQuery DBGrid DataSource= DataSource1 DBNavigator DataSource= DataSource1 6. ηµιουργήστε Νέα Φόρµα 7. Συνδέστε τις φόρµες µεταξύ τους µε Include Unit 8. Επαναλάβετε τα βήµατα 4 έως 5 ώστε στην νέα φόρµα να εκτελείται ένα ερώτηµα που θα παρουσιάζει τα αυτοκίνητα και θα τα προβάλει στο DBGrid. 9. ηµιουργήστε Νέα Φόρµα 10. Εκτέλεση υναµικού Ερωτήµατος SQL όπως στην Άσκηση 5 Αφού επιλεχθεί το επιθυµητό επίθετο, θα εκτελεστεί ένα ερώτηµα SQL και θα προβληθεί σε ένα DBGrid, το ιστορικό ενοικιάσεων αυτοκινήτων του πελάτη που επιλέχθηκε. Σε αυτή την περίπτωση θα χρησιµοποιείτε πάντα Query από την γραµµή εργαλείων BDE του Builder και όχι από την γραµµή εργαλείων ADO. 29

30 Άσκηση 8 Εισαγωγή Σκοπός αυτής της άσκησης είναι να µάθει ο σπουδαστής καταρχήν να δηµιουργεί βάσεις δεδοµένων που να αποθηκεύουν την διαδροµή (path) που βρίσκονται διάφορες εικόνες και στη συνέχεια να συνδέει και να προβάλει τις εικόνες αυτές στο περιβάλλον µιας εφαρµογής τύπου Client/Server. Υλοποίηση Για την υλοποίηση της άσκησης αυτής ακολουθήστε τα παρακάτω βήµατα: 1. Κάντε Restore ή Attach την βάση ENOIKIASEIS_AYTOKINHTON_EPITHETO που έχετε δηµιουργήσει σε παλαιότερη άσκηση. 2. Προσθέστε τον πίνακα ΑΥΤΟΚΙΝΗΤΑ µια στήλη (πεδίο) µε όνοµα FOTO τύπου varchar(100). Η προσθήκη αυτή θα γίνει µε την εκτέλεση ερωτήµατος. εξί κλίκ πάνω στον πίνακα AYTOKINHTA Open Table Query 3. Ενηµερώστε τον πίνακα ΑΥΤΟΚΙΝΗΤΑ έτσι ώστε η εγγραφή µε ΚΑ=1 να έχει στο πεδίο FOTO το παρακάτω Path 30

31 3. Ανοίξτε την ζωγραφική ηµιουργήστε τέσσερις (4) εικόνες bmp και αποθηκεύστε τις στην διαδροµή (path) D:\AYT\Database\Baseis2 µε ονόµατα FOTO1.bmp, FOTO2.bmp, FOTO3.bmp, FOTO4.bmp 4. Ανοίξτε τον Builder και 5. Στην φόρµα 1 που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components) όπως στο παρακάτω σχήµα. ADOConnection (1 φορά) (γραµµή εργαλείων ADO) ADOQuery (2 φορές) (γραµµή εργαλείων ADO) DataSource (2 φορές) (γραµµή εργαλείων Data Aceess) DBEdit (4 φορές) (γραµµή εργαλείων Data Controls) Label (4 φορές) (γραµµή εργαλείων Standard) (όπου απαιτείται πχ Όνοµα Πεδίο, Τίτλος καρτέλας κλπ) 31

32 Image (1 φορά) (γραµµή εργαλείων Additional) OpenPictureDialog (1 φορά) (γραµµή εργαλείων Dialogs) DBLookUpComboBox (1 φορά) (γραµµή εργαλείων Data Controls) DBNavigator (1 φορά) (γραµµή εργαλείων Data Controls) Button (1 φορά) (γραµµή εργαλείων Standard) όπως φαίνονται στην παρακάτω εικόνα 6. Αποθηκεύστε το Project σε νέο υποφάκελο µέσα στον φάκελό σας πχ. ΕΠΙΘΕΤΟ\ΕΡΓΑΣΙΑ9 7. Σύνδεση Βάσης εδοµένων µε C++ BUILDER και ρύθµιση ιδιοτήτων Ρυθµίστε τις παρακάτω ιδιότητες για τα παραπάνω χειριστήρια όπως στην Άσκηση2 ADOConnection1 Connection String Build Microsoft OLEDB Provider for SQL Server 1. Επιλογή διακοµιστή 2. Όνοµα Χρήστη=sa Κωδικός πρόσβασης =κενό 32

33 ADOQuery1 Connected=true Connection=ADOConnection1 3. Επιλογή βάσης δεδοµένων=αυτοκινητα 4. οκιµή σύνδεσης SQL = Select *, MARKA+' '+MONTELO AS MM From AYTOKINHTA Active =true DataSource1 DataSet =ADOQuery1 ADOQuery2 Connection=ADOConnection1 DBEdit1 DataSource= DataSource1 DataField=ΚΑ Οµοίως για τα υπόλοιπα DBEdit όπου DataField ίσο µε το αντίστοιχο πεδίο του πίνακα. Label1 Caption=Κείµενο που περιγράφει τα πεδία πχ KA DBNavigator DataSource= DataSource1 DBLookUpComboBox1 ListSource=DataSource1 (αντιστοιχεί στo ADOQuery1, Αυτοκίνητα) DBLookUpComboBox1 ListField=MM (το πεδίο ΜΜ=MARKA και MONTELO µαζί) DBLookUpComboBox1 KeyField=KA (το πρωτεύον κλειδί του πίνακα ) Τα αντικείµενα Image1 και OpenPictureDialog1 τα προγραµµατίζουµε γράφοντας κώδικα. Το Image1 το χρησιµοποιούµε για να προβάλει τις εικόνες που αντιστοιχούν σε κάθε εγγραφή αυτοκινήτου. Το OpenPictureDialog1 το χρησιµοποιούµε για να βρίσκουµε στον δίσκο αρχεία µε εικόνες έτσι ώστε όταν τα επιλέξουµε, να αποθηκευτεί η διαδροµή τους (path) και το όνοµα του αρχείου στο πεδίο FOTO του πίνακα AYTOKINHTA. 8. Πατήστε διπλό κλικ στο Button1 και γράψτε τις παρακάτω εντολές void fastcall TForm1::Button1Click(TObject *Sender) { // Όταν πιεστεί µε κλικ το Button1 τότε εκτελείται το OpenPictureDialog1 // Αφου βρεθεί ένα αρχείο από το δίσκο κρατάµε το όνοµα και το path // το αναθέτουµε στην µεταβλητή fotoname // εκτελούµε το ερώτηµα ADOQuery2 ώστε να αλλάξουµε την τιµή του πεδίου FOTO // ώστε να γίνει ίδια µε το path της µεταβλητής fotoname για την εγγραφή // µε ΚΑ ίσο µε την τιµή του DBEdit1 AnsiString fotoname; OpenPictureDialog1->Execute(); fotoname=openpicturedialog1->filename; DBEdit4->Text=fotoname; ADOQuery2->SQL->Text="Update AYTOKINHTA Set Foto='"+fotoname+"' where \ KA="+DBEdit1->Text; ADOQuery2->ExecSQL(); ADOQuery1->Active=false; //εκτελούµε το ερώτηµα // απενεργοποιούµε το ερώτηµα 33

34 ADOQuery1->Active=true; // ΞΑΝΑενεργοποιούµε το ερώτηµα // για να φρεσκαριστούν τα δεδοµένα // Φορτώνεται η εικόνα της κάθε εγγραφής όταν το πεδίο DBEdit4 // δεν είναι κενό. Όταν είναι κενό φορτώνεται µια φώτο χωρίς περιεχόµενο if (DBEdit4->Text!= "") Image1->Picture->LoadFromFile(DBEdit4->Text); if (DBEdit4->Text == "") \ Image1->Picture->LoadFromFile("d:\\AYT\\Database\\Baseis2\\no_image.bmp"); // χρησιµοποιούµε το διπλό \\ όταν γράφουµε το path ενός αρχείου στον Builder // γιατί το σύµβολο \ µόνο του δηλώνει την συνέχιση µια γραµµής εντολής στην // επόµενη γραµµή. // Το διπλό slash // δηλώνει σχόλια. } 9. Πατήστε διπλό κλικ στην Form1 και γράψτε τις παρακάτω εντολές void fastcall TForm1::FormCreate(TObject *Sender) { // Μόλις ανοίξει η φόρµα1 Φορτώνει την εικόνα που // αντιστοιχεί στην 1η εγγραφή του πίνακα ΑΥΤΟΚΙΝΗΤΑ Image1->Picture->LoadFromFile(DBEdit4->Text); } 10. Πατήστε διπλό κλικ στο DBNavigator1 και γράψτε τις παρακάτω εντολές void fastcall TForm1::DBNavigator1Click(TObject *Sender, TNavigateBtn Button) { // Όταν πιέζονται τα κουµπιά του DBNavigator για µετακίνηση στις εγγραφές // τότε φορτώνεται η εικόνα της κάθε εγγραφής όταν το πεδίο DBEdit4 // δεν είναι κενό. Όταν είναι κενό φορτώνεται µια φώτο χωρίς περιεχόµενο if (DBEdit4->Text!= "") Image1->Picture->LoadFromFile(DBEdit4->Text); if (DBEdit4->Text == "") \ Image1->Picture->LoadFromFile("d:\\AYT\\Database\\Baseis2\\no_image.bmp"); } 11. Πατήστε διπλό κλικ στο DBLookupComboBox1 και γράψτε τις παρακάτω εντολές void fastcall TForm1::DBLookupComboBox1Click(TObject *Sender) { // Όταν επιλέγεται µια τιµή από το DBLookupComboBox1 για µετακίνηση στις // εγγραφές τότε φορτώνεται η εικόνα της κάθε εγγραφής όταν το πεδίο DBEdit4 // δεν είναι κενό. Όταν είναι κενό φορτώνεται µια φώτο χωρίς περιεχόµενο if (DBEdit4->Text!= "") Image1->Picture->LoadFromFile(DBEdit4->Text); if (DBEdit4->Text == "") \ Image1->Picture->LoadFromFile("d:\\AYT\\Database\\Baseis2\\no_image.bmp"); } 12. Αποθηκεύστε το Project στον υποφάκελο σας µε την επιλογή File Save All 13. Εκτελέστε το Project µε την επιλογή Run. Το αποτέλεσµα θα είναι µια εφαρµογή όπως η παρακάτω εικόνα. 34

35 Άσκηση 9 Εισαγωγή Σκοπός αυτής της άσκησης είναι η εξοικείωση µε την δηµιουργία, επεξεργασία, εκτέλεση αναφορών-εκθέσεων (QuickReports). Οι εκθέσεις είναι χρήσιµα εργαλεία που βοηθούν στην καλύτερη απεικόνιση των ερωτηµάτων µε σκοπό την εκτύπωσή τους. Με τα QuickRepotrs δίνεται η δυνατότητα στον χρήστη να προβάλει απλά ερωτήµατα καθώς και ερωτήµατα οµαδοποίησης µε απλό και εύκολο τρόπο. Υλοποίηση 1. Συνδεθείτε µε Attach (ή κάντε Restore) στην βάση ENOIKIASEIS_AYTOKINHTON. 2. Ανοίξτε τον Builder και 3. Στην φόρµα 1 που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components) ADOConnection (1 φορά) (γραµµή εργαλείων ADO) ADOQuery (1 φορά) (γραµµή εργαλείων ADO) QuickRep (1 φορά) (γραµµή εργαλείων QReport) QRDBText (4 φορές) (γραµµή εργαλείων Data Controls) QRLabel (7 φορές) (γραµµή εργαλείων QReport) (όπου απαιτείται πχ Όνοµα Πεδίο, Τίτλος καρτέλας κλπ) Button (1 φορά) (γραµµή εργαλείων Standard) όπως φαίνονται στην παρακάτω εικόνα 35

36 4. Αποθηκεύστε το Project σε νέο υποφάκελο µέσα στον φάκελό σας πχ. ΕΠΙΘΕΤΟ\ΕΡΓΑΣΙΑ10 5. Σύνδεση Βάσης εδοµένων µε C++ BUILDER και ρύθµιση ιδιοτήτων Ρυθµίστε τις παρακάτω ιδιότητες για τα παραπάνω χειριστήρια ADOConnection1 Connection String Build Microsoft OLEDB Provider for SQL Server 1. Επιλογή διακοµιστή 2. Όνοµα Χρήστη=sa Κωδικός πρόσβασης =κενό 3. Επιλογή βάσης δεδοµένων=ενοικιασεισ_αυτ 4. οκιµή σύνδεσης Connected=true ADOQuery1 Connection=ADOConnection1 SQL = Select * From PELATES Order by EPITHETO Active =true QuickRep1 DataSet= ADOQuery1 Από τις ιδιότητες του QuickRep1 ρυθµίστε τα παρακάτω Bands HasColumnHeader=true (εµφανίζει την κεφαλίδα για ονόµατα πεδίων) HasDetailr=true (εµφανίζει τις λεπτοµέρειες µε τις τιµές των πεδίων) HasPageFooter=true (εµφανίζει το υποσέλιδο της σελίδας) HasPageHeader=true (εµφανίζει την κεφαλίδα της σελίδας) 36

37 Τοποθετήστε το πρώτο QRLabel στην περιοχή του QuickReport που ονοµάζεται PageHeader QRLabel1 Caption=ΑΛΦΑΒΗΤΙΚΗ ΚΑΤΑΣΤΑΣΗ ΠΕΛΑΤΩΝ Τοποθετήστε QRLabel στην περιοχή του QuickReport που ονοµάζεται ColumnHeader QRLabel2 Caption=ΚΩ ΙΚΟΣ QRLabel3 Caption=ΕΠΙΘΕΤΟ οµοίως για τα υπόλοιπα Τοποθετήστε QRLabel στην περιοχή του QuickReport που ονοµάζεται PageFooter QRLabel6 Caption=ΒΑΣΕΙΣ Ε ΟΜΕΝΩ ΙΙ QRLabel7 Caption=ΑΣΚΗΣΗ10 Τοποθετήστε QRDBText στην περιοχή του QuickReport που ονοµάζεται Detail QRDBText1 DataSet=ADOQuery1 DataField=KP QRDBText2 DataSet=ADOQuery1 Οµοίως για τα υπόλοιπα DataField=ΕPITHETO Button1 Caption= Show Report ιπλό κλικ στο Button1 Και γράψτε τον παρακάτω κώδικα 37

38 6. Τρέξτε το πρόγραµµα και πατήστε το κουµπί Show Report ώστε να εµφανιστεί η παρακάτω φόρµα. Τα αποτελέσµατα αυτά µπορείτε να τα µορφοποιήσετε, να τα εκτυπώσετε να µετακινηθείτε ανάµεσα στις πιθανές σελίδες της αναφοράς. 7. Επαναλάβετε τα παραπάνω βήµατα, δηµιουργώντας µια έκθεση-αναφορά που θα παρουσιάζει αλφαβητικά τα αυτοκίνητα ανά µάρκα και µοντέλο. 8. (Άσκηση για το Σπίτι) Επαναλάβετε τα παραπάνω βήµατα, δηµιουργώντας µια έκθεσηαναφορά που θα παρουσιάζει ένα ερώτηµα οµαδοποίησης. ηλ. στην αρχή της οµάδος να φαίνεται το Επίθετο και Όνοµα του πελάτη και κάτω από αυτό να παρουσιάζονται αναλυτικά το ιστορικό των ενοικιάσεων που έχει κάνει καθώς και το συνολικό ποσό που πλήρωσε. 38

39 Άσκηση 10 Εισαγωγή Σκοπός αυτής της άσκησης είναι η εξοικείωση µε την δηµιουργία, επεξεργασία, εκτέλεση αποθηκευµένων διαδικασιών (Stored Procedure) και σκανδάλης (trigger) στον SQL Server. Στις γλώσσες προγραµµατισµού υπάρχουν γενικά δύο τύποι ρουτινών: ιαδικασίες & Συναρτήσεις. Οι διαδικασίες αποτελούνται από αρκετές προτάσεις που έχουν µηδέν ή περισσότερες παραµέτρους εισόδου, αλλά δεν επιστρέφουν παραµέτρους εξόδου. Σε αντίθεση µε αυτό, οι συναρτήσεις γενικά επιστρέφουν µια ή περισσότερες παραµέτρους. Οι συναρτήσεις SQL Server δεν υποστηρίζουν παραµέτρους εξόδου, αλλά επιστρέφουν µια µόνο τιµή δεδοµένων. ιαδικασίες οι συναρτήσεις και οι σκανδάλες είναι ένα ειδικό είδος δέσµης εντολών γραµµένης σε Transact-SQL, χρησιµοποιώντας την γλώσσα SQL και επεκτάσεις SQL. Μια διαδικασία αποθηκεύεται στον διακοµιστή της βάσης δεδοµένων για να βελτιώσει την απόδοση και την συνέπεια επαναληπτικών εργασιών. Ο SQL Server υποστηρίζει αποθηκευµένες διαδικασίες και κάποια παραδείγµατα θα δείτε παρακάτω. Σε µία τέτοια δέσµη εντολών µπορούν να υπάρχουν πολλά µπλόκ εντολών BEGIN-END. Στο σώµα ενός µπλοκ BEGIN-END, επιτρέπονται µόνο οι παρακάτω προτάσεις: Προτάσεις εκχώρησης τιµών σε µεταβλητές µε την SET Προτάσεις ελέγχου ροής σαν τις WHILE και IF Προτάσεις DECLARE που ορίζουν τοπικές µεταβλητές δεδοµένων Προτάσεις SELECT που προβάλλουν λίστες τιµών Προτάσεις SELECT µε εκφράσεις που εκχωρούν τιµές σε τοπικές µεταβλητές Προτάσεις INSERT, UPDATE και DELETE, που τροποποιούν µεταβλητές τύπου δεδοµένων TABLE, που είναι τοπικές στην συνάρτηση Υλοποίηση 1. Συνδεθείτε µε Attach (ή κάντε Restore) στην βάση ENOIKIASEIS_AYTOKINHTON. 2. Στις Αποθηκευµένες διαδικασίες (Stored Procedures) πιέστε: δεξί κλικ New Stored Procedure.. και γράψτε την παρακάτω διαδικασία η οποία παίρνει µία τιµή εισόδου που την κρατάει στην και ενηµερώνει την ΤΙΜΗ ΕΝΟΙΚΙΑΣΗΣ του πίνακα ΑΥΤΟΚΙΝΗΤΑ αυξάνοντας την κατά το ποσοστό εισόδου. 39

40 Για να ελέγξετε την σωστή σύνταξη της διαδικασίας πιέστε το κουµπί Check Syntax και σε περίπτωση που όλα είναι σωστά θα σας εµφανίσει το παρακάτω µήνυµα. Ανοίξτε το πίνακα αυτοκίνητα εξί κλικ Open Table Return All Rows θα σας εµφανίσει τις γραµµές του πίνακα Αυτοκίνητα πριν εκτελέσετε τη διαδικασία AFXISI_TIMIS 40

41 2. Για να εκτελέσετε την παραπάνω διαδικασία εξί κλικ Open Table Query Γράψτε την παρακάτω εντολή και τρέξτε το ερώτηµα µε το διαδικασία θα αυξηθεί η τιµή ενοικίασης κατά 10%. Όταν εκτελεστεί η Ανοίξτε πάλι τον πίνακα αυτοκίνητα εξί κλικ Open Table Return All Rows θα σας εµφανίσει τις ενηµερωµένες γραµµές του πίνακα Αυτοκίνητα ΗΜΙΟΥΡΓΙΑ ΣΚΑΝ ΑΛΗΣ (trigger) Σκανδάλες ονοµάζουµε τις διαδικασίες οι οποίες εκτελούνται αυτόµατα µόλις ενηµερώσουµε ή εισάγουµε ή διαγράψουµε τιµές σε ένα πίνακα. 41

42 Θα χρησιµοποιήσουµε µια σκανδάλη για να ενηµερώνουµε αυτόµατα το υπολογιζόµενο πεδίο ΤΕΛΙΚΟ ΠΟΣΟ το οποία προκύπτει από το άθροισµα του ΠΟΣΟΥ ΠΛΗΡΩΜΗΣ και της ΧΡΕΩΣΗΣ ΖΗΜΙΑΣ 3. Στον πίνακα ΕΝΟΙΚΙΑΣΗ πιέστε δεξί κλικ Όλες οι Εργασίες Manage Triggers Γράψτε τις παρακάτω εντολές και ελέγξτε για την σωστή σύνταξη. 42

43 4. Ανοίξτε το πίνακα ΕΝΟΙΚΙΑΣΗ και εισάγετε µια νέα εγγραφή χωρίς να δώσετε τιµή στο πεδίο TELIKO_POSO. Θα δείτε ότι µόλις εισάγετε τιµές στο POSO_PLHROMHS και στο XREOSH_ZHMIAS και πατήσετε TAB για να πάτε στην νέα εγγραφή, τότε θα ενηµερωθεί αυτόµατα το πεδίο TELIKO_POSO. 5. Στον Πίνακα PELATES προσθέστε ένα ακόµη πεδίο µε όνοµα HLIKIA τύπου INT (ακέραιος) και αποθηκεύστε τον πίνακα. 6. Στον Πίνακα PELATES δηµιουργήστε µια νέα σκανδάλη (trigger) η οποία θα υπολογίζει την ηλικία του κάθε πελάτη από την Ηµεροµηνία Γέννησης που θα καταχωρείται. Για το υπολογισµό αυτό θα χρησιµοποιηθούν δύο νέες συναρτήσεις του SQL Server DATEDIFF( YEAR, Ηµεροµηνία αρχής, Ηµεροµηνία Τέλους) Η συνάρτηση αυτή υπολογίζει την διαφορά µεταξύ δύο ηµεροµηνιών και επιστρέφει την διαφορά αυτή σε ηµέρες (DAY), χρόνια (YEAR), εβδοµάδες (WEEK) κλπ. GETDATE( ) Η συνάρτηση αυτή επιστέφει την τρέχουσα Ηµεροµηνία. Γνωρίζοντας αυτές τις συναρτήσεις γράψτε την παρακάτω σκανδάλη. 7. Ανοίξτε το πίνακα PELATES και εισάγετε µια νέα εγγραφή χωρίς να δώσετε τιµή στο πεδίο HLIKIA. Θα δείτε ότι µόλις εισάγετε τιµή στην ΗΜ_GENNHSIS και πατήσετε TAB για να πάτε στην επόµενη εγγραφή, τότε θα ενηµερωθεί αυτόµατα το πεδίο HLIKIA. 43

44 Άσκηση 11 Εισαγωγή Σκοπός αυτής της άσκησης είναι να εξοικειωθεί ο σπουδαστής µε τον Query Analyzer του SQL Server. O Microsoft SQL Server 2000 SQL Query Analyzer είναι ένα γραφικό εργαλείο που σας επιτρέπει: Να δηµιουργήσετε ερωτήµατα SQL και να τα εκτελέσετε σε διακοµιστές (servers) βάσεων δεδοµένων από το Query window Να δηµιουργήσετε γρήγορα αντικείµενα βάσεων δεδοµένων (πίνακες κλπ) από προκαθορισµένα χειρόγραφα αρχεία τα λεγόµενα scripts. (Templates) Μπορείτε εύκολα και γρήγορα να εισάγετε γραµµές σε έναν πίνακα, να τις διορθώσετε ή να τις διαγράψετε µε scripts Να αντιγράψτε γρήγορα τα υπάρχοντα αντικείµενα βάσεων δεδοµένων. (Object Browser) Να εκτελέστε τις αποθηκευµένες διαδικασίες. (Object Browser procedure execution feature) Να διορθώστε τις αποθηκευµένες διαδικασίες. (T-SQL Debugger) Να διορθώστε τα προβλήµατα απόδοσης ερώτησης. (Εµφανίζεται σχέδιο εκτέλεσης των ερωτηµάτων, παρουσιάζεται ίχνος κεντρικών υπολογιστών) Να εντοπίστε τα αντικείµενα µέσα στις βάσεις δεδοµένων από ένα χαρακτηριστικό γνώρισµα αναζήτησης αντικειµένου και να δουλέψετε µε αυτά.(object Browser) Να δηµιουργήστε τους συντοµεύσεις (shortcuts) για τις συχνά χρησιµοποιηµένες ερωτήσεις και να προσθέστε τις πιο συχνά χρησιµοποιηµένες εντολές στις γραµµές εργαλείων. Μπορείτε να τρέξετε τον SQL Query Analyzer άµεσα από τo µενού Sart, ή µέσα από τον SQL Server Enterprise Manager ή από την γραµµή εντολών µε την εκτέλεση της εντοολής isqlw. Ανάλυση Ερωτηµάτων Ένα από τα πιο σηµαντικά χαρακτηριστικά και δυνατότητες που προσφέρει ο Query Analyzer είναι η ανάλυση ερωτηµάτων όπως λέει και το όνοµά του. Παρέχει εργαλεία που βοηθάνε τον χρήστη να αναλύσει τα ερωτήµατα για την βέλτιστη απόδοσή τους. Τα εργαλεία αυτά είναι: Show Query Execution Plan. Show Estimated Execution Plan. Show Server Trace. Show Client Statistics. Index Tuning Wizard. Το γραφικό περιβάλλον του Query Analyzer Αποτελείται από τρία βασικά παράθυρα. Τον Object Browser Αριστερά που συνδέεται µε τους υπάρχοντες DataBase Servers και προβάλει όλα τα αντικείµενα που µπορεί να χρησιµοποιήσει ο χρήστης. 44

45 Την περιοχή σύνταξης ερωτηµάτων δεξί πάνω παράθυρο, όπου ο χρήστης µπορεί να συντάξει τα ερωτήµατα (Query window) Την περιοχή παρουσίασης αποτελεσµάτων στο κάτω δεξί παράθυρο, όπου ο χρήστης βλέπει τα αποτελέσµατα ενός ερωτήµατος αλλά και την απόδοση ενός ερωτήµατος. 1. Ανοίξτε τον SQL Query Analyzer, εντοπίστε την βάση δεδοµένων που δηµιουργήσατε στην άσκηση 3 ΕΝΟΙKIASEIS_AYTOKINHTON και πατήστε διπλό κλικ για να αναδιπλωθούν τα αντικείµενα της. 2. Επιλέξτε τον Πίνακα ΑΥΤΟΚΙΝΗΤΑ. εξί κλικ πάνω του. Εµφανίζεται το παρακάτω µενού της εικόνας όπου µπορείτε να δηµιουργήσετε δικά σας script σε παράθυρο, σε αρχείο ή στο πρόχειρο µε τις διαθέσιµες εντολές Create, Drop, Select, Insert, Update, Delete. Όλες αυτές οι εντολές αφορούν τον πίνακα που επιλέξατε. Πχ επιλέξτε Script object to New Window As Create 45

46 Θα εµφανιστεί το παρακάτω ερώτηµα: CREATE TABLE [AYTOKINHTA] ( [KA] [int] NOT NULL, [MARKA] [varchar] (20) COLLATE Greek_CI_AS NULL, [MONTELO] [varchar] (20) COLLATE Greek_CI_AS NULL, [AR_KYKLOFORIAS] [varchar] (20) COLLATE Greek_CI_AS NULL, [THESIS] [int] NULL, [PORTES] [int] NULL, [XROMA] [varchar] (10) COLLATE Greek_CI_AS NULL, [TIMH_ENOIKIASIS] [real] NULL, [TYPOS_KAYSIMOY] [varchar] (10) COLLATE Greek_CI_AS NULL, [HMEROM_KYKLOFORIAS] [smalldatetime] NULL, [XILIOMETRA] [int] NULL, CONSTRAINT [PK_AYTOKINHTA] PRIMARY KEY CLUSTERED ( [KA] ) ON [PRIMARY] ) ON [PRIMARY] GO Μπορείτε να το αποθηκεύσετε µε την εντολή File Save As σε ένα αρχείο το οποίο θα έχει κατάληξη.sql Συγχαρητήρια, δηµιουργήσατε το πρώτο σας script file. 2. Επαναλάβετε το ίδιο για όλους τους πίνακες της βάσης και αποθηκεύσετε όλα τα Create Table σε ένα αρχείο Επίθετο_script.sql στον φάκελό σας. Εάν καλέσετε αυτό το αρχείο από οποιαδήποτε βάση θα δηµιουργηθεί η ίδια δοµή πινάκων. 46

47 3. Στην περιοχή σύνταξης ερωτηµάτων (Query Window) πληκτολογήστε την εντολή Create DataBase Bank_Το_Επίθετό_σας Για δηµιουργήσετε µια νέα βάση δεδοµένων. Εάν δεν εµφανιστεί στο αριστερό παράθυρο, πιέστε κλικ στο αριστερό πάράθυρο και µετά πιέστε το πλήκτρο F5 (Refresh) 4. Καλέστε το script (BANKSchemaScriptGR.sql ) που θα σας δοθεί και δηµιουργήστε τη δοµή της βάσης Bank 5. Καλέστε το script (BANKDataScriptGR.sql ) και γεµίστε τους πίνακες µε δεδοµένα. Βάση εδοµένων Τράπεζα 4. ΑΠΑΝΤΗΣΤΕ ΣΤΑ ΠΑΡΑΚΑΤΩ ΕΡΩΤΗΜΑΤΑ ΣΕ SQL (απαντήστε στα επιλεγµένα µε σκούρο χρώµα στα υπόλοιπα εξασκηθείτε σπίτι) Q4.1. Εµφανίστε τα ονόµατα υποκαταστηµάτων από τον πίνακα ανειο Q4.2. Να εµφανίσετε όλες τις στήλες από τον πίνακα ανειο Q4.3. Εµφανίστε χωρίς διπλότυπα τα ονόµατα υποκαταστηµάτων από τον πίνακα ανειο. Q4.4. Εµφανίστε από τον πίνακα ανειο τα αριθµός δανείου, όνοµα Υποκαταστήµατος και το Ποσο πολλαπλασιασµένο επί 340 (Ποσο * 340) Q4.5. Τους αριθµούς δανείων για δάνεια µε Ποσο µεγαλύτερο από Q4.6. Τους αριθµούς δανείων για δάνεια µε Ποσο µεταξύ 5000 και Q4.7. Όλα τα στοιχεία των πελατών από τον Αναγνώστου µέχρι και τον Παπαδόπουλο (between "Αναγνώστου" and "Παπαδόπουλος") Q4.8. Τα ονόµατα πελατών µε οδό που αρχίζει από Κ (χρήση του Like) Q4.9. Τα Ονόµατα υποκαταστηµάτων που αρχίζουν από Β ή Κ, βρίσκονται σε Πόλεις εκτός του Βόλου, και έχουν Ενεργητικό µεταξύ και , ταξινοµηµένα κατά Ενεργητικό από το υψηλότερο στο χαµηλότερο Q4.10. Εντοπίστε το όνοµα πελάτη, αριθµό δανείου και Ποσο δανείου των πελατών που έχουν ένα ανειο από το Υποκαταστηµα µε όνοµα Κρήνης (σύζευξη 2 πινάκων) Q4.11. ώστε µε αλφαβητική σειρά τα ονόµατα πελατών που έχουν ανειο στα Υποκαταστήµατα της Πολης Σέρρες (σύζευξη 3 πινάκων) Q4.12. Βρείτε όλα τα στοιχεία των πελατών του ερωτήµατος 4.11 (σύζευξη 4 πινάκων) Q4.13. Εµφανίστε όλα τα στοιχεία του πίνακα ανειο, ταξινοµηµένα µε φθίνουσα σειρά (Desc) ως προς το Ποσο και έπειτα µε αύξουσα σειρά ως προς Αριθµό δανείου Q4.14. Βρείτε το όνοµα, τον αριθµό δανείου και το Ποσο δανείου όλων των πελατών. Μετονοµάστε το Αριθµος ανειου ως Κωδ ανειου (σύζευξη 2 και χρήση του As) 47

48 Q4.15. Εµφανίστε τα ονόµατα πελατών, µε αύξουσα σειρά, και τις διευθύνσεις των πελατών µε Ποσο δανείου που υπερβαίνει πάνω από 3 φορές το Υπολοιπο Λογαριασµού τους (5 πίνακες, 4 συνθήκες σύζευξης, µία συνθήκη επιλογής Ποσο>3 * υπολοιπο) 5. ΕΡΩΤΗΜΑΤΑ SQL ΜΕ ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Q5.1. Βρείτε το πλήθος των πελατών της τράπεζας (χρήση της count (*) στον πίνακα Πελατης). Q5.2. Βρείτε το άθροισµα, ελάχιστη και µέγιστη τιµή του πεδίου Ποσο από τον πίνακα ανειο. Q5.3. Υπολογίστε από τον πίνακα Λογαριασµος τη µέση τιµή του υπολοίπου των λογαριασµών στο Υποκατάστηµα µε όνοµα Βενιζέλου. Q5.4. Βρείτε από τον πίνακα Λογαριασµός το µέσο Υπόλοιπο των λογαριασµών σε κάθε υποκατάστηµα (οµαδοποίηση ανά ΟνοµαΥποκαταστηµατος). Q5.5. Βρείτε τον αριθµό (πλήθος) των καταθετών σε κάθε υποκατάστηµα (κάντε πρώτα τη σύζευξη των πινάκων Καταθετης, Λογαριασµος, έπειτα υπολογίστε το πλήθος των καταθετών, και µετά οµαδοποιήστε ανά ΟνοµαΥποκαταστηµατος). Q5.6. Βρείτε από τον πίνακα Λογαριασµος τα ονόµατα υποκαταστηµάτων µε µέσο υπόλοιπο καταθέσεων µεγαλύτερο των 1200 (οµαδοποίηση ανά ΟνοµαΥποκαταστηµατος και χρήση της πρότασης having) Q5.7. Βρείτε το µέσο υπόλοιπο των λογαριασµών για κάθε πελάτη που ζει στα Ιωάννινα και έχει τουλάχιστον τρεις λογαριασµούς (κάντε πρώτα τη σύζευξη των πινάκων Καταθετης, Λογαριασµος, Πελατης, έπειτα βρείτε µόνο τους πελάτες που µένουν στα Ιωάννινα, έπειτα υπολογίστε τη µέση τιµή των Υπολοίπων Λογαριασµού για κάθε πελάτη οµαδοποιώντας ανά Καταθετης.ΟνοµαΠελατη, και τέλος περιορίστε τα αποτελέσµατα µε το having βρίσκοντας µόνο εκείνους τους Καταθέτες που έχουν πλήθος Αριθµών Λογαριασµού >= 3) Q5.8. Βρείτε τα στοιχεία του πελάτη µε το µεγαλύτερο υπόλοιπο λογαριασµού στο υποκατάστηµα Βενιζέλου (βρείτε πρώτα τα στοιχεία των πελατών στο υποκατάστηµα Βενιζέλου από τη σύζευξη των πινάκων Πελατης, Καταθετης, Λογαριασµος, έπειτα βρείτε µε δεύτερο υποερώτηµα το µεγαλύτερο υπόλοιπο λογαριασµού στο υποκατάστηµα Βενιζέλου και χρησιµοποιείστε το δεύτερο υποερώτηµα σαν τιµή σύγκρισης στο πρώτο). 6. ΕΡΩΤΗΜΑΤΑ SQL ΜΕ ΠΡΑΞΕΙΣ ΣΥΝΟΛΩΝ (ΕΝΩΣΗ, ΤΟΜΗ, ΙΑΦΟΡΑ) Q6.1. Βρείτε τα ονόµατα των πελατών που έχουν δάνειο (υπάρχουν στον πίνακα ανειζοµενος), ή λογαριασµό (υπάρχουν στον πίνακα Καταθετης), ή και τα δύο (ένωση). Q6.2. Βρείτε τα ονόµατα των πελατών που έχουν πάρει δάνειο και έχουν λογαριασµό (τοµή). Q6.3. Βρείτε τα ονόµατα των πελατών που έχουν δάνειο αλλά δεν έχουν λογαριασµό (διαφορά). Q6.4. Βρείτε τα ονόµατα των πελατών που δεν έχουν δάνειο (διαφορά Πελατης- ανειζοµενος). Q6.5. Βρείτε τα ονόµατα των πελατών που δεν έχουν λογαριασµό (διαφορά Πελατης-Καταθετης). Q6.6. Βρείτε τα ονόµατα των πελατών που έχουν δάνειο (υπάρχουν στη σύζευξη ανειζοµενος, ανειο), ή λογαριασµό στο Υποκατάστηµα µε όνοµα Βενιζέλου (υπάρχουν στη σύζευξη Καταθετης, Λογαριασµος), ή και τα δύο (ένωση). Q6.7. Βρείτε τα ονόµατα των πελατών που έχουν και δάνειο και λογαριασµό στο Υποκατάστηµα Βενιζέλου (τοµή). Q6.8. Βρείτε τα ονόµατα των πελατών που έχουν λογαριασµό αλλά δεν έχουν δάνειο στο Υποκατάστηµα Βενιζέλου (διαφορά). Q6.9. Βρείτε τα ονόµατα των πελατών που έχουν δάνειο αλλά δεν έχουν λογαριασµό στο Υποκατάστηµα Βενιζέλου (διαφορά). 48

49 7. ΕΡΩΤΗΜΑΤΑ SQL ΕΞΩΤΕΡΙΚΗΣ ΣΥΖΕΥΞΗΣ ΚΑΙ NULL ΤΙΜΕΣ Q7.1. Εµφανίστε µε χρήση left join όλα τα δεδοµένα από τους πίνακες Πελατης και ανειζοµενοι (θυµηθείτε ότι η εσωτερική σύζευξη inner join εµφανίζει µόνο τις εγγραφές µε κοινή τιµή στο πεδίο ΟνοµαΠελατη). είτε τις εγγραφές µε κενή τιµή στα πεδία του πίνακα ανειζοµενοι.είναι αυτές που υπάρχουν στον πίνακα Πελατης, αλλά δεν υπάρχουν στον ανειζοµενοι, που δεν αντιστοιχούν δηλαδή µε καµία από τις εγγραφές του). Q7.2. Βρείτε τους Πελάτες που δεν είναι ανειζόµενοι (µε χρήση left join και is null). select * from Πελατης left join ανειζοµενος on Πελατης.ΟνοµαΠελατη= ανειζοµενος.ονοµαπελατη where ανειζοµενος.ονοµαπελατη is null Q7.3. Βρείτε τα Υποκαταστήµατα που δεν έχουν άνεια (µε χρήση left join και is null). Q7.4. Βρείτε τα Υποκαταστήµατα που δεν έχουν Λογαριασµούς (µε χρήση left join και is null). Q7.5. Εισάγετε ένα νέο Υποκατάστηµα και επαναλάβετε τα δύο προηγούµενα ερωτήµατα. Q7.6. Βρείτε τα ονόµατα των πελατών που είτε έχουν καταθέσεις είτε έχουν πάρει δάνεια ή και τα δύο (πλήρης εξωτερική σύζευξη των Καταθετης και ανειζοµενος) (select * from Καταθετης left join ανειζοµενος on Καταθετης.ΟνοµαΠελατη = ανειζοµενος.ονοµαπελατη) union (select * from Καταθετης right join ανειζοµενος on Καταθετης.ΟνοµαΠελατη = ανειζοµενος.ονοµαπελατη) Q7.7. Βρείτε τα ονόµατα των πελατών που είτε έχουν καταθέσεις είτε έχουν πάρει δάνεια, αλλά όχι και τα δυο (Καταθετης XOR ανειζοµενος) select * from Q7.6 where ΑριθµοςΛογαριασµου is null or Αριθµος ανειου is null και βρείτε έναν τρόπο για να πάρετε τα ονόµατα Πελατών σε µία στήλη (µε χρήση union). 8. ΕΜΦΩΛΙΑΣΜΕΝΑ ΥΠΟΕΡΩΤΗΜΑΤΑ ΜΕ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ =, <>, <, <=, >, >= Q8.1. Βρείτε όλα τα στοιχεία των πελατών που µένουν στην ίδια πόλη µε τον Ευσταθίου (βρείτε πρώτα όλα τα στοιχεία των πελατών από τον πίνακα Πελατης έπειτα βρείτε µε υποερώτηµα την πόλη του Ευσταθίου και χρησιµοποιείστε το υποερώτηµα σαν τιµή σύγκρισης στο πεδίο Πολη του εξωτερικού ερωτήµατος). Q8.2. Βρείτε όλα τα στοιχεία του Πελάτη µε το µεγαλύτερο Ποσό ανείου (βρείτε πρώτα όλα τα στοιχεία των πελατών που έχουν δάνειο από τη σύζευξη των πινάκων Πελατης, ανειζοµενος, ανειο, έπειτα βρείτε µε υποερώτηµα το µεγαλύτερο ποσό ανείου και χρησιµοποιείστε το υποερώτηµα σαν τιµή σύγκρισης στο πεδίο Ποσο του εξωτερικού ερωτήµατος). Q8.3. Βρείτε όλα τα στοιχεία των Πελατών µε Ποσό ανείου µικρότερο από το µέσο ποσό (βρείτε πρώτα όλα τα στοιχεία των πελατών που έχουν δάνειο από τη σύζευξη των πινάκων Πελατης, ανειζοµενος, ανειο, έπειτα βρείτε µε υποερώτηµα το µέσο ποσό ανείου και χρησιµοποιείστε το υποερώτηµα σαν τιµή σύγκρισης στο πεδίο Ποσο του εξωτερικού ερωτήµατος). Q8.4. Βρείτε όλα τα στοιχεία του Υποκαταστήµατος µε το µεγαλύτερο Ποσό ανείου (βρείτε πρώτα όλα τα στοιχεία των Υποκαταστηµάτων που έχουν άνεια από τη σύζευξη των πινάκων Υποκαταστηµα, 49

50 ανειο, έπειτα βρείτε µε υποερώτηµα το µεγαλύτερο ποσό ανείου και χρησιµοποιείστε το υποερώτηµα σαν τιµή σύγκρισης στο πεδίο Ποσο του εξωτερικού ερωτήµατος). Q8.5. Βρείτε όλα τα στοιχεία του Υποκαταστήµατος µε το µικρότερο Υπόλοιπο λογαριασµού (βρείτε πρώτα όλα τα στοιχεία των Υποκαταστηµάτων που έχουν Λογαριασµούς από τη σύζευξη των πινάκων Υποκαταστηµα, Λογαριασµος, έπειτα βρείτε µε υποερώτηµα το µικρότερο υπόλοιπο λογαριασµού και χρησιµοποιείστε το υποερώτηµα σαν τιµή σύγκρισης στο πεδίο Υπολοιπο του εξωτερικού ερωτήµατος). Q8.6. Βρείτε όλα τα στοιχεία του πελάτη µε το µικρότερο υπόλοιπο λογαριασµού στο υποκατάστηµα Βενιζέλου (βρείτε πρώτα όλα τα στοιχεία των πελατών που έχουν Λογαριασµό στο υποκατάστηµα Βενιζέλου από τη σύζευξη των πινάκων Πελατης, Καταθετης, Λογαριασµος, έπειτα βρείτε µε υποερώτηµα το µικρότερο υπόλοιπο λογαριασµού στο υποκατάστηµα Βενιζέλου και χρησιµοποιείστε το υποερώτηµα σαν τιµή σύγκρισης στο πεδίο Υπολοιπο του εξωτερικού ερωτήµατος). Q8.7. Βρείτε όλα τα στοιχεία των Υποκαταστηµάτων µε µέσω υπόλοιπο λογαριασµού µεγαλύτερο από 2000 (βρείτε πρώτα όλα τα στοιχεία των Υποκαταστηµάτων από τον πίνακα Υποκαταστηµατα έπειτα βρείτε µε υποερώτηµα από τον πίνακα Λογαριασµος και χρήση group by και having, τα Ονόµατα Υποκαταστηµάτων µε avg(υπόλοιπο)>2000 και χρησιµοποιείστε το υποερώτηµα σαν τιµή σύγκρισης στο πεδίο ΟνοµαΥποκαταστηµατος του εξωτερικού ερωτήµατος). Εδώ το αποτέλεσµα του υποερωτήµατος είναι µόνο µία εγγραφή και η ισότητα = δεν βγάζει σφάλµα. Εάν είναι παραπάνω από µία χρειάζεται ο τελεστή in στο πεδίο ΟνοµαΥποκαταστηµατος του εξωτερικού ερωτήµατος). 9. ΕΜΦΩΛΙΑΣΜΕΝΑ ΥΠΟΕΡΩΤΗΜΑΤΑ ΜΕ ΤΕΛΕΣΤΕΣ IN, NOT IN, SOME, ALL Q9.1. Βρείτε τα ονόµατα των πελατών που έχουν και λογαριασµό όσο και ανειο στην τράπεζα (δηλαδή η πράξη της τοµής, Καταθετης που είναι και ανειζοµενος µε χρήση του in). Q9.2. Βρείτε τα ονόµατα των πελατών που έχουν πάρει ανειο και δε λέγονται Παπαδόπουλος ή Πέτρου (µε χρήση του τελεστή not in στο πεδίο ΟνοµαΠελατη του πίνακα ανειζοµενος). Q9.3. Βρείτε όλα τα στοιχεία των Υποκαταστηµάτων µε µέσω υπόλοιπο λογαριασµού µεγαλύτερο από 1000 (Βρείτε µε υποερώτηµα από τον πίνακα Λογαριασµος και χρήση group by και having, τα Ονόµατα Υποκαταστηµάτων µε avg(υπόλοιπο)>1000. Εδώ είναι περισσότερα από ένα. Χρησιµοποιείστε το υποερώτηµα σαν σύνολο τιµών σύγκρισης µε χρήση του τελεστή in στο πεδίο ΟνοµαΥποκαταστηµατος του εξωτερικού ερωτήµατος). Q9.4. Βρείτε τα ονόµατα υποκαταστηµάτων µε Ενεργητικο µεγαλύτερο από το Ενεργητικο ενός τουλάχιστον υποκαταστήµατος της Πολης των Σερρών (µε χρήση του τελεστή some στο πεδίο Ενεργητικο του Πίνακα Υποκαταστηµα. Το υποερώτηµα θα βρίσκει το Ενεργητικο των Υποκαταστηµάτων της Πολης των Σερρών από τον Πίνακα Υποκαταστηµα). Q9.5. Βρείτε τα ονόµατα υποκαταστηµάτων µε Ενεργητικο µικρότερο από κάποιο (τουλάχιστον ένα) Υποκαταστηµα που βρίσκεται στην Θεσσαλονίκη (µε χρήση του τελεστή some στο πεδίο Ενεργητικο του Πίνακα Υποκαταστηµα). Q9.6. Βρείτε τα στοιχεία των πελατών µε Ποσο ανείου µικρότερο από κάποιου (τουλάχιστον έναν) Πελάτη που βρίσκεται στην Πολη της Θεσσαλονίκης (µε χρήση του τελεστή some στο πεδίο ποσό, από τη σύζευξη των πινάκων Πελατης, ανειζοµενος, ανειο. Το υποερώτηµα θα βρίσκει τα Ποσά ανείων των Πελατών που βρίσκονται στην Πολη της Θεσσαλονίκης). Q9.7. Βρείτε τα ονόµατα των υποκαταστηµάτων που έχουν Ενεργητικο µεγαλύτερο από το Ενεργητικο όλων των υποκαταστηµάτων της Πολης των Σερρών (όπως το Q 9.4 µε χρήση όµως του τελεστή all στο πεδίο Ενεργητικο). Q9.8. Βρείτε τα ονόµατα πελατών µε Υπόλοιπο Λογαριασµού µεγαλύτερο από το Υπόλοιπο όλων των Πελατών που βρίσκονται στη Σέρρες (όπως το Q9.7 µε χρήση του τελεστή all). 10. ΣΥΣΧΕΤΙΖΟΜΕΝΑ ΕΜΦΩΛΙΑΣΜΕΝΑ ΥΠΟΕΡΩΤΗΜΑΤΑ ΜΕ ΤΕΛΕΣΤΕΣ EXISTS, NOT EXISTS, & ΠΑΡΑΓΟΜΕΝΑ ΥΠΟΕΡΩΤΗΜΑΤΑ ΣΤΟ FROM 50

51 Q10.1. Βρείτε τους πελάτες που έχουν καταθέσεις και έχουν πάρει ανειο (δηλαδή Καταθετης που είναι και ανειζοµενος, συσχετιζόµενο υποερώτηµα µε χρήση exists). Q10.2. Βρείτε τα ονόµατα των πελατών που έχουν καταθέσεις και δεν έχουν πάρει ανειο (δηλαδή Καταθετης που δεν είναι ανειζοµενος, συσχετιζόµενο υποερώτηµα µε χρήση not exists). Q10.3. Βρείτε τα Υποκαταστήµατα για τα οποία το µέσο υπόλοιπο των λογαριασµών τους είναι µικρότερο των 1000 (µε Παραγόµενο Υποερώτηµα στο from και όχι µε group by και having). ΠΑΡΑΡΤΗΜΑ ΕΠΕΞΗΓΗΣΕΩΝ ΕΝΤΟΛΩΝ SQL Η ΓΕΝΙΚΗ ΣΥΝΤΑΞΗ ΕΝΟΣ ΕΡΩΤΗΜΑΤΟΣ SQL select [ distinct ] ονόµατα πεδίων, αριθµητικές εκφράσεις, συναθροιστικές συναρτήσεις from ονόµατα πινάκων ή και συνθήκες σύζευξης µεταξύ τους [ where συνθήκες επιλογής ή και συνθήκες σύζευξης σε πεδία και αριθµητικές εκφράσεις] [ group by ονόµατα πεδίων σύµφωνα µε τα οποία θα γίνει οµαδοποίηση ] [ having συνθήκες περιορισµού των σειρών που επιστρέφονται µετά από οµαδοποίηση] [ order by ονόµατα πεδίων σύµφωνα µε τα οποία θα γίνει ταξινόµηση] Μια επερώτηση αποτιµάται πρώτα µε την εφαρµογή της where πρότασης, µετά των group-by και having (προαιρετικά), και τέλος της select πρότασης µε ταξινόµηση των σειρών στην απάντηση από την order by (προαιρετικά) ή διαγραφή διπλών τιµών, αν απαιτείται µε το distinct (προαιρετικά). ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ: = <> < <= > >= Επίσης οι τελεστές: like, not like, between and, not between and, in, not in, is null, is not null, exists, not exists, any, all. Συναθροιστικές Συναρτήσεις Η συναθροιστική πράξη της σχεσιακής άλγεβρας (πράξη σύνοψης) παίρνει ένα σύνολο τιµών και επιστρέφει µια µεµονωµένη τιµή ως αποτέλεσµα. Η SQL έχει 5 built-in συναθροιστικές συναρτήσεις που εφαρµόζονται στο σύνολο των τιµών µιας στήλης ενός πίνακα (σχέση), και επιστρέφουν µία τιµή: avg(a) Μέση τιµή (µόνο σε αριθµούς) A το πεδίο min(a) Ελάχιστη τιµή (σε κάθε διατεταγµένο σύνολο) max(a) Μέγιστη τιµή (σε κάθε διατεταγµένο σύνολο) sum(a) Άθροισµα τιµών (µόνο σε αριθµούς) count(a) Πλήθος εγγραφών Συναθροιστικές Συναρτήσεις- Πρόταση group by Μπορούµε να εφαρµόσουµε τις συναθροιστικές συναρτήσεις όχι µόνο σε ένα σύνολο, αλλά και σε οµάδες (υποσύνολα του αρχικού συνόλου). Οι οµάδες προσδιορίζονται χρησιµοποιώντας την πρόταση group by όνοµα-πεδίου. Επιστρέφεται µια τιµή για κάθε οµάδα. (Οµάδα=οι σειρές µε ίδια τιµή στο πεδίο οµαδοποίησης). Οµαδοποίηση µπορεί να γίνει και ως προς περισσότερα πεδία που χωρίζονται µε κόµµα. Αν υπάρχει όνοµα πεδίου στο Select πρέπει να υπάρχει και στο group by. Συναθροιστικές Συναρτήσεις Πρόταση having Η πρόταση having συντάσσεται µετά την group by και περιέχει συνθήκες που περιορίζουν τις γραµµές που επιστρέφονται µετά από µία οµαδοποίηση (group by). Προστέθηκε στην SQL επειδή 51

52 η πρόταση where δεν µπορεί να χρησιµοποιηθεί για συγκρίσεις µε αποτελέσµατα συναθροιστικών συναρτήσεων (π.χ. avg(υπόλοιπο) > 1200) Πρέπει όµως να επαναλάβετε τη συνάρτηση γιατί δεν µπορείτε να χρησιµοποιήσετε το ψευδώνυµο της. Οι προτάσεις group by και having χρησιµοποιούνται όταν υπάρχουν συναθροιστικές συναρτήσεις µέσα στη δήλωση SQL. ΠΡΑΞΕΙΣ ΣΥΝΟΛΩΝ Οι πράξεις δύο συνόλων Α και Β: ένωση τοµή διαφορά Οι πράξεις συνόλων εφαρµόζονται σε συµβατές σχέσεις (πρέπει να έχουν τον ίδιο αριθµό στηλών και ίδιο τύπο δεδοµένων). Καθένας από τους παραπάνω τελεστές αυτόµατα διαγράφει τα διπλότυπα (απαλοιφή διπλών εµφανίσεων). Για την τήρηση των διπλοτύπων χρησιµοποιείται η αντίστοιχη εκδοχή πολλαπλών συνόλων union all, intersect all, except all. Παράδειγµα ένωσης. Βρείτε τα ονόµατα όλων των πελατών που έχουν δάνειο (υπάρχουν στον πίνακα ανειζοµενος), ή λογαριασµό (υπάρχουν στον πίνακα Καταθετης), ή και τα δύο. (select ΟνοµαΠελατη from Kαταθετης) union (select ΟνοµαΠελατη from ανειζοµενος) ΣΗΜΕΙΩΣΗ: ο τελεστής union υποστηρίζεται από τα περισσότερα σχεσιακά συστήµατα διαχείρισης βάσεων δεδοµένων (RDBMS). Παράδειγµα τοµής µε τον τελεστή in. Βρείτε τα ονόµατα όλων των πελατών που έχουν πάρει δάνειο και έχουν λογαριασµό. select ΟνοµαΠελατη from Καταθετης where ΟνοµαΠελατη in (select ΟνοµαΠελατη from ανειζοµενος) Παράδειγµα διαφοράς µε τον τελεστή not in. Βρείτε τα ονόµατα όλων των πελατών που έχουν λογαριασµό αλλά δεν έχουν δάνειο. select ΟνοµαΠελατη from Καταθετης where ΟνοµαΠελατη not in (select ΟνοµαΠελατη from ανειζοµενος) Στα δύο τελευταία παραδείγµατα διατηρούνται οι διπλότυπες εγγραφές. Για την απαλοιφή τους χρησιµοποιείται το select distinct. 52

53 ΕΞΩΤΕΡΙΚΗ ΣΥΖΕΥΞΗ (ΕΞΩΤΕΡΙΚΗ ΣΥΝΕΝΩΣΗ) Μια επέκταση της σύζευξης που αποτρέπει την απώλεια πληροφοριών. Υπολογίζει την εσωτερική σύζευξη (inner join) των δύο πινάκων και στη συνέχεια προσθέτει στο αποτέλεσµα τις εγγραφές του ενός πίνακα που δεν αντιστοιχούν µε καµία από τις εγγραφές του άλλου (χρησιµοποιεί τα null σαν τιµές στα πεδία των αναντίστοιχων εγγραφών του άλλου πίνακα). Τύποι Σύζευξης δύο πινάκων inner join: εσωτερική (φυσική) σύζευξη left outer join: αριστερή εξωτερική σύζευξη right outer join: δεξιά εξωτερική σύζευξη full outer join: πλήρης εξωτερική σύζευξη Η Εσωτερική σύζευξη Πελατης (Η λέξη OUTER προαιρετική): σηµαίνει τις εγγραφές από τους δύο πίνακες όπου οι τιµές του κοινού πεδίου είναι ίδιες σηµαίνει όλες τις εγγραφές του αριστερού πίνακα και τις εγγραφές του δεξιού όπου οι τιµές του κοινού πεδίου είναι ίδιες σηµαίνει όλες τις εγγραφές του δεξιού πίνακα και τις εγγραφές του αριστερού όπου οι τιµές του κοινού πεδίου είναι ίδιες Η ένωση (union) των δύο παραπάνω ανειζοµενος στην SQL select * from Πελατης inner join ανειζοµενος on Η Αριστερά εξωτερική σύζευξη Πελατης Πελατης.ΟνοµαΠελατη= ανειζοµενος.ονοµαπελατη ανειζοµενος: select * from Πελατης left join ανειζοµενος on Πελατης.ΟνοµαΠελατη = ανειζοµενος.ονοµαπελατη Η εξιά εξωτερική σύζευξη Πελατης ανειζοµενος: select * from Πελατης right join ανειζοµενος on Πελατης.ΟνοµαΠελατη = ανειζοµενος.ονοµαπελατη Η Πλήρης εξωτερική σύζευξη Πελατης ανειζοµενος: Είναι η ένωση (union) αριστερής και δεξιάς εξωτερικής σύζευξης (select * from Πελατης left join ανειζοµενος on Πελατης.ΟνοµαΠελατη = ανειζοµενος.ονοµαπελατη ) NULL Τιµές union ( select * from Πελατης right join ανειζοµενος on Πελατης.ΟνοµαΠελατη = ανειζοµενος.ονοµαπελατη ) Είναι πιθανό για τις γραµµές ενός πίνακα να έχουν τιµή null (κενή τιµή) σε κάποιο πεδίο. NULL τιµές εµφανίζονται και στην εξωτερική σύζευξη δύο πινάκων (left join, right join). Το αποτέλεσµα σύγκρισης µε µια τιµή null είναι unknown (ούτε true, ούτε false). Επίσης το αποτέλεσµα οποιασδήποτε αριθµητικής έκφρασης είναι null όταν κάποια τιµή που περιλαµβάνει είναι null. Τότε η πρόταση where βγαίνει false και η σειρά δεν επιλέγεται. H λέξη κλειδί is null (is not null) µπορεί να χρησιµοποιηθεί σε µια συνθήκη για να ελέγξουµε αν µια τιµή είναι null και να ανακτήσουµε την αντίστοιχη σειρά. 53

54 ΕΜΦΩΛΙΑΣΜΕΝΑ ΥΠΟΕΡΩΤΗΜΑΤΑ ΜΕ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ <, <=, >, >=, =, <> Ένα υποερώτηµα είναι µια έκφραση select from where που είναι εµφωλιασµένη (ένθετη) µέσα σε µια άλλη έκφραση. Τότε το πρώτο ονοµάζεται εξωτερικό ερώτηµα και το δεύτερο εσωτερικό υποερώτηµα. Υπολογίζεται πρώτα το εσωτερικό υποερώτηµα και κατόπιν το εξωτερικό εφαρµόζοντας σε αυτό το αποτέλεσµα του εσωτερικού ερωτήµατος. Εξαίρεση αποτελεί η περίπτωση των συσχετιζόµενων υποερωτηµάτων όπου το εσωτερικό υποερώτηµα θα υπολογιστεί για κάθε γραµµή (συστοιχία) του εξωτερικού ερωτήµατος. Η γενική σύνταξη των εµφωλιασµένων υποερωτηµάτων είναι η select * εξωτερικό ερώτηµα from πινακας1 where πινακας1.πεδίο1 <σύγκριση> (select πεδίο2 from πινακας2 εσωτερικό υποερώτηµα where πεδίο3 = τιµή1) Σαν τελεστές σύγκρισης χρησιµοποιούνται οι < <= > >= = <> Τα συνηθέστερα υποερωτήµατα είναι αυτά που έχουν ως αποτέλεσµα µία τιµή συναθροιστικής συνάρτησης max, min, avg, sum, count η οποία χρησιµοποιείται σαν τιµή σύγκρισης για να βρεθούν µε το εξωτερικό ερώτηµα όλα τα στοιχεία των κατόχων αυτής της τιµής. Τα εµφωλιασµένα υποερωτήµατα χρησιµοποιούνται όταν δεν γνωρίζουµε την τιµή σύγκρισης στο κατηγόρηµα σε προτάσεις where ή having. Στις περιπτώσεις όπου το εσωτερικό υποερώτηµα θα έχει ως αποτέλεσµα την επιστροφή δύο ή περισσοτέρων τιµών χρησιµοποιούνται οι τελεστές in, not in, some, all, exists ΕΜΦΩΛΙΑΣΜΕΝΑ ΥΠΟΕΡΩΤΗΜΑΤΑ ΜΕ ΤΕΛΕΣΤΕΣ IN, SOME, ALL Μια συνήθης χρήση των εµφωλιασµένων υποερωτηµάτων είναι η εκτέλεση ελέγχων και συγκρίσεων για: τη συµµετοχή σε κάποιο σύνολο τη σύγκριση συνόλων τον έλεγχο για κενά σύνολα Οι τελεστές που χρησιµοποιούνται για τους ελέγχους προηγούνται ενός υποερωτήµατος και χρησιµοποιούνται όταν το υποερώτηµα είναι πιθανό να έχει ως αποτέλεσµα την επιστροφή δύο ή περισσοτέρων τιµών. Οι τελεστές είναι: in/not in (συµµετοχή σε σύνολο) (>, <, =, κλπ) some/any/all (σύγκριση συνόλων) exists/not exists (έλεγχος για κενά σύνολα) 54

55 Η γενική σύνταξη των εµφωλιασµένων υποερωτηµάτων είναι η select * εξωτερικό ερώτηµα from πινακας1 where πινακας1.πεδίο1 <σύγκριση-έλεγχος> (select πεδίο2 εσωτερικό υποερώτηµα from πινακας2 where πεδίο3 = τιµή1) Σαν τελεστές σύγκρισης πριν από το some χρησιµοποιούνται οι <, <=, >, >=, =, <>. Σαν τελεστές σύγκρισης πριν από το all χρησιµοποιούνται οι <, <=, >, >=, =, <>. Ο τελεστής in (not in) Ο τελεστής in, not in ελέγχει αν µια σειρά (πλειάδα) ανήκει (ή όχι) σε ένα σύνολο από σειρές τιµών που έχουν προκύψει από µια έκφραση υποερωτήµατος select-from-where. Π.χ. Βρείτε τα ονόµατα των πελατών που έχουν και λογαριασµό όσο και ανειο στην τράπεζα. select distinct ΟνοµαΠελατη from ανειζοµενος where ΟνοµαΠελατη in (select ΟνοµαΠελατη from Καταθετης) Το υποερώτηµα έχει ως αποτέλεσµα την επιστροφή δύο ή περισσοτέρων τιµών και δεν ισχύει η συνθήκη ΟνοµαΠελατη = (.). Πρέπει να βάλουµε τη συνθήκη ΟνοµαΠελατη in (.). Π.χ. Βρείτε τα ονόµατα των πελατών που έχουν πάρει ανειο και δε λέγονται Παπαδόπουλος ή Πέτρου. select distinct ΟνοµαΠελατη from ανειζοµενος where ΟνοµαΠελατη not in ( Παπαδόπουλος, Πέτρου ) Ο τελεστής some (any) Ο τελεστής some (any) χρησιµοποιείται για τη σύγκριση συνόλων. Ο τελεστής some (any) έχει τη σηµασία του τουλάχιστον ένα από ένα σύνολο Π.χ. Βρείτε τα ονόµατα υποκαταστηµάτων µε Ενεργητικο µικρότερο από το Ενεργητικο ενός τουλάχιστον υποκαταστήµατος της Πολης των Σερρών. Select from where ΟνοµαΥποκαταστηµατος Υποκαταστηµα Ενεργητικο <some (select Ενεργητικο from Υποκαταστηµα where Πολη="Σέρρες' ) ; 55

56 Ο τελεστής all Ο τελεστής all χρησιµοποιείται για τη σύγκριση συνόλων. Ο τελεστής all έχει τη σηµασία από όλα (κάθε ένα από) τα στοιχεία ενός συνόλου. Π.χ. Βρείτε τα ονόµατα των υποκαταστηµάτων που έχουν Ενεργητικο µικρότερο από το Ενεργητικο όλων των υποκαταστηµάτων της Πολης της Θεσσαλονίκης. select distinct ΟνοµαΥποκαταστηµατος from Υποκαταστηµα where Ενεργητικο < all ( select Ενεργητικο from Υποκαταστηµα where Πολη = Θεσσαλονίκη ) Επίσης το ( all) είναι ισοδύναµο του not in. Από την άλλη το (= all) ελέγχει αν το υποερώτηµα έχει µόνο µία τιµή άρα δεν είναι ισοδύναµο του in. Ο τελεστής exists Ο τελεστής EXISTS χρησιµοποιείται στον έλεγχο για κενά σύνολα (κενές σχέσεις). Ο τελεστής EXISTS επιστρέφει true αν η υποερώτηση δεν είναι κενή. Χρησιµοποιείται συνήθως σε συσχετιζόµενα υποερωτήµατα. Π.χ. Βρείτε τα ονόµατα των πελατών που έχουν πάρει ανειο και δεν έχουν καταθέσεις (δηλαδή ανειζοµενος που δεν είναι Καταθετης, είναι η πράξη της διαφοράς) select ΟνοµαΠελατη from ανειζοµενος where not exists (select * from Καταθετης where Καταθετης.ΟνοµαΠελατη= ανειζοµενος.ονοµαπελατη ) ΠΑΡΑΓΟΜΕΝΕΣ ΣΧΕΣΕΙΣ (ΠΡΟΣΩΡΙΝΕΣ) Εκτός από πίνακες ή και αποθηκευµένα ερωτήµατα (Όψεις), η SQL-92 δίνει τη δυνατότητα µια υποερώτηση να χρησιµοποιηθεί στο from σαν προσωρινή. Τότε πρέπει να τις δοθεί ένα όνοµα χρησιµοποιώντας το as. Π.χ. Βρείτε τα Υποκαταστήµατα για τα οποία το µέσο υπόλοιπο των λογαριασµών τους είναι µεγαλύτερο των select Αποτελεσµα.ΟνοµαΥποκαταστηµατος, Αποτελεσµα.ΜεσοΥπολοιπο from Υποερώτηµα στο FROM (select ΟνοµαΥποκαταστηµατος, avg(υπόλοιπο) as ΜεσοΥπολοιπο from Λογαριασµος group by ΟνοµαΥποκαταστηµατος ) as Αποτελεσµα where Αποτελεσµα.ΜεσοΥπολοιπο > 1000 Σηµειώστε ότι εδώ δεν χρειάζεται να χρησιµοποιήσουµε την πρόταση having για τη συνθήκη avg(υπόλοιπο)>1000 αφού υπολογίστηκε στην πρόταση from η προσωρινή σχέση Αποτελεσµα, και τα γνωρίσµατά της, όπως το Αποτελεσµα.ΜεσοΥπολοιπο µπορούν να χρησιµοποιηθούν κατευθείαν στην πρόταση where. 56

57 Άσκηση 12 Εισαγωγή Σκοπός αυτής της άσκησης είναι να επαναληφθούν όλα τα βήµατα των ασκήσεων του εργαστηρίου, από την δηµιουργία µιας βάσης, την δηµιουργία πινάκων, δηµιουργία διαγράµµατος, εισαγωγή δεδοµένων, δηµιουργία εφαρµογής, σύνδεση µε την βάση µε ADO, εκτέλεση δυναµικού ερωτήµατος ενηµέρωσης και άλλων δυναµικών ερωτηµάτων µέχρι και την προφορική εξέταση πάνω στα στάδια υλοποίησης της άσκησης αυτής. Υλοποίηση ηµιουργήστε µια ΝΕΑ Βάση εδοµένων µε όνοµα ΑPOTHΙΚΙ_ΕPΙΤΗΕΤΟ 1. Η βάση αυτή θα περιέχει τους παρακάτω πίνακες: 57

58 2. Στους παραπάνω πίνακες προσθέστε όσα επιπλέον πεδία πιστεύετε ότι χρειάζονται και περιγράφουν καλύτερα τις οντότητες των πινάκων. Όπως πχ στον Πίνακα Paragelies προσθέστε τα πεδία ΗΜ_Paraggelias date, Tropos_Pliromis varchar(20), Topos_Paradosis varchar(20), 58

59 Pelates προσθέστε τα πεδία HM_GENNHSIS date, FOTO varchar(100), HLIKIA int 3. ηµιουργήστε τις συσχετίσεις και το αντίστοιχο ιάγραµµα σχέσεων. 4. Εισάγετε δεδοµένα στους πίνακες, τουλάχιστον 3 εγγραφές σε κάθε πίνακα. Ανοίξτε τον Builder και 5. Στην φόρµα 1 που θα παρουσιασθεί τοποθετήστε τα παρακάτω χειριστήρια (components) όπως στο παρακάτω σχήµα. ADOConnection (1 φορά) (γραµµή εργαλείων ADO) ADOQuery (5 φορές) (γραµµή εργαλείων ADO) DataSource (5 φορές) (γραµµή εργαλείων Data Aceess) DBGrid (3 φορές) (γραµµή εργαλείων Data Controls) 59

60 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. οκιµή σύνδεσης 60

61 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 και το προγραµµατίζουµε ανάλογα, έτσι ώστε όταν καταχωρούµε δεδοµένα στον πίνακα Παραγγελιές Πελατών, να ενηµερώνεται µε το πάτηµα του κουµπιού η Αποθήκη. 61

62 9. Αποθηκεύστε τα αρχεία (File Save All) και εκτελέστε το πρόγραµµα (Run). 10. Οµοίως δηµιουργήστε µία φόρµα για την εισαγωγή και την ενηµέρωση της αποθήκης όταν γίνονται αγορές από τους προµηθευτές. Σε αυτή την περίπτωση η ποσότητα αγοράς θα προστίθεται στην ποσότητα της αποθήκης. 11. ηµιουργήστε νέα φόρµα που θα προβάλει το ιστορικό παραγγελιών ενός πελάτη που θα επιλέγεται από ένα DBLookupComboBox και θα υπολογίσει το συνολικό ποσό για όλες τις παραγγελίες που έκανε ο συγκεκριµένος πελάτης, και θα το προβάλει σε ένα Label όπως στην άσκηση 5. 62

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ. Φοιτητής:... (ΑΕΜ: ) ΣΕΡΡΕΣ, Ιανουάριος 2010

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ. Φοιτητής:... (ΑΕΜ: ) ΣΕΡΡΕΣ, Ιανουάριος 2010 PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ Παραδοτέα 1. Τα.MDF και.ldf αρχεία της βάσης δεδομένων σας ή το αρχείο backup της βάσης 2. Ο φάκελος που έχει όλο το Project του Builder σε ένα CD που θα αναγράφει

Διαβάστε περισσότερα

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΙΙ Παράδοση εργασίας Από 8-1-2008 έως 12-1-2008 Για διευκρινίσεις επικοινωνήστε µε τους: ρ. Τσιµπίρης Αλκιβιάδης Αναστασιάδου Μάρθα c-school@otenet.gr amartha@teiser.gr

Διαβάστε περισσότερα

Θα ήθελα να ευχαριστήσω τους συμφοιτητές και φίλους Αντώνη, Γιώργο, Δημήτρη που με ενθάρρυναν στις όποιες δυσκολίες παρουσιάστηκαν.

Θα ήθελα να ευχαριστήσω τους συμφοιτητές και φίλους Αντώνη, Γιώργο, Δημήτρη που με ενθάρρυναν στις όποιες δυσκολίες παρουσιάστηκαν. ΕΥΧΑΡΙΣΤΙΕΣ Νιώθω την ανάγκη να ευχαριστήσω τον Δρ. Τσιμπίρη Αλκιβιάδη, που ορίστηκε εξ' αρχής επιβλέπων της πτυχιακής μου εργασίας και ήταν καθ' όλη τη διάρκεια της εκπόνησης της παρών και ανταποκρινόταν

Διαβάστε περισσότερα

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures): 9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης

Διαβάστε περισσότερα

2 η Εργαστηριακή Άσκηση

2 η Εργαστηριακή Άσκηση 2 η Εργαστηριακή Άσκηση Σκοπός της παρούσας εργαστηριακής άσκησης είναι η δημιουργία μιας εφαρμογής client/server η οποία θα συνδέεται με μια Βάση Δεδομένων σε MSSQL Server (ή ACCESS), και θα προβάλει

Διαβάστε περισσότερα

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου Ιούλιος 2017 Copyright 2017 Πανεπιστήμιο Κύπρου. Όλα τα πνευματικά δικαιώματα κατοχυρωμένα. Δημιουργός: Λευτέρης Γ. Ζαχαρία Πίνακας Περιεχομένων 1. Εισαγωγή....

Διαβάστε περισσότερα

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα

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

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

Διαβάστε περισσότερα

Γνωριµία µε τη Microsoft Access

Γνωριµία µε τη Microsoft Access Γνωριµία µε τη Microsoft Access ηµιουργία νέας βάσης δεδοµένων Έναρξη - Προγράµµατα - Microsoft Access - ηµιουργία νέας βάσης δεδοµένων µε χρήση Κενής βάσης δεδοµένων - ΟΚ Επιλέγουµε Φάκελο και στο Όνοµα

Διαβάστε περισσότερα

4 η Εργαστηριακή Άσκηση

4 η Εργαστηριακή Άσκηση 4 η Εργαστηριακή Άσκηση Σκοπός της εργαστηριακής άσκησης είναι η δημιουργία μιας εφαρμογής πολλαπλών καρτελών με κοινή σύνδεση σε Βάση Δεδομένων και προβολή δεδομένων από διαφορετικούς πίνακες της ίδιας

Διαβάστε περισσότερα

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. Πριν την έναρξη της διαδικασίας θα θέλαμε να σας ενημερώσουμε ότι η αναβάθμιση διαφέρει σε κάποιες λεπτομέρειες, ανάλογα με το τύπο της βάσης δεδομένων της κάθε χρήσης.

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

Διαβάστε περισσότερα

Εισαγωγή στο πρόγραμμα Microsoft word 2003

Εισαγωγή στο πρόγραμμα Microsoft word 2003 Εισαγωγή στο πρόγραμμα Microsoft word 2003 Έναρξη 1. Εκκίνηση του προγράμματος Για να ξεκινήσουμε το Word, πατάμε στο κουμπί Εναρξη και από το μενού που εμφανίζεται επιλέγουμε Προγράμματα και Microsoft

Διαβάστε περισσότερα

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα: ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access... 9 Κεφάλαιο 2: Microsoft Access 2002... 20 Κεφάλαιο 3: Το σύστημα Βοήθειας του Microsoft Office ΧΡ... 36

Διαβάστε περισσότερα

«Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών»

«Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών» «Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών» έκδοση v.1.2, 10/09/2014 Περιεχόμενα Είσοδος... 3 Οικονομικά Υπεύθυνος... 4 Αρχική Οθόνη... 4 Διαχείριση Χρηστών... 4 Αναζήτηση Χρήστη... 4 Δημιουργία

Διαβάστε περισσότερα

Συνεργείο Αυτοκινήτων

Συνεργείο Αυτοκινήτων Συνεργείο Αυτοκινήτων v2.102, Οκτώβριος 2015 Σύντοµες οδηγίες χρήσης Εισαγωγή Το πρόγραµµα Συνεργείο Αυτοκινήτων έχει σκοπό τη διαχείριση και παρακολούθηση του πελατολογίου, των αυτοκινήτων και των εργασιών

Διαβάστε περισσότερα

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων 2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων Μετά τον μετασχηματισμό των δεδομένων με τη χρήση του Excel, τα δεδομένα θα εισαχθούν σε μια σχεσιακή βάση δεδομένων (Microsoft SQL Sever 2005) ώστε να

Διαβάστε περισσότερα

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Οδηγίες για την εγκατάσταση του πακέτου Cygwin Οδηγίες για την εγκατάσταση του πακέτου Cygwin Ακολουθήστε τις οδηγίες που περιγράφονται σε αυτό το file μόνο αν έχετε κάποιο laptop ή desktop PC που τρέχουν κάποιο version των Microsoft Windows. 1) Copy

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES 2. ΠΑΤΗΣΤΕ EDIT ΑΛΛΑΞΤΕ ΤΟ ΟΝΟΜΑ COMPANY CLOSE 3. ΠΑΤΗΣΤΕ NEW (CREATE NEW)

Διαβάστε περισσότερα

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

Διαβάστε περισσότερα

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Κουμπί Κενή βάση δεδομένων Κουμπί του Office Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στο κουμπί «Κενή βάση δεδομένων»

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER 4.1. ΕΙΣΑΓΩΓΗ Με την "Επίλυση", µπορείτε να βρείτε τη βέλτιστη τιµή για τον τύπο ενός κελιού το οποίο ονοµάζεται κελί προορισµού σε ένα φύλλο εργασίας. Η "Επίλυση" λειτουργεί

Διαβάστε περισσότερα

Επίλυση προβλήματος με Access

Επίλυση προβλήματος με Access Δ.1. Το προς επίλυση πρόβλημα Ζητείται να κατασκευάσετε τα αρχεία και τα προγράμματα μιας εφαρμογής καταχώρησης Δαπανών μελών ΔΕΠ (Διδακτικό και Ερευνητικό Προσωπικό) για την παρακολούθηση του απολογισμού

Διαβάστε περισσότερα

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

Διαβάστε περισσότερα

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7 Σύντομη περιγραφή 5 Για να ξεκινήσετε 6 Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7 Οι οθόνες του προγράμματος 8 Αρχική οθόνη 8 Στοιχεία ασθενή 9 Εργασίες - Ραντεβού 10 Εικόνες 11 Ημερολόγιο

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗ I. 3o ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΟ WORD

ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗ I. 3o ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΟ WORD ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗ I 3o ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΟ WORD 1. Προσθήκη στηλών σε τμήμα εγγράφου 2. Εσοχή παραγράφου 3. Εισαγωγή Κεφαλίδας, Υποσέλιδου και Αριθμού Σελίδας 4. Εισαγωγή

Διαβάστε περισσότερα

Α.Φ.Μ. ΕΠΙΘΕΤΟ ΟΝΟΜΑ ΠΑΤΡΩΝΥΜΟ ΑΡ

Α.Φ.Μ. ΕΠΙΘΕΤΟ ΟΝΟΜΑ ΠΑΤΡΩΝΥΜΟ ΑΡ A C C E S S ΑΣΚΗΣΗ 1 1. Δημιουργήστε μια κενή βάση δεδομένων με όνομα «ΠΕΛΑΤΟΛΟΓΙΟ» και αποθηκεύστε την στο φάκελο «Τα έγγραφά μου». 2. Δημιουργήστε πίνακα με ένα πεδίο με όνομα «ΝΟΜΟΣ» το οποίο θα είναι

Διαβάστε περισσότερα

Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα

Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα Η κεντρική οθόνη του προγράμματος. Ανά χρήστη υπάρχει δυνατότητα σχεδιασμού Menu Αρχείο

Διαβάστε περισσότερα

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Απρίλιος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Σύνοψη Σ αυτό το κεφάλαιο θα περιγράψουμε τη δημιουργία φορμών, προκειμένου να εισάγουμε δεδομένα και να εμφανίζουμε στοιχεία από τους πίνακες

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Μια βάση δεδομένων είναι μια οργανωμένη συλλογή πληροφοριών, οι οποίες είναι αποθηκευμένες σε κάποιο αποθηκευτικό μέσο (π.χ σκληρό δίσκο). Οι πληροφορίες τις οποίες καταχωρούμε και

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 17 18 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο.

Διαβάστε περισσότερα

1. ΑΝΟΙΞΤΕ ΤΟΝ ΠΙΝΑΚΑ CUSTOMER ΚΑΙ ΣΤΟ ΜΕΝΟΥ ΕΠΙΛΕΞΤΕ

1. ΑΝΟΙΞΤΕ ΤΟΝ ΠΙΝΑΚΑ CUSTOMER ΚΑΙ ΣΤΟ ΜΕΝΟΥ ΕΠΙΛΕΞΤΕ ΜΑΘΗΜΑ 6 ο ΤΑΞΙΝΟΜΗΣΗ / ΦΙΛΤΡΑΡΙΣΜΑ ΠΛΗΡΟΦΟΡΙΩΝ Α. ΤΑΞΙΝΟΜΗΣΗ ΠΛΗΡΟΦΟΡΙΩΝ 1. ΑΝΟΙΞΤΕ ΤΗ ΒΑΣΗ Ε ΟΜΕΝΩΝ ΠΟΥ ΕΧΕΤΕ ΦΤΙΑΞΕΙ ΣΤΟ ΠΡΟΗΓΟΥΜΕΝΟ ΜΑΘΗΜΑ (ΑΠΟ ΕΧΘΕΙΤΕ ΑΝ ΧΡΕΙΑΖΕΤΑΙ ΤΗΝ ΠΡΟΕΙ ΟΠΟΙΗΣΗ ΑΣΦΑΛΕΙΑΣ) 2.

Διαβάστε περισσότερα

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Δημιουργία πινάκων Δρ. Εύη Φαλιάγκα 1. Login Χρησιμοποιώντας έναν web explorer, μπαίνετε στο http://10.0.0.6:8080/apex και συμπληρώνετε

Διαβάστε περισσότερα

Περιεχόµενα 1. Εγκατάσταση 2. Εισαγωγή 3. Σύνδεση 4. Ρυθµίσεις 2.1 Περιοχή εργασιών και πλοήγησης 2.2 Περιοχή απεικόνισης "Λεπτοµέρειες" 2.3 Περιοχή απεικόνισης "Στατιστικά" 4.1 Προφίλ 4.2 ίκτυο 4.2.1

Διαβάστε περισσότερα

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

ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ σ. 1 από 18 _ Εγχειρίδιο ρυθµίσεων για την πρόσβαση σε ηλεκτρονικούς πόρους bibliotecas Εγχειρίδιο

Διαβάστε περισσότερα

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003 MICROSOFT OFFICE 2003 MICROSOFT WORD 2003 Εµφάνιση των γραµµών εργαλείων "Βασική" και "Μορφοποίηση" σε δύο γραµµές Από προεπιλογή, οι γραµµές εργαλείων Βασική και Μορφοποίηση εµφανίζονται µε αγκύρωση (σταθεροποίηση:

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3 ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3 Φόρµες Ένας τρόπος για να συλλέξετε πληροφορία από τους επισκέπτες του δικτυακού σας τόπου είναι οι φόρµες. Με τα εξειδικευµένα αυτά εργαλεία µπορείτε να κάνετε έρευνες ή τεστ,

Διαβάστε περισσότερα

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.

Διαβάστε περισσότερα

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

Διαβάστε περισσότερα

www.e-katartisi.com Equal Society e-learning platform

www.e-katartisi.com Equal Society e-learning platform www.e-katartisi.com Equal Society e-learning platform Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΕΙΣΟ ΟΣ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ Για να εισέλθετε στην πλατφόρµα τηλεκατάρτισης της Equal Society και να έχετε πρόσβαση στα περιεχόµενά

Διαβάστε περισσότερα

Είσοδος. Καλωσορίσατε στο Ενιαίο Σύστημα Πληρωμών Δαπανών Ηλεκτρονικών Υπηρεσιών.

Είσοδος. Καλωσορίσατε στο Ενιαίο Σύστημα Πληρωμών Δαπανών Ηλεκτρονικών Υπηρεσιών. «Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών» έκδοση v.1.2, 10/09/2014 Περιεχόμενα Είσοδος... 3 Οικονομικά Υπεύθυνος... 4 Αρχική Οθόνη... 4 Διαχείριση Χρηστών... 4 Αναζήτηση Χρήστη... 4 Δημιουργία

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης Pylon Auto Moto Cube

Οδηγός Εγκατάστασης Pylon Auto Moto Cube POWERED BY ACT Οδηγός Εγκατάστασης Pylon Auto Moto Cube 1 Version: 01 Μάιος 2017 Περιεχόμενα Εκτέλεση Εγκατάστασης Pylon 3 Pylon Auto-Moto Cube Configuration για Sql Server βάση 5 Εγκατάσταση και Εξαγωγή

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ MICROSOFT POWERPOINT

ΕΙΣΑΓΩΓΗ ΣΤΟ MICROSOFT POWERPOINT ΕΙΣΑΓΩΓΗ ΣΤΟ MICROSOFT POWERPOINT 1 Εισαγωγή Το PowerPoint είναι µια ισχυρή εφαρµογή για τη δηµιουργία παρουσιάσεων και µπορεί να χρησιµεύσει στη δηµιουργία διαφανειών, καθώς και συνοδευτικών σηµειώσεων

Διαβάστε περισσότερα

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως:

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως: 1. Υπηρεσία ClassWeb 1.1. Γενικά Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως: εµφάνιση στατιστικών στοιχείων

Διαβάστε περισσότερα

1 ΦΥΛΟ ΕΡΓΑΣΙΑΣ ACCESS

1 ΦΥΛΟ ΕΡΓΑΣΙΑΣ ACCESS 1 ΦΥΛΟ ΕΡΓΑΣΙΑΣ ACCESS 1. Εκκινήστε το πρόγραµµα Microsoft Access. 2. Επιλέξτε να δηµιουργήσετε µια κενή βάση. 3. ηµιουργήστε ένα φάκελο Access µέσα στο φάκελο «ΒΑΣΕΙΣ ΣΑΧΜ» και αποθηκεύστε το αρχείο της

Διαβάστε περισσότερα

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων... Μέρος 2 Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων... 211 Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων... 241 Kεφάλαιο 13 Ανάλυση δεδομένων... 257 Kεφάλαιο 14 Συναρτήσεις Μέρος Β... 285 Kεφάλαιο 15 Ευρετήριο

Διαβάστε περισσότερα

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

Διαβάστε περισσότερα

Epsilon Net PYLON Platform

Epsilon Net PYLON Platform Epsilon Net PYLON Platform Οδηγίες Εγκατάστασης Top 1 / 31 Περιεχόμενα 1 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ... 3 2 ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ... 5 3 ΕΓΚΑΤΑΣΤΑΣΗ DEMO... 7 4 ΕΓΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΗΣ ΒΑΣΗΣ... 8 4.1 Φόρτωση πρότυπης

Διαβάστε περισσότερα

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC Η Visual Basic είναι μια γλώσσα προγραμματισμού οδηγούμενη από συμβάντα που έχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης Έχει δημιουργηθεί από τη

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Microsoft Excel 2002... 9 Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Κεφάλαιο 3: Δημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων...

Διαβάστε περισσότερα

Παρακάτω προτείνεται μια αλληλουχία ενεργειών την οποία ο χρήστης πρέπει να ακολουθήσει για να αξιοποιήσει τις δυνατότητες της εφαρμογής.

Παρακάτω προτείνεται μια αλληλουχία ενεργειών την οποία ο χρήστης πρέπει να ακολουθήσει για να αξιοποιήσει τις δυνατότητες της εφαρμογής. Έκδοση Επιταγών Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας Έκδοσης Επιταγών στην εφαρμογή Λογιστική Διαχείριση της σειράς HyperΛογιστική. Παρακάτω προτείνεται

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

ARTius με PostgreSQL

ARTius με PostgreSQL ARTius με PostgreSQL 9.3.5.1 Features: Δεν υπάρχει License και κόστος αγοράς / αναβάθμισης του PostgreSQL. Εύκολη και γρήγορη εγκατάσταση. Ταχύτερη παραλληλία (row locking) σε σχέση με άλλα dbms (SQLite,

Διαβάστε περισσότερα

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

Λίγα λόγια από το συγγραφέα...7 Περιεχόμενα Λίγα λόγια από το συγγραφέα...7 Κεφάλαιο 1: Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα...9 Κεφάλαιο 2: Περαιτέρω τροποποίηση δομής πίνακα...41 Κεφάλαιο 3: Σχέσεις...84 Κεφάλαιο 4: Ερωτήματα...105

Διαβάστε περισσότερα

Access 2. Φτιάχνοντας μια DB, πίνακες και εισαγωγή εξωτερικών δεδομένων

Access 2. Φτιάχνοντας μια DB, πίνακες και εισαγωγή εξωτερικών δεδομένων Access 2 Φτιάχνοντας μια DB, πίνακες και εισαγωγή εξωτερικών δεδομένων Στόχοι Σχεδιασμός βάσεων δεδομένων και τη ρύθμιση ιδιοτήτων πεδίων Προβάλετε και τροποποιήστε τους τύπους δεδομένων πεδίων και τη

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

Διαβάστε περισσότερα

11/4/2014 ΤΕΙ Ιονίων Νήσων Πλατφόρµα Ασύγχρονησ Τηλεκπαίδευσησ eclass s ηµιο ι υρ υ γ ρ ία ί Μ αθήµατο τ σ 1

11/4/2014 ΤΕΙ Ιονίων Νήσων Πλατφόρµα Ασύγχρονησ Τηλεκπαίδευσησ eclass s ηµιο ι υρ υ γ ρ ία ί Μ αθήµατο τ σ 1 ΤΕΙ Ιονίων Νήσων Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass ηµιουργία Μαθήµατος 1 Η ηµιουργία Μαθήµατος είναι η πιο σηµαντική ενέργεια του χρήστη Εκπαιδευτή στην πλατφόρµα. Ειδικότερα, για να δηµιουργήσετε

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

Διαβάστε περισσότερα

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

Διαβάστε περισσότερα

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού Μοναστηρίου 60, 54627 Θεσσαλονίκη, Τηλ 2310 567840, Fax 2310 514220, www.cardisoft.gr CARDISOFT User Guide ClassWeb VERSION 1.1 [February] [2007] Greece Monastiriou

Διαβάστε περισσότερα

Κεφαλίδες και υποσέλιδα

Κεφαλίδες και υποσέλιδα Κεφαλίδες και υποσέλιδα Διασκεδάστε με τις επιλογές κεφαλίδων και υποσέλιδων δοκιμάζοντας τις ασκήσεις που ακολουθούν. Άσκηση 1: Εισαγωγή υποσέλιδων σε διαφάνειες Η παρουσίαση αποτελείται από πέντε διαφάνειες.

Διαβάστε περισσότερα

Διαχείριση Επιλογών Διαμόρφωσης

Διαχείριση Επιλογών Διαμόρφωσης 1 Περίληψη Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας διαχείρισης επιλογών διαμόρφωσης εγγραφών Εσόδων Εξόδων & Άρθρων Γενικής Λογιστικής στην εφαρμογή της σειράς

Διαβάστε περισσότερα

Ενότητα. Επεξεργασία πινάκων

Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 2 3 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

Στο παράθυρο που θα εµφανιστεί πατήστε το κουµπί Unzip.

Στο παράθυρο που θα εµφανιστεί πατήστε το κουµπί Unzip. Το αρχείο EstateWeb 4.0.2.exe περιέχει την εγκατάσταση της εφαρµογής σε συµπιεσµένη µορφή. Για αυτό το λόγο θα πρέπει πρώτα να αποσυµπιέσετε τα αρχεία της εγκατάστασης στον σκληρό σας δίσκο. Κάντε διπλό

Διαβάστε περισσότερα

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

Διαβάστε περισσότερα

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ http://h2056wwwhp.com/portal/site/hpsc/template.page/public/psi... 1 of 5 1/7/2014 2:09 μμ Για το σπίτι Για την επιχείρηση Υποστήριξη Είσοδος Εγγραφή Βοήθεια ιστότοπου HP Color LaserJet 3600 Printer series

Διαβάστε περισσότερα

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1 Διαχείριση Πληροφοριών στο Διαδίκτυο Εργαστήριο 1 Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Διοίκησης & Οικονομίας Τμήμα Διαχείρισης Πληροφοριών Διδάσκων Μαρδύρης Βασίλειος, Διπλ. Ηλ. Μηχανικός & Μηχ.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΜΑΘΗΜΑ : Η/Υ I (ενότητα WINDOWS) ΥΠΕΥΘΥΝΟΣ : ΑΝΑΣΤΑΣΙΟΣ ΟΙΚΟΝΟΜΙΔΗΣ, Καθηγητής ΕΡΓΑΣΤΗΡΙΑ : ΘΕΑΝΩ ΧΑΤΖΙΔΑΚΗ, Εργαστηριακό

Διαβάστε περισσότερα

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

Διαβάστε περισσότερα

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές» 2 Ενότητα 5 Φίλτρα & Ερωτήματα 3 4 5.1 Φίλτρα Για να εμφανίσετε επιλεκτικά κάποιες εγγραφές που πληρούν κάποια κριτήρια μπορείτε να χρησιμοποιήσετε το φιλτράρισμα με βάση την επιλογή, φιλτράρισμα εκτός

Διαβάστε περισσότερα

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας από βάση δεδομένων Όταν εκκινήσουμε τον Discoverer εμφανίζεται στην οθόνη μας το παράθυρο διαλόγου του βοηθητικού προγράμματος

Διαβάστε περισσότερα

Διαχείριση Αξιόγραφων

Διαχείριση Αξιόγραφων Διαχείριση Αξιόγραφων 1 Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας Διαχείρισης Αξιόγραφων στην εφαρμογή extra Λογιστική Διαχείριση. Παρακάτω προτείνεται μια

Διαβάστε περισσότερα

ΣΚΟΠΟΙ ΒΗΜΑ 1 Ο. Θα εμφανιστεί το λογότυπο του προγράμματος.. ..και μετά από λίγο ένα παράθυρο με τίτλο Προβολές CMap Tools. [1]

ΣΚΟΠΟΙ ΒΗΜΑ 1 Ο. Θα εμφανιστεί το λογότυπο του προγράμματος.. ..και μετά από λίγο ένα παράθυρο με τίτλο Προβολές CMap Tools. [1] ΦΥΛΛΟ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 2 Κεφάλαιο: 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ, Ενότητα: 1.5 ΜΕ ΤΙ ΑΣΧΟΛΕΙΤΑΙ Η ΠΛΗΡΟΦΟΡΙΚΗ Εμπλεκόμενες έννοιες: Πληροφορική Ονοματεπώνυμο: Τμήμα: Ομάδα: ΣΚΟΠΟΙ Να μάθετε πως θα

Διαβάστε περισσότερα

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Ευ ομή Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Περιεχόμενα 1. Χειρισμός του περιβάλλοντος LT125-dp Εγκατάσταση & Τρέξιμο Χειρισμός της ψηφιακής εφαρμογής Πλοήγηση στο περιεχόμενο Αλλαγή του μεγέθους

Διαβάστε περισσότερα

Visual Basic Γλώσσα οπτικού

Visual Basic Γλώσσα οπτικού Visual Basi Γλώσσα οπτικού προγραµµατισµού «Η αρχή είναι το ήµισυ του παντός» Κουλλάς Χρίστος www.oullas.om oullas 2 Στόχοι Μαθήµατος Οι µαθητές να µπορούν: να εξηγούν τι είναι η Visual Basi. ναεξηγούνταστάδιαδηµιουργίας

Διαβάστε περισσότερα

2.9.3 Χρήση λογισμικού παρουσιάσεων για τη δημιουργία απλών παρουσιάσεων ρουτίνας

2.9.3 Χρήση λογισμικού παρουσιάσεων για τη δημιουργία απλών παρουσιάσεων ρουτίνας 2.9 Δεξιότητες Τεχνολογίας Πληροφοριών και Επικοινωνιών 2.9.3 Χρήση λογισμικού παρουσιάσεων για τη δημιουργία απλών παρουσιάσεων ρουτίνας Να επιδεικνύει ικανότητα στη χρήση λογισμικού παρουσιάσεων, ακίνδυνα

Διαβάστε περισσότερα

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Views, Triggers Γιώργος Μαρκοµανώλης Περιεχόµενα Όψη... 1 ηµιουργία όψης... 2 Επιλογή CHECK... 3 Όψεις µόνο για εµφάνιση

Διαβάστε περισσότερα

Εξαγωγή Οικονοµικών Αναφορών (Ισολογισµός, Αποτελέσµατα Χρήσης, Λογαριασµοί Γενικής Εκµετάλλευσης) στην Εφαρµογή Ms Excel

Εξαγωγή Οικονοµικών Αναφορών (Ισολογισµός, Αποτελέσµατα Χρήσης, Λογαριασµοί Γενικής Εκµετάλλευσης) στην Εφαρµογή Ms Excel Εξαγωγή Οικονοµικών Αναφορών (Ισολογισµός, Αποτελέσµατα Χρήσης, Λογαριασµοί Γενικής Εκµετάλλευσης) στην Εφαρµογή Ms Excel Η εφαρµογή σε συνεργασία µε τη Microsoft σας προσφέρει τη δυνατότητα να διαχειρίζεστε

Διαβάστε περισσότερα

Οδηγός γρήγορης εκκίνησης

Οδηγός γρήγορης εκκίνησης Οδηγός γρήγορης εκκίνησης Το Microsoft Excel 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης. Προσθήκη

Διαβάστε περισσότερα

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης Σελίδα 1 από 6 Οδηγός σύνδεσης Υποστηριζόμενα λειτουργικά συστήματα Μπορείτε να εγκαταστήσετε το λογισμικό του εκτυπωτή χρησιμοποιώντας το CD λογισμικού στα ακόλουθα λειτουργικά συστήματα: Windows 8.1

Διαβάστε περισσότερα

Alpha Web Banking Εργαλείο δηµιουργίας αρχείων. Οδηγίες χρήσεως

Alpha Web Banking Εργαλείο δηµιουργίας αρχείων. Οδηγίες χρήσεως Alpha Web Banking Εργαλείο δηµιουργίας αρχείων Οδηγίες χρήσεως ΑΘΗΝΑ, ΙΟΥΝΙΟΣ 2004 ΠΕΡΙΕΧΟΜΕΝΑ 1. Σκοπός και δυνατότητες του εργαλείου...2 2. Είδη αρχείων που υποστηρίζει το εργαλείο...2 3. Εγκατάσταση...3

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ V ΕΚΠΑΙΔΕΥΤΗΣ ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ 1 Ο Ι.Ε.Κ ΠΕΙΡΑΙΑ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ V ΕΚΠΑΙΔΕΥΤΗΣ ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ Δημιουργία Βάσης Δεδομένων σε Περιβάλλον VISUAL BASIC: 1. Κλικ στο Add-Ins 2. Επιλέγω Visual Data

Διαβάστε περισσότερα

Με την επιλογή Κατάσταση Αρχείων εμφανίζεται ένας πίνακας με όλα τα Αρχεία της εφαρμογής και τον Αριθμό των Εγγραφών που έχουν εισαχθεί.

Με την επιλογή Κατάσταση Αρχείων εμφανίζεται ένας πίνακας με όλα τα Αρχεία της εφαρμογής και τον Αριθμό των Εγγραφών που έχουν εισαχθεί. Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Γενική Λογιστική > Εργασίες Αρχείων Εργασίες Αρχείων Κατάσταση Αρχείων Με την επιλογή Κατάσταση Αρχείων εμφανίζεται ένας πίνακας

Διαβάστε περισσότερα

Πρακτικές συμβουλές κατά την πληκτρολόγηση ., ; :! ( ) " " Άνοιγμα και αποθήκευση εγγράφου Αρχείο, Άνοιγμα. Αρχείο / Αποθήκευση

Πρακτικές συμβουλές κατά την πληκτρολόγηση ., ; :! ( )   Άνοιγμα και αποθήκευση εγγράφου Αρχείο, Άνοιγμα. Αρχείο / Αποθήκευση Επεξεργαστής κειμένου Word 2003 Πρακτικές συμβουλές κατά την πληκτρολόγηση Για να αλλάξουμε παράγραφο πατάμε Enter. Για να αφήσουμε μία κενή γραμμή, πατάμε μία φορά το Enter. Για να γράψουμε την επόμενη

Διαβάστε περισσότερα

Κατασκευή λογισµικού: ηµήτριος Χάρµπας Πυθαγόρα 24, Χολαργός Τηλ: ηλ-ταχ: Οδηγίες εγκατάστασης

Κατασκευή λογισµικού: ηµήτριος Χάρµπας Πυθαγόρα 24, Χολαργός Τηλ: ηλ-ταχ:   Οδηγίες εγκατάστασης Οδηγίες εγκατάστασης Κατασκευή λογισµικού: ηµήτριος Χάρµπας Πυθαγόρα 24, 155 62 Χολαργός Τηλ: 210 65 38 215 ηλ-ταχ: ggcad95@gmail.com, www.ggcad.gr Π Ρ Ο Σ Ο Χ Η Αν το κλειδί (Hasp) συνδέεται στην παράλληλη

Διαβάστε περισσότερα

Εγχειρίδιο διαχείρισης χρηστών και λιστών διανομής για τον Υπεύθυνο Φορέα του Δικτύου "Σύζευξις" -1-

Εγχειρίδιο διαχείρισης χρηστών και λιστών διανομής για τον Υπεύθυνο Φορέα του Δικτύου Σύζευξις -1- -1- 1 Διαχείριση Χρηστών...3 1.1 Υπηρεσίες...5 1.1.1 Δημιουργία νέου χρήστη...6 1.1.2 Αναζήτηση χρήστη...7 1.1.2 Επεξεργασία στοιχείων χρήστη...8 1.1.3 Δημιουργία /Επεξεργασία mailbox plan...10 1.1.4 Ενεργοποίηση

Διαβάστε περισσότερα

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση Βάσεις Δεδομένων 5η εργαστηριακή άσκηση SQL Δρ. Μαρία Ευθυμιοπούλου Εντολές sql Για να γράψετε ή να επικολλήσετε εντολές sql πηγαίνετε από το μενού SQL Workshop και επιλέγετε το SQL Commands 1. Δημιουργία

Διαβάστε περισσότερα

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

Διαβάστε περισσότερα

ΠΑΡΑ ΕΙΓΜΑΤΑ ΕΚΘΕΣΕΩΝ

ΠΑΡΑ ΕΙΓΜΑΤΑ ΕΚΘΕΣΕΩΝ ΠΑΡΑ ΕΙΓΜΑΤΑ ΕΚΘΕΣΕΩΝ Για τις παρακάτω ασκήσεις, κατεβάστε στον υπολογιστή σας το αρχείο reports.zip, αποσυµπιέστε το. Θα δουλέψτε µε το αρχείο reports.mdb που υπάρχει µέσα σ αυτό. Θα σας χρειαστεί και

Διαβάστε περισσότερα

Εφαρμογή Ηλεκτρονικής Υποβολής Δηλώσεων Ε9. Οδηγίες Χρήσης

Εφαρμογή Ηλεκτρονικής Υποβολής Δηλώσεων Ε9. Οδηγίες Χρήσης Εφαρμογή Ηλεκτρονικής Υποβολής Δηλώσεων Ε9 Οδηγίες Χρήσης Πίνακας Περιεχομένων 1. Αρχική οθόνη... 3 2. Αρχική Οθόνη Πιστοποιημένου Χρήστη... 4 2.1. Οριστικοποίηση της Περιουσιακής Εικόνας... 5 2.2. Καρτέλες

Διαβάστε περισσότερα