Περιεχομενα "at a glance"

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

Download "Περιεχομενα "at a glance""

Transcript

1

2 Περιεχομενα "at a glance" 1. Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία 3. Σχήματα Βάσεων Δεδομένων Εισαγωγή στη γλώσσα SQL SELECT, WHERE INSERT INTO, DELETE, UPDATE Συνδυασμός PHP/MySQL

3 Πρώτο Πρόγραμμα 1. Βάσεις Δεδομένων

4 Τι είναι Βάση Δεδομένων? Η Βάση Δεδομένων είναι μια συλλογή από σχετικά μεταξύ τους δεδομένα - αντικείμενα. Σκοπός της είναι να διευκολύνει τον χρήστη στην εισαγωγή, διαγραφή, χειρισμό και επεξεργασία μεγάλου όγκου δεδομένων. Τα δεδομένα που χειρίζεται είναι δυναμικά, δηλαδή αλλάζουν συνεχώς.

5 Χρήστες Βάσεων Δεδομένων Είναι όσοι χρησιμοποιούν την Βάση Δεδομένων είτε για να αποκτήσουν πληροφορίες είτε για να την συντηρήσουν. Διαχειριστής Συστήματος. Ιδιοκτήτης Βάσης Δεδομένων. Χρήστες με διάφορες διαβαθμίσεις δικαιωμάτων.

6 Συστήματα Διαχείρισης Βάσεων Δεδομένων Ειναι το λογισμικό που επιτρέπει στους χρήστες να δημιουργούν και να χρησιμοποιούν μια Βάση Δεδομένων. Δυνατότητες που παρέχει στους χρήστες: 1. Ορισμός Βάσης Δεδομένων. 2. Κατασκευή Βάσης Δεδομένων. 3. Χρήση / Προσπέλαση Βάσης Δεδομένων. 4. Διαγραφή Βάσης Δεδομένων.

7 Συστήματα Διαχείρισης Βάσεων Δεδομένων (2) Θα μπορούσαμε να υλοποιήσουμε μια Βάση Δεδομένων και χωρίς την χρήση Συστήματος Διαχείρισης (πχ. με χρήση αρχείων). Τα σημαντικότερα πλεονεκτήματά του είναι: 1. Ευκολία στην σχεδιάση και την υλοποίηση. 2. Γρήγορη ανάπτυξη εφαρμογών. 3. Ακεραιότητα δεδομένων - Ασφάλεια. 4. Επίπεδα χρηστών Έλεγχος πρόσβασης. 5. Ταυτόχρονη χρήση από πολλούς χρήστες. 6. Ελέγχος ορθότητας Πλεονασμών. 7. Έτοιμες Συναρτήσεις - Αλγόριθμοί

8 Δομή Σ. Δ. Βάσεων Δεδομένων Το Σύστημα Διαχείρισης παρέχει μια γλώσσα υποβολής ερωτήσεων προς την Βάση Δεδομένων. Οι ερωτήσεις αυτές επεξεργάζονται από το Λογισμικό Χειρισμού Ερωτήσεων και μετατρέπονται σε εντολές για ανάκληση ή επεξεργασία δεδομένων. Το Λογισμικό Αποθήκευσης και Ανάκλησης Δεδομένων αναλαμβάνει να μεταφέρει τις εντολές του χρήστη στο επίπεδο του υλικού.

9 Αρχιτεκτονική Βάσεων Δεδομένων 1. Εξωτερικό Επίπεδο Παρουσιάση δεδομένων στον χρήστη της Βάσης. 2. Επίπεδο Αντίληψης Συνδέει το φυσικό επίπεδο με το εξωτερικό επίπεδο. Επεξεργάζεται τις εντολές του χρήστη και βρίσκει την κατάλληλη πληροφορία στην Βάση. Μεταφράζει τις εντολές του χρήστη σε εντολές κατανοητές από το Μηχανισμό Ανάκλησης και Αποθήκευσης Δεδομένων

10 Αρχιτεκτονική Βάσεων Δεδομένων 3. Φυσικό Επίπεδο Το επίπεδο όπου τα δεδομένα είναι αποθηκευμένα σε μορφή bytes στον σκληρό δίσκο. Περιλαμβάνει τις έννοιες 1. Πίνακας 2. Εγγραφή 3. Πεδίο 4. Τιμή Πεδίου 5. Τύπος Δεδομένων

11 Trailers 1. Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία

12 Σχεσιάκη Βάση Δεδομένων Τα δεδομένα της Βάσης αποθηκεύονται σε πίνακες. Ένας πίνακας αντιπροσωπεύει μια σχέση. Κάθε σχέση αποτελείται από Μ στοιχεία. Κάθε στοιχείο ανήκει σε ένα Τύπο Δεδομένων. Εγγραφή: Κάθε Μ-άδα για την οποία αληθεύει η σχέση. Πεδίο (ή Στήλη): Κάθε ένα στοιχείο της Μ-αδας. Τιμή Πεδίου: Η τιμή ενός πεδίου για μια συγκεκριμένη εγγραφή.

13 5 Best Selling Albums Of All Time Όνομα Πίνακα Όνομα Καλλιτέχνης Έτος Είδος Πωλήσεις Thriller Michael Jackson 1982 Pop / R & B 112M Back In Black AC/DC 1980 Hard Rock 49M Dark Side Of The Pink Floyd 1980 Progressive Rock 45M Moon Bat The Out Bodyguard Of Hell Meat Whitney Loaf Classic Soundtrack Rock 43M 44M The Bodyguard Whitney 1992 Soundtrack 44M OST Houston OST Houston Bat Out Of Hell Bat Out Of Hell Meat Loaf Meat Loaf Classic Rock Classic Rock 43M 43M Πίνακας

14 5 Best Selling Albums Of All Time Τίτλος Πεδίου Όνομα Καλλιτέχνης Έτος Είδος Πωλήσεις Thriller Michael Jackson 1982 Pop / R & B 112Μ Back In Black AC/DC 1980 Hard Rock 49M Dark Side Of The Moon The Bodyguard OST Pink Floyd 1980 Progressive Rock Whitney Houston 45M 1992 Soundtrack 44M Bat Out Of Hell Meat Loaf 1977 Rock 43M Πεδίο

15 Τύποι Πεδίου Κάθε πεδίο αποθηκεύει συγκεκριμένο τύπο δεδομένων int: Ακέραιος αριθμός. float: Δεκαδικός αριθμός. text: Αλφαριθμητικό. char(n): Αλφαριθμητικό σταθερού μεγέθους n. varchar(n): Αλφαριθμητικό μέγιστου μεγέθους n. date: Ημερομηνία. datetime: Ημερομηνία και ώρα. Και πολλοί άλλοι

16 NULL Ειδική τιμή Αντιπροσωπεύει την απουσία τιμής

17 5 Best Selling Albums Of All Time Όνομα Καλλιτέχνης Έτος Είδος Πωλήσεις Thriller Michael Jackson 1982 Pop / R & B 112Μ Back In Black AC/DC 1980 Hard Rock 49M Dark Side Of The Moon The Bodyguard OST Pink Floyd 1980 Progressive Rock Whitney Houston 45M 1992 Soundtrack 44M Bat Out Of Hell Meat Loaf 1977 Rock 43M Εγγραφή

18 5 Best Selling Albums Of All Time Όνομα Καλλιτέχνης Έτος Είδος Πωλήσεις Thriller Michael Jackson 1982 Pop / R & B 112Μ Back In Black AC/DC 1980 Hard Rock 49M Dark Side Of The Moon The Bodyguard OST Pink Floyd 1980 Progressive Rock Whitney Houston 45M 1992 Soundtrack 44M Bat Out Of Hell Meat Loaf 1977 Rock 43M Τιμή Πεδίου

19 Σσσσ, αρχίζει Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία 3. Σχήματα Βάσεων Δεδομένων

