Βάσεις Δεδομένων Ι Επανάληψη

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Φυσική Σχεδίαση – Υλοποίηση βάσης ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Advertisements

ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας.
Ορισμοί Σχεσιακού Μοντέλου και (απλές)Τροποποιήσεις Σχέσεων στην SQL
Αποθηκευμένες Διαδικασίες και Εναύσματα Δρ. Παναγιώτης Συμεωνίδης.
Πληροφοριακά Συστήματα και Βάσεις Δεδομένων
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis SQL: Ερωτήματα, προγραμματισμός και εναύσματα ΕΣΔ232 – Οργάνωση Δεδομένων.
9 Η Γλώσσα SQL Ορισμός Δεδομένων (data definition)
Βάσεις Δεδομένων Ι Ενότητα 7: H γλώσσα SQL Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων  Χειρισμός Δεδομένων.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
ΕΠΛ 342 – Βάσεις Δεδομένων Εργαστήριο 4 ο SQL - Queries Ιωάννα Συρίμη
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
PHP 3. Στόχος της ώρας Λίγα ακόμη για MySQL Ένωση πίνακα με τον εαυτό του Ομαδοποίηση Συναρτήσεις σύνοψης Παράδειγμα σε PHP/MySQL Μικρή εφαρμογή τύπου.
Βάσεις Δεδομένων Ενότητα 7.1: Structured Query Language - 1 ο Μέρος Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό.
Βάσεις Δεδομένων Ενότητα 2: Συστήματα Διαχείρισης Βάσεων Δεδομένων Βασίλης Βουτσινάς Τμήμα: Οργάνωση & Διοίκηση Επιχειρήσεων.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ « Advanced MySQL » Σμυρνάκη Ουρανία, Πανεπιστήμιο Κρήτης Σεμινάριο: 2ο Σχολείο Κώδικα Ημερομηνία: 10/07/2015 Με.
Πληροφορική Κεφάλαιο 4 ο : Βάσεις Δεδομένων Κλεπετσάνης Παύλος, Επίκουρος Καθηγητής Τμήμα Φαρμακευτικής.
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Εισαγωγή στις βάσεις δεδομένων
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να παρουσιάσει τις απαραίτητες έννοιες ώστε οι φοιτητές να κατανοήσουν την τεχνολογία των βάσεων δεδοµένων.
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας
Σύστημα διαχείρισης αρχείων (file system)
Βάσεις Δεδομένων Ι 4η διάλεξη
Web Services στη C# Εργαστήριο 5
Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός Εφαρμογών Διαδικτύου
Βάσεις Δεδομένων ΙΙ 9η διάλεξη
Περιγραφή Ενότητας Σκοπός του μαθήματος αυτού και κεντρικός σκοπός του μαθήματος των Βάσεων Δεδομένων Ι είναι η παρουσίαση των απαραίτητων εννοιών ώστε.
Διδάσκουσα: Ευαγγελία Πιτουρά
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Βάσεις Δεδομένων ΙΙ 1η διάλεξη
Βάσεις Δεδομένων Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Βάσεις Δεδομένων Ενότητα 3: Σχεσιακή Άλγεβρα Βασίλης Βουτσινάς
Βάσεις Δεδομένων Ι 10η διάλεξη
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να κατανοήσουμε την έννοια της όψης της γλώσσας SQL. Χ. Σκουρλάς.
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος
Βάσεις Δεδομένων Κωδικός Μαθήματος: MK741
Οι Συναρτήσεις Ομαδοποίησης
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Βάσεις Δεδομένων Ι 8η διάλεξη
Αρχιτεκτονική Συστημάτων
Βάσεις Δεδομένων και web-based Εφαρμογές
Βάσεις Δεδομένων Ι 7η διάλεξη
Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Σχεσιακεσ βασεισ δεδομενων
Βάσεις Δεδομένων ΙΙ Ενότητα 5: Μελέτη περιπτώσεως:
ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ I
Ερωτήματα Επιλογής σε ACCESS
POSTGRESQL Η PostgreSQL είναι ένα αντικείμενο-σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων (object relational database management system - ORDBMS) και.
Ερωτήματα Επιλογής Δεδομένων
Ερωτήματα Επιλογής σε ACCESS
Βάσεις Δεδομένων 28/11/2018 Ενότητα Γ6.Μ2 (Βασικά Δομικά Συστατικά Στοιχεία και Κύρια Αντικείμενα μιας Βάσης Δεδομένων ) Ο Δάσκαλος.
ΠΑΡΑΔΕΙΓΜΑΤΑ SQL.
Ενότητα # 5: Περιορισμοί ακεραιότητας
Βάσεις Δεδομένων 16/2/2019 Ενότητα Γ6.3 (Δημιουργία και Αποθήκευση Βάσης Δεδομένων και Πίνακα. Καθορισμός Πεδίων του Πίνακα, Τύπων Δεδομένων και Ιδιότητες.
ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή
Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Δυτικής Αττικής
SQL Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων Ι Επανάληψη

Ένα βιβλίο είναι μια ΒΔ; Ένας τηλεφωνικός κατάλογος είναι μια ΒΔ; Τι είναι ΒΔ; Είναι ένα πολύ μεγάλο, δομημένο σύνολο δεδομένων που σχετίζονται μεταξύ τους Ένα βιβλίο είναι μια ΒΔ; Ένας τηλεφωνικός κατάλογος είναι μια ΒΔ;

Αριθμός μητρώου φοιτητή Τι είναι δεδομένα; Πρόκειται για στοιχεία – γεγονότα των οποίων η καταγραφή έχει κάποια σημασία και περιέχει μια αλήθεια Πινακίδα αυτοκινήτου Αριθμός τηλεφώνου Αριθμός μητρώου φοιτητή

Σύστημα Διαχείρισης Βάσης Δεδομένων Database Management System ΣΔΒΔ / DBMS Σύστημα Διαχείρισης Βάσης Δεδομένων Database Management System Πρόκειται για λογισμικό για τη διαχείριση μιας ΒΔ

Σύστημα Βάσεων Δεδομένων Database System Σύστημα Διαχείρισης Βάσης Δεδομένων Database Management System Βάση Δεδομένων Database

Λογική Σχεδίαση ΒΔ Σχεσιακό μοντέλο Μετατροπή της σχεδίασης με οντότητες σε μια γλώσσα που αρχίζει να γίνεται αναγνώσιμη από ένα ΣΔΒΔ

Data model (Μοντέλο δεδομένων) Υλοποίηση Data model (Μοντέλο δεδομένων) Ένα σύνολο από έννοιες για να περιγράψουν τα δεδομένα Schema (σχήμα) Περιγραφή μιας συγκεκριμένης συλλογής δεδομένων σύμφωνα με ένα μοντέλο δεδομένων

Σχεσιακό μοντέλο δεδομένων Σχεσιακές ΒΔ Σχεσιακό μοντέλο δεδομένων Βασική ιδέα: «σχέση» και πίνακες με στήλες και γραμμές Κάθε «σχέση» έχει ένα σχήμα που περιγράφει τις στήλες

Πως σχεδιάζουμε μια βάση δεδομένων Αναλύουμε τις απαιτήσεις Σχεδιάζουμε μια «ιδεατή» ΒΔ Σχεδιάζουμε τη «λογική» ΒΔ Τελειοποίηση του σχήματος Σχεδιασμός φυσικού σχήματος Πολιτική ασφαλείας Κυκλική επανάληψη…

Οντότητα (Entity) Είναι ένα αντικείμενο του πραγματικού κόσμου το οποίο χαρακτηρίζεται να έχει διακριτή ύπαρξη σε σχέση με όλα τα υπόλοιπα αντικείμενα ενώ περιγράφεται σε μια ΒΔ με μια σειρά από γνωρίσματα (attributes)

Σύνολο Οντοτήτων (Entity Set) Ένα σύνολο από παραπλήσιες/παρόμοιες οντότητες Όλες οι οντότητες του συνόλου μοιράζονται τα ίδια γνωρίσματα Κάθε οντότητα έχει ένα μοναδικό αναγνωριστικό/κλειδί Κάθε γνώρισμα έχει ένα πεδίο ορισμού

Το σύνολο των επιτρεπτών τιμών που μπορεί να λάβει ένα γνώρισμα Πεδίο ορισμού Το σύνολο των επιτρεπτών τιμών που μπορεί να λάβει ένα γνώρισμα

Πρωτεύον/Κύριο κλειδί Κλειδί Ο ελάχιστος αριθμός γνωρισμάτων η συνδυασμένη τιμή των οποίων μπορεί να προσδιορίσει μονοσήμαντα κάθε μια οντότητα στο σύνολο Υποψήφια κλειδιά Πρωτεύον/Κύριο κλειδί

Συσχέτιση Αποτελεί τη διασύνδεση μεταξύ δύο η περισσοτέρων οντοτήτων. Κάθε συσχέτιση μπορεί να εμπεριέχει έναν αριθμό περιγραφικών γνωρισμάτων

..ενός συνόλου συσχετίσεων Στιγμιότυπο ..ενός συνόλου συσχετίσεων Μια ομάδα συσχετίσεων. Στην ουσία πρόκειται για μια «φωτογραφία» του συνόλου σε μια δεδομένη χρονική στιγμή.

Οντότητες Σχέσεις Γνωρίσματα Σύνολα οντοτήτων Σύνολα συσχετίσεων Διαγράμματα ΟΣ (ER) Οντότητες Σχέσεις Γνωρίσματα Σύνολα οντοτήτων Σύνολα συσχετίσεων

Αντίστοιχα, χρησιμοποιούμε οντότητα ή συσχέτιση; Αποφάσεις σχεδιασμού Χρησιμοποιούμε οντότητα ή γνώρισμα για να μοντελοποιήσουμε ένα αντικείμενο; Αντίστοιχα, χρησιμοποιούμε οντότητα ή συσχέτιση; Ποια είναι τα σύνολα συσχετίσεων και οντοτήτων; Χρησιμοποιείται συνυπολογισμός;

Σχεσιακή βάση δεδομένων: τη δημιουργούν ένα σύνολο από σχέσεις Σχέση Ορισμοί Σχεσιακή βάση δεδομένων: τη δημιουργούν ένα σύνολο από σχέσεις Σχέση Στιγμιότυπο (οι γραμμές ενός πίνακας) Σχήμα (οι επικεφαλίδες του πίνακα)

Student(sid, name, login, age) Σχήμα Πεδίο, στήλη, γνώρισμα Πεδίο ορισμού Student(sid, name, login, age) Student(sid: string, name: string, login: string, age: integer)

Structured Query Language Data Definition Language SQL και DDL Structured Query Language Data Definition Language Θεωρούμε ότι η πρόσβαση στα δεδομένα σχετίζεται με ερωτήματα (query) Η DDL είναι κομμάτι/υποσύνολο της SQL και σχετίζεται με τις εντολές της δημιουργίας, διαγραφής και επεξεργασίας των πινάκων!

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

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

Κάθε τέτοιο σύνολο ονομάζεται υποψήφιο κλειδί Περιορισμός κλειδιού Υπάρχει κάποιο ελαχιστοποιημένο υποσύνολο του συνόλου των πεδίων του οποίου η συνδυασμένη τιμή ορίζει μονοσήμαντα το σύνολο των πεδίων. Κάθε τέτοιο σύνολο ονομάζεται υποψήφιο κλειδί

Τι σημαίνει ο περιορισμός; Δύο διακριτές πλειάδες δε μπορεί να έχουν ίδιες τιμές στο σύνολο των πεδίων που ορίζει το κλειδί Κανένα υποσύνολο του συνόλου δεν παρέχει δυνατότητα μονοσήμαντου προσδιορισμού

Παραμένει διαρκώς σε συνεπή και συγχρονισμένη κατάσταση Ξένο κλειδί Παραμένει διαρκώς σε συνεπή και συγχρονισμένη κατάσταση Οι αυτοματισμοί προκύπτουν από τους περιορισμούς ακεραιότητας του DBMS

Ορισμός ξένου κλειδιού CREATE TABLE studies ( sid INTEGER, am INTEGER, id INTEGER, fromWhen DATE, PRIMARY KEY (sid), FOREIGN KEY (am) REFERENCES student FOREIGN KEY (id) REFERENCES department )

Αναφορική ακεραιότητα Η δυνατότητα που έχει το DBMS να επιβάλει συνέπεια και συγχρονισμό στο ξένο κλειδί

Πως πρέπει να μετατρέπω κάθε ER σε ένα σχήμα;

Μετασχηματισμών οντοτήτων σε πίνακες Μετασχηματισμοί Μετασχηματισμών οντοτήτων σε πίνακες Μετασχηματισμός συσχετίσεων σε πίνακες (χωρίς περιορισμούς) Μετασχηματισμός συσχετίσεων σε πίνακες (με περιορισμό κλειδιού) Μετασχηματισμός συσχετίσεων σε πίνακες (με περιορισμό συμμετοχής)

Όψη Ονομάζεται ένας πίνακας οι γραμμές του οποίου δεν καταχωρούνται σαν τέτοιες στη ΒΔ αλλά υπολογίζονται κάθε φορά που προκύπτει η ανάγκη μέσα από τη δήλωση της όψης

Διαφέρουν από τις γλώσσες προγραμματισμού Σχεσιακή άλγεβρα Γλώσσες αιτημάτων Εξειδικευμένος κώδικας που χρησιμοποιείται για τη διατύπωση αιτημάτων και τη λήψη δεδομένων από ΒΔ Το σχεσιακό μοντέλο έχει εξαιρετικά ισχυρές γλώσσες αιτημάτων (ξεκάθαρα αιτήματα) Διαφέρουν από τις γλώσσες προγραμματισμού

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

Σχεσιακή άλγεβρα Οι τελεστές δέχονται σαν είσοδο ένα ή δύο στιγμιότυπα μιας σχέσης και παράγει μια σχέση σαν έξοδο Παράσταση σχεσιακής άλγεβρας: Η σύνθεση δύο ή περισσοτέρων τελεστών για να προκύψει ένα σύνθετο αίτημα

Συσχέτιση γινομένου (Χ) Διαφορά (-) Ένωση (U) Τελεστές Επιλογή (σ) Προβολή (π) Συσχέτιση γινομένου (Χ) Διαφορά (-) Ένωση (U)

Χρησιμοποιούνται λογικοί τελεστές (=,≠,<,≤,>,≥) Επιλογή 𝜎 𝑎𝑔𝑒>18 (𝑆1) Χρησιμοποιούνται λογικοί τελεστές (=,≠,<,≤,>,≥)

Χρησιμοποιούνται τα ονόματα των γνωρισμάτων Προβολή 𝜋 𝑛𝑎𝑚𝑒,𝑎𝑔𝑒 (𝑆1) Χρησιμοποιούνται τα ονόματα των γνωρισμάτων

𝜋 𝑛𝑎𝑚𝑒, 𝑠𝑢𝑟𝑛𝑎𝑚𝑒 ( 𝜎 𝑎𝑔𝑒>18 (𝑆1)) Συνδυασμός 𝜋 𝑛𝑎𝑚𝑒, 𝑠𝑢𝑟𝑛𝑎𝑚𝑒 ( 𝜎 𝑎𝑔𝑒>18 (𝑆1))

Το σύνολο των τελεστών που υπάρχουν είναι: Ένωση (∪) Τομή (∩) Τελεστές συνόλων Το σύνολο των τελεστών που υπάρχουν είναι: Ένωση (∪) Τομή (∩) Διαφορά (−) Καρτεσιανό γινόμενο (×)

Μετονομασία (𝝆) Συμβολίζεται ως 𝜌(𝑅 𝐹 , 𝐸) και επενεργεί πάνω στα στοιχεία της πράξης Ε. Το R είναι ακριβώς ίδιο με το Ε (σε αποτέλεσμα) μόνο που έχει κάποια πεδία μετονομασμένα!

Σύζευξη Στην πράξη μία σύζευξη είναι ένα καρτεσιανό γινόμενο το οποιο όμως ακολουθείται από προβολές και επιλογές! Ορισμός 𝑅 ⋈ 𝐶 𝑆= 𝜎 𝐶 (𝑅×𝑆)

𝑅 ⋈ 𝑆.𝑎𝑔𝑒<30 𝑆= 𝜎 𝑠.𝑎𝑔𝑒<30 (𝑅×𝑆) Σύζευξη συνθήκης Παράδειγμα 𝑅 ⋈ 𝑆.𝑎𝑔𝑒<30 𝑆= 𝜎 𝑠.𝑎𝑔𝑒<30 (𝑅×𝑆)

𝑅 ⋈ 𝑆.𝑖𝑑=𝑅.𝑖𝑑 𝑆= 𝜎 𝑆.𝑖𝑑=𝑅.𝑖𝑑 (𝑅×𝑆) Σύζευξη ισότητας Παράδειγμα 𝑅 ⋈ 𝑆.𝑖𝑑=𝑅.𝑖𝑑 𝑆= 𝜎 𝑆.𝑖𝑑=𝑅.𝑖𝑑 (𝑅×𝑆)

𝑅⋈𝑆= 𝜎 𝜎𝜏𝛼 𝜅𝜊𝜄𝜈𝛼 𝜎𝜏𝜊𝜄𝜒𝜀𝜄𝛼 (𝑅×𝑆) Φυσική σύζευξη Παράδειγμα 𝑅⋈𝑆= 𝜎 𝜎𝜏𝛼 𝜅𝜊𝜄𝜈𝛼 𝜎𝜏𝜊𝜄𝜒𝜀𝜄𝛼 (𝑅×𝑆)

Σχεσιακός λογισμός Παραπλήσια με τη σχεσιακή άλγεβρα με τη διαφορά ότι μας επιτρέψει να περιγράψουμε το επιθυμητό αποτέλεσμα χωρίς να αναφερόμαστε σε επιμέρους της διαδικασίας που θα υπολογίσει το αποτέλεσμα

Σχεσιακός λογισμός πλειάδων (TRC) Οι μεταβλητές παίρνουν για τιμές του πλειάδες τιμών Σχεσιακός λογισμός ορισμάτων (DRC) Οι μεταβλητές έχουν για ακτίνα δράσεις, τις τιμές πεδίων

Μεταβλητές Σταθερές Τελεστές σύγκρισης Λογικές συνδέσεις Σχεσιακός λογισμός Μεταβλητές Σταθερές Τελεστές σύγκρισης Λογικές συνδέσεις Ποσοτικοποιήσεις

Παραδείγματα κατανόησης TRC Sid Sname Rating Age Bid Bname Color Sid Bid Day Παραδείγματα κατανόησης TRC Να βρεθούν τα ονόματα και οι ηλικίες των ανθρώπων που έχουν rating > 7 {𝑃|∃𝑆∈𝑆𝑎𝑖𝑙𝑜𝑟 𝑆.𝑟𝑎𝑡𝑖𝑛𝑔>7∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧𝑃.𝑎𝑔𝑒=𝑆.𝑎𝑔𝑒 𝑆.𝑟𝑎𝑡𝑖𝑛𝑔>7∧𝑃.𝑛𝑎𝑚𝑒=𝑆.𝑠𝑛𝑎𝑚𝑒∧𝑃.𝑎𝑔𝑒=𝑆.𝑎𝑔𝑒 }

𝑥 1 : μεταβλητή ορίσματος ή σταθερή τιμή DRC Διατύπωση αιτήματος 𝑥 1 , 𝑥 2 ,…, 𝑥 𝑛 𝑝( 𝑥 1 , 𝑥 2 ,…, 𝑥 𝑛 )} 𝑥 1 : μεταβλητή ορίσματος ή σταθερή τιμή 𝑝( 𝑥 1 , 𝑥 2 ,…, 𝑥 𝑛 ): διατύπωση με ελεύθερες μεταβλητές τα x

