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

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

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

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

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

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

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

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

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

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

Lecture 12: SQL DDL I

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

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

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

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

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

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

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

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Geographic Information System(GIS)

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

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

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

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

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

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

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

Information Technology for Business

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

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

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

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

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

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

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

Microsoft ACCESS ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ ECDL. Περιεχόμενα. Απόκτησε τώρα το δίπλωμα. για να θεωρείσαι Επαγγελματίας! 1 Κατανόηση Βάσεων. 2 Χρήση της Εφαρμογής

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

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

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

Θέμα: Versioning σε γεωγραφικές βάσεις δεδομένων

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

Διαχείριση Δεδομένων

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

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

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

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

Βάσεις δεδομένων και Microsoft Access

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

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

Δυναμικός Κατακερματισμός

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

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

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

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

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

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

Αυτοματοποιημένη χαρτογραφία

1.1. Βάσεις δεδομένων

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

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

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

Προγραμματισμός Ι (ΗΥ120)

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

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Δομημένος Προγραμματισμός (ΤΛ1006)

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

Transcript:

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

Τι είναι μια Βάση Δεδομένων Είναι μία συλλογή από συσχετιζόμενα δεδομένα τα οποία είναι οργανωμένα με τέτοιο τρόπο ώστε να είναι εύκολη η αναζήτηση και ανάκτηση της πληροφορίας. Μία βάση δεδομένων μπορεί να είναι σε πολλές μορφές, όπως : φυσικά αντικείμενα, για παράδειγμα, μια συλλογή από μηχανολογικά εξαρτήματα/ανταλλακτικά οργανωμένα ανά συσκευή που θα χρησιμοποιηθούν ή μέγεθος ή διάμετρο κ.λπ. έντυπη, για παράδειγμα ένας τηλεφωνικός κατάλογος που συσχετίζει ονόματα και τηλέφωνα και είναι οργανωμένος αλφαβητικά ώστε να είναι εύκολη η αναζήτηση των ονομάτων. ηλεκτρονική μορφή, όπως είναι όλες οι σύγχρονες βάσεις δεδομένων που υλοποιούνται σε υπολογιστή και ελέγχονται από λογισμικό που ονομάζεται Σύστημα Διαχείρισης Βάσεων Δεδομένων (DataBase Management System - DBMS)

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

Ενδεικτικά παραδείγματα DBMS Εταιρία ΙΒΜ DB2 Microsoft SQL Server Oracle MySQL PostgreSQL Ingress Microsoft Access FilemakerPro Διεύθυνση http://www.ibm.com/analytics/us/en/technology/db2/ https://www.microsoft.com/en-us/sql-server https://www.oracle.com/database/index.html https://www.mysql.com/ https://www.postgresql.org/ http://esd.actian.com/product/ingres/ https://products.office.com/en/access http://www.filemaker.com/

Πλεονεκτήματα από τη χρήση DBMS Επιτρέπουν τη λογική και δομημένη οργάνωση και συσχέτιση των δεδομένων της εταιρίας/οργανισμού. Προσφέρουν ένα αφαιρετικό επίπεδο ανάμεσα στο εννοιολογικό επίπεδο, το οποίο ορίζει τη λογική οργάνωση των δεδομένων, και στο φυσικό επίπεδο, που καθορίζει τη φυσική οργάνωση και αποθήκευση των δεδομένων και των ευρετηρίων, σε αρχεία στο δίσκο. Έχουν αποδοτικούς μηχανισμούς για να ισορροπούν τη χρήση των δεδομένων σε πολλές εφαρμογές. Παρέχουν σύνθετους μηχανισμούς που κλειδώνουν αυτόματα τα δεδομένα και παρέχουν ταυτόχρονη πρόσβαση σε πολλούς χρήστες. Παρέχουν ένα κεντρικό σημείο πρόσβασης όπου σε αυτό αποθηκεύονται τα δεδομένα και μπορούν να έχουν ελεγχόμενη πρόσβαση, στην ανάγνωση και τροποποίηση των πληροφοριών, πολλοί χρήστες. Προσφέρουν προγραμματιστική διεπαφή με σκοπό την ανάπτυξη εφαρμογών λογισμικού που θα κάνουν πρόσβαση στα δεδομένα.

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

