Χατζάκης Ηλίας σελίδα 1 από 46



Σχετικά έγγραφα
Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας

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

Εργαστήριο 3ο. Ιδιότητες Πεδίων Κλειδιά Πινάκων. Τύποι Δεδομένων. Ιδιότητες Πεδίων

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

Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

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

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

Τμήμα Διοίκησης Επιχειρήσεων

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

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

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

Ηλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 2. Διαφάνεια 1. Κάπαρης Αναστάσιος

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Εισαγωγή στην Access 2007

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο. Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

Τα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη. χρήση συναρτήσεων ομαδοποίησης κατά την εκτέλεση ενός ερωτήματος προβολής

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

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

Τίτλος Πακέτου Certified Computer Expert-ACTA

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ

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

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

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

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

Με Χρήση της ΦΟΡΜΑΣ να προσθέσετε εγγραφές στον πίνακα που ακολουθεί

Τμήμα Πληροφορικής ΑΠΘ

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

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. 1 Tο βιβλίο "με μια ματιά" Εισαγωγή στη Microsoft Access Γνωριμία με τις βάσεις δεδομένων της Access...

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

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

Διαχείριση Βάσης Δεδομένων (dbadmin)

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Microsoft Access 2007

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


Σχεδίαση Βάσεων Δεδομένων

Βάση Δεδομένων - Φύλλο Εργασίας. B. Δημιουργία Πίνακα με τη χρήση της Προβολής Σχεδίασης (Create table in Design view)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εργαστήριο 1

1.1 Δημιουργία - Άνοιγμα ΒΔ

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

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

AM5 Βάσεις Δεδομένων Προχωρημένο Επίπεδο Εξεταστέα Ύλη (Syllabus) Εκδοση 1.0

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

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

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

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

Εργασία Συστήματα Βάσεων Δεδομένων. Θέμα


Βάσεις Δεδομένων. Εργαστήριο 1. Ηλεκτρονικοί Υπολογιστές ΙI. Ακαδημαϊκό Έτος Διαφάνεια 1. Κάπαρης Αναστάσιος

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

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

AM5 Βάσεις Δεδομένων Προχωρημένο Επίπεδο. Εξεταστέα Ύλη (Syllabus) Εκδοση 1.0

Browsers. Λειτουργικότητα και Παραμετροποίηση

SPSS Statistical Package for the Social Sciences

Ηλεκτρονικοί Υπολογιστές II

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

Βάσεις δεδομένων. Δημιουργία και διαχείριση βάσης δεδομένων

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

(1) Επιλέξτε την εντολή QUERIES για να μπείτε στο περιβάλλον δημιουργίας

Εργαστηριακός Οδηγός. Βάσεις Δεδομένων της Γ' Τάξης ΕΠΑΛ

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

DELETE, UPDATE, INSERT.

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: Μη μου τους κύκλους τάραττε Αρχιμήδης

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

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

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

Ενότητα. Σχεδίαση Βάσεων Δεδομένων

DELETE, UPDATE, INSERT

Το σχεσιακό μοντέλο βάσεων δεδομένων

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Ηλεκτρονικοί Υπολογιστές II

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

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

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

Γνωρίστε το Excel 2007

Transcript:

MICROSOFT ACCESS Η Microsoft Access είναι ένα πρόγραμμα διαχείρισης σχεσιακών βάσεων δεδομένων Relational Data Base Management System (RDBMS). Μπορεί να χειριστεί δεδομένα βάσεων άλλων προγραμμάτων όπως dbase, paradox, Microsoft FoxPro, και SQL server. ΚΑΤΑΣΚΕΥΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ File \ New Database \ Create (Αρχείο \Νέα Βάση Δεδομένων \ Δημιουργία) Πριν την επιλογή Create(Δημιουργία) μπορούμε να αλλάξουμε το όνομα που προτείνει η Access με το όνομα που εμείς θέλουμε να δώσουμε στη βάση. ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ Ένας πίνακας μπορεί να έχει μέχρι 255 πεδία, μέχρι 32 ευρετήρια και το κάθε ευρετήριο μέχρι 10 στήλες και να μην υπερβαίνει τα 255 byte. Tables \ New \ Datasheet View Δημιουργούμε ένα κενό φύλλο δεδομένων όπου μπορούμε να καταχωρήσουμε ότι καταχωρούμε σε ένα φύλλο εργασίας δηλαδή κείμενο αριθμούς ημερομηνίες κ.λ.π. Αντίθετα όμως με το φύλλο εργασίας δεν μπορούμε να καταχωρήσουμε τύπους τους οποίους εύκολα μπορούμε να καταχωρήσουμε στα queries (ερωτήματα). Καταχωρούμε αμέσως τουλάχιστον μία εγγραφή για να ορίσουμε ποια πεδία (στήλες) θα χρησιμοποιήσουμε από αυτές που αυτόματα δημιουργούνται. Επίσης έχουμε τη δυνατότητα μαρκάροντας μια στήλη και πατώντας το δεξί πλήκτρο το mouse να εμφανίσουμε ένα μενού από όπου μπορούμε να εισάγουμε, να διαγράψουμε, να μετονομάσουμε κ.λ.π. τις στήλες που πρόκειται να χρησιμοποιήσουμε. Design View Ένας άλλος τρόπος δημιουργίας πίνακα. Εδώ δημιουργούμε έναν πίνακα ορίζοντας λεπτομερώς τα πεδία του τους τύπους των δεδομένων που πρόκειται να δεχθούν και τους περιορισμούς που υπόκεινται κ.λ.π. Table wizard Εδώ δημιουργούμε ένα πίνακα με δομή που ταιριάζει σε έτοιμους πίνακες που μας προτείνει η Access. Import Table Εδώ εισάγουμε ένα πίνακα από άλλη βάση δεδομένων ή από άλλο πρόγραμμα που συνεργάζεται με την ACCESS. Link Table Εδώ μπορούμε να συνδεθούμε με ένα πίνακα από άλλη βάση δεδομένων ή από άλλο πρόγραμμα που συνεργάζεται με την ACCESS.Ο πίνακας αυτός μπορεί να ενημερώνεται από όλα τα προγράμματα που τον διαχειρίζονται. Χατζάκης Ηλίας σελίδα 1 από 46

ΑΣΚΗΣΗ Να κατασκευασθούν οι πίνακες 1 έως 7 που ακολουθούν σύμφωνα με τις δομές που αναφέρουμε. 1. ΔΟΜΗ ΤΟΥ ΠΙΝΑΚΑ ΕΞΑΜΗΝΩΝ (SEMESTRS) (Περιλαμβάνει τα Εξάμηνα από τότε που άρχισε να λειτουργεί η σχολή. Η τελευταία εγγραφή του πίνακα είναι το τρέχων εξάμηνο) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΙΔΟΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΡΑΤΗΡΗΣΕΙΣ AA BYTE ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ SEMESTER ΚΕΙΜΕΝΟ 6 ΧΑΡΑΚΤΗΡΕΣ 2. ΔΟΜΗ ΤΟΥ ΠΙΝΑΚΑ ΤΩΝ ΣΠΟΥΔΑΣΤΩΝ (STUDENTS) (Περιλαμβάνει διάφορα σταθερά στοιχεία των σπουδαστών) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΙΔΟΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΡΑΤΗΡΗΣΕΙΣ AM ΑΚΕΡΑΙΟΣ Αριθμός Μητρώου ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ LASTNAME ΚΕΙΜΕΝΟ 20 ΧΑΡΑΚΤΗΡΕΣ LASTNAME & FIRSTNAME, ΚΛΕΙΔΙ FIRSTNAME ΚΕΙΜΕΝΟ 10 ΧΑΡΑΚΤΗΡΕΣ SEMESTER IN ΒΥΤΕ Εξάμηνο Εισαγωγής, ΚΛΕΙΔΙ ADDRESS ΚΕΙΜΕΝΟ 50 ΧΑΡΑΚΤΗΡΕΣ PHONE ΚΕΙΜΕΝΟ 15 ΧΑΡΑΚΤΗΡΕΣ STATUS BYTE (ΚΛΕΙΔΙ) Συνδέεται με τον πίνακα STATUS 3. ΔΟΜΗ ΤΟΥ ΠΙΝΑΚΑ ΜΑΘΗΜΑΤΩΝ (COURSES) (Περιλαμβάνει τα μαθήματα που πρέπει να παρακολουθήσει ένας σπουδαστής Στην άσκηση Θεωρούμαι ότι δεν μεταβάλλεται πράγμα που δεν ισχύει στην πραγματικότητα) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΙΔΟΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΡΑΤΗΡΗΣΕΙΣ Kode ΚΕΙΜΕΝΟ 5 ΧΑΡΑΚΤΗΡΕΣ ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ Describe ΚΕΙΜΕΝΟ 20 ΧΑΡΑΚΤΗΡΕΣ Semester Αριθμός BYTE Εξάμ. που ανήκει το μάθημα 1,2,3,4,5,6 Kind ΚΕΙΜΕΝΟ 5 ΧΑΡΑΚΤΗΡΕΣ Θεώρ. Εργασ Φροντ KodeProf ΚΕΙΜΕΝΟ 5 ΧΑΡΑΚΤΗΡΕΣ Units Αριθμός BYTE Ώρες που διδάσκεται το μάθημα Χατζάκης Ηλίας σελίδα 2 από 46