𝐼,𝑁,𝑅,𝐴 𝐼,𝑁,𝑅,𝐴 ∈𝑆𝑎𝑖𝑙𝑜𝑟∧𝐴>45} Παράδειγμα 𝐼,𝑁,𝑅,𝐴 𝐼,𝑁,𝑅,𝐴 ∈𝑆𝑎𝑖𝑙𝑜𝑟∧𝐴>45}

DML – Γλώσσα διαχείρισης δεδομένων DDL – Γλώσσα ορισμού των δεδομένων Χαρακτηριστικά SQL DML – Γλώσσα διαχείρισης δεδομένων DDL – Γλώσσα ορισμού των δεδομένων Περιορισμοί ακεραιτότητας SQL Client – Server Διαχείριση συναλλαγών Ασφάλεια

Η δημιουργία σε απλό επίπεδο γίνεται μέσω UI Δημιουργία πινάκων Η δημιουργία σε απλό επίπεδο γίνεται μέσω UI Η δημιουργία σε γλώσσες προγραμματισμού με μοντέλο MVC (Spring, Django, Ruby, Symfony, Yii, Zend) λειτουργούν μέσω δημιουργίας οντοτήτων

Πεδίο ορισμού, τιμές ορισμού Κλειδιά Ξένα κλειδιά Δημιουργία πινάκων Προσοχή… Πεδίο ορισμού, τιμές ορισμού Κλειδιά Ξένα κλειδιά