Πρόσβαση στα δεδομένα Εφαρμογές Γλώσσες Προγραμματισμού Εφαρμογές Οπτικοποίησης και Ανάλυσης Βάση Δεδομένων Εξυπηρετητής Διαδικτύου Ιστοσελίδες Εργαλεία του κατασκευαστή

Πρόσβαση στα δεδομένα Εντολές/Ενέργειες Διεπαφή Χρήστη Αμορφοποίητα Δεδομένα Εντολές SQL Εμφάνιση Πληροφορίας Μορφοποιημένα Δεδομένα Συγκεντρωτικά Στοιχεία Γραφήματα Δεδομένα Βάση Δεδομένων Η διεπαφή μετατρέπει τις ενέργειες του χρήστη σε εντολές SQL (Structured Query Language) και τις αποστέλλει στη Βάση Δεδομένων και αφού παραλάβει τα δεδομένα εν συνεχεία τα μετατρέπει σε πληροφορία για το χρήστη.

Structured Query Language (SQL) H SQL είναι η μια γλώσσα που έχει σαφώς ορισμένη σύνταξη και σχεδιάστηκε για την διαχείριση των δεδομένων σε μια σχεσιακή βάση δεδομένων, με σκοπό να : Ορίσουμε τη δομή, το είδος, το μέγεθος, τις συσχετίσεις καθώς και τους κανόνες για την ακεραιότητα των δεδομένων Να κάνουμε ερωτήσεις και να πάρουμε αποτελέσματα. Να τροποποιήσουμε τα δεδομένα κάνοντας εισαγωγή, διαγραφή, αλλαγή των τιμών Να ελέγξουμε την ασφάλεια των δεδομένων, ορίζοντας τους χρήστες και τις ενέργειες που μπορούν να κάνουν πάνω στα δεδομένα. Σήμερα η SQL είναι πρότυπο (ANSI SQL 2011 και ISO/IEC 9075:2011) και είναι η πιο ευρέως χρησιμοποιούμενη γλώσσα για τις σχεσιακές βάσεις δεδομένων που αποτελούν το πυρήνα του πληροφοριακού συστήματος μιας επιχείρησης. https://en.wikipedia.org/wiki/sql

Βασικές έννοιες Πίνακας (Table) είναι μία συλλογή από δεδομένα τα οποία είναι σε μορφή στηλών και γραμμών και έχουν σχέση μεταξύ τους, για αυτό και πίνακας ορίζει τη Σχέση (Relation) Πεδίο (Field) είναι μια στήλη του πίνακα και έχει όνομα (π.χ. age), τύπο δεδομένων (π.χ. ακέραιος αριθμός), μέγεθος (από 0 έως 255) και πιθανόν άλλα χαρακτηριστικά, όπως για παράδειγμα, ο περιορισμός ότι κάθε κελί της στήλης να περιέχει διαφορετική τιμή, αν επιτρέπεται ή όχι να λάβει σαν τιμή το NULL, να λάβει μια προκαθορισμένη τιμή. Όλα τα κελία τις στήλης έχουν ακριβώς τα ίδια χαρακτηριστικά. Εγγραφή (Record) είναι μία γραμμή στον πίνακα και αποτελείται από πεδία. Πρωτεύον κλειδί (Primary key ) ονομάζεται το πεδίο που είναι μοναδικό αναγνωριστικό για την κάθε μία εγγραφή του πίνακα. Για παράδειγμα το αμκα είναι μοναδικός κωδικός για τον κάθε πολίτη ή ο αριθμός ταυτότητας ή ο σειριακός αριθμός μιας συσκευής κ.λπ. Μερικές φορές μπορεί να χρησιμοποιήσουμε μια αυτοματοποιημένη λειτουργία των Βάσεων Δεδομένων, ώστε σε κάθε εισαγωγή νέας εγγραφής να δημιουργείται ένας αυξανόμενος αριθμό (auto increment number) ώστε το πεδίο να έχει πάντα διαφορετικές τιμές. Μερικές φορές μπορεί και ο συνδυασμός των τιμών δύο ή περισσοτέρων πεδίων να αποτελεί το πρωτεύον κλειδί για το πίνακα (π.χ. αίθουσα, ημέρα, ώρα) Ένας πίνακας μπορεί να περιέχει πολλά μοναδικά πεδία αλλά μόνο ένα πρωτεύον κλειδί Ξένο κλειδί (Foreign key) είναι το πεδίο που η τιμή του είναι πρωτεύον κλειδί σε άλλο πίνακα.