4. ΔΟΜΗ ΤΟΥ ΠΙΝΑΚΑ ΠΟΥ ΠΕΡΙΕΧΕΙ ΤΟΥΣ ΒΑΘΜΟΥΣ ΤΩΝ ΣΠΟΥΔΑΣΤΩΝ (GRADES) (Περιλαμβάνει τους βαθμούς και τα μαθήματα που έχουν δηλώσει οι σπουδαστές ) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΙΔΟΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΡΑΤΗΡΗΣΕΙΣ AM ΑΚΕΡΑΙΟΣ Αριθμός Μητρώου και το πεδίο Kode ΚΕΙΜΕΝΟ 5 ΧΑΡΑΚΤΗΡΕΣ Kode Αποτελούν το ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ SEMESTER ΒΥΤΕ Εξάμηνο που πέρασε το μάθημα GRADE ΑΡΙΘΜΌΣ Βαθμός 0 ολοκλήρωσε, 1 απαλλαγή, 2 χρωστά STATUS ΑΚΕΡΑΙΟΣ BYTE,3 δήλωση. 5. ΔΟΜΗ ΤΟΥ ΠΙΝΑΚΑ ΚΑΘΗΓΗΤΩΝ (PROFESSORS) (Περιλαμβάνει τα διάφορα στοιχεία των καθηγητών) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΙΔΟΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΡΑΤΗΡΗΣΕΙΣ KODPROF ΚΕΙΜΕΝΟ 5 ΧΑΡΑΚΤΗΡΕΣ ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ LASTNAME ΚΕΙΜΕΝΟ 20 ΧΑΡΑΚΤΗΡΕΣ FIRSTNAME ΚΕΙΜΕΝΟ 10 ΧΑΡΑΚΤΗΡΕΣ PHONE ΚΕΙΜΕΝΟ 15 ΧΑΡΑΚΤΗΡΕΣ ADDRESS ΚΕΙΜΕΝΟ 15 ΧΑΡΑΚΤΗΡΕΣ 6. ΔΟΜΗ ΤΟΥ ΠΙΝΑΚΑ (ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ) (Το δεύτερο πεδίο (kode2) είναι προαπαιτούμενο στο μάθημα που ο κωδικός του είναι στο πρώτο πεδίο (kode)) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΙΔΟΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΡΑΤΗΡΗΣΕΙΣ Kode ΚΕΙΜΕΝΟ 5 ΧΑΡΑΚΤΗΡΕΣ Το πεδίο KODE καθώς και το KODE2 Kode2 ΚΕΙΜΕΝΟ 5 ΧΑΡΑΚΤΗΡΕΣ Αποτελούν το ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ 7. ΔΟΜΗ ΤΟΥ ΠΙΝΑΚΑ (STATUS) Περιέχει τις διάφορες καταστάσεις που βρίσκεται κάποιος σπουδαστής ήτοι : 0 ΕΝΕΡΓΟΣ, 1 ΜΕΤΑΓΡΑΦΗ, 2 ΔΙΑΓΡΑΦΗ 3 ΠΤΥΧΙΟΥΧΟΣ. ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΙΔΟΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΡΑΤΗΡΗΣΕΙΣ AA BYTE ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ DESCR_STAT ΚΕΙΜΕΝΟ 10 ΧΑΡΑΚΤΗΡΕΣ Χατζάκης Ηλίας σελίδα 3 από 46

ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Text Aλφαριθμητικά δεδομένα έως 255 bytes Number Byte Ακέραιος 1 byte τιμές από 0 έως 255 Integer Ακέραιος 2 byte τιμές από -32768 έως +32767 Long Integer Ακέραιος 4 byte τιμές από -2147483648 έως +2147483647 Single Αριθμός Κινητής υποδιαστολής 4 byte τιμές από -3.4*10 38 έως 3.4*10 38 Double Αριθμός Κινητής υποδιαστολής 8 byte τιμές -1.79*10 308 έως 1.79*10 308 Memo Σημειώσεις έως 64000 bytes Date / Time 8 byte Currency Δεδομένα χρηματικών τιμών με ακρίβεια 4 δεκαδικών ψηφίων 8 byte yes/no λογικά δεδομένα 1 bit OLE Object Εικόνες γραφήματα ήχος και άλλα αντικείμενα από εφαρμογές για Windows 1 gigabyte AutoNumber Αυτόματη Αρίθμηση. Μοναδική τιμή που δημιουργείται από την Access για κάθε νέα εγγραφή 4 byte (16 για replication ID αναγνωριστικό αναπαραγωγής) Hyper link Αναφορά σε διεύθυνση του Internet. Lookup Με τη χρήση του wizard μπορείς να ορίσεις κάποιο list ή combo box. ΓΕΝΙΚΕΣ ΙΔΙΟΤΗΤΕΣ ΠΕΔΙΟΥ FORMAT Μορφή εμφάνισης ή εκτύπωσης των δεδομένων Για τους τύπους Number, Currency και autonumber οι επιλογές μορφής είναι οι ακόλουθες : general number Δεν διαχωρίζει χιλιάδες και δεν βάζει σύμβολο νομίσματος τα δεκαδικά ψηφία εξαρτώνται από την ακρίβεια των δεδομένων. Currency σύμβολο νομίσματος και 2 δεκαδικά ψηφία Fixed 1 τουλάχιστον ακέραιο και 2 τουλάχιστον δεκαδικά ψηφία Standard Διαχωρίζει χιλιάδες και 2 δεκαδικά ψηφία Percent Ποσοστά Scientific Επιστημονική Για τους τύπους date/time οι επιλογές μορφής είναι οι ακόλουθες : General Date (25/12/2000) Short Date(25/12/2000) Long Date(Σάββατο,25 Νοέμβριος 2000)Medium Date(25-Νοε-00) Long Time (12:30:35 μμ) Short Time (12:30) Medium Time (12:30 μμ) Χατζάκης Ηλίας σελίδα 4 από 46

Ενώ για τους τύπου κειμένου memo μπορούμε να χρησιμοποιήσουμε το σύμβολο < για να μετατραπούν τα κεφαλαία γράμματα σε μικρά και το σύμβολο > τα μικρά σε κεφαλαία. Decimal Places Πλήθος δεκαδικών ψηφίων από 0 έως 15 για τους τύπους Number και Currency INPUT MASK Μάσκα Εισαγωγής για τους τύπους Text, Number, Currency, Date/ Time. Τα σύμβολα που χρησιμοποιούμε σε διάφορες θέσεις της μάσκας είναι : 0 Στο σημείο αυτό πρέπει να εισαχθεί αριθμός. 9 Στο σημείο αυτό πρέπει να εισαχθεί αριθμός ή κενό διάστημα ή null. # Στο σημείο αυτό πρέπει να εισαχθεί αριθμός ή κενό διάστημα ή +, -. L Στο σημείο αυτό πρέπει να εισαχθεί γράμμα.? Στο σημείο αυτό πρέπει να εισαχθεί γράμμα null. A Στο σημείο αυτό πρέπει να εισαχθεί γράμμα ή αριθμός a Στο σημείο αυτό πρέπει να εισαχθεί γράμμα ή null C Στο σημείο αυτό πρέπει να εισαχθεί χαρακτήρας ή κενό ή null & Στο σημείο αυτό πρέπει να εισαχθεί χαρακτήρας ή κενό.. θέση υποδιαστολής μπορεί να είναι και, ανάλογα από τα regional settings, διαχωριστικό των χιλιάδων ; - / διαχωριστές ημερομηνίας και ώρας < Μετατρέπει τους χαρακτήρες που ακολουθούν σε πεζούς > Μετατρέπει τους χαρακτήρες που ακολουθούν σε κεφαλαίους! Προκαλεί το γέμισμα της μάσκας από δεξιά προς τα αριστερά όταν ορίζουμε προαιρετικούς χαρακτήρες στο άκρο της. \ Ο χαρακτήρας που ακολουθεί δεν είναι χαρακτήρας μάσκας αλλά ένας σταθερός χαρακτήρας που εμφανίζεται στο περιεχόμενο του πεδίου. Μια μάσκα εισαγωγής αποτελείται από τρία μέρη που χωρίζονται με ; Το πρώτο μέρος είναι η μάσκα το δεύτερο είναι 0 ή 1 που δηλώνει αν οι σταθεροί χαρακτήρες που υπάρχουν στο περιεχόμενο του πεδίου θα αποθηκεύονται ή απλώς θα εμφανίζονται χωρίς να αποθηκεύονται. Στην περίπτωση που αποθηκεύονται οι χαρακτήρες μορφοποίησης πρέπει να προστίθενται στο μήκος του πεδίου. Το τρίτο είναι ο χαρακτήρας που η εμφάνιση του υποδηλώνει τη θέση των χαρακτήρων που θα εισαχθούν. Το δεύτερο και το τρίτο κομμάτι είναι προαιρετικά και αν τα παραλείψουμε τότε θεωρείται το 1 και η κάτω παύλα (_). Χατζάκης Ηλίας σελίδα 5 από 46

Παρατήρηση Στην περίπτωση που ένα πεδίο παίρνει τιμές από κάποια λίστα ή σύνθετο πλαίσιο η μάσκα εισαγωγής δεν είναι απαραίτητο να ορισθεί και δεν λαμβάνεται υπόψιν. Caption (Ετικέτα) Εμφανίζεται στις ετικέτες των Φορμών και Αναφορών Default Value Ορίζουμε αρχική τιμή για όλους τους τύπους εκτός memo AutoNumber και OLE Validation Rule Ορίζουμε κανόνα εγκυρότητας για το περιεχόμενο του πεδίου που αναφερόμαστε και οι οποίοι ελέγχονται όταν εισάγουμε τιμές στο πεδίο. Για περισσότερα βλέπε λίγο παρακάτω στη παράγραφο κανόνες εγκυρότητας. Validation Text Ορίζουμε το μήνυμα που θα εμφανίζεται όταν παραβιάζουμε το Validation Rule. Required Δεν Επιτρέπεται(yes) ή επιτρέπεται (no) το πεδίο να μείνει κενό Allow Zero Length Επιτρέπεται να ορίζουμε τα πεδία text και memo ίσα με αλφαριθμητικά μηδενικού μήκους Indexed Κατασκευή Ευρετηρίου με ή χωρίς μοναδικότητα (duplicates) για τους τύπους text number Date/Time Currency και AutoNumber. Ευρετήρια επίσης μπορούμε να δημιουργήσουμε ή να τροποποιήσουμε όταν είμαστε από σε design με την επιλογή view \ indexes. Σε αυτή τη περίπτωση έχουμε την δυνατότητα να δημιουργήσουμε ευρετήρια πολλών πεδίων. Συμπίεση Unicode Μόνο για text και memo. Η Microsoft Access 2000 χρησιμοποιεί το σχήμα κωδικοποίησης χαρακτήρων Unicode για την αναπαράσταση δεδομένων κειμένου Ο κάθε χαρακτήρας κειμένου καταλαμβάνει χώρο 2 byte αντί για ένα.. Έτσι έχουμε 65536 συνδυασμούς είδη χαρακτήρων αλλά απαιτεί διπλάσιο χώρο στη μνήμη. Με την συμπίεση Unicode το πρώτο byte ενός χαρακτήρα όταν είναι 0 δεν αποθηκεύεται και αποθηκεύεται μόνο το δεύτερο byte Όταν αποσυμπιέζεται αναπαράγεται πάλι το πρώτο byte. Χατζάκης Ηλίας σελίδα 6 από 46

