Σχεσιακό Πρότυπο Δεδομένων

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

Download "Σχεσιακό Πρότυπο Δεδομένων"

Transcript

1 Βάσεις Δεδομένων Ι - 02 Σχεσιακό Πρότυπο Δεδομένων (Relational Data Model) (σύντομη παρουσίαση) Τύποι Δεδομένων Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας

2 Τι είναι τα Πρότυπα Δεδομένων; Είναι σημειογραφικά συστήματα που χρησιμοποιούμε για την περιγραφή δεδομένων. Τα πιο σημαντικά πρότυπα στα συστήματα βάσεων δεδομένων είναι το σχεσιακό πρότυπο και το πρότυπο των ημιδομημένων δεδομένων. Τα πρότυπα δεδομένων περιλαμβάνουν 3 βασικά συστατικά: Δομή Δεδομένων ΔΕΝ εννοούμε τις δομές δεδομένων του προγραμματισμού αλλά εννοιολογικά πρότυπα. Στο σχεσιακό πρότυπο η κύρια δομή δεδομένων είναι η σχέση/relation (ή πίνακας/table). Στο πρότυπο ημιδομημένων δεδομένων η κύρια δομή δεδομένων είναι οι ιεραρχικά φωλιασμένες ετικέτες (tags), με κλασικό αντιπρόσωπο τα XML δένδρα. Πράξεις επί των Δεδομένων Στις γλώσσες προγραμματισμού: πράξεις είναι οτιδήποτε μπορεί να προγραμματιστεί! Στο σχεσιακό πρότυπο έχουμε κύρια πράξεις πάνω σε πίνακες (σχεσιακή άλγεβρα) όπως π.χ. επιλογή των γραμμών που έχουν δεδομένη τιμή σε δεδομένη στήλη. Στο πρότυπο ημιδομημένων δεδομένων ακολουθούμε διαδρομές στο δένδρο, ζητάμε την τιμή δεδομένου κόμβου, κτλ Το πλήθος των επιτρεπτών πράξεων είναι μικρό. Αυτό οδηγεί σε απλές γλώσσες (πχ η SQL) Περιορισμοί στα Δεδομένα Στο σχεσιακό πρότυπο οι περιορισμοί μπορεί να είναι π.χ. στις δυνατές τιμές μιας στήλης. Στο πρότυπο ημιδομημένων δεδομένων μπορεί πχ κάποιος τύπος κόμβου να πρέπει να περιέχει δεδομένους άλλους κόμβους, πιθανώς και με συγκεκριμένη σειρά, κτλ. Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

3 Πρότυπα Δεδομένων (συνέχεια) Υπάρχουν και άλλα, λιγότερο διαδεδομένα πρότυπα δεδομένων στις ΒΔ όπως το αντικειμενοστραφές σχεσιακό πρότυπο όπου: οι τιμές που αποθηκεύονται μπορεί να είναι σύνθετες δομές παρά απλοί αριθμοί και αλφαριθμητικά (που είπαμε ότι ισχύει στις σχεσιακές ΒΔ) οι σχέσεις μπορεί να συνοδεύονται από μεθόδους (methods) όπως π.χ. στη C++ Είναι γεγονός ότι τα ημιδομημένα πρότυπα είναι πιο ευέλικτα από το σχεσιακό, ειδικά αν αναλογιστεί κανείς ότι στο ιεραρχικό πρότυπο μπορεί να ενσωματωθούν και δομές γράφων, που είναι πολύ χρήσιμες. Όμως, το σχεσιακό πρότυπο είναι περισσότερο διαδεδομένο καθώς: παρέχει αποδοτικούς τρόπους πρόσβασης σε τεράστιους όγκους δεδομένων η απλότητα του μοντέλου και το περιορισμένο πλήθος πράξεων στα δεδομένα έχουν οδηγήσει σε απλές γλώσσες προγραμματισμού που επιτρέπουν στους προγραμματιστές να μπορούν με απλές εντολές να κάνουν σχεδόν τα πάντα. λίγες γραμμές κώδικα SQL ισοδυναμούν με εκατοντάδες γραμμές C το περιορισμένο ρεπερτόριο εντολών της SQL μας επιτρέπει να γράψουμε αλγορίθμους βελτιστοποίησης των ερωτημάτων έτσι ώστε να προγραμματίζουμε με περισσότερο κατανοητή για εμάς σύνταξη αλλά τελικά να εκτελείται ο βέλτιστα διατυπωμένος για τον Η/Υ κώδικας. Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

