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

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

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

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


Παρουσίαση με θέμα: "Βάσεις Δεδομένων Ι Επανάληψη"— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

56 Επιλογή Εμφάνισε το όνομα και το επώνυμο των φοιτητών που έχουν φοιτήσει σε τμήμτα της Σπάρτης και της Καλαμάτας 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”;

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

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

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

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

61 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

62 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

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

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

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

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

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


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

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


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