ΓΕΝΙΚΕΣ ΙΔΙΟΤΗΤΕΣ ΠΕΔΙΟΥ ΑΜ ΤΟΥ ΠΙΝΑΚΑ ΤΩΝ ΣΠΟΥΔΑΣΤΩΝ (STUDENTS) Μέγεθος Πεδίου (Field Size) Ακέραιος (Integer) Μορφή (Format) Δεκαδικές θέσεις (Decimal Places) Αυτόματα (Automatic) Μάσκα Εισαγωγής (Input Mask) 99999 Λεζάντα (Caption) ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ Προεπιλεγμένη Τιμή (Default Value) Κανόνας επικύρωσης (Validation Rule) >0 and <30000 Κείμενο επικύρωσης (Validation Text) Δώστε ΑΜ >0 και <30000 Απαιτείται (Required) Ναι (yes) Με ευρετήριο (Indexed) Ναι (Δεν επιτρέπονται διπλότυπα) Yes (no Duplicates) ΓΕΝΙΚΕΣ ΙΔΙΟΤΗΤΕΣ ΠΕΔΙΟΥ SEMESTER ΤΟΥ ΠΙΝΑΚΑ SEMESTERS Μέγεθος Πεδίου (Field Size) 6 Μορφή (Format) Μάσκα Εισαγωγής (Input Mask) 99\-99L;0 Λεζάντα (Caption) ΕΞΑΜΗΝΟ Προεπιλεγμένη Τιμή (Default Value) Κανόνας επικύρωσης (Validation Rule) Like "##[-]##[ΧΕ]" Κείμενο επικύρωσης (Validation Text) Η μορφή δεν είναι εγκυρη Απαιτείται (Required) Ναι (yes) Μηδενικό Μήκος(Allow Zero Length) Όχι (no) Με ευρετήριο (Indexed) Συμπίεση Unicode Ναι (yes) ΙΔΙΟΤΗΤΕΣ ΕΜΦΑΝΙΣΗΣ ΠΕΔΙΟΥ SEMESTER IN ΤΟΥ ΠΙΝΑΚΑ STUDENTS όπως φαίνεται από την εικόνα που ακολουθεί το πεδίο SEMESTER IN παίρνει τιμές από τον πίνακα SEMESTERS. Στοιχείο ελέγχου ως (Display control) Σύνθετο Πλαίσιο (Combo box) Τύπος προέλευσης γραμμής (Row source type) Πίνακας/ Ερώτημα (Table / Query) Προέλευση γραμμής (Row source) SEMESTERS Δεσμευμένη στήλη(bound column) 1 Πλήθος στηλών (Column count) 2 Κεφαλίδες στηλών (Column heads) Όχι (no) Πλάτη στηλών (Column widths) 0εκ.;2εκ. Γραμμές λίστας (List rows) 8 Πλάτος λίστας(list Width) 2 εκ. Περιορισμός σε λίστα (Limit to list)ναι (yes) Χατζάκης Ηλίας σελίδα 7 από 46

LOOKUP (Ιδιότητες εμφάνισης πεδίου) DISPLAY CONTROL Text box Είναι ο πιο συνηθισμένος τύπος. List box (Πλαίσιο καταλόγου) στην επιλογή αυτή μας δίνεται η δυνατότητα να εμφανίσουμε μία λίστα τιμών και μέσα από αυτή να επιλέξουμε κάποια τιμή για το πεδίο που αναφερόμαστε. Combo box (Σύνθετο πλαίσιο) Είναι όπως και το list Box με τη διαφορά ότι ενώ στην επιλογή list box το πεδίο παίρνει τιμές μόνο από τη λίστα στην επιλογή combo box έχεις τη δυνατότητα να περιορίζεις ή όχι τις τιμές του πεδίου εντός λίστας. Επίσης στην επιλογή combo box έχεις τη δυνατότητα να ορίσεις πόσες γραμμές θα περιέχει το παράθυρο που θα εμφανίζει τις τιμές της λίστας καθώς και το συνολικό πλάτος του παραθύρου. ROW SOURCE TYPE Δηλώνουμε για τις επιλογές List box ή Combo box αν οι τιμές του πεδίου προέρχονται από πίνακα ή ερώτημα (Table/query) ή είναι τιμές που ορίζονται παρακάτω (Value list) ή οι τιμές είναι ονόματα πεδίων (Field list) του πίνακα που θα αναφέρουμε παρακάτω. ROW SOURCE Αν στην προηγούμενη επιλογή έχουμε επιλέξει Table/query ή Field list εδώ ορίζουμε το όνομα του πίνακα ή του ερωτήματος. Ενώ αν έχουμε επιλέξει Value list εδώ εισάγουμε τις τιμές χωρισμένες με ερωτηματικό ( ;) Σε αυτή τη περίπτωση οι τιμές λαμβάνονται διαδοχικά συμπληρώνεται όλη η πρώτη γραμμή του πίνακα ακολουθεί η δεύτερη κ.ο.κ. BOUND COLUMN Δίνουμε τον αριθμό της στήλης του καταλόγου (1,2,3 )από την οποία θα εισάγονται οι τιμές. COLUMN COUNT Δίνουμε τον αριθμό των στηλών του καταλόγου που θα εμφανίζονται στο πλαίσιο. COLUMN HEADS Αν θέλουμε ή όχι την εμφάνιση Επικεφαλίδων. COLUMN WIDTHS Πλάτος των στηλών που θα εμφανίζονται χωρισμένες με (;).Αν μια στήλη δεν θέλουμε να εμφανίζεται δίνουμε πλάτος 0. Οι τιμές της πρώτης στήλης πού έχει μη μηδενικό πλάτος εμφανίζονται στο πεδίο και μπορεί να είναι διαφορετικές από το περιεχόμενο του πεδίου που προέρχεται από το στήλη που ορίσαμε στο BOUND COLUMN. Το περιεχόμενο μπορούμε να δούμε αν μετατρέψουμε το list box ή combo box σε text box. LIST ROWS μόνο για Combo box Δίνουμε το πλήθος των γραμμών μαζί με τις επικεφαλίδες που θέλουμε να εμφανίζονται μέσα στο πλαίσιο. LIST WIDTH μόνο για Combo box Ορίζουμε το πλάτος του πλαισίου. LIMIT TO LIST μόνο για Combo box Ορίζουμε αν το πεδίο θα περιέχει τιμές μόνο από το κατάλογο ή όχι. Χατζάκης Ηλίας σελίδα 8 από 46