20 Σχήμα - Ονοματολογία Σχήμα ονομάζεται η δομή των πινάκων και των στηλών μιας Βάσης Δεδομένων. Για την δημιουργία σχήματος σκεφτόμαστε: Τι είδους αντικείμενα θα αποθηκεύσουμε? => Πίνακες Τι ιδιότητες έχει κάθε τέτοιο αντικείμενο? => Πεδία Ονοματολογία Βάσεων Πινάκων Πεδίων Αρχίζουν από γράμμα. Περιέχουν λατινικά γράμματα, αριθμούς, underscore (_). Είναι case sensitive.

21 Παράδειγμα Σχήματος Μουσική Εγκυκλοπαίδεια Τι είδους αντικείμενα χρειαζόμαστε? Τραγούδια Καλλιτέχνες Μπάντες Αλμπουμ Τι ιδιότητες χρειαζόμαστε για κάθε αντικείμενο?

22 Παράδειγμα Σχήματος (2) Καλλιτέχνης (Artist) Όνομα (name) Επίθετο (lastname) Ημερομηνία Γέννησης (birthdate) Χώρα (country) Είδος (genre)

23 Παράδειγμα Σχήματος (3) name lastname birthdate country genre Michael Jackson 29/08/1959 USA Pop / R & B Whitney Houston 09/08/1963 USA Soul / R & B Tarja Turunen 17/08/1977 Finland Metal Σώτης Βολάνης 10/11/1971 Ελλάδα Γύφτικο

24 Μοναδικό Αναγνωριστικό (id) Σε κάθε πίνακα έχουμε μια στήλη-αναγνωριστικό. Συνήθως την ονομάζουμε id Όνομα πίνακα + id => artistid Είναι θετικοί φυσικοί αριθμοί Ξεκινούν από το 1. Κάθε νέα εγγραφή έχει τον επόμενο αριθμό. Αυτό ρυθμίζεται για να γίνεται αυτόματα από το σύστημα της Βάσης Δεδομένων με AUTO_INCREMENT.

25 Μοναδικό Αναγνωριστικό (id) Με αυτόν τον τρόπο μπορούμε να Αναφερθούμε σύντομα σε μια εγγραφή Ο καλλιτέχνης με id 10. To τραγούδι με id 123. Το άλμπουμ με id 666 ( Number of The Beast ). Ξεχωρίσουμε δύο εγγραφές με ίδια στοιχεία Καλλιτέχνης Tom Jones από USA, id 3 Καλλιτέχνης Tom Jones από USA, id 305 Αυτό το πεδίο ονομάζεται primary key (πρωτεύον κλειδί).

26 Παράδειγμα Σχήματος (4) Primary Key id name lastname birthdate country genre 1 Michael Jackson 29/08/1959 USA Pop / R & B 2 Whitney Houston 09/08/1963 USA Soul / R & B 3 Tarja Turunen 17/08/1977 Finland Metal 4 Σώτης Βολάνης 10/11/1971 Ελλάδα Γύφτικο Στήλη AUTO_INCREMENT

27 Παράδειγμα Σχήματος (5) Album albumid title year studioname studiolocation studiofunded Band bandid name country year studioname studiolocation studiofunded

28 Πίνακας Album albumid title year studioname studiolocation studiofunded 1 Thriller 1982 Westlake USA Off The Wall 1979 Westlake USA Bad 1984 Westlake USA Τσικουλάτα 2004 Vasipap Greece 2001 Ανεπιθύμητη επανάληψη

29 Αποφυγή Επανάληψης Για να αποφύγουμε την επανάληψη περίσσειας πληροφορίας στους πίνακες μας, φτιάχνουμε ένα πίνακα ξεχωριστά για τα Recording Studios. Studio studioid name location funded

30 Αναφορές Πινάκων studioid name location funded 1 Westlake USA Vasipap Greece 2001 αναφέρεται σε αναφέρεται σε albumid title year studioid 1 Thriller Off The Wall Bad Τσικουλάτα

31 Γραφική Αναπαράσταση Βάσης Artist Michael name: Michael Whitney lastname: Jackson Music Encyclopedia Album The Wall Prodigy genre: Drum N Bass Band Pussycat Dolls genre: R & B

32 MySQL Server Η MySQL είναι ένα πρόγραμμα Server. Συνήθως τρέχει στον ίδιο υπολογιστή με τον Apache. Σε μεγάλα sites τρέχει σε διαφορετική φυσική τοποθεσία για μεγαλύτερη ασφάλεια και σταθερότητα. Η PHP συνδέεται στην MySQL Στέλνει ερωτήματα σε βάσεις. Δέχεται τις απαντήσεις. Η PHP είναι ένας MySQL client Ενώ ταυτόχρονα συνεχίζει να τρέχει στον HTTP Server (Apache).

33 Διαδρομή Λειτουργιών Apache Server Καλεί την hello.php Browser Find Page hello.php Return HTML Process PHP Database Access

34 PHP + MySQL = B.F.F.E. MySQL Client MySQL Server Φέρε τα στοιχεία του Michael Jackson Πάρε τα στοιχεία του Βασιλιά! Προσθεσε στη Βάση την Ke$ha Φίνο γκομενάκι μου φαίνεται! ΟΚ! Διάγραψε από τη Βάση τους βρωμιάρηδες τους Nickelback ΕΝΝΟΕΙΤΑΙ! Επιτέλους!

35 Διάλλειμα 1. Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία 3. Σχήματα Βάσεων Δεδομένων 4. Εισαγωγή στη γλώσσα SQL

36 Ερώτημα Μια εντολή προς το Σύστημα Διαχείρισης Βάσεων Δεδομένων. Ο τρόπος που επικοινωνούμε με τις Βάσεις. Μπορούμε να ζητήσουμε Δημιουργία Εγγραφών (Create) Ανάγνωση Εγγραφών (Read) Ενημέρωση Εγγράφων (Update) Διαγραφή Εγγραφών (Delete) Create Delete Read Update

37 Ερώτημα (2) Σε αντίθεση με το σχήμα της Βάσης που το φτιάχνουμε off-line με την phpmyadmin: Τα ερωτήματα τρέχουν στον χρόνο εκτέλεσης, πχ. όταν τρέχει ένα PHP Script. Παραδείγματα Ο χρήστης θέλει να δημιουργήσει έναν λογαριασμό πατώντας το κατάλληλο κουμπί στο site. Καλείτε το PHP Script register.php με HTTP POST. Τρέχει το ερώτημα προσθήκης των στοιχείων του νέου μέλους.

38 Γλώσσα T-SQL Χρησιμοποιείται για να γράψουμε τα ερωτήματα προς την Βάση. Περιγράφει τι θέλουμε να συμβεί. Οχι το πως θέλουμε να συμβεί. Κάθε ερώτημα τελειώνει με semicolon (;). Space insensitive (τα κενά δεν παίζουν ρόλο). Ερώτημα Απάντηση Δημιουργία Εντάξει ή Όχι εντάξει Τιμή πρωτεύοντος κλειδιού Ανάγνωση Δεδομένα Επεξεργασία Εντάξει ή Όχι εντάξει Πλήθος εγγραφών Διαγραφή Εντάξει ή Όχι εντάξει Πλήθος εγγραφών

39 Η συνέχεια Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία 3. Σχήματα Βάσεων Δεδομένων Εισαγωγή στη γλώσσα SQL SELECT, WHERE

40 Ανάγνωση Εγγραφών Ερώτημα SELECT Σύνταξη SELECT πεδίο1, πεδίο2,..., πεδίον FROM όνομα Πίνακα; Παράδειγμα SELECT name, lastname FROM Artist; Επιστρέφει συγκεκριμένα πεδία από όλες τις εγγραφές ενός πίνακα. name Michael Whitney Tarja Σώτης lastname Jackson Houston Turunen Βολάνης

41 Φιλτράρισμα Εγγραφών Εντολή WHERE Σύνταξη WHERE λογική πρόταση Οι λογικές προτάσεις: Παίρνουν τιμή true (1) ή false (0). Μπορούν να περιέχουν Ονόματα πεδίων: artistid, name, location. Σταθερές: 5, Hello World!, 20/11/2011. Αληθεύουν πιθανώς για κάποιες εγγραφές. Δεν αληθεύουν πιθανώς για άλλες εγγραφές.