4 Βασικές Αρχές Σχεσιακού Προτύπου (1/5) Η βασική δομή δεδομένων είναι ο πίνακας (table) δύο διαστάσεων που ονομάζεται σχέση (relation). Για παράδειγμα έστω η σχέση Movies (ταινίες): title year length genre Gone with the Wind drama Star Wars scifi Wayne's World comedy κάθε γραμμή αφορά σε μία ταινία κάθε στήλη αφορά σε μια ιδιότητα ταινίας Όπως θα δούμε παρακάτω, σχέσεις θεωρούνται επίσης και: τα αποτελέσματα ερωτήσεων (queries) είναι και αυτά προσωρινοί πίνακες οι όψεις (views) σχέσεις που υπολογίζονται όταν χρειάζονται ή και από πριν Οι στήλες μιας σχέσης ονομάζονται γνωρίσματα (attributes) (ή στήλες-columns) προσδιορίζουν το είδος πληροφορίας της εκάστοτε στήλης στο παράδειγμα: title, year, length (διάρκεια της ταινίας), genre (είδος ταινίας, π.χ. θρίλερ) Θεωρητικά, η σειρά των γνωρισμάτων δεν παίζει ρόλο (γιατί είναι σύνολο/set). Στην πράξη όμως πρέπει να τη γνωρίζουμε και αυτή καθορίζεται από το schema. Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

5 Βασικές Αρχές Σχεσιακού Προτύπου (2/5) Tο όνομα της σχέσης και το σύνολο των γνωρισμάτων της ονομάζονται σχήμα (schema) (στον πληθυντικό σχήματα schemata). ο τρόπος κωδικοποίησης ενός σχήματος είναι ο ακόλουθος π.χ. Movies(title, year, length, genre) το όνομα της σχέσης συνηθίζεται να το γράφουμε με κεφαλαίο πρώτο γράμμα το όνομα των γνωρισμάτων συνηθίζεται να το γράφουμε με μικρούς (πεζούς) χαρακτήρες Σε μια ΒΔ συνήθως έχουμε πολλές σχέσεις (σχήματα)! Το σύνολο των σχημάτων μιας ΒΔ ονομάζεται σχήμα της ΒΔ (database schema). Πρακτικά, ο ορισμός μια ΒΔ σημαίνει να ορίσουμε το schema της και αποτελεί τη σημαντικότερη εργασία σε ένα project που περιλαμβάνει ΒΔ. Οι γραμμές μιας σχέσης ονομάζονται πλειάδες (tuples) ή γραμμές (rows) ή εγγραφές (records) τρόπος γραφής μιας πλειάδας: (Star Wars, 1977, 124, scifi) πρέπει όμως να λέμε και σε ποια σχέση ανήκει! (εδώ στην σχέση Ταινίες) Σε κάθε γνώρισμα μιας σχέσης αντιστοιχεί ένα πεδίο τιμών δηλαδή ένας συγκεκριμένος πρωταρχικός τύπος, συνήθως αλφαριθμητικό ή αριθμός. δεν προβλέπεται αποθήκευση σύνθετων τύπων (όπως λίστες, πίνακες, κτλ) μέσα σε γνώρισμα στην καταγραφή του σχήματος μπορούμε να συμπεριλάβουμε και τύπους, ως εξής: π.χ. Movies(title:string, year:integer, length:integer, genre:string) Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

6 Βασικές Αρχές Σχεσιακού Προτύπου (3/5) Προεπιλεγμένη τιμή (default) είναι η τιμή που χρησιμοποιείται σε μια στήλη αν δεν γνωρίζουμε κάποια άλλη τιμή. Αν δεν έχουμε ορίσει default, τότε είναι το NULL. η προεπιλεγμένη τιμή μπορεί να υπολογίζεται τη στιγμή που χρειάζεται, όπως π.χ. με την τρέχουσα ημερομηνία και ώρα. Ισοδυναμία Αναπαραστάσεων Οι σχέσεις είναι σύνολα (sets) και όχι κατάλογοι άρα η σειρά των πλειάδων δεν παίζει ρόλο. Επίσης δεν παίζει ρόλο η σειρά των γνωρισμάτων αλλά (όπως ειπώθηκε) για πρακτικούς λόγους υιοθετούμε μια δεδομένη σειρά καθώς αυτή καθορίζει και τη σειρά των στηλών του πίνακα. Στιγμιότυπα Σχέσεων Το σύνολο των πλειάδων μιας σχέσης αποτελεί ένα στιγμιότυπο (instance) αυτής της σχέσης. πχ. ο πίνακας στη διαφάνεια 4 είναι ένα στιγμιότυπο της σχέσης Movies. Στην πορεία του χρόνου, καθώς π.χ. προσθέτουμε ταινίες στη σχέση Movies, προκύπτουν νέα στιγμιότυπα! Τα συμβατικά DBMS όμως διατηρούν μόνο μία εκδοχή της σχέσης: τις πλειάδες που βρίσκονται στη σχέση τώρα! Αυτό είναι το λεγόμενο τρέχον στιγμιότυπο. Υπάρχουν και οι χρονικές βάσεις δεδομένων που τηρούν παρελθούσες εκδοχές των δεδομένων! Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