ΙΔΙΟΤΗΤΕΣ ΠΙΝΑΚΑ επιλέγουμε σχεδίαση και μετά επιλέγουμε View \Properties (Προβολή \ Ιδιότητες. Περιγραφή Κάνουμε μια συνοπτική περιγραφή του πίνακα η οποία εμφανίζεται στη στήλη περιγραφή στο παράθυρο που εμφανίζονται οι πίνακες της βάσης. Validation Rule (κανόνας επικύρωσης) Ορίζουμε κανόνα εγκυρότητας των περιεχομένων του πίνακα. Για περισσότερα βλέπε λίγο παρακάτω κανόνες εγκυρότητας. Validation Text (κείμενο επικύρωσης) Ορίζουμε το μήνυμα που θα εμφανίζεται όταν παραβιάζουμε τον κανόνα επικύρωσης. Filter (Φίλτρο) ορίζουμε φίλτρο αναζήτησης όπως ορίζουμε και τους κανόνες εγκυρότητας. Order by (Κατάταξη κατά) Ορίζουμε τα πεδία βάσει των οποίων θα γίνεται η ταξινόμηση των δεδομένων. Οι επιλογές Φίλτρο και Κατάταξη κατά ενεργοποιούνται κατά την διαχείριση των εγγραφών του πίνακα από την επιλογή Records(Εγγραφές). Από την ίδια επιλογή μπορούμε τροποποιήσουνε το περιεχόμενο των παραπάνω επιλογών. Με την επιλογή Όνομα δευτερεύοντος Φύλλου δεδομένων επιλέγουμε το όνομα του πίνακα που θέλουμε να εμφανίζονται τα στοιχεία του σε δευτερεύων φύλλο μαζί με τα στοιχεία του πίνακα που αναφερόμαστε ή επιλέγοντας Αυτόματα επιλέγει η ACCESS αυτόν τον πίνακα βάσει των σχέσεων που έχουμε ορίσει ή δεν επιτρέπουμε να εμφανίζεται καθόλου πίνακας επιλέγοντας καμία. Στις υπόλοιπες επιλογές ορίζουμε τα πεδία των πινάκων που υλοποιούν τη σχέση (Σύνδεση δευτερευόντων πεδίων, Σύνδεση πρωτευόντων πεδίων), ορίζουμε τη διάσταση του ύψους του δευτερεύοντος φύλλου(ύψος δευτερεύοντος φύλλου δεδομένων) καθώς και αν θα φαίνεται μόνιμα ή όχι(ανεπτυγμένο δευτερεύων φύλλο δεδομένων). Χατζάκης Ηλίας σελίδα 9 από 46

ΚΑΝΟΝΕΣ ΕΓΚΥΡΟΤΗΤΑΣ Είναι οι κανόνες εγκυρότητας Πεδίου και οι κανόνες Εγκυρότητας Πίνακα. Οι κανόνες εγκυρότητας πεδίου ορίζονται στις γενικές ιδιότητες του πεδίου και αφορούν μόνο το πεδίο για το οποίο ορίζονται άρα δεν χρειάζεται να αναφέρουμε το όνομα του πεδίου εκτός αν απαιτείται σαν όρισμα σε συνάρτηση. Αυτοί οι κανόνες λειτουργούν κατά την καταχώρηση του πεδίου. Οι κανόνες εγκυρότητας πίνακα αφορούν το περιεχόμενο ενός ή περισσοτέρων πεδίων του ίδιου πίνακα, οι οποίοι λειτουργούν όταν καταχωρούμε την εγγραφή. Υπάρχουν αρκετές συναρτήσεις που μπορούμε να χρησιμοποιήσουμε στους κανόνες εγκυρότητας. Αν πατήσουμε το σύμβολο που παρουσιάζεται στην γραμμή εισαγωγής του κανόνα επικύρωσης ενεργοποιούμε την δόμηση εκφράσεων (expression builder) από όπου μπορούμε να ορίσουμε τον κανόνα επικύρωσης.μέσα σε αυτό το πρόγραμμα μπορούμε να δούμε όλες τις συναρτήσεις και τους τελεστές που μπορούμε να χρησιμοποιήσουμε. Τα ονόματα των πεδίων μπαίνουν μέσα σε αγκύλες [ ]. Π.χ. [quantiy_ins]>=[quantiy_sales] Για την ανάπτυξη κανόνων εγκυρότητας Χρησιμοποιούμε τους τελεστές συγκρίσεις >, <, <=, >=, =, <>, λογικούς τελεστές and, or π. χ. <100 >=5 and <=10 μπορούμε ακόμα να χρησιμοποιήσουμε το άμεσο IIF (Immediate IF) π.χ. ΙΙF([grade]>=0 and [grade]<=10;true;false) Οι τιμές ημερομηνιών και ωρών πάντα περικλείονται με # π.χ. > #31-12-1998# Επίσης μπορούμε να χρησιμοποιήσουμε διάφορες λέξεις κλειδιά όπως : IN ελέγχει αν οι τιμές είναι μέσα σε μια λίστα που γράφονται τα στοιχεία της μέσα σε παρένθεση και ανάμεσα τους το,. Αν είναι αλφαριθμητικά μπαίνουν σε εισαγωγικά π.χ ΙΝ ( Χανιά, Ρέθυμνο, Ηράκλειο, Λασσίθι ) Χατζάκης Ηλίας σελίδα 10 από 46

BETWEEN ελέγχει αν οι τιμές είναι σε ένα κλειστό διάστημα ορίζουμε τα άκρα και ανάμεσα τους το AND π.χ. BETWEEN 120 AND 250. LIKE ορίζουμε κάποιους χαρακτήρες που θέλουμε να αποτελούν μέρος του περιεχομένου του πεδίου. Μπορούμε να χρησιμοποιούμε χαρακτήρες μπαλαντέρ όπως το * που αντικαθιστά 0 ή περισσότερους χαρακτήρες, το.? αντικαθιστά ένα χαρακτήρα και το # που αντικαθιστά ένα ψηφίο. π.χ. LIKE TEI??# * αρχίζει από τη λέξη ΤΕΙ και ακολουθούν 2 χαρακτήρες και ένα ψηφίο και ακολουθεί οτιδήποτε. Για να ορίσουμε ότι σε μια θέση του πεδίου πρέπει να υπάρχουν ορισμένοι χαρακτήρες τους γράφουμε μέσα σε αγκύλη π.χ LIKE [A-Z]##* αυτό σημαίνει ότι το περιεχόμενο του πεδίου θα αρχίζει με γράμμα ακολουθούν 2 ψηφία και μετά οτιδήποτε. Αν θέλουμε όλους τους χαρακτήρες εκτός από ορισμένους αρχίζουμε τη λίστα με! π.χ. LIKE [!AΒ]?? ο πρώτος χαρακτήρας δεν μπορεί να είναι Α ή Β και ακολουθούν 2 χαρακτήρες. IS (NOT) NULL Εάν σε ένα πεδίο δεν έχουμε καταχωρήσει περιεχόμενο τότε αυτό το πεδίο έχει ανύπαρκτο περιεχόμενο. Δύο πεδία με ανύπαρκτο περιεχόμενο δεν είναι ίσα. Με τη συνάρτηση NULL γίνεται έλεγχος εάν ένα πεδίο έχει ανύπαρκτη τιμή ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΑ Επιλέγοντας έναν πίνακα με την επιλογή Edit \ Copy και μετά edit \ paste μπορούμε να δημιουργήσουμε άλλον πίνακα με την ίδια ακριβώς δομή (Structure Only) ή να δημιουργήσουμε ένα ακριβές αντίγραφο του (Structure and Data) ή να προσθέσουμε τις εγγραφές του σε έναν άλλο πίνακα (Append Data to Existing Table). Με την επιλογή Edit \ Delete διαγράφουμε τον πίνακα. Με την επιλογή Edit \ Rename μετονομάζουμε τον πίνακα. Αφού ανοίξουμε (open) έναν πίνακα ενεργοποιείται ένα φύλλο δεδομένων με στοιχεία τις εγγραφές του πίνακα όπου μπορούμε να κινηθούμε χρησιμοποιώντας τα πλήκτρα κίνησης του πληκτρολογίου ή τις μπάρες ολίσθησης ακόμα και τα κουμπιά που συνοδεύουν το φύλλο δεδομένων:,,,, * (προηγούμενη, επόμενη, πρώτη, τελευταία, νέα εγγραφή αντίστοιχα). Χατζάκης Ηλίας σελίδα 11 από 46

Από την επιλογή Edit μπορούμε να αντιγράψουμε, να σβήσουμε, κ.λ.π ολόκληρες κολώνες ή γραμμές, ή το περιεχόμενο ενός πεδίου. Από την επιλογή Insert να εισάγουμε κολώνες, γραμμές. Από την επιλογή Format μπορούμε να επιλέξουμε γραμματοσειρά (Font) για να μορφοποιήσουμε ολόκληρο το φύλλο δεδομένων, να μεταβάλουμε το ύψος των γραμμών(row Height), το πλάτος των στηλών (Column Width), να μετονομάσουμε μια στήλη (Rename Column), να κρύψουμε ( Hide Columns) ή να επανεμφανίσουμε (Unhide Columns) κάποιες στήλες, να κάνουμε κάποιες στήλες να φαίνονται μόνιμα στην οθόνη όταν κινούμαστε δεξιά-αριστερά ( Freeze Columns) ή να αναιρέσουμε αυτή την ιδιότητα (Unfreeze All Columns). Επίσης μαρκάροντας μία ολόκληρη κολώνα (κάνοντας κλικ πάνω στην επικεφαλίδα) μπορούμε να την μετακινήσουμε σε άλλη θέση τραβώντας το τετράγωνο που σχηματίζεται όταν κάνουμε κλικ πάνω στην επικεφαλίδα στη νέα θέση. Από την επιλογή Record \ Filter μπορούμε να εμφανίσουμε μόνο τις εγγραφές που περιέχουν την τιμή που έχουμε επιλέξει (Filter By Selection) ή να εμφανίσουμε τις εγγραφές που ικανοποιούν τα κριτήρια που έχουμε ορίσει επιλέγοντας (Filter By Form). Με την επιλογή Advanced Filter/Sort μπορούμε να επιλέξουμε τραβώντας το όνομα των πεδίων πάνω στο πλέγμα και στη συνέχεια να ορίσουμε αν θέλουμε να γίνει ταξινόμηση και τα κριτήρια Πριν κλείσουμε το παραπάνω παράθυρο για να ενεργοποιήσουμε τα φίλτρα που δημιουργήσαμε επιλέγουμε Record \ Apply Filter/Sort Η ACCESS συνήθως κρατάει το τελευταίο φίλτρο που έχουμε ορίσει αν θέλουμε να το έχουμε και τη επόμενη φορά πρέπει να το σώσουμε σαν ερώτημα και να το φορτώσουμε όταν θέλουμε να το ενεργοποιήσουμε. Οι ενέργειες αυτές γίνονται όταν είμαστε στην επιλογή Advanced Filter/sort από τη επιλογή file\save as Query για σώσιμο και load from query για ενεργοποίηση. Από την επιλογή Record \ Sort μπορούμε να ταξινομήσουμε τα δεδομένα κατά αύξουσα(ascending) ή φθίνουσα (descending) σειρά ως προς το πεδίο που έχουμε επιλέξει. Η ενεργοποίηση των φίλτρων που έχουμε ορίσει γίνεται με την επιλογή Record \ Apply Filter/Sort και η απενεργοποίηση με την επιλογή Record \ Remove Filter/Sort. Χατζάκης Ηλίας σελίδα 12 από 46

ΑΣΚΗΣΗ 1)Να δημιουργήσετε ένα φίλτρο ταξινόμησης για να ταξινομείται ο πίνακας των σπουδαστών σύμφωνα με το εξάμηνο εισαγωγής λαμβάνοντας υπόψιν τα παρακάτω: a) το εξάμηνο που αρχίζει από 00 ακολουθεί του 99. Για να μην υπάρχει πρόβλημα πρέπει να ταξινομηθεί σαν 2000 και 1999 αντιστοίχως. Β) Χειμερινό (Χ) εξάμηνο προηγείται του Εαρινού(Ε). Άρα πρέπει να ταξινομηθεί χωριστά και με τάξη φθίνουσα. 2) Να βάλετε διάφορα φίλτρα για να εμφανίσετε όλους τους σπουδαστές που πέρασαν το ίδιο εξάμηνο Στην εικόνα που Ακολουθεί φαίνεται η διαχείριση του Πίνακα SEMESTERS ΕΥΡΕΤΗΡΙΑ Τα ευρετήρια αυξάνουν την ταχύτητα αναζήτησης και ταξινόμησης των εγγραφών ως προς το πεδίο ή τα πεδία που έχει δημιουργηθεί το ευρετήριο. Όταν είμαστε στην κατάσταση σχεδίασης με την επιλογή View\Indexes(προβολή \Ευρετήρια) μπορούμε να εμφανίσουμε ακόμη και να ορίσουμε τα ευρετήρια. Στην επόμενη εικόνα φαίνονται τα ευρετήρια που έχουμε ορίσει για τον πίνακα STUDENTS Χατζάκης Ηλίας σελίδα 13 από 46

ΑΣΚΗΣΗ Δημιουργήστε ένα πίνακα με δύο ή περισσότερα πεδία χωρίς πρωτεύον κλειδί. Να υπάρχει τουλάχιστον ένα πεδίο ως προς το οποίο να δημιουργήσετε δείκτη με επαναλαμβανόμενες τιμές και ένα τουλάχιστον πεδίο το οποίο να μην είναι δείκτης. Ενεργοποιήστε τον πίνακα και καταχωρήστε μερικές εγγραφές. Στη συνέχεια με την μέθοδο αντιγραφής και επικόλλησης προσθέστε 15000 περίπου εγγραφές. Αν τώρα κάνετε κάποια ταξινόμηση ή ορίσετε κάποιο φίλτρο χρησιμοποιώντας το πεδίο που υπάρχει δείκτης την μια φορά και το πεδίο ως προς το οποίο δεν υπάρχει δείκτης Θα δείτε την διαφορά στην ταχύτητα που υπάρχει. Χρησιμοποιήστε την επιλογή Records\filter\ ΣΧΕΣΕΙΣ ΜΕΤΑΞΥ ΤΩΝ ΠΙΝΑΚΩΝ H access καταλαβαίνει ποιος είναι ο πρωτεύον πίνακας και από ποια πλευρά είναι τα πολλά όταν έχουμε σχέση 1 προς πολλά (1, ). Το πεδίο που συνδέει τους δύο πίνακες πρέπει στον γονικό ή πρωτεύοντα πίνακα να είναι πρωτεύων κλειδί ή να ορίζει ευρετήριο χωρίς επανάληψη. Ισχύει και το αντίστροφο στον πίνακα που το πεδίο σύνδεσης ικανοποιεί την προηγούμενη συνθήκη είναι ο γονικός πίνακας και η σχέση είναι 1 προς πολλά (1, ). Αν η ιδιότητα ισχύει και στους 2 πίνακες τότε η σχέση είναι 1 προς 1(1, 1). Αν η ιδιότητα δεν ισχύει σε κανένα από τους 2 πίνακες τότε η σχέση είναι πολλά προς πολλά (, ) και χαρακτηρίζεται από την ACCESS σαν αόριστη και δεν μπορούμε να ορίσουμε ακεραιότητα. Η επεξεργασία και ο ορισμός των σχέσεων γίνεται από την επιλογή Tools/Relationships(Εργαλεία /Σχέσεις). Όταν έχουμε ενεργοποιήσει αυτήν την επιλογή μπορούμε από την επιλογή View/Show Table (Προβολή \ Εμφάνιση πίνακα) να επιλέξουμε τους πίνακες ή τα ερωτήματα για τα οποία θέλουμε να δημιουργήσουμε σχέσεις. Τραβώντας το πεδίο σύνδεσης από τον γονικό πίνακα πάνω στο πεδίο του σχετιζόμενου πίνακα δημιουργείται σχέση μεταξύ των δύο πινάκων ως προς τα πεδία. Αφού επιλέξουμε κάποια σχέση( κάνοντας ένα κλικ πάνω στο γράφημα της σχέσης) και επιλέγοντας Relationships / Edit Relationship ή κάνοντας διπλό κλικ πάνω στη σχέση εμφανίζεται ένα μενού από όπου μπορούμε να ενεργοποιήσουμε τη σχεσιακή ακεραιότητα και να ορίσουμε το είδος των συνδέσμων Χατζάκης Ηλίας σελίδα 14 από 46