42 Λογικές Προτάσεις Τελεστές Λειτουργία +, -, *, / Αριθμητικές πράξεις OR, AND, NOT =,!=, <, >, <=, >= Σύγκριση Λογικές πράξεις: ή, και, όχι Παραδείγματα λογικών προτάσεων WHERE name = Michael WHERE lastname!= Houston WHERE artistid < 10 WHERE name = Michael AND lastname = Jordan Έλεγχος για NULL με τον τελεστή IS NULL Π.χ. WHERE birthdate IS NULL

43 Ανάγνωση Εγγραφών (2) Ερώτημα SELECT WHERE Σύνταξη SELECT πεδίο1, πεδίο2,..., πεδίον (ή *) FROM όνομα Πίνακα WHERE λογική πρόταση; Παράδειγμα SELECT name, lastname FROM Artist WHERE country = USA ; Επιστρέφει συγκεκριμένα πεδία από όλες τις εγγραφές ενός πίνακα που ικανοποιούν την λογική πρόταση. Με το αστεράκι επιστρέφουμε όλα τα πεδία. name Michael Whitney lastname Jackson Houston

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

45 Παράδειγμα Αποθηκευμένος Πίνακας albumid title year studioid 1 Thriller Off The Wall Bad Τσικουλάτα Πίνακας Αποτελέσματος title year Thriller 1982 Off The Wall 1979 Bad 1984 SELECT title, year FROM Album WHERE studioid = 1;

46 Αυτός που αλλού έχει παίξει? 1. Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία 3. Σχήματα Βάσεων Δεδομένων Εισαγωγή στη γλώσσα SQL SELECT, WHERE INSERT INTO, DELETE, UPDATE

47 Δημιουργία Εγγραφής Ερώτημα INSERT INTO Σύνταξη INSERT INTO όνομα Πίνακα SET πεδίο1 = τιμή1, πεδίο2 = τιμή2,... πεδίον = τιμήν; Εναλλακτική Σύνταξη INSERT INTO όνομα Πίνακα ( πεδίο1, πεδίο2,..., πεδίον ) Values ( τιμή1, τιμή2,..., τιμήν );

48 Παράδειγμα Δημιουργίας INSERT INTO Artist SET name = Michael, lastname = Jackson, birthdate = 29/08/1959 ; Παρατηρούμε ότι παραλείπουμε την τιμή για το πεδίο id, που το έχουμε ορίσει AUTO_INCREMENT. Όσα πεδία παραλείπονται παίρνουν: Την προεπιλεγμένη τιμή που ορίζουμε στο σχήμα μας. Την προεπιλεγμένη τιμή σύμφωνα με τον τύπο τους αν δεν έχουμε ορίσει εμείς μια.

49 Ενημέρωση Εγγραφών Ερώτημα UPDATE Σύνταξη UPDATE όνομα Πίνακα SET πεδίο1 = τιμή1, πεδίο2 = τιμή2,... πεδίον = τιμήν; Αλλάζει όλες τις εγγραφές του πίνακα. Τα πεδιά που δεν εμφανίζονται δεν αλλάζουν. Εναλλακτική Σύνταξη UPDATE όνομα Πίνακα SET πεδίο1 = τιμή1, πεδίο2 = τιμή2,... πεδίον = τιμήν WHERE λογική έκφραση

50 Παράδειγμα Ενημέρωσης UPDATE Artist SET lastname = Bolton WHERE name = Michael ;

51 Διαγραφή Εγγραφών Ερώτημα DELETE Σύνταξη DELETE FROM όνομα Πίνακα Διαγράφει όλες τις εγγραφές του πίνακα. Εναλλακτική Σύνταξη DELETE FROM όνομα Πίνακα WHERE λογική έκφραση Φιλτράρουμε τις εγγραφές που θα διαγραφούν με την WHERE.

52 Παράδειγμα Ενημέρωσης DELETE FROM Artist WHERE name = Σώτης ;

53 Κοντά στο Happy End! 1. Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία 3. Σχήματα Βάσεων Δεδομένων Εισαγωγή στη γλώσσα SQL SELECT, WHERE INSERT INTO, DELETE, UPDATE Συνδυασμός PHP/MySQL

54 Συνδυασμός PHP και MySQL Απαιτείται η επέκταση MySQL της PHP Πάλι καλά που τα εγκαταστήσαμε όλα μαζί... Τα SQL ερωτήματα για την PHP είναι αλφαριθμητικά. Η βιβλιοθήκη MySQL για PHP περιέχει συναρτήσεις που τις καλούμε για να πετύχουμε επικοινωνία PHP και MySQL μέσω των ερωτημάτων. Τα ερωτήματα περνούν ως παράμετροι.

55 Σύνδεση στη Βάση Εντολή mysql_connect() Σύνταξη mysql_connect( διεύθυνση, χρήστης, κωδικός ); Διεύθυνση Σε ποιόν υπολογιστή τρέχει ο MySQL Server. Συνήθως localhost. Χρήστης Κωδικός Είναι απαραίτητα για την πρόσβαση στην Βάση Ρυθμίζονται κατά την εγκατάσταση της MySQL ή από το phpmyadmin. Η σύνδεση κλείνει αυτόματα στο τέλος του script.

56 Ερωτήματα σε Βάση Εντολή mysql_select_db() Σύνταξη mysql_select_db( όνομα βάσης ) Επιλέγει σε ποια βάση θα τρέξουν τα ερωτήματα. O MySQL Server μπορεί να αποθηκεύει πολλές βάσεις. Συνήθως έχουμε μια για κάθε web εφαρμογή. Εντολή mysql_query() Σύνταξη $res = mysql_query( ερώτημα ) Εκτελεί το ερώτημα και επιστρέφει την απάντηση. True / False σε περίπτωση ερωτημάτων Δημιουργίας, Ενημέρωσης, Διαγραφής. Ένα resource (πίνακας συνήθως) που μπορεί να χρησιμοποιηθεί σε περίπτωση Ανάγνωσης.

57 Εκτέλεση Ερωτήματος mysql_connect( localhost, Anty, Stewie ); mysql_select_db( Music ); $success = mysql_query( UPDATE Artist SET lastname = Bolton WHERE name = Michael ; );

58 Χρήσιμες Εντολές PHP mysql_insert_id() Επιστρέφει το AUTO_INCREMENT της εγγραφής που δημιουργήθηκε στο πιο πρόσφατο ερώτημα. mysql_affected_rows() Επιστρέφει το πλήθος των γραμμών που άλλαξαν από την εκτέλεση του πιο πρόσφατου ερωτήματος. mysql_num_rows( $res ) Παίρνει ως παράμετρο το resource που επιστρέφει η mysql_query() Επιστρέφει το πλήθος των εγγραφών του αποτελέσματος.

59 Παράδειγμα Εισαγωγής Εγγραφής database.php mysql_connect( localhost, Anty, Stewie ); mysql_select_db( Music ); Συνήθως χρησιμοποιούμε ένα αρχείο php για την σύνδεση μας με την βάση, το οποιό το κάνουμε include στο script που κάνουμε το ερώτημα.

60 Παράδειγμα Εισαγωγής Εγγραφής (2) include database.php ; mysql_query( INSERT INTO Artist SET name = Mariah, lastname = Carey, birthdate = 27/03/1970, country = USA ; ); $id = mysql_insert_id(); echo Καταχωρήθηκε ο καλλιτέχνης $id ;

61 Παράδειγμα Διαγραφής Δεδομένων include database.php ; mysql_query( DELETE FROM Album WHERE title = Τσικουλάτα ; ); if (mysql_affected_rows() == 1){ echo Μπούλο ο Ξανθιώτης ; } else { echo Αιντι μάλε τσικουλάτα τσικιτα, τσικι τσικι τσικιτά ; }

