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

Σχετικά έγγραφα
1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9;

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

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

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

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

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

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

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


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

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL

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

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

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της MySQL Κεφάλαιο 2: Εκτέλεση της MySQL... 39

MYSQL 2. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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


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

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

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

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

Κεφάλαιο 9 Συναθροίσεις

1 / 97

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

1 / 87

Σύνολα Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

1 / 106

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

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ


Εισαγωγή στην πληροφορική

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

SQL Data Manipulation Language

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις


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

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT

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

Συναρτήσεις στη Visual Basic 6.0

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

Κεφάλαιο 3. Ερωτήματα SQL

a. Επιλέγουμε τις γραμμές προς διαγραφή a. Επιλέγουμε τις στήλες προς διαγραφή a. Γράφουμε σε μια στήλη μια σειρά από αριθμούς ή αλφαριθμητικά

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

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

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

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

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 5: SQL (Απλή SELECT) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

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

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης MYSQL PHP ADVANCED. Χέρι χέρι με τον Καρατζαφέρη

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

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

databases linux - terminal (linux / windows terminal)

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Κάθε ένα κελί θα πρέπει να περιέχει ένα μόνο στοιχείο δεδομένων, για παράδειγμα το όνομα σε ένα κελί, το επίθετο σε άλλο κελί.

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

PHP 3. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Transcript:

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER BY column_name; By default η σειρά ταξινόμησης είναι αύξουσα. (ASC) Η βάση ταξινομεί ως προς το κλειδί. Εάν θέλουμε η σειρά να είναι φθίνουσα τότε μετά το όνομα στήλης χρησιμοποιούμε τον όρο DESC. Παράδειγμα: SELECT * FROM table_name ORDER BY column_name DESC; Σειρά εμφάνισης ΣΕΙΡΑ ΑΡΙΘΜΟΙ ΚΕΙΜΕΝΟ ΗΜΕΡΟΜΗΝΙΕΣ NULL Αύξουσα ASC Από το Α στο Ζ φθίνουσα DESC Από το μικρότερο στο μεγαλύτερο Από το μεγαλύτερο στο μικρότερο Από το Ζ στο Α Από την παλαιότερη στην πιο πρόσφατη Από την πιο πρόσφατη στην παλαιότερη Εμφανίζονται πρώτες Εμφανίζονται τελευταίες Όταν έχουμε σύνθετα ερωτήματα με συνθήκες where, ενώσεις ή και άλλους όρους η ταξινόμηση χρησιμοποιείται στο τέλος του ερωτήματος. Περιορισμός αποτελεσμάτων με τον όρο LIMIT. Δηλώνει πόσες εγγραφές θα επιστραφούν. 1

Χρησιμοποιείται με δύο τρόπους. SELECT στήλες FROM πίνακας LIMIT πλήθος_εγγραφών; SELECT στήλες FROM πίνακας LIMIT σημείο_εκκίνησης, πλήθος_εγγραφών; Παράδειγμα: SELECT * FROM πίνακας LIMIT 5; Επιστρέφει τις 5 πρώτες πλειάδες του πίνακα. SELECT * FROM πίνακας LIMIT 5, 12; Επιστρέφει 12 πλειάδες του πίνακα ξεκινώντας από την 5. Εν κατακλείδι WHERE ORDER BY LIMIT ποιες εγγραφές θα επιστραφούν πως θα επιστραφούν πόσες εγγραφές θα επιστραφούν 2

ΣΥΖΕΥΞΗ (ΕΝΩΣΗ) ΠΙΝΑΚΩΝ Οι συζεύξεις πινάκων χρησιμοποιούνται για να εξαχθούν από τη ΒΔ πληροφορίες που βρίσκονται σε περισσότερους πίνακες. Υπάρχουν οι εσωτερικές και οι εξωτερικές ενώσεις πινάκων. Παράδειγμα: Εσωτερική σύζευξη SELECT * FROM table1 INNER JOIN table2 ON table1.column1 = table2.column1; SELECT * FROM paragelies INNER JOIN pelates ON paragelies.pel_id =pelates.pel_id ; Το ερώτημα αυτό θα φέρει τις πλειάδες από τους δύο πίνακες όπου οι τιμές στις στήλες pelates.pel_id, paragelies.pel_id είναι κοινές. Με άλλα λόγια θα αντικαταστήσει το κλειδί pel_id στον πίνακα paragelies με όλες τις πληροφορίες από τον πίνακα πελάτες που αντιστοιχούν στο κλειδί. Διάγραμμα Venn εσωτερικής ένωσης πινάκων. Στην επιλογή πληροφοριών με ένωση πινάκων πρέπει στην σύνταξη να χρησιμοποιούμε τελείες αν υπάρχουν στήλες στους πίνακες με το ίδιο όνομα. Εξωτερική σύζευξη 3