ΣΧΕΣΙΑΚΗ ΑΚΕΡΑΙΟΤΗΤΑ Για να ενεργοποιήσουμε την ακεραιότητα πρέπει : Α)Τα πεδία που συνδέονται να είναι του ίδιου τύπου και Β)Το σύνολο των τιμών του πεδίου σύνδεσης του σχετιζόμενου πίνακα να είναι υποσύνολο του συνόλου των τιμών του πεδίου σύνδεσης του γονικού πίνακα. Με την ενεργοποίηση της σχεσιακής ακεραιότητας δεν μπορούμε να αλλάξουμε τιμή στο πεδίο σύνδεσης του γονικού πίνακα ούτε να σβήσουμε την εγγραφές εφόσον υπάρχουν συνδεμένες εγγραφές στον σχετιζόμενο πίνακα. Π.χ. Δεν μπορούμε να αλλάξουμε τον Αριθμό Μητρώου ούτε να σβήσουμε ένα σπουδαστή που έχει βαθμούς στο βαθμολόγιο. Αν δεν έχει βαθμούς μπορούμε να κάνουμε οτιδήποτε. Με την επιλογή Referential Integrity(Ενεργοποίηση Ακεραιότητας αναφορών) ενεργοποιούμε την σχεσιακή ακεραιότητα και ενεργοποιούμαι ή όχι τις παρακάτω επιλογές: Cascade update related fields (Διαδοχική Ενημέρωση των σχετικών εγγραφών) Με την επιλογή αυτή αν αλλάξουμε κάποια τιμή στο πεδίο σύνδεσης του γονικού πίνακα αλλάζουν και οι αντίστοιχες τιμές του πεδίου σύνδεσης του σχετιζόμενου πίνακα. Cascade deleted related fields(διαδοχική διαγραφή των σχετικών εγγραφών) Με την επιλογή αυτή αν διαγράψουμε μια εγγραφή από τον γονικό πίνακα διαγράφονται όλες οι εγγραφές του σχετιζόμενου πίνακα που οι τιμές στο πεδίο σύνδεσης είναι ίσες με την τιμή στο πεδίο σύνδεσης της εγγραφής που διαγράφηκε από το γονικό πίνακα. Με την ενεργοποίηση της σχεσιακής Ακεραιότητας εμφανίζονται στην εικόνα της σχέσης τα σύμβολα (1, ) Χατζάκης Ηλίας σελίδα 15 από 46

Join Type (Τύπος Συνδέσμου) Εσωτερικός (inner join ή equi-join) Στη σύνδεση αυτή παίρνουμε μόνο τις εγγραφές και από τους 2 πίνακες που οι τιμές των συνδεμένων πεδίων υπάρχουν και στους 2 πίνακες. Δεν φαίνονται οι εγγραφές που το πεδίο σύνδεσης έχει κάποια τιμή που αυτή την τιμή δεν την παίρνει το πεδίο σε καμία εγγραφή του άλλου πίνακα και αντίστροφα. Εξωτερικός Στη σύνδεση αυτή παίρνουμε όλες τις εγγραφές από τον ένα πίνακα και μόνο εκείνες που ταιριάζουν από τον άλλο. Η γραμμή που συνδέει του δύο πίνακες στο σχήμα των σχέσεων τελειώνει με ένα βελάκι ( ) από τη μεριά που είναι ο πίνακας που δεν παίρνουμε όλες τις εγγραφές παρά μόνον εκείνες που ταιριάζουν. Στην επόμενη εικόνα φαίνονται οι διάφορες συσχετίσεις που έχουμε ορίσει σύμφωνα με το μοντέλο λογικού σχήματος που υπάρχει στη σελίδα 9. Χατζάκης Ηλίας σελίδα 16 από 46

ΔΗΜΙΟΥΡΓΙΑ ΕΡΩΤΗΜΑΤΟΣ (Queries \ New \) Με τα ερωτήματα μας δίνεται η δυνατότητα να εμφανίσουμε ένα σύνολο εγγραφών (δυναμοσύνολο) χρησιμοποιώντας τα δεδομένα που περιέχουν ένας ή περισσότεροι πίνακες ή άλλα ερωτήματα. Το σύνολο των εγγραφών εξαρτάται από τα κριτήρια που έχουμε ορίσει καθώς και τους συνδέσμους και το είδος αυτών, που υπάρχουν μεταξύ των πινάκων που χρησιμοποιούμε. Αυτό το σύνολο εγγραφών μπορούμε να το ταξινομήσουμε, να κάνουμε κάποιους υπολογισμούς μεταξύ των πεδίων, να βγάλουμε γενικά σύνολα κ.λ.π. Μπορούμε επίσης με τη χρήση ερωτημάτων να ενημερώσουμε, να σβήσουμε, να προσθέσουμε εγγραφές σε κάποιο πίνακα ή ακόμα και να δημιουργήσουμε νέο πίνακα. Έτσι έχουμε δύο ειδών ερωτήματα Τα επιλεκτικά ερωτήματα(select queries) και τα ερωτήματα ενέργειας(action queries). Με τις επιλογές: Προβολή(View)\ Προβολή σχεδίασης(design) βλέπουμε το ερώτημα σε μορφή σχεδίασης. Προβολή SQL βλέπουμε το ερώτημα σε δομημένη γλώσσα ερωτημάτων SQL(Structured Query Language). Η SQL είναι μια γλώσσα διαχείρισης βάσεων δεδομένων και χρησιμοποιείται από τα περισσότερα εμπορικά συστήματα βάσεων δεδομένων. Το κάθε ερώτημα μεταφράζεται και αποθηκεύεται σε SQL. Προβολή Φύλλου δεδομένων(datasheet) βλέπουμε τα αποτελέσματα που δημιουργεί το ερώτημα. Εμφάνιση Πίνακα(Show Table) μπορούμε να προσθέσουμε και άλλους πίνακες ή ερωτήματα των οποίων τα πεδία θα χρησιμοποιήσουμε στο ερώτημα που δημιουργούμε. Όταν επιλέγουμε τους πίνακες ή τα ερωτήματα εμφανίζονται και οι σχέσεις-σύνδεσμοι που ήδη υπάρχουν μεταξύ τους. Έχουμε τη δυνατότητα να τροποποιήσουμε τις ιδιότητες των συνδέσμων που ήδη υπάρχουν καθώς επίσης να δημιουργήσουμε νέους συνδέσμους μεταξύ των πινάκων. Οι οποιεσδήποτε αλλαγές που θα κάνουμε ισχύουν μόνο για το ερώτημα που έγιναν δεν επηρεάζουν τις αρχικές σχέσεις. Χατζάκης Ηλίας σελίδα 17 από 46

Με την επιλογή Ερώτημα(Query) μπορούμε να επιλέξουμεορίσουμε τον τύπο του ερωτήματος. Οι τύποι των ερωτημάτων είναι : 1)Επιλογής. Με αυτό το ερώτημα επιλέγουμε πεδία ή δημιουργούμε παραστάσεις σύνολα κ.λ.π. από διάφορα πεδία που ανήκουν σε κάποιες εγγραφές σε ένα ή περισσότερους πίνακες, ερωτήματα. 2)Διασταύρωσης. Με το ερώτημα αυτό μας δίνεται η δυνατότητα να δημιουργήσουμε ένα πίνακα 2 διαστάσεων που θα έχει στοιχεία κάποια συγκεντρωτικά αποτελέσματα ανάλογα με τα πεδία από τα οποία προέρχονται οι γραμμές και οι κολώνες του εν λόγω πίνακα. 3)Δημιουργίας πίνακα. Με αυτό το ερώτημα δημιουργείται ένας πίνακας όπου προστίθενται οι εγγραφές που ορίζονται από το ερώτημα. Το όνομα του νέου πίνακα το δίνουμε κατά την επιλογή του τύπου του ερωτήματος. 4)Ενημέρωσης. Με αυτό το ερώτημα μπορούμε να μεταβάλλουμε τα περιεχόμενα κάποιων από τα πεδία ενός πίνακα. 5)Προσάρτησης. Με αυτό το ερώτημα μπορούμε να προσθέσουμε τις εγγραφές που επιλέγουμε από το ερώτημα σε ένα άλλο πίνακα που ορίζουμε κατά την επιλογή του τύπου του ερωτήματος. 6)Διαγραφής. Με αυτό το ερώτημα διαγράφονται οι εγγραφές του πίνακα που ικανοποιούν τα κριτήρια του ερωτήματος. Το παράθυρο του ερωτήματος σε προβολή σχεδίασης αποτελείται από δύο τμήματα. Το πάνω τμήμα είναι το τμήμα σχεδίασης Πίνακα όπου υπάρχουν οι πίνακες και τα ερωτήματα που έχουμε επιλέξει καθώς και οι σύνδεσμοι που υπάρχουν μεταξύ τους. Το κάτω τμήμα είναι ένα πλέγμα σχεδιασμού όπου γίνεται γραφική απεικόνιση του ερωτήματος-graphical query by example(qbe). Χατζάκης Ηλίας σελίδα 18 από 46