62 Παράδειγμα Ανάγνωσης Δεδομένων include database.php ; $res = mysql_query( SELECT title FROM Album WHERE studioid = 2; ); echo Έχουν ηχογραφηθεί. mysql_num_rows( $res ); echo δισκάρες στη Vasipap! ; Έχουν ηχογραφηθεί 10 δισκάρες στην Vasipap!

63 Ανάγνωση Δεδομένων Εντολή mysql_fetch_array() Σύνταξη mysql_fetch_array( $res) Παίρνει ως παράμετρο το resource που επέστρεψε το mysql_query(). Αν ο πίνακας αποτελέσματος έχει Ν εγγραφές, επιστρέφει Την πρώτη φορά, την πρώτη εγγραφή του πίνακα αποτελέσματος. Την δεύτερη φορά, την δεύτερη εγγραφή του πίνακα αποτελέσματος.... Την Ν-οστή φορά, την τελευταία εγγραφή του πίνακα αποτελέσματος. Την (Ν+1)-οστή φορά που θα κληθεί, false.

64 Ανάγνωση Δεδομένων (2) Η πρώτη κλήση της mysql_fetch_array( $res ) επιστρέφει ένα λεξικό. Αντιπροσωπεύει την πρώτη εγγραφή του αποτελέσματος. Κλειδιά: τα ονόματα των πεδίων Τιμές: οι τιμές των συγκεκριμένων πεδίων για την συγκεκριμένη εγγραφή. κτλ. για τις πρώτες N κλήσεις. Μέχρι να εξαντληθεί ο πίνακας αποτελέσματος.

65 name Michael Whitney Tarja lastname Jackson Houston Turunen include database.php ; $res = mysql_query( $sql ); $first = mysql_fetch_array( $res ); $second = mysql_fetch_array( $res ); $third = mysql_fetch_array( $res ); $end = mysql_fetch_array( $res ); $sql = SELECT name, lastname FROM Artist WHERE artistid < 4; ; echo $first[ name ]. <br /> ; echo $second[ name ]. ; echo $second[ lastname ]. <br /> ; echo $third[ lastname ]. <br /> ; Michael Whitney Houston Turunen

66 Παράδειγμα Ανάγνωσης include database.php ; $sql = ; while ($row = mysql_fetch_array( $res )) $res = mysql_query( $sql ); $count = mysql_num_rows( $res ); for ( $i = 0; $i < $count; ++$i ) { $row = mysql_fetch_array( $res ); echo Row $i: ; $name = $row[ name ]; $lastname = $row[ lastname ]; echo The name is $lastname, $name. <br /> ;?> } Row 0: The name is Jackson, Michael. Row 1: The name is Houston, Whitney. Row 2: The name is Turunen, Tarja.

67

68 Διαλέχτε, καλέ κυρία, Διαλέχτε 1. Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN 4. Ψευδώνυμα - Ημερομηνίες 5. Ενώσεις Πινάκων

69 Έχω πρώτο πράγμα Ταξινόμηση

70 Ταξινόμηση Εντολή ORDER BY Ταξινομεί το αποτέλεσμα με βάση ένα πεδίο. ASC: Αύξουσα Ταξινόμηση (προεπιλογή). DESC: Φθίνουσα Ταξινόμηση. Ακολουθεί πάντα τον όρο WHERE. Είτε υπάρχει είτε όχι. Παράδειγμα Select πεδία FROM πίνακας WHERE συνθήκη ORDER BY πεδιο ASC (DESC);

71 Ταξινόμηση (2) Αποθηκευμένος πίνακας Artist artistid name lastname birthdate country genre 1 Tori Amos USA Pop / Jazz 2 Britney Spears USA Pop 3 Bruce Dickinson England Metal 4 Μιχαλάρας Ρακιντζής Greece Λίγο από όλα

72 Ταξινόμηση (3) SELECT artistid, name, lastname, birthdate FROM Artist ORDER BY birthdate ASC; Πίνακας αποτελέσματος Artistid name lastname birthdate 3 Bruce Dickinson Μιχαλάρας Ρακιντζής Tori Amos Britney Spears

73 Ταξινόμηση (4) SELECT artistid, name, lastname, birthdate FROM Artist ORDER BY birthdate DESC; Πίνακας αποτελέσματος Artistid name lastname birthdate 2 Britney Spears Tori Amos Μιχαλάρας Ρακιντζής Bruce Dickinson

74 Ταξινόμηση (5) SELECT artistid, name, lastname, birthdate FROM Artist WHERE name = Britney OR lastname = Amos ORDER BY birthdate DESC; Πίνακας αποτελέσματος Artistid name lastname birthdate 2 Britney Spears Tori Amos

75 Οτι πάρεις ένα ευρώ, ότι πάρεις. 1. Ταξινόμηση 2. Περιορισμοί

76 Περιορισμοί Εντολή LIMIT Περιορίζει τον πλήθος των εγγραφών του πίνακα αποτελέσματος. Ο όρος αυτός ακολουθεί το ORDER BY. Είτε υπάρχει, είτε δεν υπάρχει. Κρατάει τα πρώτα N στοιχεία. Παράδειγμα Select πεδία FROM πίνακας WHERE συνθήκη ORDER BY πεδιο LIMIT N;

77 Περιορισμοί (2) SELECT artistid, name, lastname, birthdate FROM Artist ORDER BY birthdate ASC LIMIT 3; Πίνακας αποτελέσματος Artistid name lastname birthdate 3 Bruce Dickinson Μιχαλάρας Ρακιντζής Tori Amos Τρία αποτελέσματα Οι υπόλοιπες εγγραφές παραλείπονται.

78 Περιορισμοί (2) Ποια είναι τα στοιχεία του γηραιότερου καλλιτέχνη της βάσης? SELECT artistid, name, lastname, birthdate FROM Artist ORDER BY birthdate ASC LIMIT 1; Artistid name lastname birthdate 3 Bruce Dickinson

79 Περιορισμοί (3) To LIMIT εφαρμόζεται και σε ερωτήματα UPDATE και DELETE. ΚΑΛΗ ΠΡΑΚΤΙΚΗ! LIMIT 1 σε ερωτήματα που περιμένουμε να αλλάξουν / διαγράψουν μόνο μια εγγραφή. Θα σώσουν την κατάσταση αν ξεχάσεις το WHERE. DELETE FROM Artist WHERE artistid = 3 LIMIT 1;

80 Περιορισμοί (4) Πλήρης Σύνταξη του LIMIT LIMIT offset, N Σε αυτή τη μορφή Παραλείπει εγγραφές από την αρχή του αποτελέσματος ίσες με το offset. Αν offset = 0 καμία παράλειψη. Περιορίζει το πλήθος των εγγραφών του αποτελέσματος κατά Ν.

81 Παράδειγμα LIMIT με offset SELECT artistid, name, lastname, birthdate FROM Artist ORDER BY birthdate DESC LIMIT 1, 2; Πίνακας αποτελέσματος Artistid name lastname birthdate 2 Britney Spears Tori Amos Μιχαλάρας Ρακιντζής 1962-??-?? 3 Bruce Dickinson εγγραφή από την αρχή παραλείπεται Δύο έγγραφές

82 Παράδειγμα LIMIT με offset (2) Ποια είναι τα στοιχεία του δεύτερου γηραιότερου καλλιτέχνη της βάσης? SELECT artistid, name, lastname, birthdate FROM Artist ORDER BY birthdate ASC LIMIT 1,1; Artistid name lastname birthdate 4 Μιχαλάρας Ρακιντζής

83 Καρέκλες και τραπέζια και καρέκλες έχω!!! 1. Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN

84 Αναζήτηση μέσα σε Αλφαριθμητικά Τελεστής LIKE Σύνταξη WHERE πεδίο LIKE έκφραση Έκφραση Αλφαριθμητικό που περιέχει % ως χαρακτήρα-μπαλαντέρ. Σημαίνει οποιοσδήποτε χαρακτήρας. Παραδείγματα Kiss% : Αρχίζει από Kiss Kiss Me OK Gimme A Kiss Kiss NOT OK Kiss%You : Αρχίζει από Kiss και τελειώνει με You Kissing You OK Kiss You and your sister!!! NOT OK