7 Βασικές Αρχές Σχεσιακού Προτύπου (4/5) Κλειδιά Σχέσεων: το κλειδί (key) είναι ένα σύνολο γνωρισμάτων (συνήθως ένα μόνο γνώρισμα) της σχέσης για το οποίο δεν επιτρέπεται να υπάρχουν πλειάδες που να έχουν ίδια τιμή στα γνωρίσματα του κλειδιού. Για παράδειγμα: στη σχέση Φοιτητής, ο αριθμός μητρώου είναι κλειδί! (κάθε φοιτητής έχει διαφορετικό ΑΜ) στη σχέση Movies, έστω ότι ο συνδυασμός title και year είναι κλειδί (τα υπογραμμίζουμε). π.χ. Movies(title, year, length, genre) Θεωρούμε ότι δεν θα υπάρξουν ταινίες που θα κυκλοφορήσουν την ίδια χρονιά με ίδιο τίτλο! το year μόνο του δεν μπορεί να είναι κλειδί γιατί σε μια χρονιά κυκλοφορούν πολλές ταινίες! το title μόνο του δεν μπορεί να είναι κλειδί γιατί υπάρχουν ταινίες που έχουν ίδιο τίτλο ΠΡΟΣΟΧΗ: το κλειδί δεν ορίζεται με βάση το τρέχον στιγμιότυπο (δηλ. τα παρόντα δεδομένα) αλλά με βάση τα πιθανά στιγμιότυπα, δηλ. αυτά που θα προκύψουν μελλοντικά όταν θα καταχωρηθούν επιπλέον πλειάδες (δεδομένα). Συχνά δεν είναι εύκολο να οριστούν κλειδιά και επειδή τα σύνθετα κλειδιά με πολλά γνωρίσματα είναι δύσχρηστα, ορίζουμε τεχνητά κλειδιά (artificial keys). Τα τεχνητά κλειδιά συνήθως παίρνουν αυτόματα αριθμητικές τιμές 1, 2, 3, κ.ο.κ. ΠΡΟΣΟΧΗ: Η υιοθέτηση από μέρους μας ως κλειδιού ενός γνωρίσματος του οποίου η τιμή ΔΕΝ ελέγχεται 100% από εμάς, μακροπρόθεσμα εμπεριέχει ρίσκο! Έτσι εξηγείται γιατί κάθε φορέας έχει δικό του κωδικό (Αστ/κή Ταυτότητα, ΑΦΜ, ΑΜΚΑ, Τηλεφωνία, κτλ). Δεν είναι έτσι εξαρτημένος από τρίτους. Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

8 Βασικές Αρχές Σχεσιακού Προτύπου (5/5) Παράδειγμα Σχέσης - Σύνοψη title year length genre Gone with the Wind drama Star Wars scifi Wayne's World comedy Όνομα Σχέσης: Movies Γνωρίσματα: 4 title, year, length, genre Σχήμα: Movies(title, year, length, genre) Κλειδί: (title, year) (τα υπογραμμίζουμε στη σχέση) Πλειάδες: 3 Πεδία Τιμών: Movies(title:string, year:integer, length:integer, genre:string) Τονίζεται ξανά ότι αν και οι τίτλοι στις 3 ταινίες του παραπάνω στιγμιότυπου της σχέσης Movies είναι διαφορετικοί, δε σημαίνει ότι μόνος του ο τίτλος μπορεί να αποτελέσει κλειδί. Δεν αποφασίζουμε το κλειδί με βάση το τρέχον στιγμιότυπο αλλά με βάση το πιθανό μελλοντικό στιγμιότυπο (όταν δηλαδή θα καταχωρηθούν επιπλέον ταινίες). Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