Τι συνθήκες πρέπει να ισχύουν Επιλογή - τρόπος Χρειάζεται να εξηγήσω Τι να παρουσιάσω Που θα το βρω Τι συνθήκες πρέπει να ισχύουν

SELECT s.name, s.surname FROM student AS s Επιλογή Εμφάνισε το όνομα και το επώνυμο από τους φοιτητές SELECT s.name, s.surname FROM student AS s

Επιλογή γνωρισμάτων: * Επιλογή σε χαρακτήρες: Wildcards Επιλογή γνωρισμάτων: * Επιλογή σε χαρακτήρες: %: οποιόσδήποτε χαρακτήρας _ : ένας μόνο χαρακτήρας

Επιλογή Εμφάνισε το όνομα και το επώνυμο των φοιτητών που έχουν φοιτήσει σε τμήμτα της Σπάρτης και της Καλαμάτας SELECT s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid JOIN department AS d ON d.id=sd.departmentid JOIN department AS d1 ON d1.id=sd.departmentid WHERE d.perioxi = “Kalamata” AND d1.perioxi = “Sparti”;

Ένωση δύο διαφορετικών πινάκων αποτελεσμάτων Επιλογή Ένωση δύο διαφορετικών πινάκων αποτελεσμάτων SELECT name, surname FROM student WHERE age = 20 UNION WHERE age = 21