85 Παράδειγμα LIKE SELECT artistid, name, lastname, birthdate FROM Artist WHERE lastname LIKE S% LIMIT 1; Artistid name lastname birthdate 2 Britney Spears

86 Αναζήτηση μέσα σε Αλφαριθμητικά (2) Τελεστής IN Σύνταξη Πεδίο IN ( τιμή1, τιμη2,..., τιμήν) Ελέγχει αν μια τιμή ενός πεδίου ανήκει σε ένα σύνολο τιμών. SELECT artistid, name, lastname FROM Artist WHERE name IN ( Tori, Bruce ); artistid name lastname 1 Tori Amos 3 Bruce Dickinson

87 Σύγκριση Οι τελεστές =, <, >, <=, >= λειτουργούν σε: Αριθμούς 3 < 4 5 = > -9 Αλφαριθμητικά (λεξικογραφικά) Tori >= Bruce Ημερομηνίες (χρονολογικά) > :00:00 <= :01:01

88 Αναζήτηση μέσα σε Αλφαριθμητικά (3) Τελεστής BETWEEN AND Σύνταξη Πεδίο BETWEEN κάτω_φράγμα AND άνω_φράγμα Ελέγχει αν μια τιμή βρίσκεται μεταξύ των δύο φραγμάτων (μεγαλύτερο ισο / μικρότερο ίσο). SELECT name, lastname FROM Artist WHERE name BETWEEN Tori AND Zed ; name Tori lastname Amos

89 Τα δύο μισή τιμή σε λέω Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN 4. Ψευδώνυμα - Ημερομηνίες

90 Ψευδώνυμα Στηλών Εισάγονται με το AS Σύνταξη πεδίο AS ψευδώνυμο Αλλάζουν το όνομα μιας στήλης του αποθηκευμένου πίνακα στον πίνακα αποτελέσματος. SELECT artistid AS code, name, lastname FROM Artist WHERE name IN ( Tori, Bruce ); code name lastname 1 Tori Amos 3 Bruce Dickinson

91 Τελεστές Ημερομηνιών Λέξη-κλειδί INTERVAL Λέξεις-κλειδιά διάρκειας: SECOND MINUTE HOUR DAY MONTH YEAR Μορφή: INTERVAL Ν διάρκεια Μπορεί να προστεθεί / αφαιρεθεί από ημερομηνία για να δώσει μία άλλη

92 Τελεστές Ημερομηνιών (2) Συνάρτηση NOW() Επιστρέφει την τωρινή ημερομηνία/ώρα. NOW(): :00:21

93 Παράδειγμα NOW() Πως θα δείξω ποίοι είναι μέσα στην σελίδα μου? Στήλη lastactive στον πίνακα users Ενημέρωση κάθε φορά που ανοίγει ένα PHP αρχείο: UPDATE SET WHERE LIMIT 1; users lastactive = NOW() userid = 5 Ερώτημα για να πάρω τους online χρήστες: SELECT FROM WHERE username users lastactive + INTERVAL 5 MINUTE > NOW();

94 Πράξεις κατά την Επιλογή Το SELECT επιτρέπει και πράξεις κατά την επιλογή Δηλαδή τα πεδία στην πραγματικότητα είναι παραστάσεις. SELECT (artistid + 10) AS code, name, lastname FROM Artist WHERE name IN ( Tori, Bruce ); code name lastname 11 Tori Amos 13 Bruce Dickinson SELECT name, lastname, (birtdate + INTERVAL 100 YEARS) AS death FROM Artist name lastname death WHERE name IN ( Tori, Bruce ); Tori Amos Bruce Dickinson

95 Κληρώνει δεν λερώνει Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN 4. Ψευδώνυμα Ημερομηνίες 5. Ενώσεις Πινάκων

96 ΕΝΩΣΕΙΣ ΠΙΝΑΚΩΝ Συνδυασμός δεδομένων από πολλούς διαθέσιμους αποθηκευμένους πίνακες. Ο πίνακας αποτελέσματος μπορεί να περιλαμβάνει δεδομένα από όποιους του ζητήσουμε. Μπορεί επίσης να φιλτράρει τα αποτελέσματα με χρήση πεδιών από όσους από αυτούς θέλουμε. Πολλάπλές ενώσεις, ενώνοντας το αποτέλεσμα μιας ένωσης πινάκων με άλλον πίνακα.

97 ΑΠΛΗ ΕΝΩΣΗ Είναι η ένωση δύο ή περισσότερων πινάκων σε ένα ερώτημα. Για να πάρουμε δεδομένα από όλους. Για να βάλουμε καποια κριτήρια στα αποτελέσματά μας. Για να ξεχωρίσουμε τα πεδία που έχουν κοινά ονόματα κάνουμε αναφορά σε πεδίο πίνακα πίνακας.πεδίο

98 Παράδειγμα studioid name location funded 1 Westlake USA Vasipap Greece 2001 albumid name year studioid 1 Thriller Bad Τσικουλάτα SELECT Album.name AS title, year, Studio.name AS recording_studio FROM Album, Studio WHERE Studio.studioid = Album.studioid;

99 ΑΠΛΗ ΕΝΩΣΗ (2) Σωστότερη σύνταξη SELECT πεδία FROM Α INNER JOIN B ON A.x = B.y Έτσι το WHERE μπορεί να χρησιμοποιηθεί και πάλι για φιλτράρισμα και όχι για ένωση πινάκων.

100 Παραδείγμα (2) SELECT Album.name AS title, year, Studio.name AS recording_studio FROM Album INNER JOIN Studio ON Studio.studioid = Album.studioid WHERE Studio.studioid = 1; title year recording_studio Thriller 1982 Westlake Bad 1984 Westlake

101 Δεύτερο Παραδείγμα Ποιο είναι το studio που ηχογραφήθηκε το πιο παλιό album? SELECT Studio.name AS recording_studio FROM Studio INNER JOIN Album ON Studio.studioid = Album.studioid ORDER BY year ASC LIMIT 1;

102 Τρίτο Παραδείγμα Όλοι οι τίτλοι των album και η τοποθεσία του studio που ηχογραφήθηκαν? SELECT Album.name AS title, Studio.location FROM Album INNER JOIN Studio ON Studio.studioid = Album.studioid; name Thriller Bad Τσικουλάτα location USA USA Greece

103 ΑΡΙΣΤΕΡΗ ΕΝΩΣΗ Στην περίπτωση που δεν έχουμε για όλα τα studios πληροφορίες. studioid name location funded 1 Westlake USA 1974 Τώρα αν κάνουμε το ερώτημα της απλής ένωσης, δεν θα επιστραφούν όλες οι τιμές. SELECT Album.name AS title, Studio.location FROM Album INNER JOIN Studio ON Studio.studioid = Album.studioid;

104 ΑΡΙΣΤΕΡΗ ΕΝΩΣΗ (2) Αποτέλεσμα title Thriller Bad location USA USA Κάποια album θα λείπουν επειδή λείπει το studio στο οποίο ηχογραφήθηκε. Εμείς όμως θέλουμε τις πληροφορίες του album ακόμα και αν δεν έχουμε στοιχεία για το studio.

105 ΑΡΙΣΤΕΡΗ ΕΝΩΣΗ (3) Αλλάζουμε το INNER JOIN με LEFT OUTER JOIN Αν υπάρχει το κλειδί της ένωσης στον δεξιό πίνακα Κάνει το ίδιο με την απλή ένωση. Αν καμιά εγγραφή του δεξιού πίνακα δεν ταιριάζει με την εκάστοτε του αριστερού Κρατάει τα στοιχεία της εγγραφής του αριστερού πίνακα. Γεμίζει τα στοιχεία των στηλών του δεξιού πίνακα του αποτελέσματος με NULL.

