ε ένα.δ.β.δ. ο χειρισμός των δεδομένων της βάσης γίνεται με τη χρήση της Δομημένης Γλώσσας Ερωτήσεων (SQL). Ο Βασικός σκοπός της SQL είναι η υποβολή ερωτήσεων (Queries) στα στοιχεία της βάσης δεδομένων. Κάθε ερώτηση αποτελείται από εντολές. Εντολές (Statements), είναι ένα σύνολο λέξεων που εισάγονται συνήθως μ ένα ρήμα στην αρχή και προσδιορίζουν τις ενέργειες που οφείλει να κάνει ο Η/Τ. Οι εντολές γράφονται με αυστηρούς και προκαθορισμένους κανόνες σύνταξης, που έχουν οριστεί από το μηχανισμό της βάσης (ACCESS, INFORMIX, ORACLE κτλ). Με τις εντολές μπορούμε : Να δημιουργήσουμε τη βάση, τους πίνακες και άλλα στοιχεία της. Να αναζητήσουμε πληροφορίες από τη βάση. Να ενημερώσουμε τα διάφορα στοιχεία της βάσης. Να εκτελέσουμε διάφορες άλλες λειτουργίες. Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 1η
ΟΜΑΔΕ ΕΝΣΟΛΩΝ S.Q.L. ΓΛΩΑ ΟΡΙΜΟΤ ΔΕΔΟΜΕΝΩΝ (DATA DEFINITION LANGUAGE) Με τις εντολές ορισμού δεδομένων, μπορούμε να δημιουργήσουμε μια νέα βάση και να ορίσουμε ή να τροποποιήσουμε τους πίνακες και τα άλλα αντικείμενα που την αποτελούν. ΓΛΩΑ ΦΕΙΡΙΜΟΤ ΔΕΔΟΜΕΝΩΝ (DATA MANIPULATION LANGUAGE) Με τις εντολές χειρισμού δεδομένων εισάγουμε, εμφανίζουμε, τροποποιούμε και διαγράφουμε στοιχεία στη βάση δεδομένων. ΓΛΩΑ ΠΡΟΒΑΗ Ε ΔΕΔΟΜΕΝΑ (DATA ACCESS LANGUAGE) Με τις εντολές αυτές, μπορεί ένας χρήστης να έχει πρόσβαση σε μια βάση δεδομένων ή σε αντικείμενα της βάσης μόνο όταν ο διαχειριστής της βάσης ή ο ιδιοκτήτης της, καθορίσουν συγκεκριμένα δικαιώματα. ΓΛΩΑ ΑΚΕΡΑΙΟΣΗΣΑ ΔΕΔΟΜΕΝΩΝ (DATA INTEGRITY LANGUAGE) Οι εντολές αυτές, παρέχουν ακεραιότητα στη βάση με την έννοια των δοσοληψιών ΒΟΗΘΗΣΙΚΕ ΕΝΣΟΛΕ (AUXILIARY COMMANDS) Με τις εντολές αυτές, μπορούμε να πάρουμε χρήσιμες πληροφορίες για τα στοιχεία μιας βάσης και να επεξεργαστούμε τα δεδομένα της. ΕΝΣΟΛΕ ΕΛΕΓΦΟΤ ΠΡΟΓΡΑΜΜΑΣΟ (PROGRAMMING CONTROL STATEMENTS) Περιέχουν εντολές ελέγχου της ροής του προγράμματος κατά τη διάρκεια της εκτέλεσής του. Οι εντολές βρίσκονται ενσωματωμένες σε πηγαία προγράμματα άλλων γλωσσών όπως η C και η COBOL καθώς και σε γλώσσες 4ης Γενιάς (i4gl, PL/SQL). Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 2η
ΚΤΡΙΟΙ ΣΤΠΟΙ ΔΕΔΟΜΕΝΩΝ Jet SQL ΣΤΠΟ ΔΕΔΟΜΕΝΟΤ, είναι ο συνδυασμός του συνόλου τιμών που μπορεί να πάρει ένα δεδομένο και του συνόλου των ιδιοτήτων αυτών των τιμών. ΣΤΠΟ ΜΕΓΕΘΟ ΠΕΡΙΓΡΑΦΗ BIT 1 ΒΤΣΕ Σιμές Ναι/Όχι MONEY 8 ΒΤΣΕ Νομισματική Μονάδα DATETIME 8 ΒΤΣΕ Ημ/νία μεταξύ των ετών 100 και 9999 REAL 4 ΒΤΣΕ Σιμή Κιν. Τποδιαστολής Απλής Ακρίβειας FLOAT 8 ΒΤΣΕ Σιμή Κιν. Τποδιαστολής Διπλής Ακρίβειας SMALLINT 2 ΒΤΣΕ Ακέραιος Μικρού Μήκους INTEGER 4 ΒΤΣΕ Ακέραιος Μεγάλου Μήκους TEXT(n) 2 B/Ch Κείμενο (έως 2.14 Gb) Unicode Format IMAGE Ν/Α OLE Objects (έως 2.14 Gb) Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 3η
ΚΤΡΙΟΙ ΣΕΛΕΣΕ Jet SQL ΑΡΙΘΜΗΣΙΚΟΙ ΛΟΓΙΚΟΙ + ΠΡΟΘΕΗ AND ΤΖΕΤΞΗ - ΑΦΑΘΡΕΗ OR ΔΘΑΖΕΤΞΗ * ΠΟΛ/ΜΟ NOT ΑΡΝΗΗ / ΔΘΑΘΡΕΗ ΤΓΚΡΙΗ ΛΟΙΠΟΙ = ΘΟΝ ΙΝ ΛΘΣΑ ΣΘΜΩΝ > ΜΕΓΑΛΤΣΕΡΟ BETWEEN ΜΕΣΑΞΤ < ΜΘΚΡΟΣΕΡΟ LIKE ΟΜΟΘΟΣΗΣΑ >= ΜΕΓ. Η ΘΟ <= ΜΘΚΡ. Η ΘΟ Όταν επιλέγετε το όρισμα κριτήρια, οι ημερομηνίες πρέπει να είναι σε μορφή ημερομηνίας των Η.Π.Α., ακόμα και αν δεν χρησιμοποιείτε την αμερικάνικη έκδοση του μηχανισμού διαχείρισης βάσεων δεδομένων Microsoft Jet. Για παράδειγμα, η ημερομηνία 10 Μαΐου 1996, γράφεται ως 10/5/96 στο Ηνωμένο Βασίλειο και 5/10/96 στις Η.Π.Α. Βεβαιωθείτε ότι περικλείετε τις ημερομηνίες με το σύμβολο αριθμού (#) Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 4η
ΤΝΑΡΣΗΕΙ ΤΓΚΕΝΣΡΩΣΙΚΩΝ ΑΠΟΣΕΛΕΜΑΣΩΝ ΤΝΑΡΣΗΗ AVG COUNT FIRST, LAST MIN, MAX SUM VAR, VARP STDEV, STDEVP ΛΕΙΣΟΤΡΓΙΑ ΜΕΟ ΟΡΟ ΠΛΗΘΟ ΕΓΓΡΑΥΩΝ ΠΡΩΣΗ, ΣΕΛΕΤΣΑΙΑ ΜΕΓΙΣΟ, ΕΛΑΦΙΣΟ ΑΘΡΟΙΜΑ ΣΙΜΩΝ ΔΙΑΚΤΜΑΝΗ ΣΤΠΙΚΗ ΑΠΟΚΛΙΗ Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 5η
ΔΗΜΙΟΤΡΓΙΑ ΠΙΝΑΚΑ CREATE TABLE Όνομα_Πίνακα ( Όνομα_τήλης_1 Σύπος_Δεδομένων [PRIMARY KEY], Όνομα_τήλης_2 Σύπος_Δεδομένων [UNIQUE] [NOT NULL] [CONSTRAINT Όνομα_Περιορισμού (Λίστα_Πεδίων)] ); ΠΑΡΑΔΕΙΓΜΑ : CREATE TABLE Table_01 ( Field_01 TEXT(15) PRIMARY KEY, Field_02 INTEGER NOT NULL, Field_03 DATETIME UNIQUE ); Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 6η
ΜΕΣΑΒΟΛΗ ΣΟΙΦΕΙΩΝ ΠΙΝΑΚΑ ALTER TABLE Όνομα_Πίνακα [ADD COLUMN Όνομα_τήλης Σύπος_Δεδομένων [NOT NULL] [UNIQUE] ] [ALTER COLUMN Όνομα_τήλης Σύπος_Δεδομένων] [DROP COLUMN Όνομα_τήλης]; ΠΑΡΑΔΕΙΓΜΑ 1o: ALTER TABLE Table_01 ALTER COLUMN Field_01 CHAR(15) UNIQUE; ΠΑΡΑΔΕΙΓΜΑ 2o: ALTER TABLE Products DROP COLUMN Total_Price; Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 7η
DROP Όνομα_Πϊνακα; ΚΑΣΑΣΡΟΥΗ ΠΙΝΑΚΑ Π.Φ. : DROP Table_01; ΔΗΜΙΟΤΡΓΙΑ ΑΡΦΕΙΟΤ ΔΕΙΚΣΩΝ CREATE [UNIQUE] INDEX Όνομα_Αρχείου_Δεικτών ON Όνομα_Πίνακα(Όνομα_τήλης [ASC DESC], ); Π.Φ : CREATE INDEX Index_01 ON Table_01(Field_01); ΚΑΣΑΣΡΟΥΗ ΑΡΦΕΙΟΤ ΔΕΙΚΣΩΝ DROP INDEX Όνομα_Αρχείου_Δεικτών; Π.Φ. : DROP INDEX Index_01; ΠΑΡΑΣΗΡΗΕΙ ΣΑ ΑΡΦΕΙΑ ΔΕΙΚΣΩΝ ΤΝΙΣΑΣΑΙ Η ΔΗΜΙΟΤΡΓΙΑ INDEX FILES ΜΟΝΟ Ε ΜΕΓΑΛΟΤ ΠΙΝΑΚΕ ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΦΡΗΙΜΟΠΟΙΟΤΜΕ ΠΟΛΛΑ ΑΡΦΕΙΑ ΔΕΙΚΣΩΝ ΓΙΑ ΕΝΑ ΠΙΝΑΚΑ, ΔΙΟΣΙ ΕΠΙΒΡΑΔΤΝΟΝΣΑΙ ΟΙ ΔΙΑΔΙΚΑΙΕ ΕΝΗΜΕΡΩΗ ΣΟΤ. Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 8η