Βασικές έννοιες Ευρετήριο (Index) είναι ένας εσωτερικός μηχανισμός της Βάσης Δεδομένων για την γρήγορη εύρεση εγγραφών βάση της τιμής ενός πεδίου του πίνακα. Για την δημιουργία ενός πεδίου με ένδειξη πρωτεύον κλειδί, μοναδιαία τιμή ή ξένο κλειδί είναι απαραίτητη η δημιουργία ενός ευρετηρίου. Σε ένα πίνακα μπορούμε να φτιάξουμε ένα ευρετήριο για κάθε πεδίο του, με ένα από τα παρακάτω χαρακτηριστικά : Index ένα ευρετήριο το οποίο διευκολύνει την αναζήτηση και μία τιμή μπορεί να εμφανίζεται πάρα πολλές φορές στη στήλη ενός πεδίου. Unique ένα ευρετήριο το οποίο έχει μοναδικές τιμές. Επιτρέπεται η σήμανση NULL να εμφανίζεται σαν τιμή του πεδίου σε πολλές εγγραφές. Primary ένα ευρετήριο το οποίο έχει μοναδικές τιμές και επιπλέον απαγορεύεται η ένδειξη NULL στις τιμές του πεδίου. Η δημιουργία των ευρετηρίων θα πρέπει να γίνεται με προσοχή και κατόπιν μελέτης γιατί ενώ επιταχύνουν σημαντικά την αναζήτηση από την άλλη καθυστερούν τις εργασίες της εισαγωγής, της τροποποίησης, της διαγραφής των εγγράφων. Υποστηρίζονται και δύο ειδικού τύπου ευρετήρια το FULLTEXT που χρησιμοποιείται σε αναζήτηση κειμένου που ομοιάζει στη φυσική γλώσσα π.χ. emai, κείμενα από εφημερίδες κ.λπ. και το SPATIAL που χρησιμοποιείται σε αναζήτηση χωρικής πληροφορίας.

Πως είναι αποθηκευμένα τα δεδομένα Πίνακας Citizens Πεδία Εγγραφές Στιγμιότυπα της σχέσης Citizens Πίνακας Jobs Σχέσεις με άλλους πίνακες Ξένο Κλειδί Πρωτεύον Κλειδί Πρωτεύον Κλειδί

Τα είδη των τιμών των πεδίων Στα πεδία ενός πίνακα μπορούμε να αποθηκεύσουμε πληροφορίες οι οποίες είναι σε μία από τις παρακάτω μορφές : Αριθμοί : Οι αριθμοί χωρίζονται σε δύο μεγάλες κατηγορίες τους ακέραιους και τους δεκαδικούς αριθμούς οι οποίες με τη σειρά τους χωρίζονται σε διαφορετικά εύρη τιμών ώστε να καλύψουν κάθε ανάγκη κατά την υλοποίηση μιας βάσης δεδομένων. Κείμενο: Η πληροφορία είναι σε μορφή αναγνώσιμων χαρακτήρων και μπορούμε να αποθηκεύσουμε δεδομένα όπως μια διεύθυνση, το όνομα και το επώνυμο ενός πελάτη, το κείμενο ενός sms κ.λπ. Δυαδικά Δεδομένα: Η πληροφορία είναι σε μορφή μη αναγνώσιμων χαρακτήρων και μπορούμε να αποθηκεύσουμε μια εικόνα, ένα video, ένα αρχείο τύπου pdf κ.λπ. Χρονικά δεδομένα : Η πληροφορία είναι σε ημερομηνίας ή/και ώρας και μπορούμε να αποθηκεύσουμε δεδομένα όπως την ημερομηνία και την ώρα μιας παραγγελίας. Τα τελευταία χρόνια λόγω της διάδοσης των Γεωγραφικών Πληροφοριακών Συστημάτων (GIS) αλλά και υπηρεσιών όπως το Google Map, όλο και περισσότερες Βάσεις Δεδομένων ενσωματώνουν νέους τύπους δεδομένων, όπως είναι το σημείο POINT, η γραμμή LINESTR, το πολύγωνο POLYGON κ.λπ. με σκοπό να περιγράψουν χωρικά δεδομένα και το σημαντικότερο να επιτελέσουν ερωτήματα πάνω σε αυτά, με χρήση συναρτήσεων όπως την εύρεση του εμβαδού, του μήκους, την απόσταση των σχημάτων.