106 Παράδειγμα Αριστερής Ένωσης SELECT Album.name AS title, Studio.location FROM Album LEFT OUTER JOIN Studio ON Studio.studioid = Album.studioid; title Thriller Bad Τσικουλάτα location USA USA NULL

107 Καρτεσιανό Γινόμενο Α x B Κάθε εγγραφή του πίνακα Α. Συνδυάζεται με κάθε εγγραφή του πίνακα Β. Παράδειγμα studioid name 1 Westlake 2 Vasipap albumid title year studio 1 Thriller Bad Studio x Album 4 Τσικουλάτα

108 Καρτεσιανό Γινόμενο (2) Αποτέλεσμα albumid title year studio studioid name 1 Thriller Westlake 1 Thriller Vasipap 3 Bad Westlake 3 Bad Vasipap 4 Τσικουλάτα Westlake 4 Τσικουλάτα Vasipap

109 Παράδειγμα SELECT title, year, name FROM Album, Studio title year name Thriller 1982 Westlake Thriller 1982 Vasipap Bad 1984 Westlake Bad 1984 Vasipap Τσικουλάτα 2004 Westlake Τσικουλάτα 2004 Vasipap

110 Παράδειγμα (2) Από μόνο του άχρηστο. Πολύ πιο χρήσιμο με το WHERE. SELECT title, year, name FROM Album, Studio WHERE studio = studioid title year name Thriller 1982 Westlake Bad 1984 Westlake Τσικουλάτα 2004 Vasipap

111 Παράδειγμα Πολλαπλών Ενώσεων user: - userid - username - password - blog: - blogid - title - text - userid comment: - commentid - text - blogid - userid - created

112 Παράδειγμα Πολλαπλών Ενώσεων (2) Ολοι οι τίτλοι και τα κείμενα από τις αναρτήσεις (postblogs) του χρήστη #5 SELECT text, title FROM blog WHERE userid = 5

113 Παράδειγμα Πολλαπλών Ενώσεων (3) Το κείμενο από όλα τα σχόλια που έγιναν σε όλα τα postblogs του χρήστη #5 SELECT comment.text FROM comment INNER JOIN blog ON comment.blogid = blog.blogid WHERE blog.userid = 5 Χρησιμοποιούμε την ένωση για να πάρουμε στοιχεία από τον πίνακα comment και να φιλτράρουμε με βάση τον πίνακα blog.

114 Παράδειγμα Πολλαπλών Ενώσεων (4) Το κείμενο και ο χρήστης που έγραψε το σχόλιο από όλα τα σχόλια που έγιναν σε όλα τα postblogs του χρήστη #5 SELECT comment.text, user.name FROM comment INNER JOIN blogs ON comment.blogid = blog.blogid INNER JOIN user ON user.userid = comment.userid WHERE blog.userid = 5 Χρησιμοποιούμε την ένωση για να πάρουμε στοιχεία από τον πίνακα comment και user και να φιλτράρουμε με βάση τον πίνακα blog (ένωση στην ένωση).

115 Παράδειγμα Πολλαπλών Ενώσεων (5) Το κείμενο από το πιο πρόσφατο σχόλιο που έγινε σε κάποιο blog του χρήστη #5 μαζί με τον τίτλο του blog; SELECT blog.title, comment.text FROM comment INNER JOIN blog ON comment.blogid = blog.blogid WHERE blog.userid = 5 ORDER BY comment.created DESC LIMIT 1 Χρησιμοποιούμε την ένωση για να πάρουμε στοιχεία από τον πίνακα comment και comment και για να φιλτράρουμε με χρήση αναφοράς.

116 Τα μάθατε καλέ κυρία? 1. Ψευδώνυμα Πινάκων 2. Ένωση Πίνακα με τον εαυτό του 3. Ομαδοποίηση 4. Aggregated Functions (Συναρτήσεις Σύνοψης) 5. Υποερωτήματα

117 Τι καλέ??? 1. Ψευδώνυμα Πινάκων

118 Ψευδώνυμα Πινάκων Εκτός από τα πεδιά, στην SQL επιτρέπεται να δώσουμε ψευδώνυμο ακόμα και σε ολόκληρο πίνακα. Σύνταξη Εισάγονται με το AS. όνομα πίνακα AS ψευδώνυμο. Χρησιμοποιούνται για να μας διευκολύνουν όταν έχουμε πολλαπλές ενώσεις ή πολύπλοκα ερωτήματα.

119 Παραδείγμα SELECT Album.name AS title, year, Studio.name AS recording_studio FROM Album INNER JOIN Studio ON Studio.studioid = Album.studioid WHERE Studio.studioid = 1; title year recording_studio Thriller 1982 Westlake Bad 1984 Westlake

120 Παραδείγμα (2) SELECT a.name AS title, year, b.name AS recording_studio FROM Album AS a INNER JOIN Studio AS b ON b.studioid = a.studioid WHERE b.studioid = 1; title year recording_studio Thriller 1982 Westlake Bad 1984 Westlake

121 ΝΕΑ ΓΑΡΙΔΑΚΙΑ ΛΟΤΑΡΙΑ!!! 1. Ψευδώνυμα Πινάκων 2. Ένωση Πίνακα με τον εαυτό του

122 Αυτοένωση Πινάκων Στην SQL επιτρέπεται και η ένωση ενός πίνακα με τον εαυτό του. Σε αυτή την περίπτωση είναι απαραίτητο να έχουν ψευδώνυμα οι πίνακες καθώς μόνο έτσι μπορούμε να τους ξεχωρίσουμε μεταξύ τους. Επιτρέπεται να χρησιμοποιήσουμε όλων των ειδών τις ενώσεις (Απλή / Αριστερή Ένωση, Καρτεσιανό Γινόμενο).

123 Παράδειγμα person: - personid - name - surname - fatherid personid name lastname fatherid 1 Νάταλι Θάνου 2 2 Παναγιώτης Τόκος NULL 3 Ακίνδυνος Γκίκας 2 4 Βασίλης Λεβέντης NULL 5 Τάκης Γκώνιας 4 6 Ανίτα Πάνια 5

124 Παράδειγμα (2) Εμφάνιση όλων των ατόμων μαζι με το όνομα πατρός όπου αυτό υπάρχει. SELECT child.name AS name, child.lastname AS lastname, father.name AS fathername FROM person AS child LEFT OUTER JOIN person AS father ON child.fatherid = father.personid;

125 Αποτέλεσμα (Vapona) name lastname fathername Νάταλι Θάνου Μπάμπης Παναγιώτης Τόκος NULL Ακίνδυνος Γκίκας Μπάμπης Βασίλης Λεβέντης NULL Τάκης Γκώνιας Βασίλης Ανίτα Πάνια Τάκης

126 Δεύτερο Παράδειγμα Να εμφανίσεται το ονοματεπώνυμο των ατόμων που έχουν για πατέρα κάποιον Μπάμπη. SELECT child.name AS name, child.lastname AS lastname, FROM person AS child INNER JOIN person AS father ON child.fatherid = father.personid WHERE father.name = Παναγιώτης ; name Νάταλι Ακίνδυνος lastname Θάνου Γκίκας

127 Τρίτο Παράδειγμα Να εμφανίσεται το ονοματεπώνυμο των ατόμων που ξέρουμε το όνομα του πατέρα τους. SELECT child.name AS name, child.lastname AS lastname, FROM person AS child INNER JOIN person AS father ON child.fatherid = father.personid WHERE father.name IS NOT NULL; name Νάταλι Ακίνδυνος Τάκης Ανίτα lastname Θάνου Γκίκας Γκώνιας Πάνια

128 ΓΙΟΥΠΙ!!!! 1. Ψευδώνυμα Πινάκων 2. Ένωση Πίνακα με τον εαυτό του 3. Ομαδοποίηση

129 Ομαδοποίηση Στην SQL μας δίνεται η δυνατότητα να ομοδοποιούμε τα αποτελέσματά μας. Η ομαδοποίηση γίνεται βάσει κάποιου κοινού χαρακτηριστικού Τιμή μιας στήλης ή παράστασης. Ένα ολόκληρο πεδίο. Σύνταξη GROUP BY πεδίο Εμφανίζεται μετά τον όρο WHERE και πριν τον ORDER. Select πεδία FROM πίνακας WHERE συνθήκη GROUP BY πεδίο ORDER BY πεδιο;