Επιλογή Επιλογή των φοιτητών που έχουν φοιτήσει στο τμήμα με ονομασία Mixanikwn Ypologistwn SELECT * FROM student WHERE id IN (SELECT studentid FROM student2department WHERE departmentid IN ( SELECT id FROM department WHERE name=“Mixanikwn Ypologistwn” ));

COUNT: πλήθος SUM: άθροισμα AVG: μέσος όρος MAX: μέγιστη τιμή Πράξεις COUNT: πλήθος SUM: άθροισμα AVG: μέσος όρος MAX: μέγιστη τιμή ΜΙΝ: ελάχιστη τιμή

Επιλογή Id Name Surname age 1 V P 35 2 N S 37 Studentid Departmentid since 1 2010

INNER JOIN (simple JOIN) Id Name Surname age 1 V P 35 2 N S 37 INNER JOIN (simple JOIN) Studentid Departmentid since 1 2010 SELECT * FROM student AS s INNER JOIN student2department AS sd ON s.id = sd.studentid Id Name Surname age Studentid Departmentid since 1 V P 35 2010

LEFT JOIN student2department AS sd ON s.id = sd.studentid Name Surname age 1 V P 35 2 N S 37 LEFT JOIN Studentid Departmentid since 1 2010 SELECT * FROM student AS s LEFT JOIN student2department AS sd ON s.id = sd.studentid Id Name Surname age Studentid Departmentid since 1 V P 35 2010 2 N S 37 null