Ακέραιοι και πραγματικοί αριθμοί Τύπος Bytes Ελάχιστη Τιμή Μέγιστη Τιμή TINYINT 1-128 127 SMALLINT 2-32768 32767 MEDIUMINT 3-8388608 8388607 INT 4-2147483648 2147483647 BIGINT 8-9223372036854775808 9223372036854775807 Τύπος Bytes Ελάχιστη Τιμή Μέγιστη Τιμή Float 4-3.402823466E+38 3.402823466E+38 H ακρίβεια των πράξεων είναι περίπου 7 δεκαδικά ψηφία Double 8-1.7976931348623157E+308 1.7976931348623157E+308 H ακρίβεια των πράξεων είναι περίπου 15 δεκαδικά ψηφία DECIMAL (M,D) Το μέγιστο Μ μπορεί να είναι 65 ενώ το D μέχρι 30 ψηφία https://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html

Χαρακτηριστικά των αριθμών UNSIGNED : Οι αριθμοί έχουν ένα εύρος τιμών, από μια αρνητική τιμή ως μια θετική τιμή και αν δηλωθεί ότι δεν έχουν πρόσημο, τότε η μικρότερη τιμή είναι το 0 και η μεγαλύτερη τιμή είναι αυξημένη κατά το εύρος των αρνητικών αριθμών. Για παράδειγμα ο TINYINT μπορεί να αποθηκεύσει τιμές από -128 έως 127 και αν δηλωθεί σαν UNSIGNED τότε μπορεί να αποθηκεύσει έναν ακέραιο αριθμό από 0..255 (δηλαδή 127 που είναι η μεγαλύτερη τιμή αυξημένη κατά 128 που είναι το εύρος των αρνητικών τιμών) UNSIGNED ZEROFILL : Οι αριθμοί χωρίς πρόσημο μπορεί επιπλέον να εμφανίζονται με τη προσθήκη 0 μπροστά από τη τιμή τους. Για παράδειγμα αν ένα πεδίο είναι τύπου ΙΝΤ και έχει τη τιμή 8, τότε αν το χαρακτηρίσουμε σαν UNSIGNED ZEROFILL η τιμή θα εμφανίζεται σαν 00000000008. Ο χαρακτηρισμός δεν έχει κανένα αντίκτυπο στις πράξεις που θα γίνονται παρά μόνο στην εμφάνιση.

Δήλωση Χαρακτήρες και κείμενο Περιγραφή CHAR (M) όπου M το πλήθος των χαρακτήρων με μέγιστη τιμή το 255. Ανεξαρτήτως του πλήθους των χαρακτήρων του πεδίου πάντα αποθηκεύονται Μ χαρακτήρες. VARCHAR (M) όπου M το πλήθος των χαρακτήρων με μέγιστη τιμή το 65535. Αποθηκεύεται μόνο το πλήθος των χαρακτήρων του πεδίου. Το Char είναι σταθερού μήκους και έχει μεγαλύτερες απαιτήσεις σε αποθηκευτικό χώρο αλλά εκτελείται πιο γρήγορα σε σχέση με το VarChar που είναι μεταβλητού μήκους. Οι τύποι δεδομένων ΤΙΝΥTEXT, ΤΕΧΤ, MEDIUMTEXT, LONGTEXT είναι μεταβλητού μήκους αλφαριθμητικά που μπορούν να αποθηκεύσουν από 255 έως 4294967295 χαρακτήρες.