130 Παράδειγμα Λάθος Χρήσης name Μπάμπης Μπάμπης Βασίλης Βασίλης lastname Στόκας Τόκος Καήλας Λεβέντης GROUP BY name name lastname Μπάμπης??? Βασίλης??? Τάκης Τόκος Τάκης Τόκος name Μπάμπης Μπάμπης Βασίλης Βασίλης Τάκης lastname Στόκας Τόκος Καήλας Λεβέντης Τόκος GROUP BY lastname name lastname Μπάμπης Στόκας???? Τόκος Βασίλης Καήλας Βασίλης Λεβέντης

131 Που είναι ρε μόρτη το λάθος??? Όταν χρησιμοποιείς την εντολή GROUP BY για ομαδοποίηση, τότε τα πεδία που κάνεις SELECT πρέπει οπωσδήποτε Είτε να είναι το πεδίο σύμφωνα με το οποίο κάνεις ομαδοποίηση. Είτε να περιέχεται σε μια Aggregated Function (Συνάρτηση Σύνοψης).

132 Παράδειγμά Σωστής Χρήσης Να βρεθούν όλα τα διαφορετικά μικρά ονόματα των ατόμων της βάσης. SELECT name FROM people GROUP BY name; name Μπάμπης Βασίλης Τάκης

133 Τελεστής DISTINCT Την ίδια ακριβώς δουλειά με το προηγούμενο παράδειγμα μπορούμε να την κάνουμε χωρίς χρήση ομαδοποίησης αλλά με τον τελεστή DISTINCT. Παράδειγμα SELECT DISTINCT name FROM people name Μπάμπης Βασίλης Τάκης

134 ΠΑΜΕ ΝΑ ΤΑ ΑΓΟΡΑΣΟΥΜΕ ΟΛΑΑΑΑ!!! 1. Ψευδώνυμα Πινάκων 2. Ένωση Πίνακα με τον εαυτό του 3. Ομαδοποίηση 4. Aggregated Functions (Συναρτήσεις Σύνοψης)

135 Aggregated Functions (Συνάρτηση Σύνοψης) Χρησιμοποιούνται αποκλειστικά σε ερωτήματα που υπάρχει ομαδοποίηση. Δίνουν διάφορες πληροφορίες για τις ομαδοποιημένες γραμμές. COUNT(*): πλήθος ομαδοποιημένων γραμμών. MIN(πεδίο): ελάχιστη τιμή των ομαδοποιημένων τιμών ενός πεδίου. MAX(πεδίο): μέγιστη τιμή των ομαδοποιημένων τιμών ενός πεδίου. AVG(πεδίο): μέσος όρος των ομαδοποιημένων τιμών ενός πεδίου. Για την εμφάνιση τους στον πίνακα αποτελέσματος, χρησιμοποιούμε ψευδώνυμα για κάθε μια από τις συναρτήσεις που χρησιμοποιούμε.

136 Παράδειγμα name lastname grade semester Στέλιος Μοσχογλου 9 3 Αντώνης Χρυσόπουλος 2 3 Θεοδόσης Σουργκούνης 3 5 Δημήτρης Μανώλας 7 3 Θάνος Κιντσάκης 10 5 Χριστίνα Αυδίκου 5 5 Κυριακή Καζά 10 5

137 Παράδειγμα (2) Ποια είναι η μέγιστη, η ελάχιστη και ο μέσος όρος βαθμολογίας κάθε εξαμήνου? SELECT semester, MIN(grade) AS mingrade, MAX(grade) AS maxgrade, AVG(grade) AS avggrade FROM people GROUP BY semester;

138 Αποτέλεσμα Παραδείγματος semester mingrade maxgrade avggrade

139 ΣΕ ΕΠΙΛΕΓΜΕΝΑ ΠΕΡΙΠΤΕΡΑ ΚΑΙ ΣΟΥΠΕΡ ΜΑΡΚΕΤ! 1. Ψευδώνυμα Πινάκων 2. Ένωση Πίνακα με τον εαυτό του 3. Ομαδοποίηση 4. Aggregated Functions (Συναρτήσεις Σύνοψης) 5. Υποερωτήματα

140 Υποερωτήματα Τα υποερωτήματα χρησιμοποιούνται κατα κύριο λόγο Στις ενώσεις πινάκων. Στο φιλτράρισμα του πίνακα αποτελέσματος. Εμείς θα δούμε το πιο απλό παράδειγμα, πως μπορούμε να φιλτράρουμε δεδομένα με χρήση υποερωτημάτων.

141 Παράδειγμα SELECT Album.name AS title, year, Studio.name AS recording_studio FROM Album WHERE studioid ΙΝ (SELECT studioid FROM Studio WHERE location = Greece );

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

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL Αντώνης Χρυσόπουλος Χριστίνα Αυδίκου Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL MySQL For Pros Διαλέχτε, καλέ κυρία, Διαλέχτε 1. Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN

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

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

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης MYSQL PHP ADVANCED. Χέρι χέρι με τον Καρατζαφέρη Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης MYSQL PHP ADVANCED Χέρι χέρι με τον Καρατζαφέρη Τα μάθατε καλέ κυρία? 1. Ψευδώνυμα Πινάκων 2. Ένωση Πίνακα με τον εαυτό του 3. Ομαδοποίηση 4.

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

Αντώνης Χρυσόπουλος Χριστίνα Αυδίκου Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΕΙΣΑΓΩΓΗ ΣΤΗΝ MYSQL. MySQL For Dummies

Αντώνης Χρυσόπουλος Χριστίνα Αυδίκου Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΕΙΣΑΓΩΓΗ ΣΤΗΝ MYSQL. MySQL For Dummies Αντώνης Χρυσόπουλος Χριστίνα Αυδίκου Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΕΙΣΑΓΩΓΗ ΣΤΗΝ MYSQL MySQL For Dummies Δείτε απόψε στον Κινηματογράφο «Αντιγόνη» 1. Βάσεις Δεδομένων 2. Πίνακες, Στήλες, Πεδία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

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

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

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

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

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

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

Τμήμα Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ Εισαγωγή στη MySQL Νικόλαος Ζ. Ζάχαρης Τι είναι η MySql Είναι ένα Σχεσιακό Σύστημα Διαχείρισης

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

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

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

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

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

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

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

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

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

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

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

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

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

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΔΟΜΗΣΗ ΚΩΔΙΚΑ. Μαθαίνω παίζοντας

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΔΟΜΗΣΗ ΚΩΔΙΚΑ. Μαθαίνω παίζοντας Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΔΟΜΗΣΗ ΚΩΔΙΚΑ Μαθαίνω παίζοντας Σήμερα παιδάκια μου θα μάθουμε... 1. Δόμηση Κώδικα 2. Στυλ Κώδικα 3. Συνεργασία Σε Ομάδες - Διαχωρισμός Σε Αρχεία

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

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

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

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

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

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

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

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9; ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ 4.10 Επαναφέρετε πάλι το είδος 20 (όλο το στιγμιότυπο) στον πίνακα products με τις εντολές INSERT INTO. 4.11 Διαγράψτε το είδος 12 (όλο το στιγμιότυπο) στον πίνακα products και επαναφέρετε

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

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

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

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

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

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

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

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

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

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

databases linux - terminal (linux / windows terminal)

databases linux - terminal (linux / windows terminal) databases linux - terminal (linux / windows terminal) 1) ανοίγουμε την mysql -> $ mysql -u root -p (enter) password (enter) TIP: αν κατά την εντολή αυτή μας γράψει, ERROR 2002 (HY000): Can't connect to

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

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

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

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