Στην κάτω ενότητα (QBE) το πλέγμα σχεδιασμού για ένα ερώτημα επιλογής υπάρχουν οι παρακάτω γραμμές : Α)Η πρώτη γραμμή (Field) της κάθε στήλης του πλέγματος περιέχει τα ονόματα των πεδίων που συνθέτουν το ερώτημα. Τα πεδία μπορεί να είναι πεδία από τους πίνακες και τα ερωτήματα που έχουμε επιλέξει ή υπολογιζόμενα πεδία ή παράμετροι. Μπορούμε να τα πληκτρολογήσουμε τα ονόματα των πεδίων ή να τα επιλέξουμε και να τα τραβήξουμε από τους πίνακες ή τα ερωτήματα που υπάρχουν στην πάνω ενότητα στη θέση που θέλουμε να τοποθετηθούν. (αν τραβήξουμε το * που υπάρχει στην αρχή των ονομάτων των πεδίων ενός πίνακα ή ερωτήματος τότε θα εμφανίζονται όλα τα πεδία του εν λόγω πίνακα ή ερωτήματος). Αν θέλουμε σε κάποιες στήλες να έχουμε παραστάσεις μεταξύ πεδίων τότε γράφουμε το όνομα της παράστασης άνω-κάτω τελεία (: ) και ακολουθεί η παράσταση. Παράδειγμα Υπόλοιπα: Sum([purchase].[quantity_purch]-[sales]. [quantity_sale]) Αν θέλω κατά την εκτέλεση του ερωτήματος να δίνω κάποια παράμετρο χρησιμοποιώ κάποιο όνομα για αυτή τη παράμετρο μέσα σε κάποια παράσταση. Όταν θα εκτελέσω το ερώτημα θα μου ζητηθεί η τιμή της. Επειδή το όνομα της παραμέτρου εμφανίζεται για να με προτρέπει να δώσω τιμές όταν εκτελείται το ερώτημα, χρήσιμο είναι το όνομα της παραμέτρου να είναι το μήνυμα που θέλω να εμφανίζεται σ αυτή τη φάση. Π.χ. Θέλω να εμφανίσω μόνο τις αγορές που έγιναν σε ένα διάστημα χρόνου που ορίζεται από κάποιες ημερομηνίες. Πάω στην κολώνα ημερομηνία αγοράς και στην γραμμή κριτηρίων γράφω >=[από ημερομηνία] and <=[ έως ημερομηνία] Όταν εκτελέσουμε το ερώτημα η Αccess θα εμφανίσει το πλαίσιο διαλόγου με το όνομα της παραμέτρου από ημερομηνία και θα μας ζητήσει να εισάγουμε την ημερομηνία και στη συνέχεια θα γίνει το ίδιο για τη παράμετρο έως ημερομηνία. Θα εμφανιστούν μόνο οι αγορές που έγιναν μέσα στο διάστημα που έγιναν οι αγορές εφ όσον δεν υπάρχουν άλλοι περιορισμοί. Χατζάκης Ηλίας σελίδα 19 από 46

Β)Η δεύτερη γραμμή (Table) της κάθε στήλης του πλέγματος περιέχει τα ονόματα των πινάκων ή των ερωτημάτων που ανήκουν τα πεδία που αναφέρουμε στην πρώτη γραμμή. Γ)Η επόμενη γραμμή του πλέγματος(total) εμφανίζεται ή όχι από την επιλογή Προβολή \Συγκεντρωτικά στοιχεία (View \ Total). Αυτή την γραμμή την εμφανίζουμε όταν θέλουμε να βγάλουμε κάποια συγκεντρωτικά αποτελέσματα δηλαδή άθροισμα, μέσο όρο, μικρότερη-μεγαλύτερη τιμή κ.λ.π. Αν θέλουμε για κάθε τιμή ενός πεδίου να βγαίνει συνολικό αποτέλεσμα τότε επιλέγουμε στην αντίστοιχη θέση της στήλης του πεδίου αντί για συνάρτηση την ένδειξη Ομαδοποίηση κατά( Group By). π.χ. αν θέλουμε να βγάζουμε το άθροισμα χρέωσης και πίστωσης για κάθε πελάτη από ένα πίνακα κινήσεων όπου κάθε πελάτης εμφανίζεται μία ή περισσότερες φορές, τότε στη γραμμή των συγκεντρωτικών στοιχείων και στη στήλη για τον κωδικό του πελάτη επιλέγουμε ομαδοποίηση κατά ενώ στη χρέωση και τη πίστωση επιλέγουμε την ένδειξη άθροισμα. Δ)Στην επόμενη γραμμή(sort) της κάθε στήλης του πλέγματος μπορούμε να ορίσουμε αν θέλουμε να γίνει ή όχι ταξινόμηση ως προς το εν λόγω πεδίο. Αν ορίσουμε πολλά κλειδιά ταξινόμησης η Access θεωρεί τα κλειδιά πρωτεύον δευτερεύον κ.λ.π. από αριστερά προς τα δεξιά. Ε)Στην επόμενη γραμμή(show) μπορούμε να ορίσουμε για κάθε στήλη του πλέγματος αν θα εμφανίζεται ή όχι όταν εκτελείται το ερώτημα. Ζ)Στις επόμενες γραμμές(criteria) του πλέγματος μπορούμε να ορίσουμε κριτήρια επιλογής των εγγραφών. Κριτήρια που βρίσκονται στην ίδια γραμμή και σε διαφορετικές στήλες θεωρείται ότι συνδέονται με το λογικό τελεστή AND ενώ σε διαφορετικές γραμμές θεωρείται ότι συνδέονται με το λογικό τελεστή OR. Για ένα κριτήριο ακολουθούμε όσα έχουμε μάθει για τους κανόνες εγκυρότητας. Π.χ. αν θέλω όλους τους πελάτες που το όνομα τους αρχίζει από Α γράφω στη γραμμή κριτηρίων στη στήλη για το όνομα LIKE [Α]* Χατζάκης Ηλίας σελίδα 20 από 46

Αν το ερώτημα είναι άλλου τύπου εμφανίζονται και άλλες γραμμές όπως: 1)Στο ερώτημα διαγραφής εμφανίζεται η γραμμή διαγραφής( delete). Σε αυτή τη γραμμή τοποθετούμε την επιλογή όπου(where) ή την επιλογή από(from). Την επιλογή από(from) μπορούμε να την επιλέξουμε μόνο όταν έχουμε επιλέξει όλα τα πεδία του πίνακα σε μία στήλη και ορίζουμε τον πίνακα από τον οποίο θα διαγραφούν οι εγγραφές στη περίπτωση που το ερώτημα περιλαμβάνει περισσότερους από ένα πίνακες. 2)Στο ερώτημα ενημέρωσης εμφανίζεται η γραμμή Ενημέρωση σε(update To) όπου αναφέρουμε την τιμή ή την παράσταση από την οποία προκύπτει η νέα τιμή που παίρνει το πεδίο που αναφέρεται στην γραμμή field της στήλης. 3)Στο ερώτημα διασταύρωσης πρέπει να ορίσουμε : α)το πεδίο του οποίου οι τιμές θα είναι επικεφαλίδες των στηλών(επικεφαλίδα στήλης) β) το πεδίο ή τα πεδία των οποίων οι τιμές θα είναι επικεφαλίδες των γραμμών(επικεφαλίδα γραμμής) και γ) ένα πεδίο ή μια παράσταση από πεδία βάσει των οποίων θα προκύπτει το αποτέλεσμα. Π.χ. Αν θέλουμε να βλέπουμε το συνολικό άθροισμα της χρέωσης και πίστωσης των πελατών ανά ημερομηνία και ανά πελάτη ορίζουμε σαν επικεφαλίδα στήλης την ημερομηνία και επικεφαλίδα γραμμής τον κωδικό του πελάτη και σαν τιμή το πεδίο Έκφραση:sum([xreosi]+[pistosi]). Σε αυτό το ερώτημα εκτός από τη γραμμή των συγκεντρωτικών στοιχείων(total) εμφανίζεται και η γραμμή διασταύρωση πινάκων(crosstab) όπου ορίζουμε αν ένα πεδίο θέλουμε να είναι επικεφαλίδα γραμμής(row Heading), επικεφαλίδα στήλης(column Heading) ή να δημιουργεί τιμές(value) βάσει της συνάρτησης που έχουμε ορίσει στη γραμμή total. Έχουμε τη δυνατότητα μόνο για την επικεφαλίδα γραμμής να ορίσουμε περισσότερα από ένα πεδία (π.χ. εκτός από τον κωδικό θέλω να βλέπω και το όνομα του πελάτη). 4)Στο ερώτημα Δημιουργίας πίνακα δεν προστίθεται καμία νέα γραμμή αλλά υπάρχει μόνο σε SQL. 5)Στο ερώτημα προσάρτησης εμφανίζεται η γραμμή προσάρτηση σε(append to) όπου αναφέρουμε τα πεδία του πίνακα που προστίθενται οι εγγραφές σε αντιστοιχία με τα πεδία του ερωτήματος από τα οποία παίρνουν τιμές. Χατζάκης Ηλίας σελίδα 21 από 46

ΙΔΙΟΤΗΤΕΣ ΕΡΩΤΗΜΑΤΟΣ Για να ενεργοποιήσουμε τις ιδιότητες του τοποθετούμαστε στο πάνω παράθυρο του ερωτήματος ενώ βρισκόμαστε σε κατάσταση σχεδιασμού και επιλέγουμε Προβολή \ Ιδιότητες (View \ properties.) Οι ιδιότητες είναι : Περιγραφή (Description) Κάνουμε κάποια περιγραφή του ερωτήματος η οποία εμφανίζεται οπουδήποτε ενεργοποιήσουμε τις ιδιότητες του ερωτήματος. Εμφάνιση όλων των πεδίων (Output All fields) Επιλέγουμε αν θα εμφανίζονται ή όχι όλα τα πεδία των πινάκων τους οποίους χρησιμοποιούμε για την κατασκευή του ερωτήματος κατά την ενεργοποίηση του ανεξαρτήτως αν έχουν επιλεγεί. Κορυφαίες τιμές (Top Values) Ορίζουμε αν μόνο οι πρώτες ν ή ν% εγγραφές θα εμφανίζονται κατά την ενεργοποίηση του ερωτήματος. Μοναδικές τιμές (Unique Values) Ορίζουμε αν οι γραμμές που θα εμφανιστούν από το ερώτημα και είναι ακριβώς ίδιες ή έχουν ίδιο πρωτεύων κλειδί αν θα εμφανίζονται μία ή περισσότερες φορές. Στην περίπτωση που επιλέξουμε μοναδικές τιμές δεν επιτρέπεται η ενημέρωση των πεδίων του ερωτήματος.. Σε SQL μεταφράζεται σε SELECT DISTINCT. Μοναδικές εγγραφές(unique records) Αν έχουμε ένα ερώτημα το οποίο δημιουργείται από πεδία διαφορετικών πινάκων και ένας πίνακας χρησιμοποιείται μόνο για να ορίσουμε κάποιο κριτήριο σε ένα πεδίο του και δεν εμφανίζεται κανένα πεδίο του ενώ εμφανίζονται ένα ή περισσότερα πεδία από άλλους πίνακες αν οι γραμμές που θα εμφανιστούν από το ερώτημα και είναι ακριβώς ίδιες επιλέγουμε αν θα εμφανίζονται μία ή περισσότερες φορές. Σε SQL μεταφράζεται σε SELECT DISTINCTROW Δικαιώματα Εκτέλεσης (Run Permissions) Δίνουμε άδεια στους χρήστες να τρέξουν το ερώτημα με δικαιώματα του χρήστη(user s) ή να κληρονομήσουν δικαιώματα ιδιοκτήτη (Owner s)) Κλειδώματα εγγραφών(record Locks) Ορίζουμε αν θα κλειδώνονται όλες οι εγγραφές (all records) ή μόνο η εγγραφή που είμαστε τοποθετημένοι από τη στιγμή που θα αρχίσουμε κάποια τροποποίηση μέχρι να αλλάξουμε εγγραφή (edited records) ή δεν έχουμε κλειδώματα (No locks) Χατζάκης Ηλίας σελίδα 22 από 46