9 Τύποι Δεδομένων - Αλφαριθμητικά Να τονιστεί ότι κάθε υλοποίηση RDBMS πιθανώς να ακολουθεί τη δική της οδό ως προς τον ακριβή ορισμό των τύπων δεδομένων που υιοθετεί. Παρακάτω γίνεται αναφορά στους βασικούς τύπους δεδομένων που πάνω-κάτω υπάρχουν σε όλα τα RDBMS και γίνεται επιπλέον ειδική αναφορά στις όποιες ιδιαιτερότητες του MySQL RDBMS. Ανάλογα με την πλατφόρμα στην οποία δουλεύετε, να συμβουλεύστε την τεκμηρίωσή της (documentation, manuals). Για MySQL δείτε εδώ: Αλφαριθμητικά σταθερού μήκους: CHAR(N) όπου Ν ακέραιος ως 255 Τα χρησιμοποιούμε σε περιπτώσεις που το μήκος των δεδομένων που θέλουμε να καταχωρούμε είναι το πολύ Ν χαρακτήρες και δεν υπάρχει μεγάλη απόκλιση από αυτό το μήκος. Λέμε σταθερού μήκους γιατί ότι και να καταχωρηθεί σε μια στήλη τέτοιου τύπου, θα καταλάβει χώρο Ν χαρακτήρων. Οπότε: ο αριθμός ταυτότητας είναι ένα καλό παράδειγμα: έχει μήκος 8 πάντα ο τίτλος ταινίας δεν είναι καλό παράδειγμα! υπάρχει μεγάλο εύρος τιμών στο πιθανό μήκος του Αλφαριθμητικά μεταβλητού μήκους: VARCHAR(N) όπου Ν ακέραιος ως τουλάχιστον 255 Χρήση σε περιπτώσεις που το μήκος των δεδομένων που θέλουμε να καταχωρούμε είναι το πολύ Ν χαρακτήρες και υπάρχει μεγάλη απόκλιση από αυτό το μήκος στα μήκη των αλφαριθμητικών που καταχωρούνται. Σε MySQL, αν Ν>255 τότε γίνεται TEXT (βλ. slide #10) Δηλαδή, ο τύπος VARCHAR είναι πιο οικονομικός σε αποθηκευτικό χώρο από τον CHAR. O δεύτερος όμως είναι πιο γρήγορα διαχειρίσιμος από το RDBMS (λόγω του σταθερού μήκους!). Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

10 Τύποι Δεδομένων Αλφαριθμητικά & Binary TEXT: για μεγάλα non-binary αλφαριθμητικά ( παραλλαγές του: TINYTEXT (2 8 bytes = 255 χαρακτήρες), TEXT (2 16 bytes = 64KΒ), MEDIUMTEXT (2 24 bytes = 2GB), LARGETEXT (2 32 bytes = 4GB) BINARY(n) και VARBINARY(n) για αλληλουχίες bit (binary αλφαριθμητικά) μήκους ως n στη λογική των τύπων CHAR και VARCHAR BLOB: (Binary Large Object) για binary αλφαριθμητικά και γενικά binary data (πχ εικόνες) παραλλαγές του (σε παρόμοια λογική με το TEXT): TINYBLOB, BLOB, MEDIUMBLOB, LARGEBLOB Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

11 Έστω η λέξη 'ποδήλατο' Τύποι Δεδομένων - Αλφαριθμητικά σε γνώρισμα τύπου varchar(12) θα αποθηκευτεί ακριβώς η λέξη 'ποδήλατο' σε γνώρισμα τύπου char(12) θα αποθηκευτεί η λέξη και 4 κενά (spaces): 'ποδήλατο ' ΠΡΟΣΟΧΗ: Αν επιχειρήσουμε να αποθηκεύσουμε αλφαριθμητικό μεγαλύτερο από το διαθέσιμο χώρο, οι επιπλέον χαρακτήρες χάνονται! Τεχνικές Λεπτομέρειες: Στη γλώσσα SQL τα αλφαριθμητικά οριοθετούνται με μονά εισαγωγικά (και όχι με διπλά που συνηθίζεται στον προγραμματισμό). Σε MySQL, αν κάποιος χαρακτήρας του αλφαριθμητικού είναι το μονό εισαγωγικό τότε πρέπει να μπει escaped. Αυτό σημαίνει να βάλουμε αριστερά του τον χαρακτήρα \ (backslash). πχ. το 'Jane's World' σε μια έκφραση SQL θα γραφεί ως 'Jane\'s World' ΠΡΟΣΟΧΗ: Δεν γίνεται σε όλα τα RDBMS με τον ίδιο τρόπο! Δείτε προσεκτικά τα γραφόμενα σε επόμενα slides (#16, #17) με τίτλο: Binary και non-binary Τύποι Αλφαριθμητικών Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

12 Τύποι Δεδομένων Boolean και Ακέραιοι BOOLEAN: για λογικές τιμές TRUE (ή 1), FALSE (ή 0) INT ή INTEGER για ακεραίους. Ανάλογα με το εύρος τιμών των αριθμών που θα αποθηκεύσουμε ίσως είναι καλύτερα μια εξειδίκευση αυτού του τύπου (βλ. πίνακα δεξιά με τι ισχύει σε MySQL). Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

13 Τύποι Δεδομένων Δεκαδικοί Αριθμοί Αριθμοί με υποδιαστολή: Σταθερής υποδιαστολής (ή ακριβούς τιμής): τύπος DECIMAL (ή NUMERIC) η αναπαράσταση αριθμών με τύπο DECIMAL είναι ακριβής και μαθηματικές πράξεις με αυτούς είναι επίσης ακριβείς. Για παράδειγμα, αν προσθέσουμε 1000 φορές το θα πάρουμε 1 και όχι κάποιο δεκαδικό πολύ κοντά στο 1 (όπως πχ ) χρησιμοποιούνται όταν είναι σημαντικό να υπάρχει ακριβής αναπαράσταση αριθμών, όπως για παράδειγμα σε χρηματικά ποσά (fixed-point types ή exact value types). σύνταξη: DECIMAL(n,d) όπου n το πλήθος των ψηφίων εκ των οποίων d είναι τα δεκαδικά γενικά ισχύει 0 d n και ειδικότερα σε MySQL το d μπορεί να είναι από 0 ως 30. Παραδείγματα: το απαιτεί δήλωση DECIMAL(6,2) (6 ψηφία, τα 2 δεκαδικά) ενώ μια δήλωση DECIMAL(5,2) επιτρέπει αριθμούς από ως (5 ψηφία, τα 2 δεκαδικά) Κινητής υποδιαστολής (ή προσεγγιστικής τιμής): τύποι FLOAT (ή REAL) σε MySQL επιτρέπεται δήλωση ψηφίων όπως στον τύπο DECIMAL αλλά για λόγους συμβατότητας με άλλες πλατφόρμες καλύτερα να το αποφεύγετε η αναπαράσταση αριθμών με τύπους κινητής υποδιαστολής δεν είναι ακριβής (floating-point types ή approximate value types) και γι αυτό πρέπει να αποφεύγονται συγκρίσεις ισότητας πχ σε FLOAT(7,4) αποθηκεύονται αριθμοί ως Αν επιχειρήσουμε να αποθηκεύσουμε τον αριθμό θα αποθηκευτεί o τύπος DOUBLE χρησιμοποιείται για δεκαδικούς υψηλότερης ακρίβειας καθώς δεσμεύει διπλάσια bytes αποθηκευτικού χώρου (8 έναντι 4) Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

14 Τύποι Δεδομένων - Ημερομηνίες Χρονικά Δεδομένα: Ο τύπος DATETIME πχ.' :25:59.5' δηλ συνδυασμός ημ/νίας και ώρας κωδικοποίηση: YYYY-MM-DD HH:MM:SS υποστηρίζει τιμές από :00:00 ως :59:59 O τύπος DATE είναι κατάλληλος όταν δεν ενδιαφέρει η ώρα κωδικοποίηση: YYYY-MM-DD υποστηρίζει τιμές από ως Ο τύπος TIME είναι κατάλληλος όταν δεν ενδιαφέρει η ημερομηνία κωδικοποίηση: ΗΗ:ΜΜ:SS (ώρες:λεπτά:δεύτερα) υποστηρίζει τιμές από -838:59:59 ως 838:59:59 Ο τύπος TIMESTAMP χρησιμοποιείται για να καταγράφεται η χρονική στιγμή δημιουργίας (ή και μεταβολής, σε πρόσφατες εκδόσεις MySQL) μιας εγγραφής σε ένα πίνακα! Παλιά, ο τύπος TIMESTAMP έπρεπε να συνοδεύεται από την default τιμή current_timestamp. Πλέον μπαίνει αυτόματα το: current_timestamp on update current_timestamp Χρήσιμο τύπος για λειτουργίες καταγραφής (auditing), όταν δηλαδή θέλουμε να καταγράψουμε αυτόματα πχ πότε έγινε μια καταχώριση σε ένα πίνακα. YEAR: Ειδικός τύπος για έτη (με δύο ή τέσσερα ψηφία). Είναι ακέραιος 1 byte. εύρος τιμών σε τετραψήφια εκδοχή: από 1901 ως 2155 εύρος τιμών σε διψήφια εκδοχή: 70 ως 69 εννοώντας δηλαδή 1970 ως 2069 Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

15 Τύποι Δεδομένων Σύνολα Τιμών ENUM: αλφαριθμητικός τύπος αλλά με τις δυνατές τιμές του να προέρχονται από το κλειστό σύνολο τιμών που ορίζεται κατά τη φάση δήλωσης του τύπου (ή NULL). π.χ. αν θέλουμε ένα γνώρισμα με όνομα size να παίρνει τιμές small, medium ή large τότε θα το δηλώσουμε ως εξής: size ENUM('small', 'medium', 'large') σε MySQL, το σύνολο τιμών μπορεί να περιέχει ως 2 16 τιμές (65535) SET: αλφαριθμητικός τύπος αλλά με τις δυνατές τιμές του να είναι το κενό αλφαριθμητικό (empty string '') ή οποιοσδήποτε συνδυασμός στοιχείων (χωρισμένα με κόμμα) από το σύνολο τιμών που ορίζεται κατά τη φάση δήλωσης του τύπου. π.χ. η ακόλουθη δήλωση για το γνώρισμα test: test SET('one', 'two') NOT NULL επιτρέπει την καταχώριση τιμών όπως: '', 'one', 'two', 'one,two' το σύνολο επιτρεπτών τιμών δέχεται ως 64 στοιχεία, το πολύ ---==! ΠΡΟΣΟΧΗ!==--- Για τις απαιτήσεις μνήμης των διαφόρων τύπων δεδομένων αλλά και τις τυχόν ιδιαιτερότητες στην υλοποίησή τους στο εκάστοτε RDBMS, να συμβουλεύεστε την τεκμηρίωση του εκάστοτε συστήματος. Για MySQL δείτε τη σελίδα: Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

16 Binary και non-binary Τύποι Αλφαριθμητικών (1/2) τα παρακάτω αφορούν στην υλοποίηση του MySQL Server (είναι αρκετά τεχνικές έννοιες αλλά βασικές για όποιο θέλει να γίνει 'pro') Non-binary string data types: CHAR, VARCHAR, TEXT (και παραλλαγές του) εδώ υπάρχουν οι έννοιες character set και collation character set: το σύνολο χαρακτήρων που υποστηρίζονται επίσης καθορίζει το πόσα bytes αποθηκευτικού χώρου καταλαμβάνει κάθε χαρακτήρας καθώς υπάρχουν χαρακτήρες του ενός byte αλλά και χαρακτήρες πολλών bytes (multi-byte characters) και μάλιστα σταθερού ή μεταβλητού αριθμού bytes. π.χ. το utf8 Unicode σύνολο χαρακτήρων χρειάζεται 1 ως 3 bytes ανά χαρακτήρα collation: καθορίζει την σειρά ταξινόμησης των χαρακτήρων σε ένα character set και έτσι χρησιμοποιείται στις συγκρίσεις αλφαριθμητικών. Επίσης καθορίζει το κατά πόσο τα αλφαριθμητικά θα θεωρούνται case-sensitive ή case-insensitive και αυτό φαίνεται στο όνομα του collation (π.χ. utf8_general_ci, utf8_general_cs). Το collation μπορεί να είναι και binary (π.χ. utf8_bin) στην οποία περίπτωση η σειρά των χαρακτήρων καθορίζεται από την τιμή των byte και όχι το τι αναπαριστούν (πχ το 'a' ως byte value είναι το 61). Άρα ένα binary collation είναι υποχρεωτικά case-sensitive γιατί π.χ. τα byte values των 'A' και 'a' διαφέρουν! Binary string data types: BINARY, VARBINARY, BLOB (και παραλλαγές του) τα binary strings ΔΕΝ έχουν character set και collation καθώς πρόκειται για αλληλουχίες από byte values άρα είναι case-sensitive καθώς τα byte values μικρών και κεφαλαίων διαφέρουν δεν υπάρχει η έννοια του multi-byte χαρακτήρα το string είναι αλληλουχία από byte values! Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

17 Binary και non-binary Τύποι Αλφαριθμητικών (2/2) Τι τύπο αλφαριθμητικού να χρησιμοποιήσω? Αν πρόκειται να αποθηκεύσουμε δεδομένα που είναι κείμενο (πχ ονόματα, ειδησεογραφία, καταχωρήσεις σε κάποιο blog, περιγραφές προϊόντων, κτλ) τότε πρέπει να επιλέξουμε ένα non-binary string data type, δηλαδή CHAR, VARCHAR, TEXT (και τις παραλλαγές του). Σε MySQL server (αντίθετα απ'ότι σε άλλα RDBMS), η σύγκριση τέτοιων αλφαριθμητικών γίνεται χωρίς διάκριση μικρών-κεφαλαίων. Αν θέλουμε διάκριση τότε βάζουμε στο πεδίο και τη ρύθμιση BINARY (βλ. slide 20, το BIN checkbox) Αν πρόκειται να αποθηκεύσουμε δεδομένα τα οποία δεν είναι κείμενο αλλά αλληλουχίες από bytes (όπως πχ τα δεδομένα που συνιστούν μια εικόνα) τότε πρέπει να επιλέξουμε κάποιο τύπο binary string, δηλαδή: BINARY, VARBINARY, BLOB (και τις παραλλαγές του). Με αυστηρή θεώρηση στο θέμα οικονομίας αποθηκευτικού χώρου, η επιλογή multibyte συνόλου χαρακτήρων όταν η δουλειά μπορεί να γίνει και με single byte character set, αποτελεί σπατάλη χώρου! Για παράδειγμα, έστω ο τύπος CHAR(10): καταλαμβάνει 10 bytes αποθηκευτικού χώρου σε single-byte character set όπως πχ σε latin1 καταλαμβάνει 30 bytes αποθηκευτικού χώρου σε multi-byte character set (πχ σε utf8 3 byte) Πηγή: Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

18 SQL Structured Query Language Δομημένη Γλώσσα Ερωτήσεων Με βάση τη χρήση διακρίνουμε δύο κύρια μέρη: DDL: Data Definition Language (Γλώσσα Δήλωσης των Δεδομένων) περιλαμβάνει τις εντολές για δημιουργία και διαχείριση βάσεων δεδομένων (κατασκευή πινάκων, ευρετηρίων, μεταβολές στα γνωρίσματα πινάκων, κτλ) τις χρησιμοποιούμε αρχικά στη σχεδίαση και μετέπειτα σε εργασίες συντήρησης DQL: Data Query Languare (Γλώσσα Ερωτήσεων στα Δεδομένα) περιλαμβάνει τις εντολές για δημιουργία ερωτήσεων τις χρησιμοποιούμε από τη στιγμή που η ΒΔ μπαίνει σε παραγωγική χρήση Θα δούμε στη συνέχεια παραδείγματα εντολών από το κομμάτι DDL της SQL. Oι εντολές που θα δείτε στα επόμενα slides, στο εργαστήριο προκύπτουν ως αποτέλεσμα της χρήσης του Workbench. Μπορείτε όμως να δημιουργήσετε μια άδεια database και να δοκιμάσετε πάνω της τις παρακάτω εντολές γράφοντάς τες με το χέρι στον sql editor και εκτελώντας τες. Θα δούμε περισσότερη SQL σε μελλοντικά μαθήματα και εργαστήρια. Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

19 CREATE TABLE Movies ( title char(100), year INT, length INT, genre char(10), studioname char(30), producerc int ); DROP TABLE Movies; προσθήκη και διαγραφή γνωρισμάτων Παραδείγματα SQL (DDL) CREATE TABLE MovieStars ( name char(30), address varchar(255), gender char(1) DEFAULT '?', birthdate date ); (το κόκκινο δεν είναι υποχρεωτικό) ALTER TABLE MovieStar ADD phone char(16); ALTER TABLE MovieStar DROP birthdate; CREATE TABLE MovieStars ( CREATE TABLE MovieStars ( name char(30) PRIMARY KEY, name char(30), address varchar(255), address varchar(255), gender char(1), gender char(1), birthdate date birthdate date, ); PRIMARY KEY (name) ); Όταν ορίζουμε πρωτεύον κλειδί σε σχέση, ταυτόχρονα δημιουργείται εξ ορισμού ένα ευρετήριο (το PRIMARY INDEX). Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

20 Ρυθμίσεις Γνωρισμάτων σε Workbench (1/2) (για τα πρώτα εργαστήρια) Σε αυτό το παράδειγμα, δείτε την επίδραση που έχουν στον παραγόμενο SQL κώδικα τα διάφορα στοιχεία της διεπαφής του MySQL Workbench για τη ρύθμιση στηλών. CREATE TABLE Table1 ( democolumn1 INT UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, democolumn2 VARCHAR(45) BINARY NOT NULL DEFAULT 'abcd', PRIMARY KEY (democolumn1, democolumn2), UNIQUE INDEX democolumn_unique (democolumn1 ASC), UNIQUE INDEX democolumn2_unique (democolumn2 ASC) ); Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

21 Ρυθμίσεις Γνωρισμάτων σε Workbench (2/2) (τα επόμενα αφορούν στην εικόνα του slide #20) (για τα πρώτα εργαστήρια) PK: ορίζουμε ότι το γνώρισμα συμμετέχει στον ορισμό του πρωτεύοντος κλειδιού του πίνακα (Primary Key). Το πρωτεύον κλειδί είναι πάντα ΕΝΑ αλλά μπορεί να αποτελείται από περισσότερα από ένα γνωρίσματα. NN: ορίσουμε ότι το γνώρισμα δεν θα μείνει χωρίς τιμή (Not Null). Τα γνωρίσματα που συμμετέχουν στο πρωτεύον κλειδί υποχρεωτικά πρέπει να έχουν τιμή (γι'αυτό το NN τους τσεκάρεται αυτόματα). UQ: ζητάμε ευρετήριο τύπου UNIQUE στο γνώρισμα (βλέπε και επόμενο slide). BIN: ζητάμε τα πεζά και κεφαλαία γράμματα να θεωρούνται διαφορετικά, σε πεδία τύπου CHAR, VARCHAR και TEXT (και τις παραλλαγές του) UN: ζητάμε μόνο θετικούς (unsigned) ακεραίους. Αφορά σε πεδία τύπου INT (και τις παραλλαγές του). Επηρεάζει το επιτρεπτό εύρος τιμών (βλέπε slide #12). ZF: ρύθμιση μορφοποίησης (αγνοήστε την!) AI: ζητάμε το γνώρισμα (τύπου INT ή παραλλαγών αυτού) να παίρνει αυτόματα τιμές (Auto Incremental). Πολύ χρήσιμο καθώς μέσω αυτής της ρύθμισης φτιάχνουμε τεχνητά πρωτεύοντα κλειδιά! Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

22 Ευρετήρια (Indexes) & Workbench (για τα πρώτα εργαστήρια) Στην καρτέλα Columns στο Workbench (βλ. slide 20) τα checkboxes UQ ορίζουν ευρετήριο στο εκάστοτε γνώρισμα, που όμως είναι τύπου UNIQUE, δηλαδή δεν θα επιτρέπονται ίδιες τιμές σε αυτό το γνώρισμα, σε διαφορετικές πλειάδες. π.χ. αν το πεδίο είναι για καταχώριση του επώνυμου, δεν θα επιτρέπονται ίδια επώνυμα! μην το μπερδεύετε με το PRIMARY INDEX που προκύπτει από τον ορισμό κλειδιού Υπάρχει δυνατότητα ορισμού επιπλέον τύπων ευρετηρίου στην καρτέλα Indexes. Στην διπλανή εικόνα π.χ. ορίζεται ένα απλό (μίας στήλης) ευρετήριο τύπου INDEX που (σε αντίθεση με το τύπου UNIQUE) επιτρέπει ίδιες τιμές στο γνώρισμα stusurname. Τα ευρετήρια επιταχύνουν τις αναζητήσεις (select) αλλά επιβραδύνουν τις μεταβολές (insert, update, delete) Περισσότερα στo PDF 06. Φ. Κόκκορας / Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Βάσεις Δεδομένων Ι

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

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

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

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

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

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

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

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

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 3 ο (26/11/2008) Εισαγωγή στην Mysql SQL Η SQL (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομένων. Είναι δομημένη σε βάσεις που περιέχουν πίνακες.

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

Lecture 12: SQL DDL I

Lecture 12: SQL DDL I Department of Computer Science University of Cyprus EPL342 Databases Lecture 12: SQL DDL I SQL Data Definition Language (Chapter 6.1, Elmasri-Navathe 7ED) + ΤransactSQL Reference Guide http://msdn.microsoft.com/en-us/library/bb510741.aspx

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 03 SQL Μέρος 1 ο Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Γιατί SQL; Η SQL είναι γλώσσα πολύ υψηλού επιπέδου Επιτρέπει να λέμε εύκολα τι θέλουμε να κάνουμε

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ 2015-2016 Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος Τμήμα Πληροφορικής ΑΠΘ 2015-2016 2 Βασικοί στόχοι Μερικοί βασικοί στόχοι του εργαστηρίου είναι: Η ικανότητα ανάλυσης των απαιτήσεων, κατασκευής

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

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

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

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

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

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας Βάσεις Δεδομένων Ι 6 Ιδιότητες πεδίων Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Εισαγωγή Οι ιδιότητες των πεδίων διαφέρουν ανάλογα με

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

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

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

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

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

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

Βάσεις Δεδομένων Ι - 05. SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 05 SQL Μέρος 3 ο (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Πρόσθετες Διαφάνειες σε Προηγούμενα Θέματα...σε Διαγραφή Πλειάδων Σημασιολογία

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

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

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

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

Οδηγίες Βασικής Χρήσης του MySQL Workbench

Οδηγίες Βασικής Χρήσης του MySQL Workbench Φώτης Κόκκορας, Καθ. Εφαρμογών TEI Θεσσαλίας Τμήμα Μηχανικών Πληροφορικής ΤΕ 411 10, Λάρισα e-mail: fkokkoras@teilar.gr Έκδοση 2.3 (06/04/2014) Οδηγίες Βασικής Χρήσης του MySQL Workbench Στις επόμενες

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

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

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

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

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

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

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

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

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

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

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δομημένη Γλώσσα Ερωτήσεων SQL - DDL SQL Περίληψη SQL Τύποι δεδομένων DDL Δηλώσεις - Εντολές

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

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

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

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

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

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

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

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

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό Έτος 2010-2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου 1. Κωδικοποίηση και Δυαδική Αναπαράσταση 2. Κωδικοποίηση ASCII Κωδικοποίηση Unicode Εισαγωγή

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr Σχεδίαση και Χρήση Βάσεων Δεδομένων Χρήση του DBDesigner Γιώργος Πυρουνάκης - forky@di.uoa.gr Δομή Διαλέξεων Εισαγωγή στο DBDesigner Εφαρμογή στη ΒΔ Προμηθευτής-Προϊόντα Παραδείγματα μοντελοποίησης και

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

Τύποι δεδομένων, τελεστές, μεταβλητές

Τύποι δεδομένων, τελεστές, μεταβλητές Τύποι δεδομένων, τελεστές, μεταβλητές Βασικά στοιχεία της γλώσσας Η Java χαρακτηρίζεται από ένα αρκετά καλά οργανωμένο σύνολο εντολών κι ένα μέρος της επιτυχίας της οφείλεται στα διάφορα APIs (βιβλιοθήκες)

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

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

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

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2 ! Βρείτε το δεκαεξαδικό ισοδύναµο του σχήµατος µπιτ 110011100010 Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E 0010 2 Άρα το δεκαεξαδικό ισοδύναµο είναι CE2 2 !

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

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

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

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

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

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

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

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

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

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

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

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

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

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

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

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

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

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

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

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

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων Μοντέλο Δεδομένων:

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

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

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

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

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL 1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL Τύποι στην MySQL Κείμενο Αριθμοί Ημερομηνίες και ώρες Επιλογή του τύπου Στήλες ονομάτων τύπος κειμένου Στήλες ποσών ή ποσοτήτων Αριθμητικός τύπος Στήλες ημερομηνιών τύπος ημερομηνίας

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

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

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

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

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

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

Βάσεις δεδομένων. Δημιουργία και διαχείριση βάσης δεδομένων Βάσεις δεδομένων Δημιουργία και διαχείριση βάσης δεδομένων Περιεχόμενα Βάσεις δεδομένων Πίνακες Σχέσεις (...παρακάτω...) Ερωτήματα Φόρμες Εκθέσεις Δημιουργία και διαχείριση βάσης δεδομένων Βάσεις Δεδομένων

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

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

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

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

Φυσική Σχεδίαση Υλοποίηση βάσης

Φυσική Σχεδίαση Υλοποίηση βάσης ΕΣΔ330 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας Φυσική Σχεδίαση Υλοποίηση βάσης Περιεχόμενα Περιεχόμενα Εισαγωγή Μετασχηματισμός οντοτήτων Μετασχηματισμός συσχετίσεων Ακεραιότητα δεδομένων Παραδείγματα

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

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

Εισαγωγή στην Access 2007 Βάσεις Δεδομένων Ι 3 Εισαγωγή στην Access 2007 Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Βάση Δεδομένων και Access Ένα οργανωμένο σύνολο

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

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

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

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

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

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Εισαγωγή Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Περιορισμοί Σχεσιακού Μοντέλου και Σχεσιακά Σχήματα Πράξεις Ενημερώσεων

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( ) Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

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

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

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

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

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

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

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

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