PHPMyAdmin: Σύντομος οδηγός για αρχάριους 2014 PHPMyAdmin: Σύντομος οδηγός για αρχάριους Καρούσος Νικόλαος Επιστημονικός Συνεργάτης Παρασκευά Σταυρούλα Φοιτήτρια, Εργαστηριακή Βοηθός, τμήμα ΕΠΔΟ Μεσολογγίου 33 Έκδοση 1.1 Πρόλογος... - 2-1. Είσοδος

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

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

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

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΛΙΛΙΤΣΗΣ ΠΡΟΔΡΟΜΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών Βάσεων

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

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

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

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΔΕΣΠΟΙΝΑ ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ dpap@unipi.gr 2 ΤΙ ΕΙΝΑΙ Η SQL? (1/2) Η SQL (Structured Query Language) αποτελεί μια πρότυπη

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

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΓΙΑΝΝΗΣ ΑΓΑΘΑΓΓΕΛΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL SQL SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών

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

1 / 97

1 / 97 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα προβολής, επιλέγοντας στήλες από ένα πίνακα

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

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

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ενημέρωση βάσης δεδομένων με τις εντολές INSERT, DELETE, UPDATE Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

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

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

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015 Βάσεις Δεδομένων Εργαστήριο ΙV Τμήμα Πληροφορικής ΑΠΘ 2014-2015 2 Σκοπός του 4 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων σύνδεσης η μελέτη ερωτημάτων συνάθροισης 3 Εκφράσεις

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

1 / 87

1 / 87 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 87 Δυο λόγια για την SQL Υλοποίηση του σχεσιακού μοντέλου δεδομένων του E.F. Codd, αρχικά ως DSl/Alpha, αργότερα

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

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

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 7 Γλώσσα Ερωτημάτων SQL Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Σχεσιακή

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

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

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

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

Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 55 Περιεχόμενα 1 Απλά υποερωτήματα

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

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

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (3) ER Σχεσιακό Create Tables 1/4 CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL, AM INT(5)

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Πτυχιακή Εργασία Θέμα Διαδικτυακή Μουσική Εγκυκλοπαίδεια με PHP & MySQL Πιστόλας Κωνσταντίνος, Α.Μ : 119/03 Κάκαρης Παντελής, Α.Μ : 88/03 Εξεταστική

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

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα - ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastnamevarchar(25)

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

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Server-side programming

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

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

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

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

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

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη

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

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

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

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

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

Τμήμα Πληροφορικής ΑΠΘ 2013-2014 Βάσεις Δεδομένων Εργαστήριο V Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 5 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων τροποποίησης δομής / δεδομένων η μελέτη σύνθετων ερωτημάτων

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

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

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

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL) Βασικές Εντολές SQL Θεωρία & Εντολές SQL Γραμμή Εντολών MS-DOS (MySQL) Ο καλός σχεδιασμός μιας Β.Δ είναι σημαντικός για την ανάπτυξη μιας εφαρμογής με υψηλή απόδοση. Γι αυτό τον λόγο μια Β.Δ θα πρέπει

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

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

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Περιεχόμενα 1 Γενική περιγραφή του προβλήματος 2 Μοντελοποίηση Ο/Σ 3 Σχεσιακό μοντέλο, SQL 4 Ερωτήματα

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

PHP/MySQL και Project

PHP/MySQL και Project PHP/MySQL και Project Μια απλή διαδικτυακή εφαρμογή Γεώργιος Ευαγγελίδης Τμήμα Εφαρμοσμένης Πληροφορικής Σχολή Επιστημών Πληροφορίας Πανεπιστήμιο Μακεδονίας Περιεχόμενα PHP (Middle tier) Διαδικτυακές εφαρμογές

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

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. 3. Η υλοποίηση απλών ερωτημάτων mysql

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

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

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

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

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

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

Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ PHP. PHP 2: The Return of PHP Η Δευτέρα Παρουσίαση

Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ PHP. PHP 2: The Return of PHP Η Δευτέρα Παρουσίαση Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ PHP PHP 2: The Return of PHP Η Δευτέρα Παρουσίαση Παρακαλώ τι θα πάρετε? 1. Βασικές Οδηγίες 2. Μεταβλητές 3.

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

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004 Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004 Θέλουµε να φτιάξουµε µια βάση στην οποία θα καταχωρούνται οι φοιτητές του τµήµατος Μαθηµατικών,

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

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

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

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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη My (1) Η (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομενων Είναι δομημένη σε βάσεις που περιέχουν πίνακες Οι πίνακες αποτελούνται από γραμμές

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

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

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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

DISTINCT, LIKE, NULL, AND, OR, BETWEEN Περισσότερα για τα απλά ερωτήματα SQL DISTINCT, LIKE, NULL, AND, OR, BETWEEN Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 66 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

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

XAMPP Apache MySQL PHP javascript xampp

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

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

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

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

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

Προγραμματισμός Παγκόσμιου Ιστού

Προγραμματισμός Παγκόσμιου Ιστού Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Προγραμματισμός Παγκόσμιου Ιστού 10 η Διάλεξη Δημοσθένης Κυριαζής Δευτέρα 22 Μαΐου 2017 Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης SQL Δημιουργία ΒΔ Δημιουργία

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

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

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

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

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

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

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

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

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου ΕΣΔ 516 Τεχνολογίες Διαδικτύου Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία [Lane 2004]: Chapter

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

Ερωτήματα SQL με σύζευξη πινάκων ΜΗ ΕΙΝΑΙ ΒΑΣΙΛΙΚΗΝ ΑΤΡΑΠΟΝ ΕΠΙ ΓΕΩΜΕΤΡΙΑΝ Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 30 Σκοπός του μαθήματος Εκτελείτε ερωτήματα ανάσυρσης δεδομένων από

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

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

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα -ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25)

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

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

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

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

Εργαστήριο 9. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας

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

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

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

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

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

Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers CREATE TRIGGER Δήλωση δημιουργίας Trigger: CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Καθ.: Νίκος Τσαπατσούλης ΥΠΟΔΕΙΓΜΑ

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

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. Για το κείμενο των προδιαγραφών της

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

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

Ηλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 2. Διαφάνεια 1. Κάπαρης Αναστάσιος Βάσεις Δεδομένων Εργαστήριο 2 Διαφάνεια 1 Πώς να δημιουργήσω μια συσχέτιση ένα προς πολλά στην ACCESS; Η απάντηση στο παραπάνω θέμα, θα δοθεί μέσα από ένα παράδειγμα μιας μικρής βάσης δεδομένων. Το μοντέλο

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python

10 η Διάλεξη Python Βάσεις δεδομένων στη python 10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων

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

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

a. Επιλέγουμε τις γραμμές προς διαγραφή a. Επιλέγουμε τις στήλες προς διαγραφή a. Γράφουμε σε μια στήλη μια σειρά από αριθμούς ή αλφαριθμητικά Τρίτο μάθημα Excel 1. Προσθήκη γραμμών a. Δίνουμε δεξί κλικ πάνω στην γραμμή όπου μας ενδιαφέρει να εισάγουμε νέα γραμμή b. Πατάμε εισαγωγή c. Μια νέα γραμμή εισάγεται 2. Προσθήκη στηλών a. Δίνουμε δεξί

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

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Επιμέλεια: Καρβούνης Ευάγγελος, PhD, Επιστημονικός Συνεργάτης του Τμήματος Αντωνιάδης Νικόλαος, Καθηγητής Οκτώβριος

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

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~ Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Ροή Δεδομένων

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

Τεχνολογία Πολιτισμικού Λογισμικού

Τεχνολογία Πολιτισμικού Λογισμικού Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Τεχνολογία Πολιτισμικού Λογισμικού Ενότητα 10: Γλώσσα Ερωτημάτων SQL Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

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

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Χειμερινό Εξ. 2013-14 Επιμέλεια: Καρβούνης Ευάγγελος Οκτώβριος 2013 Περιεχόμενα 1 Σχεδιασμός Βάσης...

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΡΙΤΟ Foreign key, Index, DML Ερωτήµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Foreign Key... 1 Index... 4 DML Ερωτήµατα... 6 INSERT...

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

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος... Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...

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

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

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