Η ΓΛΩΣΣΑ SQL δομημένη γλώσσα ερωτημάτων SQL(Structured Query Language). Η SQL είναι μια γλώσσα ευρέως διαδεδομένη στα σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων. Στην ACCESS για να γράψουμε ερωτήματα σε SQL στην σχεδίαση ερωτημάτων επιλέγουμε Προβολή SQL. Σαν γλώσσα διαχείρισης βάσεων δεδομένων περιλαμβάνει τις Υπογλώσσες : ορισμού δεδομένων(ddl)και χειρισμού δεδομένων(dml). ΕΝΤΟΛΕΣ ΟΡΙΣΜΟΥ ΔΕΔΟΜΕΝΩΝ (DDL) Με τις εντολές ορισμού δεδομένων μπορούμε να δημιουργήσουμε, να σβήσουμε, να μεταβάλουμε τη δομή των πινάκων. Επίσης μπορούμε να δημιουργήσουμε ευρετήρια. Οι εντολές για τη δημιουργία πίνακα και ευρετηρίων είναι: α)create TABLE όνομ_πίνακα(όνομα_πεδίου, τύπος πεδίου [NOT NULL] [DEFAULT value] [PRIMARY KEY],...) οι τύποι των πεδίων είναι: text(μήκος) για αλφαριθμητικά πεδία bit, byte, smallint, integer για ακέραια αριθμητικά πεδία float, number, numeric,double πραγματικός διπλής ακρίβειας single πραγματικός απλής ακρίβειας date, time για πεδία ημερομηνίας, ώρας. Παράδειγμα : create table pelates(kode text(5) primary key, mame text(30), age integer, xreosi number, pistosi number); Με την παραπάνω εντολή δημιουργείται ένας πίνακας με όνομα πελάτες. Και πεδία kode κείμενο με 5 χαρακτήρες που είναι πρωτεύων κλειδί, name κείμενο με 30 χαρακτήρες, AGE ακέραιος μεγάλου μήκους, xreosi και pistosi πραγματικοί διπλής ακρίβειας. Χατζάκης Ηλίας σελίδα 23 από 46

β) μιά πιο ισχυρή εντολή για την δημιουργία πίνακα με την οποία επιπλέον δημιουργούμε: σύνθετο ή απλό πρωτεύων κλειδί PRIMARY KEY(πεδία) σύνθετο ή απλό ευρετήριο χωρίς επανάληψη UNIQUE(πεδία) σύνδεση ενός πεδίου του πίνακα που δημιουργούμε FOREIGN KEY(πεδίο σύνδεσης) με ένα άλλο πεδίο ενός πίνακα που ήδη υπάρχει REFERENCES όνομ_πίνακα(πεδίο σύνδεσης) CREATE TABLE όνομ_πίνακα(όνομα_πεδίου τύπος πεδίου [NOT NULL] [DEFAULT value], πεδίο τύπος πεδίου,primary KEY(πεδία),[UNIQUE(πεδία)],[FOREIGN KEY(πεδίο σύνδεσης) REFERENCES όνομ_πίνακα(πεδίο σύνδεσης)]) ; Παράδειγμα : create table κατάλογος(am smallint,gdate date,semester text(5),phone text(10),primary key(semester,am),unique(semester,am), foreign key(am) references students(am)); Με την παραπάνω εντολή δημιουργείται ένας πίνακας με όνομα κατάλογος με σύνθετο πρωτεύων κλειδί και σύνθετο δευτερεύων κλειδί χωρίς επανάληψη. Επίσης γίνεται σύνδεση του πίνακα Κατάλογος με τον πίνακα students με τα πεδία am. Η δημιουργία ευρετηρίου γίνεται και με την εντολή CREATE [UNIQUE] INDEX όνομα ευρετήριου ON όνομα πίνακα (πεδίο [ASC DESC][, πεδίο [ASC DESC],...]) [WITH { PRIMARY DISALLOW NULL IGNORE NULL }] Η επιλογή DISALLOW NULL συμπεριλαμβάνει στο ευρετήριο τις εγγραφές με τιμές NULL στα πεδία δημιουργίας του ευρετηρίου ενώ η IGNORE NULL τις αγνοεί. Παράδειγμα : create index ευρετ1 on κατάλογος(semester,lastname); Με την παραπάνω εντολή δημιουργείται ένα σύνθετο ευρετήριο με όνομα ευρετ1 για τον πίνακα κατάλογος ως προς τα πεδία am και semester με αύξουσα σειρά και με επανάληψη. Όλες οι CREATE που αναφέραμε πιο πάνω για να δημιουργήσουν πίνακα ή ευρετήριο δεν πρέπει να υπάρχει με το ίδιο όνομα. Χατζάκης Ηλίας σελίδα 24 από 46

γ) μία άλλη εντολή για τη δημιουργία πίνακα είναι: SELECT ονόματα πεδίων INTO όνομα_νέου_πίνακα FROM ονόματα αρχικών πινάκων ; Εδώ επιλέγουμε διάφορα πεδία και εγγραφές από ένα ή περισσότερους πίνακες και δημιουργούμε ένα νέο πίνακα όπου αποθηκεύουμε αυτά που επιλέξαμε. Αν ο πίνακας ήδη υπάρχει διαγράφεται και δημιουργείται από την αρχή. Παράδειγμα : SELECT [ΔΩΣΕ ΑΜ] AS AM, [semcurrnext].[cur_sem], [dil3]. [kode], [dil3].[describe], [dil3].[status] INTO DILOSI FROM dil3, semcurrnext; Η παραπάνω εντολή δημιουργεί ένα πίνακα με όνομα DILOSI με τα πεδία και τις εγγραφές από τους πίνακες semcurrnext, dil3 καθώς και τη παράμετρο ΑΜ H εντολή για τη διαγραφή πίνακα είναι DROP TABLE ονομα_πίνακα Η εντολή για τη διαγραφή ευρετηρίου είναι DROP INDEX όνομα ευρετήριου ON όνομα πίνακα Η Εντολή για τη μεταβολή της δομής ενός πίνακα είναι ALTER TABLE ονομα_πίνακα [ADD όνομα_πεδίου τύπος πεδίου...] ή [ALTER όνομα_πεδίου τύπος πεδίου...] ή [DROP όνομα_πεδίου] μπορούμε να προσθέσουμε(add) να μεταβάλουμε(alter) ή να σβήσουμε(drop) ένα ή περισσότερα πεδία σε ένα πίνακα. Η εντολή δεν μπορεί ταυτόχρονα να κάνει περισσότερες από μία ενέργειες(να προσθέσουμε και να σβήσουμε πεδία ταυτόχρονα). Χατζάκης Ηλίας σελίδα 25 από 46

ΕΝΤΟΛΕΣ ΧΕΙΡΙΣΜΟΥ ΔΕΔΟΜΕΝΩΝ (DΜL) Χωρίζονται σε δύο κατηγορίες: α)της ανάκλησης δεδομένων (Select)και β) της ενημέρωσης δεδομένων (insert update delete) Ερωτήματα ανάκλησης δεδομένων Επιλέγουμε κάποια δεδομένα από ένα ή περισσότερους πίνακες που είναι αποθηκευμένοι στη βάση(βασικοί πίνακες) και το αποτέλεσμα της επιλογής είναι πάλι πίνακας(παράγωγος πίνακας). Αν την εντολή την δούμε σαν πράξη μεταξύ πινάκων τότε ισχύει η ιδιότητα της κλειστότητας και συγκεκριμένα η είσοδος και η έξοδος της πράξης είναι του ίδιου τύπου αντικείμενα δηλαδή πίνακες. Αφού η έξοδος της εντολής είναι πάλι πίνακας θα μπορούσε να χρησιμοποιηθεί σαν είσοδος(υποερωτημα) σε άλλη εντολή. Η εντολή επιλογής μας δίνει πολλές δυνατότητες Α)Μπορούμε να επιλέξουμε διάφορα πεδία από ένα πίνακα SELECT ονομα_πεδίου,... FROM όνομα_ πίνακα επιλέγουμε τα πεδία (SELECT ονομα_πεδίου,...) από ένα πίνακα (FROM όνομα_ πίνακα). Τα πεδία στον παράγωγο πίνακα εμφανίζονται με τη σειρά που τα αναφέρουμε στην εντολή. Με την παραπάνω εντολή υλοποιούμε την πράξη της προβολής (project) της σχεσιακής άλγεβρας όπου το σύνολο των γνωρισμάτων του παράγωγου πίνακα είναι υποσύνολο του συνόλου των γνωρισμάτων του βασικού πίνακα. Αν στην παραπάνω εντολή αντί για ονόματα πεδίων χρησιμοποιήσουμε τον χαρακτήρα * τότε επιλέγουμε όλα τα πεδία του βασικού πίνακα. Αν κάποια ονόματα πεδίων ή πινάκων περιέχουν χαρακτήρες που προκαλούν σύγχυση όπως τα σύμβολα των αριθμητικών πράξεων (+,-,*,/),το κενό κ.λ.π. τότε αυτά τα ονόματα πρέπει να μπαίνουν σε αγκύλες. Παράδειγμα SELECT AM, LASTNAME, FIRSTNAME FROM STUDENTS Η παραπάνω εντολή εμφανίζει τους αριθμούς μητρώου, τα επώνυμα και τα ονόματα όλων των σπουδαστών που υπάρχουν στον πίνακα STUDENTS. Χατζάκης Ηλίας σελίδα 26 από 46