Κατανεμημένα συστήματα Πολλαπλοί υπολογιστές και συστήματα λογισμικού που μπορούν να επικοινωνήσουν μέσα από ένα δίκτυο ώστε να επιτελέσουν μαζί έναν κοινό σκοπό

Αξιοπιστία Επεκτασιμότητα Κατανομή των πόρων Ταχύτητα Γιατί τα χρειάζομαι Αξιοπιστία Επεκτασιμότητα Κατανομή των πόρων Ταχύτητα Ανοιχτά συστήματα Επιδόσεις

Αντιμετώπιση προβλημάτων Λογισμικό Δικτύωση Ασφάλεια Προβλήματα Αντιμετώπιση προβλημάτων Λογισμικό Δικτύωση Ασφάλεια

Scale out (Οριζόντια κλιμάκωση): να προστεθούν επιπλέον συστήματα Κλιμάκωση! Δυνατότητα επέκτασης ενός συστήματος ώστε να καλύπτει κάθε είδους ανάγκες (πόρους) Scale up (Κάθετη κλιμάκωση): να προστεθούν επιπλέον πόροι σε ένα σύστημα για να μπορεί να ανταποκρίνεται καλύτερα Scale out (Οριζόντια κλιμάκωση): να προστεθούν επιπλέον συστήματα

Μη σχεσιακές βάσεις δεδομένων NOSQL NOT ONLY SQL Μη σχεσιακές βάσεις δεδομένων Σχεδιάστηκε για να καλύψει ανάγκες κατανεμημένων αποθηκών δεδομένων που έχουν πολύ μεγάλη κλίμακα δεδομένων αποθήκευσης και βέβαια μεγάλες ανάγκες αλληλεπίδρασης με τα δεδομένα