Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Θερινό Σχολείο, 14 – 20 Ιουλίου 2014

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Θερινό Σχολείο, 14 – 20 Ιουλίου 2014"— Μεταγράφημα παρουσίασης:

1 Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Βάσεις Δεδομένων Γιώργος Φουρτούνης Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

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

3 Σχεσιακές βάσεις δεδομένων
Δημοφιλείς, δοκιμασμένες Τα δεδομένα δομούνται σε πίνακες (tables) Κάθε πίνακας έχει στήλες (columns) – κάθε στήλη είναι κάποιο είδος πληροφορίας Κάθε γραμμή (row) είναι μια εγγραφή του πίνακα

4 Παράδειγμα ID FirstName LastName Phone 1 Μανώλης Παπαδόπουλος
2 Ιωάννα Καρατζά 3 Μαρία Παπαδοπούλου 78 Νίκος Κωνσταντινίδης NULL Πρωτεύον κλειδί (Primary key) Δεδομένο που μπορεί να είναι κενό

5 Το σχεσιακό μοντέλο Τα δεδομένα σε έναν πίνακα θεωρούνται μια σχέση – κάθε γραμμή είναι μοναδική Ο τύπος των δεδομένων ενός πίνακα περιγράφεται από ένα σχήμα (schema) Σχέσεις μεταξύ πινάκων: πρωτεύοντα και ξένα κλειδιά Ευρετήριο (index)

6 Χρήση μιας σχεσιακής βάσης δεδομένων
Η γλώσσα SQL Δηλωτική: περιγράφονται τα δεδομένα και οι σχέσεις τους Ερωτήσεις (Queries): Παράδειγμα: βρες όλες τις τιμές του πεδίου LastName όσων το τηλέφωνο είναι θα επιστρέψει το σύνολο αποτελεσμάτων (result set) “Μανώλης”, “Μαρία”

7 SQL: Δημιουργία βάσης και πίνακα
mysql> CREATE DATABASE db1 DEFAULT CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec) mysql> USE db1; Database changed mysql> CREATE TABLE phones (ID int, FirstName varchar(255), LastName varchar(255), Phone int, PRIMARY KEY(ID)) DEFAULT CHARACTER SET utf8; Query OK, 0 rows affected (0.17 sec)

8 SQL: Εισαγωγή δεδομένων
mysql> INSERT INTO phones VALUES(1, "Μανώλης", "Παπαδόπουλος", ); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO phones VALUES(1, "Ιωάννα", "Καρατζά", ); ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY' mysql> INSERT INTO phones VALUES(2, "Ιωάννα", "Καρατζά", ); Query OK, 1 row affected (0.08 sec) mysql> INSERT INTO phones VALUES(3, "Μαρία", "Παπαδοπούλου", ); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO phones VALUES(78, "Νίκος", "Κωνσταντινίδης", NULL); Query OK, 1 row affected (0.14 sec)

9 SQL: Ερωτήσεις mysql> SELECT FirstName FROM phones WHERE Phone= ; | FirstName | | Μανώλης | | Μαρία | 2 rows in set (0.00 sec)

10 Υλοποιήσεις Εμπορικές, κλειστού κώδικα: Microsoft SQL Server, Oracle
Ανοιχτού κώδικα: MySQL, PostgreSQL, sqlite

11 NoSQL Αρνητικός ορισμός: βάσεις δεδομένων που δεν είναι σχεσιακές (“Not SQL”) Χρήσιμες σε εφαρμογές που το σχεσιακό μοντέλο δεν ταιριάζει Απλή σχεδίαση Καλή συμπεριφορά για μεγάλους όγκους δεδομένων Μερικές φορές μπορούν να συνδυαστούν με σχεσιακές βάσεις (“Not only SQL”)

12 NoSQL Tρόποι οργάνωσης
Αποθήκες ζευγών κλειδιού-τιμής (key-value stores): Redis, Riak Συστήματα βασισμένα στα έγγραφα (document-based): CouchDB, MongoDB Συστήματα βασισμένα στους γράφους (graph-based): Neo4j Αντί της SQL, χρησιμοποιούνται άλλες γλώσσες, π.χ. JavaScript (CouchDB) Το σχήμα των δεδομένων μπορεί να ορίζεται δυναμικά

13 Σας ευχαριστώ πολύ Ερωτήσεις;
Σας ευχαριστώ πολύ Ερωτήσεις; Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας


Κατέβασμα ppt "Θερινό Σχολείο, 14 – 20 Ιουλίου 2014"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google