Οι εξωτερικές ενώσεις επιστρέφουν εγγραφές που δεν ικανοποιούν κάποια συνθήκη. Υπάρχουν δύο τέτοιες ενώσεις, η αριστερή και η δεξιά. Αριστερή εξωτερική σύζευξη SELECT * FROM pelates LEFT JOIN paragelies Δεξιά εξωτερική σύζευξη ON paragelies.pel_id =pelates.pel_id ; SELECT * FROM paragelies RIGHT JOIN pelates ON paragelies.pel_id =pelates.pel_id ; Αυτά τα ερωτήματα επιστρέφουν τις ίδιες εγγραφές, επιστρέφουν δηλαδή όλους τους πελάτες που έχουν παραγγελίες αλλά και αυτούς που δεν εμφανίζονται στον πίνακα παραγγελίες. Διάγραμμα Venn εσωτερικής ένωσης πινάκων. Όταν δύο πίνακες έχουν το ίδιο όνομα κοινής στήλης μπορούμε πιο απλά να χρησιμοποιήσουμε τον όρο USING(όνομα κοινής στήλης). Δηλ. SELECT * FROM paragelies RIGHT JOIN pelates USING(pel_id); 4

ΣΥΝΑΡΤΗΣΕΙΣ ΤΗΣ mysql Συναρτήσεις κειμένου. Για να χρησιμοποιήσουμε μια συνάρτηση πρέπει να καθορίσουμε σε ποιες στήλες θα την εφαρμόσουμε. SELECT FUNCTION(στήλη) FROM πίνακας; Για να καθορίσουμε πολλές στήλες γράφουμε: SELECT στήλη1, FUNCTION(στήλη2), στήλη3 FROM πίνακας; Μερικές συναρτήσεις κειμένου: SUBSTRING(στήλη ή string, αρχή, μήκος) επιστρέφει ένα τμήμα ενός αλφαριθμητικού ή μιας στήλης, με χαρακτήρα αρχής και το πλήθος των επιστρεφομένων χαρακτήρων. LENGTH(στήλη ή string) επιστρέφει το μήκος του αλφαριθμητικού που είναι αποθηκευμένο στην στήλη. UPPER(στήλη ή string) μετατρέπει τους χαρακτήρες του αλφαριθμητικού σε κεφαλαία. LOWER(στήλη ή string) μετατρέπει τους χαρακτήρες του αλφαριθμητικού σε πεζά. Συνένωση και ψευδώνυμα Συνένωση τιμών κάνουμε με την συνάρτηση CONCAT() η οποία συνοδεύεται με το ψευδώνυμο (alias). Η CONCAT() συνενώνει τιμές στηλών άρα εφαρμόζεται σε πάνω από δύο στήλες με κόμματα ανάμεσα τους. Την συνάρτηση ακολουθεί ο όρος AS και το ψευδώνυμο. SELECT CONCAT(στήλη1,, στήλη2) AS ψευδώνυμο FROM πίνακας; Εναλλακτικά μπορούμε να δώσουμε ψευδώνυμο αι στον πίνακα. 5

SELECT CONCAT(στήλη1,, στήλη2) AS ψευδώνυμο FROM πίνακας AS ψευδώνυμο_πίνακα; Αριθμητικές συναρτήσεις FORMAT(αριθμός ή στήλη, x) επιστρέφει το ποσό ή το περιεχόμενο μιας στήλης αριθμών μορφοποιημένο με x δεκαδικές θέσεις και κόμματα ανά 3 ψηφία. ROUND(αριθμός ή στήλη,x) επιστρέφει το ποσό ή το περιεχόμενο μιας στήλης αριθμών στρογγυλοποιημένο σε x δεκαδικές θέσεις. MOD(x, y) επιστρέφει το υπόλοιπο της διαίρεσης του x με το y. Το x και το y μπορεί να είναι στήλες ή αριθμοί ή και τα δύο. POW(x, y) επιστρέφει την τιμή του x υψωμένη στην δύναμη του y. Συναρτήσεις ημερομηνίας και ώρας. MONTH(στήλη) επιστρέφει μόνο τον αριθμό του μήνα. DATE(στήλη) επιστρέφει μόνο τον αριθμό της ημερομηνίας. DATE_ADD(στήλη, INTERVAL x type) προσθέτει στις ημερομηνίες της στήλης ένα διάστημα x μονάδες τύπου ημέρας ή μήνα ή έτους. Πρόσθεσε στην ημερομηνία 2 ώρες. DATE_ADD(date, INTERVAL 2 HOUR) Αφαίρεσε από την ημερομηνία 3 μέρες. DATE_SUB(date, INTERVAL 3 DAY) DATE_SUB(στήλη, INTERVAL x type) αφαιρεί στις ημερομηνίες της στήλης ένα διάστημα x μονάδες τύπου ημέρας ή μήνα ή έτους. CURDATE() επιστρέφει την τρέχουσα ημερομηνία. CUETIME() επιστρέφει την τρέχουσα ώρα. 6