Δήλωση BINARY(M) Δυαδικά δεδομένα Περιγραφή όπου M το πλήθος των bytes με μέγιστη τιμή το 255 και ανεξαρτήτως του περιεχομένου, πάντα αποθηκεύονται Μ bytes. VARBINARY (M) όπου M το πλήθος των bytes με μέγιστη τιμή το 65535. Αποθηκεύεται μόνο το πλήθος των bytes του πεδίου. Το BINARY έχει μεγαλύτερες απαιτήσεις σε αποθηκευτικό χώρο αλλά εκτελείται πιο γρήγορα σε σχέση με το VARBINARY Οι τύποι δεδομένων ΤΙΝΥBLOB, BLOB, MEDIUMBLOB, LONGBLOB είναι μεταβλητού μήκους και μπορούν να αποθηκεύσουν από 255 έως 4294967295 bytes.

Ώρα και ημερομηνίες Τύπος Μορφή DATE '0000-00-00' TIME '00:00:00' DATETIME '0000-00-00 00:00:00' TIMESTAMP '0000-00-00 00:00:00' YEAR 0000 To DATETIME και το TIMESTAMP αποθηκεύουν την ίδια πληροφορία αλλά το TIMESTAMP λαμβάνει υπόψη του τo TIMEZONE που έχουμε δηλώσει στη βάση δεδομένων και εμφανίζει αντίστοιχα τη χρονική στιγμή σε Universal Coordinate Time, δηλαδή με τη διαφορά ωρών που έχει η κάθε χώρα. Το DATETIME χρησιμοποιείται για ημερολογιακές και χρονικές στιγμές από '1000-01-01 00:00:00' έως '9999-12-31 23:59:59' τις οποίες αποθηκεύει στη μορφή 'YYYY-MM-DD HH:MM:SS'. Το TIMESTAMP αποθηκεύει την ίδια πληροφορία με εύρος από '1970-01-01 00:00:01' UTC έως '2038-01-19 03:14:07' UTC.

Τύπος Άλλοι τύποι δεδομένων Περιγραφή BIT (Μ) Επιτρέπει την αποθήκευση Μ bits από 1 μέχρι 64. BOOLEAN SERIAL ENUM SET Αναπαριστά έναν UNSIGNED ΤΙΝΥΙΝΤ όπου το 0 θεωρείται FALSE και οποιαδήποτε άλλη τιμή TRUE Αναπαριστά (alias) έναν UNSIGNED BIGINT NOT NULL UNIQUE AUTO INCREMENT Είναι ένα αλφαριθμητικό του οποίου η τιμή πρέπει να ανήκει σε ένα προκαθορισμένο σύνολο τιμών. Δηλαδή αν το σύνολο περιέχει τις τιμές ('small','medium','large') τότε κάθε πεδίο μπορεί να έχει μια τιμή από αυτές. Είναι ένα αλφαριθμητικό του οποίου η τιμή μπορεί να είναι κενή '' ή ένας συνδυασμός από ένα προκαθορισμένο σύνολο τιμών οι οποίες χωρίζονται με κόμμα. Για παράδειγμα ένα προϊόν μπορεί να διατίθεται σε τρία χρώματα τα a b και c και στο πεδίο να καταγράφουμε τις προτιμήσεις του πελάτη, οι οποίες είναι τίποτα '' ή ένα από τα 'a' 'b' ή 'c' ή ένας συνδυασμός τους 'a,b,c' ή 'a,b' ή 'a,c' ή 'b,c'. Δεν έχει σημασία η σειρά. Οι τύποι δεδομένων με ονόματα GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION επιτρέπουν την αποθήκευση χωρικών δεδομένων.