Β)Μπορούμε να επιλέξουμε ένα υποσύνολο των εγγραφών με κάποια κριτήρια από το βασικό πίνακα SELECT * FROM όνομα_ πίνακα WHERE συνθήκη επιλέγουμε τις εγγραφές που ικανοποιούνε τη συνθήκη Με την παραπάνω εντολή υλοποιούμε την πράξη του περιορισμού(restrict) της σχεσιακής άλγεβρας όπου το σύνολο των εγγραφών του παράγωγου πίνακα είναι υποσύνολο του συνόλου των εγγραφών του βασικού πίνακα. Στη συνθήκη μπορούμε να χρησιμοποιήσουμε τους τελεστές σύγκρισης(< > >= <= = <>),λογικούς τελεστές (AND, OR, NOT) κ.λ.π. Παραδείγματα : 1)SELECT * FROM customers WHERE xreosi>1000000 and pistosi>1000000 Εδώ εμφανίζουμε τα στοιχεία των πελατών που έχουν χρέωση και πίστωση >1000000 2)SELECT AM, lastname, firstname FROM students WHERE lastname Like "[A]*" Εδώ εμφανίζουμε τα στοιχεία των σπουδαστών που το επώνυμο τους αρχίζει από το γράμμα Α. 3)SELECT * FROM CARS WHERE TYPE IN ( FIAT, FORD, SEAT ) Εδώ εμφανίζουμε τα στοιχεία των αυτοκινήτων που ο τύπος τους είναι στοιχείο του συνόλου που ορίζουμε μετά το ΙΝ 4) select * from dromologia where ar_kykloforias=[δωσε ΑΡΙΘΜΟ ΚΥΚΛΟΦΟΡΙΑΣ] Εδώ εμφανίζουμε όλα τα δρομολόγια που έχει κάνει ένα συγκεκριμένο αυτοκίνητο του οποίου τον αριθμό κυκλοφορίας δίνουμε κάθε φορά που εκτελείται το ερώτημα. ΠΑΡΑΤΗΡΗΣΗ Εάν σε ένα ερώτημα χρησιμοποιήσουμε μια μεταβλητή η οποία δεν είναι πεδίο σε κάποιο πίνακα που υπάρχει στο ερώτημα με την εκτέλεση του ερωτήματος εμφανίζεται το όνομα της μεταβλητής και περιμένει να εισάγουμε τιμή. Γι αυτό πρέπει το όνομα της μεταβλητής να είναι περιγραφικό όπως παραπάνω[δωσε ΑΡΙΘΜΟ ΚΥΚΛΟΦΟΡΙΑΣ] ώστε να γνωρίζει ο χρήστης τι θα εισάγει Τέτοιες μεταβλητές μπορούμε να χρησιμοποιήσουμε και σε άλλα σημεία του ερωτήματος. Χατζάκης Ηλίας σελίδα 27 από 46

Γ)Μπορούμε να εμφανίσουμε πεδία τα οποία ορίζονται από παραστάσεις με αριθμητικές πράξεις, συναρτήσεις κ.λ.π Παράδειγμα : SELECT [kodikos pelath], xreosi, pistosi, xreosi+pistosi AS Υπόλοιπο FROM pelates Το παραπάνω ερώτημα εμφανίζει τους κωδικούς των πελατών τη χρέωση, την πίστωση καθώς και το υπόλοιπο(χρέωση+πίστωση) που έχουν όλοι οι πελάτες που είναι στον πίνακα πελάτες. Παρατηρήσεις 1)Το όνομα του πεδίου kodikos pelath στην εντολή SELECT μπήκε σε αγκύλες διότι είναι δύο λέξεις(περιέχει το κενό) 2)Η λέξη κλειδί AS έκφραση, χρησιμοποιείται για να ορίσουμε την επικεφαλίδα της στήλης που δημιουργείται. Αυτό μπορεί να χρησιμοποιηθεί και για να αλλάξουμε την επικεφαλίδα της στήλης σε κάτι άλλο αντί του ονόματος του πεδίου που εμφανίζεται. Δ)Μπορούμε να ταξινομήσουμε τις εγγραφές που επιλέγουμε ως προς κάποιο πεδίο ή συνδυασμό πεδίων SELECT ονομα_πεδίου,... FROM όνομα_ πίνακα ORDER BY όνομα πεδίου ή συνδιασμός πεδίων ASC ή DESC Με την παραπάνω εντολή ταξινομούμε τις εγγραφές του παράγωγου πίνακα ως προς τα πεδία που ακολουθούν τη φράση ORDER BY. Η ταξινόμηση ορίζεται αν είναι αύξουσα(asc) ή φθίνουσα(desc). Αν δεν ορίσουμε τίποτα η ταξινόμηση γίνεται με αύξουσα σειρά. Αν δεν αναφέρουμε καθόλου ταξινόμηση η ταξινόμηση γίνεται ως προς το πρωτεύων κλειδί. Παραδείγματα : 1)SELECT AM, lastname, firstname FROM students WHERE city= ΗΡΑΚΛΕΙΟ order by lastname&firstname Εδώ εμφανίζουμε τα στοιχεία των σπουδαστών που κατάγονται από το ΗΡΑΚΛΕΙΟ ταξινομημένα ως προς το επώνυμο και το όνομα κατά αύξουσα σειρά. Χατζάκης Ηλίας σελίδα 28 από 46

2)SELECT * FROM students ORDER BY IIf(val(Left([semester in],1))>7, '19' & Left([semester in],5),'20' & Left([semester in],5)), Right([semester in],1) DESC Εδώ κάνουμε ταξινόμηση των σπουδαστών ανάλογα με το εξάμηνο εισαγωγής που είναι της μορφής 97-98Χ 97-98Ε 98-99Χ 98-99Ε... όταν γίνεται ταξινόμηση πρέπει τα εξάμηνα του 2000(00-01Χ,00-01Ε) να είναι μετά τα εξάμηνα του 1900 γι αυτό προσθέτω τον αιώνα 19 ή 20 ανάλογα στους 5 πρώτους χαρακτήρες του εξαμήνου για να κάνω ταξινόμηση αύξουσα και στη συνέχεια ορίζω και δεύτερο κλειδί το τελευταίο γράμμα με φθίνουσα σειρά για πάει πρώτα το Χ (χειμερινό) και μετά το Ε (εαρινό). Ως γνωστόν το δεύτερο κλειδί ταξινόμησης θα λειτουργήσει μόνο όταν έχω ισότητα στο πρώτο κλειδί. Ε) Μπορούμε να επιλέξουμε εγγραφές από 2 ή περισσότερους πίνακες. 1)Αν οι πίνακες δεν συνδέονται τότε δημιουργείται το καρτεσιανό γινόμενο των εγγραφών των πινάκων SELECT ονομα_πεδίου,... FROM όνομα_ πίνακα1, όνομα_ πίνακα2,... Με την παραπάνω εντολή υλοποιούμε την πράξη του καρτεσιανού γινομένου(cartesian product) της σχεσιακής άλγεβρας όπου ο παράγωγος πίνακας έχει γνωρίσματα την ένωση των συνόλων των γνωρισμάτων των βασικών πινάκων και εγγραφές όλους τους συνδυασμούς που δημιουργούνται από το καρτεσιανό γινόμενο των εγγραφών των βασικών πινάκων. Οι πίνακες δεν πρέπει να έχουν κανένα κοινό πεδίο. Παράδειγμα: SELECT students.*, courses.* FROM students, courses Εδώ συνδυάζουμε τα στοιχεία του κάθε σπουδαστή με όλα τα μαθήματα που υπάρχουν στο courses. Η κάθε εγγραφή που εμφανίζεται περιέχει τα πεδία του πίνακα των σπουδαστών και τα πεδία του πίνακα των μαθημάτων. Χατζάκης Ηλίας σελίδα 29 από 46

2)Αν οι πίνακες συνδέονται με κάποιο κοινό πεδίο SELECT ονομα_πεδίου,... FROM πίνακας1 INNER ή LEFT ή RIGHT JOIN πίνακας2 ON πίνακας1.πεδίο_σύνδεσης1= πίνακας2.πεδίο_σύνδεσης2 Με την παραπάνω εντολή υλοποιούμε την πράξη τής σύζευξης(join) της σχεσιακής άλγεβρας όπου ο παράγωγος πίνακας έχει γνωρίσματα την ένωση των συνόλων των γνωρισμάτων των βασικών πινάκων και εγγραφές όλους τους συνδυασμούς των εγγραφών των βασικών πινάκων που έχουν ίσες τιμές στο πεδίο σύνδεσης. Το INNER JOIN χρησιμοποιείται για υλοποίηση εσωτερικού συνδέσμου. Δηλαδή η εντολή εμφανίζει μόνο τις εγγραφές που οι τιμές του πεδίου σύνδεσης υπάρχουν και στους δύο πίνακες. Αν το πεδίο σύνδεσης σε μία εγγραφή έχει κάποια τιμή που η τιμή αυτή υπάρχει στον ένα μόνο πίνακα και δεν υπάρχει στον άλλο πίνακα αυτή η εγγραφή δεν εμφανίζεται κατά την εκτέλεση του ερωτήματος. Το LEFT JOIN ή RIGHT JOIN χρησιμοποιείται για υλοποίηση εξωτερικού συνδέσμου. Δηλαδή εμφανίζει όλες οι εγγραφές του πίνακα που είναι γραμμένος αριστερά(περίπτωση left join) ή δεξιά στη περίπτωση right join και μόνο οι εγγραφές του άλλου πίνακα που οι τιμές του πεδίου σύνδεσης υπάρχουν και στο πίνακα που αναφέραμε αρχικά. Ο πίνακας που είναι γραμμένος πριν τη φράση... JOIN είναι ο αριστερά και αυτός που ακολουθεί μετά τη φράση... JOIN είναι ο δεξιά. Παρaδείγματα 1) SELECT students.*, status.describe FROM status INNER JOIN students ON status.status1= students.status2; Εδώ επιλέγουμε για εμφάνιση όλα τα πεδία του πίνακα students και το πεδίο describe του πίνακα status. Μεταξύ των δύο πινάκων υπάρχει εσωτερική σύνδεση με τα πεδία status1 του πίνακα status και το πεδίο status2 του πίνακα students. Χατζάκης Ηλίας σελίδα 30 από 46