Μορφοποίηση ημερομηνίας και ώρας Μορφοποίηση ημερομηνίας και ώρας γίνεται με την συνάρτηση DATE_FORMAT(στήλη, μορφοποίηση ) Μορφοποίηση μόνο της ώρας γίνεται με την συνάρτηση TIME_FORMAT(στήλη, μορφοποίηση ) Μορφοποιούμε με την χρήση του συμβόλου % και διάφορους τελεστές. Π.χ %e ημέρα του μήνα 1-31 %a σύντμηση ονόματος ημέρας Κυρ-Σαβ %b σύντμηση ονόματος μήνα Ιαν-Δεκ %W όνομα ημέρας %d ημέρα του μήνα διψήφια 01-31 %D ημέρα με επίθεμα 1 st 31 st %m αριθμός μήνα διψήφιος 01-12 %M όνομα μήνα Ιανουάριος-Δεκέμβριος %Y έτος τετραψήφιο %y έτος διψήφιο. Συναρτήσεις ομαδοποίησης MIN(στήλη) επιστρέφει την μικρότερη τιμή από μια στήλη. MAX(στήλη) επιστρέφει την μεγαλύτερη τιμή από μια στήλη. 7

COUNT(στήλη) υπολογίζει τον αριθμό των γραμμών. SUM(στήλη) επιστρέφει το άθροισμα όλων των τιμών μιας στήλης. DISTINCT(στήλη) χρησιμοποιείται με τον όρο GROUP BY για να επιστρέψει ο αριθμός των μοναδικών εγγραφών ανά κατηγορία. SELECT DATABASE() μας επιστρέφει το όνομα της βάσης που χρησιμοποιείται εκείνη την στιγμή. SELECT USER() επιστρέφει το όνομα του χρήστη. 8

ΠΡΟΒΟΛΕΣ (views) Μια προβολή είναι απλώς ένας ειδικός τύπος πίνακα, που συνήθως βασίζεται στη δομή και τα δεδομένα των τυπικών πινάκων. Για παράδειγμα, στη βάση δεδομένων timologisi, συχνά πρέπει να βλέπετε το συνολικό ποσό με το οποίο έχει τιμολογηθεί κάθε πελάτης. Έχετε τη δυνατότητα να δημιουργήσετε μια προβολή που να απεικονίζει μόνο αυτές τις πληροφορίες. Αυτό ίσως σας κάνει να σκεφτείτε ότι η προβολή είναι μια στατική εμφάνιση μερικών δεδομένων: ένα στιγμιότυπο που λαμβάνεται κατά το χρόνο δημιουργίας της προβολής. Αυτό όμως δεν ισχύει! Αν ορίσετε μια προβολή που βασίζεται στην επιλογή δεδομένων από άλλους πίνακες, όταν ενημερωθούν αυτοί οι πίνακες θα ενημερωθούν και τα δεδομένα της προβολής. Δημιουργία προβολής Για να δημιουργήσω μια προβολή χρησιμοποιώ τη εντολή CREATE VIEW. Η σύνταξη είναι η εξής: CREATE VIEW όνομα_προβολής AS ερώτημα_επιλογής; Η νέα προβολή δημιουργείται με ονόματα στηλών τα οποία αντιστοιχίζονται με αυτά που ανακτώνται από την εντολή SELECT. Π.χ: CREATE VIEW stoixeia_pelath AS SELECT first name, last_name, phone FROM pelates; Η προβολή stoixeia_pelath θα περιέχει τρεις στήλες, με ονόματα first_name, last_name, και phone του πίνακα pelates. 9

Για να δω πως δημιουργήθηκε μια προβολή εφαρμόζω την εντολή: SHOW CREATE VIEW όνομα_προβολής; Τροποποίηση ή διαγραφή προβολής Όταν δημιουργήσετε μια προβολή, υπάρχουν δύο τρόποι τροποποίησης του ορισμού της. Η πρώτη μέθοδος είναι ή χρήση της σύνταξης CREATE VIEW, με τον προστιθέμενο όρο OR REPLACE: CREATE OR REPLACE VIEW όνομα_προβολής AS ερώτημα_select; Για να εκτελέσετε αυτή την εντολή πρέπει να έχετε προνόμια διαγραφής προβολών DROP VIEW (επειδή διαγράφεται η προβολή και μετά. δημιουργείται μια νέα με το ίδιο όνομα). Η δεύτερη μέθοδος είναι η χρήση μιας εντολής ΑLTER VIEW. Αυτή μοιάζει αρκετά με την εντολή CREATE VIEW: ALTER VIEW όνομα_προβολής AS ερώτημα_select; Αν δεν χρειάζεστε πλέον μια προβολή, μπορείτε να τη διαγράψετε χρησιμοποιώντας την εντολή DROP VIEW όνομα,προβολής; Για να πάρετε πρόσθετα μέτρα ασφαλείας, έχετε τη δυνατότητα προσθήκης του όρου IF EXISTS: DROP VIEW IF EXISTS όνομα_προβολής; Επειδή τα δεδομένα στις περισσότερες προβολές βασίζονται σε δεδομένα που αποθηκεύονται σε πραγματικούς πίνακες, όταν χρειάζεται θα πρέπει να αλλάζετε τα δεδομένα στους υποκείμενους πίνακες και όχι στην προβολή. 10