#1.1 Τι είναι η Βάση Δεδομένων

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

Download "#1.1 Τι είναι η Βάση Δεδομένων"

Transcript

1 1

2 2

3 #1.1 Τι είναι η Βάση Δεδομένων Βάση δεδομένων είναι ένα πλήθος στοιχείων συναφών μεταξύ τους, τοποθετημένα και ταξινομημένα με συγκεκριμένο τρόπο. Με τη χρήση μιας Βάσης Δεδομένων μπορούμε: να καταχωρούμε να αναζητάμε να ταξινομούμε τα δεδομένα μας γρήγορα και αποτελεσματικά. 3

4 #1.2 Πλεονεκτήματα χρήσης της ΒΔ Με τη χρήση μιας Βάσης Δεδομένων έχουμε: Λεπτομερής περιγραφή δεδομένων Ανεξαρτησία δεδομένων Αποδοτικότερη διαχείριση δεδομένων Προστασία δεδομένων Δικαιώματα χρηστών Μηχανισμοί ταυτόχρονης προσπέλασης Μεγάλη επεκτασιμότητα της ΒΔ. 4

5 #1.3 Πεδία εφαρμογών μιας ΒΔ Μία Βάση Δεδομένων έχει εφαρμογή σε: Δημόσιους Οργανισμούς Υπουργεία Νοσοκομεία Εμπορικές εφαρμογές Συστήματα κρατήσεων θέσεων Εκπαιδευτικά Ιδρύματα Τραπεζικός τομέας 5

6 #1.4.1 Παραδείγματα Ανάλυσης λειτουργιών ΒΔ Αγορά από supermarket (ταμείο) Ανάγνωση Barcode του είδους, Αναζήτηση του είδους στην ΒΔ του supermarket, Μείωση των ειδών αποθήκης στην ΒΔ, Επιστροφή της τιμής του είδους στο ταμείο. 6

7 #1.4.2 Παραδείγματα Ανάλυσης λειτουργιών ΒΔ Αγορά με πιστωτική κάρτα Έλεγχος και επαλήθευση στοιχείων κατόχου πιστωτικής κάρτας στη ΒΔ της τράπεζας, Έλεγχος ισχύος ΠΚ, Έλεγχος όλων των αγορών που έχουν γίνει αυτόν τον μήνα, Έλεγχος υπολοίπου πιστωτικού ορίου στον λογαριασμό του κατόχου, Χρέωση του λογαριασμού με το ποσό της αγοράς. 7

8 #1.4.3 Παραδείγματα Ανάλυσης λειτουργιών ΒΔ Κράτηση θέσης (αεροπλάνου, πλοίου, τρένου) Έλεγχος διαθέσιμης θέσης στην επιθυμητή ημερομηνία, Κράτηση της συγκεκριμένης θέσης, Διασφάλιση ότι περισσότερα του ενός τουριστικών γραφείων δεν θα κάνουν κράτηση της συγκεκριμένης θέσης, Έκδοση εισιτηρίου. 8

9 #1.4.4 Παραδείγματα Ανάλυσης λειτουργιών ΒΔ Δανεισμός βιβλίου (δανειστική βιβλιοθήκη) Έλεγχος των στοιχείων του δανειζόμενου στην ΒΔ της βιβλιοθήκης, Έλεγχος ύπαρξης του βιβλίου με βάση τον τίτλο, τον συγγραφέα και τον εκδοτικό οίκο, Καταγραφή του δανεισμού, Ενημέρωση του βιβλιοθηκάριου για καθυστέρηση επιστροφής βιβλίου από δανειζόμενο. 9

10 #1.4.5 Παραδείγματα Ανάλυσης λειτουργιών ΒΔ Βάση Δεδομένων Πανεπιστημίου Καταγραφή στοιχείων φοιτητή, Καταγραφή στοιχείων καθηγητή, Καταγραφή μαθημάτων, εγγραφών, βαθμολογιών, απουσιών, πτυχιακών εργασιών, Ταξινόμηση των φοιτητών ανά: μάθημα, τμήμα, σχολή (νεοεισελθόντες, ενεργοί και αποφοιτήσαντες), Έκδοση πιστοποιητικών, βεβαιώσεων σπουδών, πτυχίων. 10

11 #1.5.1 Διαχείριση μιας ΒΔ Μια ΒΔ μπορούμε να την διαχειριστούμε με ένα: Σύστημα Διαχείρισης Βάσης Δεδομένων (ΣΔΒΔ) Ένα ΣΔΒΔ είναι ένα ειδικό λογισμικό με το οποίο κάνουμε : εισαγωγή δεδομένων ενημέρωση δεδομένων αναζήτηση δεδομένων διαγραφή δεδομένων 11

12 #1.5.2 Διαχείριση μιας ΒΔ Επίσης με ένα ΣΔΒΔ μπορούμε να: έχουμε προστασία δεδομένων δημιουργούμε χρήστες υποστηρίξουμε ταυτόχρονη προσπέλαση χρηστών 12

13 #1.6 Αρχιτεκτονική ενός ΣΔΒΔ Τα ΣΔΒΔ λειτουργούν με την Αρχιτεκτονική των τριών επιπέδων (ANSI/SPARC) τα οποία είναι. 1. Εσωτερικό επίπεδο που έχει να κάνει με την φυσική κατάσταση των δεδομένων (σκληρός δίσκος) 2. Εξωτερικό επίπεδο που έχει να κάνει με ότι βρίσκεται εκτός της ΒΔ (προγραμματιστές, χειριστές) 3. Εννοιολογικό επίπεδο είναι το επίπεδο που συνδέει τα άλλα δύο και έχει να κάνει με την λογική σχεδίαση των δεδομένων. 13

14 #1.7 Σχηματική παράσταση Αρχιτεκτονικής ANSI/SPARC 14

15 #1.8 Γλώσσες ΒΔ Μια εφαρμογή δημιουργίας και διαχείρισης ΒΔ αποτελείται από δύο γλώσσες. 1. Την Γλώσσα Ορισμού με την οποία περιγράφουμε τις οντότητες, τις σχέσεις, τους περιορισμούς της ΒΔ αλλά και κατασκευάζουμε την ΒΔ. 2. Την Γλώσσα Χειρισμού με την οποία εισάγουμε, τροποποιούμε, διαγράφουμε δεδομένα αλλά και θέτουμε ερωτήματα αναζήτησης προς το ΣΔΒΔ. 15

16 #1.9 Μοντέλα δεδομένων Τα μοντέλα των ΒΔ χωρίζονται σε δύο μεγάλες κατηγορίες. Τα μοντέλα βασισμένα α) στις εγγραφές και β) στα αντικείμενα. Τα μοντέλα που βασίζονται στις εγγραφές είναι το: Ιεραρχικό μοντέλο Δικτυωτό μοντέλο Σχεσιακό μοντέλο Τα μοντέλα που βασίζονται στα αντικείμενα είναι το: Μοντέλο Οντοτήτων Συσχετίσεων (Ο-Σ) Αντικειμενοστραφές μοντέλο 16

17 # Ιεραρχικό μοντέλο Το ιεραρχικό μοντέλο είναι το μοντέλο που σχηματικά θυμίζει δέντρο. Οι οντότητες τοποθετούνται σε διαφορετικά επίπεδα και συνδέονται με κλαδιά που υποδηλώνουν τις συσχετίσεις μεταξύ τους. Κάθε οντότητα υψηλότερου επιπέδου συσχετίζεται με πολλές οντότητες του αμέσως χαμηλότερου από αυτήν επίπεδο. Κάθε οντότητα χαμηλότερου επιπέδου σχετίζεται με μία και μόνο οντότητα του αμέσως υψηλότερου επιπέδου από αυτήν. 17

18 # Σχηματική παράσταση Ιεραρχικού μοντέλου 18

19 # Δικτυωτό μοντέλο Στο δικτυωτό μοντέλο υπάρχουν επίπεδα ιεραρχίας με την μόνο διαφορά ότι οι οντότητες διαφορετικών επιπέδων μπορούν να συσχετιστούν με περισσότερες της μιας είτε σε ανώτερο είτε σε κατώτερο επίπεδο. 19

20 # Σχηματική παράσταση Δικτυωτού μοντέλου 20

21 # Σχεσιακό μοντέλο Στο σχεσιακό μοντέλο οι οντότητες παριστάνονται ως πίνακες με εγγραφές, οι οποίοι συσχετίζονται μεταξύ τους μέσω κοινών τιμών συγκεκριμένων στηλών τους, που ονομάζονται κλειδιά. Οι πίνακες αποτελούνται από γραμμές που είναι οι εγγραφές και από στήλες που είναι τα χαρακτηριστικά της οντότητας. Οι πίνακες συνδέονται με ευθείες γραμμές οι οποίες υποδηλώνουν τις συσχετίσεις μεταξύ των οντοτήτων. 21

22 # Σχηματική παράσταση Σχεσιακού μοντέλου 22

23 # Μοντέλο Οντοτήτων-Συσχετίσεων Το μοντέλο Οντοτήτων Συσχετίσεων είναι αυτό που επικράτησε των υπολοίπων και μαζί με το σχεσιακό μοντέλο αποτελούν την βασική δομή και λειτουργία των Βάσεων Δεδομένων στα σύγχρονα υπολογιστικά συστήματα παντού στον κόσμο.στο μοντέλο Ο-Σ οι οντότητες παριστάνονται με ορθογώνια παραλληλόγραμμα, τα χαρακτηριστικά τους με ελλείψεις και οι συσχετίσεις μεταξύ των οντοτήτων με ρόμβους και ευθύγραμμα τμήματα. Ένα από τα χαρακτηριστικά μιας οντότητας το οποίο προσδιορίζει μοναδικά την οντότητα, ονομάζεται κλειδί και φαίνεται υπογραμμισμένο στο διάγραμμα Ο-Σ. 23

24 # Σχηματική παράσταση Μοντέλου Οντοτήτων-Συσχετίσεων 24

25 #1.14 Αντικειμενοστραφές μοντέλο Στο αντικειμενοστραφές μοντέλο τα δεδομένα κρατούνται στην Βάση Δεδομένων ως αντικείμενα τα οποία ανήκουν σε κλάσεις χρησιμοποιώντας τις ιδιότητες του αντικειμενοστραφούς προγραμματισμού. Τα αντικείμενα περιέχουν δεδομένα που μαζί με τις μεθόδους ενθυλακώνονται σε αυτά. Τα αντικείμενα ανταλλάσσουν μεταξύ τους μηνύματα χρησιμοποιώντας τις μεθόδους των κλάσεων, οι οποίες μέθοδοι καθορίζουν την συμπεριφορά του κάθε αντικειμένου. 25

26 #1.15 Ρόλοι στην ΒΔ Τα φυσικά πρόσωπα που παίζουν ρόλο σε μια ΒΔ είναι: 1. Σχεδιαστής: Είναι αυτός που βρίσκεται μεταξύ του πελάτη και του προγραμματιστή. 2. Διαχειριστής: Είναι αυτός που διαχειρίζεται και συντηρεί την ΒΔ. 3. Προγραμματιστής: Δημιουργεί την ΒΔ αλλά και επιμέρους προγράμματα διασύνδεσης. 4. Απλός Χρήστης: Είναι ο χειριστής συγκεκριμένου τμήματος της ΒΔ. 5. Εξειδικευμένος Χρήστης: Χειρίζεται αλλά και ταυτόχρονα μπορεί να θέτει ερωτήματα σε μια γλώσσα χειρισμού υψηλού επιπέδου (SQL, ORACLE). 26

27 # Βήματα κατασκευής μιας ΒΔ Για την κατασκευή μιας Βάσης Δεδομένων πρέπει να ακολουθήσουμε τα πιο κάτω βήματα 1. Καταγραφή σε φυσική γλώσσα της περιγραφής της δομής και των λειτουργιών της ΒΔ που θέλουμε να φτιάξουμε. Δηλαδή περιγράφουμε από τι θα αποτελείται η ΒΔ μας, τι θα καταχωρούμε στην ΒΔ και πως θα έχουμε επαφή με τα δεδομένα μας. 2. Σχεδιασμός του διαγράμματος Οντοτήτων-Συσχετίσεων (Ο-Σ). Σχεδιασμός δηλαδή των οντοτήτων της ΒΔ των χαρακτηριστικών των οντοτήτων αλλά και των συσχετίσεων μεταξύ τους. 27

28 # Βήματα κατασκευής μιας ΒΔ 3. Μετατροπή του διαγράμματος Ο-Σ σε σχεσιακό διάγραμμα. Ουσιαστικά μετατροπή των οντοτήτων σε πίνακες οι οποίοι θα δεχθούν τα δεδομένα της ΒΔ υπό μορφή εγγραφών. 4. Κανονικοποίηση των πινάκων και των σχέσεων. Διαίρεση των πινάκων και ένωσή τους μέσω κοινών τιμών των στηλών που έχουμε επιλέξει ως κλειδιά, για την αντιμετώπιση όλων των περιορισμών ακεραιότητας των δεδομένων. 28

29 # Βήματα κατασκευής μιας ΒΔ 5. Κατασκευή της ΒΔ με την γλώσσα ορισμού που θα επιλέξουμε. Χρησιμοποίηση γλώσσας προγραμματισμού Βάσεων Δεδομένων για την κατασκευή των πινάκων της ΒΔ (Γλώσσα Ορισμού Δεδομένων) αλλά και τον περεταίρω χειρισμό των δεδομένων, δηλαδή την εφαρμογή ερωτημάτων προς την Βάση Δεδομένων (Γλώσσα Χειρισμού Δεδομένων). 29

30 30

31 #2.1 Ορισμός μοντέλου Ο-Σ Μοντέλο Οντοτήτων-Συσχετίσεων (Ο-Σ) είναι ο τρόπος με τον οποίο προσεγγίζουμε της σχεδίαση μιας ΒΔ με γνώμονα τις οντότητες και τις σχέσεις μεταξύ των οντοτήτων που προκύπτουν από την καταγραφή με χρήση φυσικής γλώσσας της περιγραφής της ΒΔ που θέλουμε να κατασκευάσουμε. Ο πιο συνηθισμένος τρόπος για να περιγράψουμε το μοντέλο Ο-Σ είναι να σχεδιάσουμε το διάγραμμα Οντοτήτων-Συσχετίσεων. 31

32 #2.2 Διάγραμμα Ο-Σ Το διάγραμμα Οντοτήτων-Συσχετίσεων Ο-Σ είναι η σχηματική απεικόνιση του μοντέλου Ο-Σ και αποτελείται από: Ορθογώνια τα όποια παριστάνουν μία Οντότητα, Ελλείψεις οι οποίες παριστάνουν ένα χαρακτηριστικό γνώρισμα της Οντότητας και Ρόμβους οι οποίοι παριστάνουν τις συσχετίσεις μεταξύ των Οντοτήτων. 32

33 #2.3 Οντότητα Οντότητα είναι ένα άτομο ή αντικείμενο ή μια έννοια με μοναδική υπόσταση και μοναδικά αναγνωρίσιμο. Συμβολίζεται με ένα ορθογώνιο. 33

34 #2.4 Χαρακτηριστικό Χαρακτηριστικό (ή γνώρισμα) μιας οντότητας είναι μια ιδιότητα της. Για παράδειγμα το όνομα, ο Αριθμός Μητρώου, η ηλικία κλπ. Το χαρακτηριστικό μπορεί να είναι απλό ή σύνθετο, κενό (NULL), παραγόμενο. Συμβολίζεται με μία έλλειψη. 34

35 #2.5 Συσχέτιση Συσχέτιση είναι η σχέση μεταξύ των οντοτήτων. Συμβολίζεται με έναν ρόμβο. 35

36 #2.6 Σύνολα συσχετισμών Στην συσχέτιση διακρίνουμε τα παρακάτω σύνολα συσχετισμών μεταξύ των οντοτήτων: Ένα προς ένα 1-1 Ένα προς πολλά 1-Ν Πολλά προς ένα Ν-1 Πολλά προς πολλά Μ-Ν. Πρέπει να αποφεύγουμε τις συσχετίσεις Μ-Ν λόγω προβλημάτων πλεονασμού. Γι αυτόν το λόγο πρέπει να μετατρέπουμε την συγκεκριμένη συσχέτιση Μ-Ν σε νέο πίνακα. 36

37 #2.7.1 Παραδείγματα συσχετισμών Ένα προς ένα (1-1): Ένας ασθενής έχει ένα Α.Μ.Κ.Α. 1 1 Α.Μ.Κ.Α. ΕΧΕΙ ΑΣΘΕΝΗΣ Ένα προς πολλά (1-Ν): Μία κλινική απασχολεί πολλούς γιατρούς 1 Ν ΚΛΙΝΙΚΗ ΑΠΑΣΧΟΛΕΙ ΓΙΑΤΡΟΣ 37

38 #2.7.2 Παραδείγματα συσχετισμών Πολλά προς ένα (Ν-1): πολλές εξετάσεις γίνονται σε μία κλινική Ν 1 ΕΞΕΤΑΣΗ ΚΑΝΕΙ 1 ΚΛΙΝΙΚΗ Πολλά προς πολλά (Μ-Ν): πολλοί ασθενείς κάνουν πολλές εξετάσεις ΑΣΘΕΝΗΣ Μ ΚΑΝΕΙ Ν ΕΞΕΤΑΣΗ 38

39 #2.8 Διάγραμμα Ο-Σ (παράδειγμα) Α.Τ. ΟΝΟΜΑ ΚΩΔΙΚΟΣ ΓΙΑΤΡΟΣ Ν 1 ΔΟΥΛΕΥΕΙ ΚΛΙΝΙΚΗ Α.Φ.Μ. ΔΙΕΥΘΥΝΣΗ ΔΙΕΥΘΥΝΣΗ Πολλοί (Ν) γιατροί με στοιχεία: Α.Μ.- Όνομα-Α.Φ.Μ.-Διεύθυνση, δουλεύουν σε μία (1) κλινική με στοιχεία: Κωδικό-Διεύθυνση. 39

40 40

41 #3.1.1 Γενική περιγραφή μιας ΒΔ Πριν αναλύσουμε μια Σχεσιακή Βάση Δεδομένων θα ήταν σκόπιμο να κάνουμε μια γενικότερη περιγραφή των στοιχείων μιας Βάσης Δεδομένων. Τα στοιχεία (τμήματα) μιας ΒΔ είναι τα εξής: 1. Πίνακες 2. Ερωτήματα 3. Φόρμες 4. Αναφορές 5. Μακροεντολές 41

42 #3.1.2 Γενική περιγραφή μιας ΒΔ 6. Εγγραφές 7. Στοιχεία πίνακα Παρακάτω αναλύονται ένα προς ένα αυτά τα στοιχεία. 42

43 #3.2 Πίνακας Πίνακας είναι ουσιαστικά ο χώρος στον οποίο αποθηκεύονται τα δεδομένα μας, τα οποία είναι τακτοποιημένα (οργανωμένα) σε στήλες (γνωρίσματα ή πεδία) και γραμμές (τιμές ή εγγραφές). Πάνω στους πίνακες δουλεύουμε σε μία βάση δεδομένων. Κατασκευάζουμε πίνακες, εισάγουμε τροποποιούμε και διαγράφουμε δεδομένα σε αυτούς 43

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

45 Με τις φόρμες μπορούμε να: #3.4 Φόρμες εισάγουμε ομαδοποιημένα τιμές σε έναν πίνακα (εισαγωγή νέου πελάτη) παρουσιάσουμε ή και να τυπώσουμε τιμές από έναν ή περισσότερους συσχετισμένους πίνακες (εμφάνιση αποτελεσμάτων αναζήτησης από τηλεφωνικό κατάλογο, εκτύπωση τιμολογίου). Τις φόρμες τις φτιάχνουμε εμείς με ειδικά εργαλεία κατασκευής. 45

46 #3.5 Εκθέσεις Με τις εκθέσεις μπορούμε να κάνουμε εξαγωγή (εκτύπωση) των στοιχείων ενός πίνακα με όποια μορφή μας εξυπηρετεί. Μπορούμε να εξάγουμε δηλαδή ολόκληρο τον πίνακα, συγκεκριμένες στήλες ή ακόμα και συγκεκριμένες τιμές (υποσύνολο τιμών) από το πεδίο ορισμού μιας στήλης. 46

47 #3.6 Μακροεντολές Μακροεντολή είναι ένα σύνολο ενεργειών (εντολών) οι οποίες εκτελούνται με την σειρά με την οποία έχουν καταγραφεί και μας βοηθά να αυτοματοποιήσουμε μια συγκεκριμένη διαδικασία. Κάνουμε δηλαδή μια εργασία που απαιτεί πολλές ενέργειες με το πάτημα ενός πλήκτρου. 47

48 #3.7 Εγγραφές Εγγραφές είναι ουσιαστικά τα στοιχεία ενός φυσικού προσώπου (εργαζόμενος), ενός αντικειμένου (είδος), μιας διεργασίας (εγγραφή φοιτητή). Με άλλα λόγια είναι οι τιμές κάθε γραμμής (πλειάδας) ενός πίνακα της Σχεσιακής Βάσης Δεδομένων. 48

49 Όνομα της στήλης (γνώρισμα), #3.8 Στοιχεία του πίνακα Εγγραφές (τιμές) της στήλης. Είναι τα περιεχόμενα που είναι αποθηκευμένα στην στήλη, Μέγιστο μήκος της στήλης. Είναι το μέγιστο μήκος χαρακτήρων ή αριθμών που μπορεί να καταχωρηθεί στην στήλη και Τύπος της στήλης. Είναι ουσιαστικά το αν οι τιμές που καταχωρούνται θα είναι κείμενο, αριθμοί, ημερομηνίες και ώρες. 49

50 #3.9.1 Σχεσιακή ΒΔ Μια σχεσιακή ΒΔ καταγράφει δεδομένα μέσα σε σχέσεις (πίνακες). Μια πραγματική οντότητα γίνεται αντιληπτή στην ΒΔ ως ένα σύνολο τιμών που αντιστοιχούν στα γνωρίσματα μιας σχέσης. Η σχέση είναι ένα σύνολο από γνωρίσματα, (στήλες) το καθένα από τα οποία έχει διαφορετικό όνομα και διαθέτει κάποιο πεδίο ορισμού. Πλειάδα (γραμμή) είναι ένα σύνολο από τιμές. 50

51 #3.9.2 Σχεσιακή ΒΔ Κάθε τιμή αντιστοιχεί σε ένα γνώρισμα της σχέσης και προέρχεται από το πεδίο τιμών του γνωρίσματος. Η σχέση (πίνακας) έχει ένα καθορισμένο σύνολο γνωρισμάτων, το οποίο γενικά μένει σταθερό ως προς το χρόνο χρήσης της ΒΔ. Το σύνολο αυτό λέγεται επικεφαλίδα της σχέσης ή σχήμα της σχέσης. 51

52 # Ενημέρωση της ΒΔ Οι σχέσεις και το σχήμα της ΒΔ δημιουργούνται ταυτόχρονα στη φάση σχεδιασμού της ΒΔ. Στη σχέση εισάγονται (insert) δεδομένα μεταβλητά ως προς τον χρόνο. Η σχέση μπορεί να υποστεί τροποποίηση (update) αλλά και διαγραφή (delete) στα δεδομένα της. Η διαδικασία που περιλαμβάνει εισαγωγή, τροποποίηση και διαγραφή των δεδομένων σε μία σχέση ονομάζεται ενημέρωση της ΒΔ. 52

53 # Ενημέρωση της ΒΔ Οι έννοιες ενημέρωση και πλειάδα είναι άρρηκτα συνδεδεμένες μεταξύ τους. Όταν λεμέ εισαγωγή εννοούμε την εισαγωγή μια ή περισσοτέρων πλειάδων σε μία σχέση. Τροποποίηση (μεταβολή ή αλλαγή) επέρχεται σε μία ή και περισσότερες τιμές του συνόλου τιμών μιας πλειάδας που αντιστοιχούν στα γνωρίσματα μιας σχέσης. Διαγράφονται πάντα μία ή και περισσότερες πλειάδες και όχι μεμονωμένες τιμές που αντιστοιχούν σε κάποιο γνώρισμα της σχέσης. 53

54 # Συμπερασματικά Σχήμα της ΒΔ είναι το σύνολο των σχέσεων (πινάκων) που αποτελούν την ΒΔ. Σχέση (πίνακας) είναι το σχήμα, το μοναδικό όνομα (R) και το στιγμιότυπο της σχέσης. Σχήμα της σχέσης είναι το όνομα R και τα γνωρίσματα Α 1, Α 2,.Α n. Δηλ. R (Α 1, Α 2,.Α n ). Πεδίο ορισμού ενός γνωρίσματος Α i είναι όλες οι επιτρεπτές τιμές του. Dom(Α i ). Πλειάδα είναι μία διατεταγμένη λίστα από τιμές t=<ν 1,ν 2,,ν n > που κάθε μία ανήκει στο πεδίο ορισμού Dom(Α i ) του αντίστοιχου γνωρίσματος Α i. 54

55 # Συμπερασματικά Στιγμιότυπο σχέσης t[r] είναι το σύνολο όλων των πλειάδων μίας σχέσης σε μία συγκεκριμένη χρονική στιγμή. Γνώρισμα (στήλη του πίνακα) της σχέσης, είναι μία ιδιότητα με ένα μοναδικό όνομα μέσα στη σχέση. Βαθμός μιας σχέσης R είναι το πλήθος των γνωρισμάτων (στηλών) της σχέσης. Πληθικότητα μιας σχέσης R είναι το πλήθος των πλειάδων (γραμμών) της σχέσης. 55

56 #3.12 Ιδιότητες των σχέσεων Μοναδικότητα πλειάδων. Σε μία σχέση όλες οι πλειάδες είναι μοναδικές (δεν επαναλαμβάνονται). Διάταξη πλειάδων. Δεν υπάρχει συγκεκριμένη διάταξη (ταξινόμηση) πλειάδων σε μία σχέση. (Πάνω-Κάτω) Διάταξη γνωρισμάτων. Δεν υπάρχει συγκεκριμένη διάταξη (ταξινόμηση) γνωρισμάτων σε μία σχέση. (Αριστερά-Δεξιά) Ατομικότητα. Κάθε γνώρισμα έχει μόνο μία τιμή σε μία συγκεκριμένη πλειάδα. 1 η καν. μορφή(1nf). 56

57 #3.13 Κλειδιά Πρωτεύον κλειδί μιας σχέσης R είναι το υποψήφιο κλειδί που επιλέγεται ώστε κάθε πλειάδα της σχέσης R να προσδιορίζεται μοναδικά με βάση την τιμή αυτού του κλειδιού. Κάθε σχέση πρέπει να έχει ένα (και μόνο) ένα πρωτεύον κλειδί. Υποψήφιο κλειδί είναι κάθε γνώρισμα της R. 57

58 58

59 #4.1 Γενική περιγραφή Σχεσιακής Άλγεβρας Σχεσιακή Άλγεβρα είναι ένα σύνολο από τελεστές για πράξεις ανάμεσα σε σχέσεις (πίνακες). Κλειστότητα είναι το γεγονός ότι το αποτέλεσμα οποιασδήποτε σχεσιακής πράξης είναι σχέση (πίνακας). Το αποτέλεσμα αυτό μπορεί να συμμετάσχει ως τελεστέος σε μία νέα σχεσιακή πράξη. Η συμμετοχή αυτή λέγεται εμφώλευση. 59

60 #4.2 Αποτέλεσμα πράξεων στη Σχεσιακή Άλγεβρα Για κάθε σχεσιακή πράξη πρέπει να ορίζεται το σχήμα της σχέσης, ο βαθμός και η πληθικότητα. Το αποτέλεσμα των πράξεων μεταξύ σχέσεων είναι και αυτό σχέση με συγκεκριμένη επικεφαλίδα ή αλλιώς σχήμα της σχέσης. Άρα με βάση αυτό μπορεί να οριστεί ο βαθμός της σχέσης,δηλαδή το πλήθος των γνωρισμάτων της σχέσης. Επίσης η σχέση που προκύπτει έχει κορμό, δηλαδή ένα σύνολο από πλειάδες άρα έχει πληθικότητα. 60

61 #4.3 Συμβατότητα τύπου Δύο σχέσεις r και s έχουν συμβατότητα τύπου αν και μόνο αν: Έχουν τον ίδιο βαθμό, δηλαδή το ίδιο πλήθος γνωρισμάτων (αριθμό στηλών) Τα αντίστοιχα γνωρίσματα έχουν το ίδιο πεδίο ορισμού (μόνο αριθμούς ή μόνο αλφαριθμητικά κλπ). 61

62 #4.4 Πράξεις στην Σχεσιακή Άλγεβρα Οι συνηθέστερες πράξεις που εφαρμόζονται στην σχεσιακή άλγεβρα είναι οι εξής: Ένωση Τομή Διαφορά Γινόμενο Επίσης σύμφωνα με τον τρόπο εμφάνισης των δεδομένων: Επιλογή Προβολή 62

63 #4.5 Ένωση Ένωση (union) δυο σχέσεων r(r) και s(s) που έχουν συμβατότητα τύπου είναι μια νέα σχέση που έχει επικεφαλίδα ίδια με αυτή των r και s και κορμό το σύνολο των κορμών των r και s. Δηλαδή όλες τις πλειάδες που ανήκουν στην r, ή στην s, ή και στις δύο πλειάδες. r s ή r UNION s 63

64 #4.6 Ιδιότητες της Ένωσης Στην πράξη της ένωσης ισχύει η αντιμεταθετική ιδιότητα: r s s r Ισχύει επίσης και η προσεταιριστική ιδιότητα: r ( s t) ( r s) t ή r s t 64

65 #4.7 Τομή Τομή (intersection) δυο σχέσεων r(r) και s(s) που έχουν συμβατότητα τύπου είναι μια νέα σχέση που έχει επικεφαλίδα ίδια με αυτή των r και s και κορμό τις πλειάδες που ανήκουν και στην r και στην s. Δηλαδή τις κοινές πλειάδες. r s ή r INTERSECT s 65

66 #4.8 Ιδιότητες της Τομής Στην πράξη της ένωσης ισχύει η αντιμεταθετική ιδιότητα: r s s r Ισχύει επίσης και η προσεταιριστική ιδιότητα: r ( s t) ( r s) t ή r s t 66

67 #4.9 Διαφορά Διαφορά δυο σχέσεων r(r) και s(s) που έχουν συμβατότητα τύπου είναι μια νέα σχέση που έχει επικεφαλίδα ίδια με αυτή των r και s και κορμό τις πλειάδες που ανήκουν στην r αλλά όχι στην s. Δηλαδή όχι τις κοινές πλειάδες. r - s ή r MINUS s 67

68 #4.10 Ιδιότητες της Διαφοράς Δεν ισχύει η αντιμεταθετική ιδιότητα: r s s r Ως εκ τούτου η σειρά των τελεστέων έχει σημασία. Δεν ισχύει ούτε η προσεταιριστική ιδιότητα: r ( s t) ( s r) t 68

69 #4.11 Γινόμενο Καρτεσιανό γινόμενο δυο σχέσεων r(r) και s(s) είναι μια νέα σχέση που έχει επικεφαλίδα το σύνολο των γνωρισμάτων των σχέσεων και κορμό το σύνολο όλων των συνδυασμών των πλειάδων που ανήκουν στην r(r) και στην s(s). r Χ s ή r TIMES s 69

70 #4.12 Βαθμός & Πληθικότητα Γινομένου Εάν η σχέση r είναι m R βαθμού και έχει n R πληθικότητα και η σχέση s είναι m S βαθμού και έχει n S πληθικότητα, τότε το αποτέλεσμα είναι: m R +m S βαθμού n R * n S πληθικότητας 70

71 #4.13 Ιδιότητες του Γινομένου Στην πράξη του γινομένου ισχύει η αντιμεταθετική ιδιότητα: r s s r Ισχύει επίσης και η προσεταιριστική ιδιότητα: r ( s t) ( r s) t r ή s t 71

72 #4.14 Επιλογή Επιλογή ή περιορισμός μιας σχέσης r(r) είναι μία σχέση που έχει το ίδιο σχήμα με την r και κορμό ένα υποσύνολο του κορμού της r που ικανοποιεί μια συνθήκη. Π.χ. Χ τελεστής Υ. σ contition (R) ή Α WHERE Χ τελεστής Υ Ο τελεστής μπορεί να είναι λογικός: AND, OR, NOT ή ένας από τους:,,,,,. 72

73 #4.15 Προβολή Προβολή μιας σχέσης προκύπτει από την αφαίρεση κάποιων γνωρισμάτων της και την απαλοιφή πιθανών διπλοεγγραφών από τις πλειάδες που προκύπτουν. π Α1,Α2,.Αm (r) 73

74 74

75 #5.1 Άλλες Πράξεις στην Σχεσιακή Άλγεβρα Ως προς τις σχέσεις: Φυσική ή εσωτερική σύζευξη Σύζευξη θ Εξωτερική σύζευξη (Αριστερή ή Δεξιά) Διαίρεση Ως προς τον χειρισμό των δεδομένων: Σύνοψη Εισαγωγή Διαγραφή Τροποποίηση 75

76 #5.2 Φυσική Σύζευξη Έστω μια σχέση r με σχήμα {Χ,Υ} και μίας σχέση s με σχήμα {Y,Z}. Φυσική σύζευξη (ή εσωτερική σύζευξη) είναι μια σχέση με σχήμα {Χ,Υ,Ζ} και κορμό το σύνολο των συνδυασμών των πλειάδων των R και S για τις οποίες οι τιμές στο κοινό γνώρισμα Υ ταυτίζονται. Δηλαδή μια πλειάδα της r θα συνδυαστεί με μια πλειάδα της s αν και μόνο αν οι τιμές στο κοινό γνώρισμα Υ ταυτίζονται μεταξύ τους. r r NATURAL JOIN s ή r JOIN s s 76

77 #5.3 Ιδιότητες Φυσικής Σύζευξης Στην πράξη της Φυσικής Σύζευξης ισχύει η αντιμεταθετική ιδιότητα: r s s r Αλλά και η προσεταιριστική ιδιότητα: r ( s t) ( r s) t ή αλλιώς: r s t 77

78 #5.4 Σύζευξη θ Εάν έχουμε μια σχέση r με σχήμα {Α 1,Α 2, Α n }, και μια σχέση s με σχήμα {Β 1,Β 2, Β n }, τα γνωρίσματα Ai και Βj έχουν το ίδιο πεδίο ορισμού και θ είναι ένας τελεστής σύγκρισης με {,,,,, }, τότε η σύζευξη θ (θ JOIN) των R και S είναι μία σχέση με σχήμα το σύνολο των γνωρισμάτων των R και S {Α 1,Α 2, Α n,β 1,Β 2, Β n } και κορμό το σύνολο των πλειάδων από κάθε συνδυασμό των πλειάδων των R και S που ικανοποιούν την συνθήκη Ai θ Βj. (rxs) WHERE Ai θ Βj 78

79 #5.5.1 Εξωτερική Σύζευξη Η εξωτερική σύζευξη δίνει ως αποτέλεσμα ότι και η εσωτερική, αλλά και κάτι επιπλέον: δίνει πλειάδες από την μία ή την άλλη σχέση που δεν έχουν ταιριαστές τιμές. Αν υπάρχουν τέτοιες πλειάδες θα εμφανιστούν στο αποτέλεσμα της εξωτερικής σύζευξης. 79

80 #5.5.2 Εξωτερική Σύζευξη Αν r είναι μια σχέση με σχήμα R={A1,A2, An,B1,B2, Bk} και η s είναι μια σχέση με σχήμα S={B1,B2, Bk,C1,C2, Cm}, τότε η εξωτερική σύζευξη t θα έχει σχήμα T={A1,A2, An,C1,C2, Cm} και κορμό που αποτελείται από πλειάδες t που είναι: 1. Πλειάδες των r και s που εμφανίζονται στην εσωτερική σύζευξη, 2. Πλειάδες της σχέσης r που δεν έχουν ταιριαστές τιμές στη σχέση s με τιμές NULL στα γνωρίσματα της σχέσης s, 3. Πλειάδες της σχέσης s που δεν έχουν ταιριαστές τιμές στη σχέση r με τιμές NULL στα γνωρίσματα της σχέσης r. 80

81 #5.6 Αριστερή Εξωτερική Σύζευξη Η αριστερή εξωτερική σύζευξη (ή απλώς αριστερή σύζευξη) μεταξύ δύο σχέσεων r και s έχει ως αποτέλεσμα μια σχέση με: Σχήμα όμοιο με αυτό της φυσικής σύζευξης Κορμό τις πλειάδες που προκύπτουν από την ένωση των πλειάδων: της φυσικής σύζευξης r s όλων των πλειάδων της r (αριστερής σχέσης) που δεν υπάρχουν στο αποτέλεσμα της φυσικής σύζευξης, με τιμές NULL στα γνωρίσματα της s (δεξιάς σχέσης). 81

82 #5.7 Δεξιά Εξωτερική Σύζευξη Η δεξιά εξωτερική σύζευξη (ή απλώς δεξιά σύζευξη) μεταξύ δύο σχέσεων r και s έχει ως αποτέλεσμα μια σχέση με: Σχήμα όμοιο με αυτό της φυσικής σύζευξης Κορμό τις πλειάδες που προκύπτουν από την ένωση των πλειάδων: της φυσικής σύζευξης r s όλων των πλειάδων της s (δεξιάς σχέσης) που δεν υπάρχουν στο αποτέλεσμα της φυσικής σύζευξης, με τιμές NULL στα γνωρίσματα της r (αριστερής σχέσης). 82

83 #5.8 Διαίρεση Αν r είναι μια σχέση με σχήμα: R={A 1,A 2, A m,b 1,B 2, B n } και η s είναι μια σχέση με σχήμα: S={B 1,B 2, B n } τότε το αποτέλεσμα της διαίρεσης t r s είναι μια σχέση t με σχήμα Τ={A 1,A 2, A m }, ή αλλιώς είναι μια σχέση με σχήμα τη διαφορά R-S (εκείνα τα γνωρίσματα της r που δεν ανήκουν στην s). Ο κορμός της t αποτελείται από εκείνες τις πλειάδες της σχέσης r για τις οποίες τα κοινά γνωρίσματα {B 1,B 2, B n } της r με την s έχουν τιμές που ταυτίζονται. 83

84 #5.9 Σύνοψη Η σύνοψη (ή αλλιώς ομαδοποίηση) ομαδοποιεί πλειάδες μιας σχέσης με βάση κοινές τιμές σε ένα ή περισσότερα γνωρίσματα. Σε κάθε ένα από τα υποσύνολα των πλειάδων που προκύπτουν μπορεί να εφαρμοστεί μια συνάρτηση συνάθροισης (aggregating function), όπως η καταμέτρηση του πλήθους ή ο υπολογισμός του μέσου όρου ή η επιστροφή της μικρότερης τιμής κλπ. 84

85 #5.10 Συναρτήσεις συνάθροισης COUNT: Επιστέφει το πλήθος των εγγραφών. SUM: Υπολογίζει και επιστρέφει το άθροισμα ενός αριθμητικού γνωρίσματος. AVG: Υπολογίζει και επιστρέφει το μέσο όρο ενός αριθμητικού γνωρίσματος. MIN: Επιστρέφει την μικρότερη τιμή. MAX: Επιστρέφει την μεγαλύτερη τιμή. 85

86 #5.11 Ενημέρωση της Β.Δ. Εκτός από τις πράξεις επιλογής στη σχεσιακή άλγεβρα υπάρχουν και πράξεις ενημέρωσης της βάσης δεδομένων. Αυτές είναι: 1. Εισαγωγή δεδομένων στις σχέσεις, δηλαδή εισαγωγή μιας ή περισσοτέρων πλειάδων. Η πληθικότητα της σχέσης (το πλήθος των πλειάδων) αυξάνεται μετά την εισαγωγή. 2. Διαγραφή δεδομένων από τις σχέσεις, δηλαδή απαλοιφή μιας ή περισσοτέρων πλειάδων από τη σχέση. Η πληθικότητα της σχέσης μειώνεται μετά την διαγραφή. 3. Τροποποίηση δεδομένων στις σχέσεις, δηλαδή αλλαγές στις τιμές των γνωρισμάτων μιας σχέσης. Η πληθικότητα της σχέσης δεν μεταβάλλεται μετά την τροποποίηση. 86

87 # Εισαγωγή Εισαγωγή δεδομένων στην βάση σημαίνει εισαγωγή μιας πλειάδας (ή περισσοτέρων) σε μία σχέση. Πλειάδα είναι ένα σύνολο τιμών που αντιστοιχούν στα γνωρίσματα μιας σχέσης. Επομένως υπάρχει πάντα ο περιορισμός της σωστής αντιστοίχισης, Καθώς επίσης και της σχεσιακής ακεραιότητας των δεδομένων: κάθε τιμή της προς εισαγωγή πλειάδας πρέπει να ανήκει στο πεδίου ορισμού του γνωρίσματος. 87

88 # Εισαγωγή Η εισαγωγή δεδομένων Ε στη σχέση r γράφεται: Στην SQL με την εντολή : r r E INSERT 88

89 #5.13 Διαγραφή Διαγραφή δεδομένων από την βάση σημαίνει διαγραφή μιας πλειάδας (ή περισσοτέρων) από κάποια σχέση. Αυτό που διαγράφεται είναι το σύνολο των τιμών μιας πλειάδας και όχι κάποια μεμονωμένη τιμή. Διαγραφή δεδομένων Ε από μια σχέση r γράφεται: Στην SQL με την εντολή : r r E DELETE 89

90 #5.14 Τροποποίηση Η τροποποίηση αφορά στην αλλαγή κάποιων τιμών μιας πλειάδας που ανήκει σε μια σχέση. Μετά από την τροποποίηση η πληθικότητα της σχέσης ούτε αυξάνεται ούτε μειώνεται, απλώς αλλάζουν οι τιμές. Η τροποποίηση γράφεται: r Στην SQL με την εντολή : F1,F2, Fn (r) UPDATE 90

91 91

92 #6.1 Κανονικοποίηση-Μορφές Η θεωρία της κανονικοποίησης αντιμετωπίζει ένα από τα σπουδαιότερα προβλήματα σχεδιασμού των σχεσιακών βάσεων δεδομένων. Το πρόβλημα αυτό είναι η αντιμετώπιση όλων των περιορισμών ακεραιότητας. Οι μορφές της κανονικοποίησης είναι οι εξής: 1 η κανονική μορφή (1 st Normal Form or 1NF) 2 η κανονική μορφή (2NF) 3 η κανονική μορφή (3NF) Boyce-Codd (Boyce Codd Normal Form, BCNF) 4 η κανονική μορφή (4NF) 5 η κανονική μορφή (5NF) Εμείς θα ασχοληθούμε με τις τρεις πρώτες κανονικές μορφές. 92

93 #6.2 1 η Κανονική Μορφή (1NF) Σε πρώτη κανονική μορφή (ή αλλιώς 1ΝF) βρίσκεται ένας πίνακας όταν όλες οι τιμές σε όλα τα γνωρίσματα είναι ατομικές. Με άλλα λόγια κάθε στήλη πρέπει να περιέχει, μόνο μία τιμή σε κάθε της κελί. Οι πίνακες που δεν πληρούν τα παραπάνω τότε λένε ότι βρίσκονται σε μηδενική κανονική μορφή, κάτι που δημιουργεί προβλήματα σε μια σχεσιακή βάση δεδομένων. 93

94 #6.3.1 Παρατηρήσεις Για να είμαστε σίγουροι ότι η βάση μας έχει σχεδιαστεί σωστά και έχοντας στο μυαλό μας ότι οι εγγραφές που περιέχει η βάση είναι χιλιάδες ή και εκατομμύρια, θα πρέπει να ισχύουν τα εξής: Κατά την επιλογή θα πρέπει να μπορούν να γραφτούν όλα ή σχεδόν όλα τα ρωτήματα επιλογής. Κατά την εισαγωγή θα πρέπει να εισάγονται εύκολα και χωρίς δύσκολους χειρισμούς νέα δεδομένα στη βάση. 94

95 #6.3.2 Παρατηρήσεις Η διαγραφή να γίνεται εύκολα χωρίς να χάνονται άλλες πολύτιμες πληροφορίες και τέλος Να μπορεί η τροποποίηση να γίνεται με εύκολο τρόπο (χωρίς δύσκολους χειρισμούς) και να εξασφαλίζεται ότι από τις αλλαγές που θα επιφέρει η τροποποίηση δεν θα επηρεαστούν δεδομένα που πρέπει να μείνουν ανέπαφα. 95

96 #6.4.1 Συναρτησιακή Εξάρτηση Συναρτησιακή εξάρτηση είναι η εξάρτηση την τιμών ενός υποσύνολου γνωρισμάτων μιας σχέσης από ένα άλλο υποσύνολο γνωρισμάτων της σχέσης. Είναι δηλαδή ένας περιορισμός ανάμεσα σε δύο υποσύνολα γνωρισμάτων μιας σχέσης. Οι συναρτησιακές εξαρτήσεις πρέπει να αποφεύγονται από τον σχεδιασμό της βάσης δεδομένων γιατί δημιουργούν προβλήματα. 96

97 Τότε το: #6.4.2 Συναρτησιακή Εξάρτηση Έστω μία σχέση r με σχήμα R και X,Y υποσύνολα του σχήματος R. X Y Σημαίνει ότι το Υ είναι συναρτησιακά εξαρτημένο από το Χ, ή το Χ καθορίζει συναρτησιακά το Y. Tα μέλη μιας συναρτησιακής εξάρτησης αναφέρονται ως ορίζων (αριστερά από το βέλος) και εξαρτημένο (δεξιά από το βέλος). 97

98 #6.5 Ανωμαλίες Ενημέρωσης Ενώ κατά την διατύπωση των ερωτημάτων στην βάση δεν συναντούμε προβλήματα, πολλά προβλήματα παρουσιάζονται κατά την ενημέρωση της βάσης τα οποία αναφέρονται σαν ανωμαλίες ενημέρωσης και είναι: Ανωμαλία εισαγωγής. Κατά την εισαγωγή πλειάδων δεν πρέπει να εισάγονται περιττές εγγραφές Ανωμαλία διαγραφής. Κατά την διαγραφή πλειάδων δεν πρέπει να διαγράφονται χρήσιμες πληροφορίες Ανωμαλία τροποποίησης. Κατά την τροποποίηση εγγραφών δεν πρέπει να επηρεάζονται άσχετα δεδομένα. 98

99 #6.6 2 η Κανονική Μορφή (2NF) Ένας πίνακας βρίσκεται στην δεύτερη κανονική μορφή (ή αλλιώς 2NF) όταν είναι ήδη στην πρώτη και κάθε στήλη που δεν είναι κλειδί να έχει σχέση (εξαρτάται συναρτησιακά) με το πρωτεύον κλειδί. Εάν ένας πίνακας έχει απλό πρωτεύον κλειδί (όχι σύνθετο) και είναι στην 1NF τότε βρίσκεται αυτομάτως και στην 2NF. Η 2 η κανονική μορφή αφαιρεί τις μερικές συναρτησιακές εξαρτήσεις οι οποίες υπάρχουν στις σχέσεις με σύνθετο πρωτεύον κλειδί. 99

100 #6.7 3 η Κανονική Μορφή (3NF) Ένας πίνακας βρίσκεται στην τρίτη κανονική μορφή (ή αλλιώς 3NF) όταν είναι ήδη στην πρώτη 1NF και δεύτερη 2NF κανονική μορφή και κάθε στήλη που δεν είναι πρωτεύον κλειδί να είναι ανεξάρτητη από άλλη στήλη που δεν είναι επίσης πρωτεύον κλειδί. 100

101 #6.8 Κανονική Μορφή Boyce-Codd (BCNF) Ένας πίνακας βρίσκεται στη μορφή Boyce-Codd (BCNF) αν ένα συναρτησιακό χαρακτηριστικό (στήλη) σε μία συναρτησιακή εξάρτηση X Y είναι ένα υποψήφιο, είτε πρωτεύον είτε δευτερεύον κλειδί. 101

102 #6.9 4 η Κανονική μορφή (4NF) Ένας πίνακας βρίσκεται στην τέταρτη κανονική μορφή (ή αλλιώς 4NF) όταν είναι ήδη σε 3NF και δεν περιλαμβάνει εξαρτήσεις πολλαπλών τιμών. Εδώ πρέπει να λύσουμε προβλήματα που συναντάμε κατά την εισαγωγή και την διαγραφή νέων πλειάδων. 102

103 # η Κανονική μορφή (5NF) Ένας πίνακας βρίσκεται στην πέμπτη κανονική μορφή (ή αλλιώς 5NF) όταν δεν περιέχει καμία εξάρτηση συνένωσης. Σε αυτήν την περίπτωση εάν αποσυνθέσουμε τον πίνακα σε δύο άλλους δεν συνεπάγεται ότι μπορούμε να τον ανασυνθέσουμε με εντολή join χωρίς να παραχθεί κάποια πλασματική γραμμή. 103

104 104

105 #7.1 Ερωτήματα Επιλογής Για να θέσουμε ένα ερώτημα στην Βάση Δεδομένων πρέπει να το διαρθρώσουμε κατάλληλα και σε ακολουθώντας πάντα το συντακτικό της εκάστοτε Γλώσσας Χειρισμού Δεδομένων. Όλα τα ερωτήματα επιλογής αρχίζουν με τον όρο: SELECT Ο οποίος δηλώνει ότι θα ακολουθήσει ερώτημα επιλογής προς την ΒΔ. 105

106 #7.2.1 SELECT Έστω το ακόλουθο ερώτημα προς την Β.Δ.: SELECT * FROM όνομα_πίνακα ; Με τη εντολή SELECT ανασύρουμε δεδομένα από την βάση δεδομένων. Το αστεράκι υποδηλώνει ότι θέλουμε όλα τα πεδία του πίνακα. Ο όρος FROM δηλώνει την επιλογή από συγκεκριμένο πίνακα. Το όνομα_πίνακα είναι ο πίνακας από τον οποίο θέλουμε να ανασύρουμε δεδομένα. 106

107 #7.2.2 SELECT Το ελληνικό ερωτηματικό ; είναι το τερματικό ερωτήματος που πρέπει να υπάρχει πάντα. Τα ερωτήματα στην SQL μπορούν να γράφονται και με μικρούς χαρακτήρες. Π.χ select * from όνομα_πίνακα ; Σημ. Το παραπάνω ερώτημα επιστρέφει όλες τις πλειάδες (εγγραφές) του πίνακα. 107

108 #7.3.1 Επιλογή πεδίων Πιο κάτω βλέπουμε μερικές περιπτώσεις επιλογής συγκεκριμένων πεδίων σε έναν πίνακα. SELECT πεδίο FROM όνομα_πίνακα ; Επιστρέφονται όλες οι εγγραφές από συγκεκριμένο πεδίο (στήλη) του πίνακα. SELECT πεδίο1, πεδιο2 FROM όνομα_πίνακα ; Επιστρέφονται όλες οι εγγραφές από δύο διαφορετικά πεδία του πίνακα. 108

109 #7.3.2 Επιλογή πεδίων SELECT πεδίο AS όνομα FROM όνομα_πίνακα ; Επιστρέφονται όλες οι εγγραφές από συγκεκριμένο πεδίο του πίνακα δίνοντας του άλλο όνομα. 109

110 #7.4.1 Περιορισμός επιστρεφόμενων εγγραφών με τον όρο WHERE Μπορούμε να περιορίσουμε τις εγγραφές που θα μας επιστραφούν από την Β.Δ. εφαρμόζοντας στο ερώτημα τον όρο WHERE ακολουθούμενο από μία παράσταση. Έστω το ακόλουθο ερώτημα προς τη Β.Δ. SELECT πεδίο1, πεδιο2 FROM όνομα_πίνακα WHERE παράσταση; Ο όρος WHERE είναι προαιρετικός. Υποχρεωτικά τοποθετείται μετά από τον FROM. Ακολουθείται από μία έγκυρη παράσταση. 110

111 #7.4.2 Περιορισμός επιστρεφόμενων εγγραφών με τον όρο WHERE Η παράσταση μπορεί να περιέχει ονόματα πεδίων που είτε έχουν δηλωθεί στον SELECT είτε όχι. Στην παράσταση μπορούμε να χρησιμοποιήσουμε συγκριτικούς τελεστές (=,!=, >, <, >=, <=). Στην παράσταση μπορεί να υπάρχει σύγκριση πεδίων με κείμενο ή με ημερομηνία. 111

112 #7.5 Σύγκριση με κείμενο Το ερώτημα: SELECT * FROM όνομα_πίνακα WHERE πεδίο1= λέξη ; Επιστρέφει όλες τις εγγραφές του πίνακα όπου το πεδίο1 περιέχει την τιμή λέξη. Ενώ το ερώτημα: SELECT * FROM όνομα_πίνακα WHERE πεδίο1> λέξη ; Επιστρέφει όλες τις εγγραφές του πίνακα όπου στο πεδίο1 βρίσκονται μετά την τιμή λέξη. Σημ. Στην σύγκριση με κείμενο ότι βρίσκεται μετά τους συγκριτικούς τελεστές (>,=) μπαίνει πάντα μέσα σε εισαγωγικά. 112

113 Το ερώτημα: #7.6.1 Σύγκριση με ημερομηνία SELECT * FROM όνομα_πίνακα WHERE πεδίο_ημερομηνίας= ΕΕΕΕ-ΜΜ-ΗΗ ; Επιστρέφει όλες τις εγγραφές του πίνακα όπου το πεδίο_ημερομηνίας περιέχει συγκεκριμένη ημερομηνία με συγκεκριμένη μορφή. Ενώ το ερώτημα: SELECT * FROM όνομα_πίνακα WHERE πεδίο_ημερομηνίας> ΕΕΕΕ-ΜΜ-ΗΗ ; 113

114 #7.6.2 Σύγκριση με ημερομηνία Επιστρέφει όλες τις εγγραφές του πίνακα όπου το πεδίο_ημερομηνίας περιέχει ημερομηνίες μεγαλύτερες από αυτήν που βρίσκεται μέσα στα εισαγωγικά. Σημ. Και στην σύγκριση με ημερομηνία οι ημερομηνίες μπαίνουν πάντα μέσα σε εισαγωγικά. 114

115 #7.7 Ερωτήματα με αλγεβρικές παραστάσεις Μπορούμε να σχηματίσουμε αλγεβρικές παραστάσεις και στον όρο SELECT αλλά και στον όρο WHERE. Μπορούμε να χρησιμοποιήσουμε δηλαδή πράξεις με πρόσθεση, αφαίρεση, πολλαπλασιασμό, διαίρεση με όλους τους γνωστούς κανόνες του προγραμματισμού για να τις εισάγουμε στα ερωτήματά μας. Για παράδειγμα: SELECT * FROM υπάλληλοι WHERE μισθός+50>=850; Να βρεθούν όλοι οι υπάλληλοι που μετά από αύξηση 50 στο μισθό τους θα παίρνουν μισθό ίσο ή μεγαλύτερο από

116 #7.8 Ταξινόμηση Μπορούμε να ταξινομήσουμε δεδομένα ενός πεδίου (στήλης) με τον όρο ORDER BY. Ταξινομούμε με αύξουσα σειρά ASC και με φθίνουσα σειρά DESC. Εάν δεν δηλώσουμε προτιμώμενη σειρά ταξινόμησης η SQL ταξινομεί με αύξουσα. Κατά την αύξουσα ταξινόμηση ASC: τα πεδία με κείμενο ταξινομούνται με την σειρά της αλφαβήτου, οι αριθμοί από τον μικρότερο στον μεγαλύτερο και οι ημερομηνίες από την πιο παλιά προς την νεότερη. 116

117 #7.9 Ταξινόμηση παράδειγμα Να βρεθεί το όνομα και ο μισθός όλων των υπαλλήλων με φθίνουσα ταξινόμηση ως προς τον μισθό. SELECT όνομα, επώνυμο, μισθός FROM υπάλληλοι ORDER BY μισθός DESC; Το ερώτημα μας επιστρέφει τους υπαλλήλους από αυτόν με τον μεγαλύτερο μισθό προς αυτόν με τον μικρότερο. 117

118 118

119 #8.1 Απαλοιφή Διπλοεγγραφών Μπορούμε να απαλείψουμε τις διπλοεγγραφές που μας επιστρέφονται από την Β.Δ. και που οφείλονται στην ύπαρξη κλειδιού στο ερώτημα που θέτουμε στην βάση μας, με την εντολή DISTINCT η οποία μπαίνει αμέσως μετά το SELECT. Έστω το ερώτημα: SELECT DISTINCT πεδίο FROM πίνακας_1; Το αποτέλεσμα θα είναι οι εγγραφές να εμφανίζονται μόνο μία φορά η κάθε μία. 119

120 #8.2 Άγνωστες τιμές NULL Για να δούμε εάν κάποιο πεδίο περιέχει τιμές NULL (όχι κενές τιμές αλλά τιμές που δεν έχουν καταχωρηθεί ακόμα), χρησιμοποιούμε την έκφραση IS NULL μετά τον όρο WHERE μέσα στην παράσταση, Αντίθετα χρησιμοποιούμε την έκφραση IS NOT NULL για να δούμε εάν κάποιο πεδίο περιέχει τιμές NOT NULL. SELECT * FROM πίνακας_1 WHERE πεδίο_1 IS NULL; και SELECT * FROM πίνακας_1 WHERE πεδίο_1 IS NOT NULL; 120

121 #8.3 Εύρεση κειμένου μέσω χαρακτήρων (LIKE) Για να βρούμε μέσα σε ένα πεδίο κειμένου κάποια εγγραφή την οποία δεν μπορούμε να την βρούμε με την χρήση τελεστή σύγκρισης, χρησιμοποιούμε τον τελεστή LIKE με χαρακτήρα μπαλαντέρ. SELECT * FROM πίνακας_1 WHERE πεδίο LIKE Ν* ; Χαρακτήρες μπαλαντέρ: Το * (ή το % ) υποκαθιστά πολλούς χαρακτήρες σε ένα κείμενο, Το? (ή το _ ) υποκαθιστά έναν χαρακτήρα. 121

122 #8.4 Λογικοί τελεστές Όταν έχουμε μετά το WHERE πάνω από μία συνθήκες ή τιμές τότε χρησιμοποιούμε τους λογικούς τελεστές OR και AND. Ο Λογικός τελεστής OR (διαζευκτικό Η) εφαρμόζεται μεταξύ δύο συνθηκών όταν θέλουμε μία από τις δύο συνθήκες να είναι αληθής (TRUE)και ο Λογικός τελεστής AND (σύζευξη ΚΑΙ) όταν θέλουμε και οι δύο συνθήκες να είναι αληθείς. Παράδειγμα: Να βρεθούν τα προϊόντα που η τιμή τους είναι 100 ή αγοράστηκαν στις SELECT * FROM products WHERE price=100 OR date= ; 122

123 #8.5 Τελεστής εύρους τιμών Ο τελεστής BETWEEN είναι αυτός ο οποίος χρησιμοποιείται για να βρούμε τιμές ενός πεδίου μέσα σε ένα εύρος τιμών. Εφαρμόζεται σε πεδία με ακεραίους άλλα και ημερομηνίες. Όταν θέλουμε να βρούμε τιμές έξω από ένα εύρος τιμών χρησιμοποιείται μαζί με τον τελεστή άρνησης NOT (NOT BETWEEN). Παράδειγμα: Να βρεθούν οι φοιτητές οι οποίο έχουν περάσει το μάθημα. SELECT * FROM foithtes WHERE vath_db BETWEEN 5 AND 10; 123

124 #8.6 Τελεστής συνόλου IN Χρησιμοποιείται για τον έλεγχο τιμών ενός πεδίου μέσα σε ένα σύνολο τιμών. Παράδειγμα: θέλουμε να βρούμε όλα τα στοιχεία από έναν πίνακα φοιτητών των φοιτητών με κωδικούς 3,4, και 5. Το ερώτημα γράφεται με την χρήση του λογικού τελεστή OR. SELECT * FROM foithtes WHERE foit_id=3 OR foit_id=4 OR foit_id=5; Με τον τελεστή ΙΝ θα γραφτεί ως εξής: SELECT * FROM foithtes WHERE foit_id ΙΝ (2,3,4); 124

125 125

126 #9.1.1 Καρτεσιανό γινόμενο και σύζευξη Αυτό που πρέπει να γνωρίζουμε είναι ότι αυτά που ισχύουν για τα ερωτήματα σε έναν πίνακα ισχύουν και για τα ερωτήματα σε περισσότερους πίνακες. Το μόνο που αλλάζει είναι ότι στην εντολή SELECT μετά το FROM υπάρχουν περισσότεροι πίνακες. Π.χ εάν θέλω να βρω όλες τις εγγραφές δύο πινάκων γράφω την εντολή: SELECT * FROM πίνακας_1, πίνακας_2; Η επιστροφή είναι γνωστή ως καρτεσιανό γινόμενο: πίνακας_1 x πίνακας_2 Επιστρέφονται δηλαδή όλοι οι πιθανοί συνδυασμοί εγγραφών μεταξύ των πινάκων. 126

127 #9.1.2 Καρτεσιανό γινόμενο και σύζευξη Επειδή στην επιστροφή αυτή θα υπάρξουν δεδομένα που επαναλαμβάνονται χωρίς ουσιαστικά να είναι χρήσιμα, θα πρέπει να φτιάξουμε έτσι το ερώτημα μας προς τους πίνακες έτσι ώστε να πάρουμε ως επιστροφή «πραγματικά» δεδομένα, που αντιστοιχούν σε εκείνες τις εγγραφές που το κλειδί του πίνακα_1 ταυτίζεται με το κλειδί του πίνακα_2. Έτσι το ερώτημα διαμορφώνεται ως εξής: SELECT * FROM πίνακας_1, πίνακας_2 WHERE πίνακας_1.κλειδί = πίνακας_2.κλειδί; 127

128 #9.1.3 Καρτεσιανό γινόμενο και σύζευξη Αυτό είναι το αποτέλεσμα της σχεσιακής πράξης της φυσικής σύζευξης: πίνακας_1 πίνακας_2 Επιστρέφονται δηλαδή όλοι οι πιθανοί συνδυασμοί εγγραφών μεταξύ των πινάκων. Αυτό το ερώτημα στην SQL2 θα γραφτεί ως εξής: SELECT * FROM πίνακας_1 INNER JOIN πίνακας_2 ON πίνακας_1.κλειδί = πίνακας_2.κλειδί; 128

129 #9.1.4 Καρτεσιανό γινόμενο και σύζευξη Επειδή η σύζευξη γίνεται με βάση το ίδιο κλειδί, από τους δύο πίνακες που στον έναν θα είναι πρωτεύον και στον άλλο ξένο, τότε μπορεί να γραφτεί ως εξής: SELECT * FROM πίνακας_1 INNER JOIN πίνακας_2 USING(κλειδί); Σημ. Υπενθυμίζεται ότι κλειδί είναι μια στήλη ενός πίνακα που τον χαρακτηρίζει μοναδικά. 129

130 #9.2.1 Ψευδώνυμα πινάκων Είδαμε ότι με τον τελεστή AS μπορούμε να αλλάξουμε τα ονόματα πεδίων (στηλών). Το ίδιο ισχύει και με τους πίνακες. Μπορούμε δηλαδή για παράδειγμα μέσα σε ένα ερώτημα να αλλάξουμε το όνομα του πίνακα_1 σε π και του πίνακα_2 σε ρ. SELECT π.κωδ, π.όνομα, ρ.κωδ FROM πίνακας_1 AS π, πίνακας_2 AS ρ WHERE π.κλειδί = ρ.κλειδί; 130

131 #9.2.2 Ψευδώνυμα πινάκων Στο παραπάνω ερώτημα ζητάμε τις πληροφορίες συγκεκριμένων πεδίων των πινάκων π. και ρ. Δηλαδή ζητάμε τις στήλες κωδ. και όνομα από τον πίνακα π και την στήλη κωδ. από τον πίνακα ρ. Μπορούμε να παραλείψουμε τον τελεστή AS. Τότε το ερώτημα θα γραφτεί: SELECT π.κωδ, π.όνομα, ρ.κωδ FROM πίνακας_1 π, πίνακας_2 ρ WHERE π.κλειδί = ρ.κλειδί; 131

132 #9.2.3 Ψευδώνυμα πινάκων Σημ. Κόμματα υπάρχουν ανάμεσα στις στήλες και ανάμεσα στους πίνακες, αλλά όχι ανάμεσα στον πίνακα και στο ψευδώνυμό του όπου υπάρχει κενό. Είναι πολύ σημαντικό να ακολουθούμε τους κανόνες του συντακτικού της γλώσσας SQL για να μην έχουμε σφάλματα στην αποστολή των ερωτημάτων προς την γλώσσα αλλά και στην επιστροφή των αποτελεσμάτων. 132

133 #9.3.1 Εσωτερική σύζευξη Με την χρήση της φυσικής σύζευξης, που ουσιαστικά είναι ένα καρτεσιανό γινόμενο, που μας επιστρέφει πληροφορίες από τους πίνακες μέσω κοινών τιμών των στηλών που έχουμε ορίσει ως κλειδιά, το ερώτημα γράφεται: SELECT π.κωδ, π.όνομα, ρ.κωδ FROM πίνακας_1 π INNER JOIN πίνακας_2 ρ ON π.κλειδί = ρ.κλειδί; Εδώ χρησιμοποιούμε την εντολή της φυσικής ή εσωτερικής σύζευξης INNER JOIN μαζί με τον τελεστή ON ο οποίος ενώνει τα κλειδιά των δύο πινάκων. 133

134 #9.3.2 Εξωτερική σύζευξη Η εξωτερική σύζευξη δίνει ως αποτέλεσμα ότι και η εσωτερική, αλλά και κάτι επιπλέον, επιστρέφει εγγραφές από την μία ή την άλλη σχέση που δεν έχουν ταιριαστές τιμές. Αν υπάρχουν τέτοιες εγγραφές καταχωρημένες θα εμφανιστούν στο αποτέλεσμα της εξωτερικής σύζευξης. Έχουμε δύο είδη εξωτερικής σύζευξης: Την Αριστερή και την Δεξιά. Συντάσσονται: LEFT JOIN και RIGHT JOIN. Σημ. Συνήθως χρησιμοποιούμε την αριστερή σύζευξη. 134

135 #9.4 Αριστερή Εξωτερική σύζευξη Έστω το πιο κάτω ερώτημα αριστερής εξωτερικής σύζευξης: SELECT π.πεδιο1, π.πεδιο2, ρ.πεδιο1 FROM πίνακας_1 π LEFT JOIN πίνακας_2 ρ ON π.κλειδί = ρ.κλειδί; Αυτό το ερώτημα μας επιστρέφει όλες τις εγγραφές του πίνακα_1 και τις εγγραφές του πίνακα_2 για τις οποίες οι τιμές στα πεδία π.κλειδί και ρ.κλειδί ταυτίζονται. Το ρ.πεδίο (του δεξιού πίνακα ) θα πάρει την τιμή NULL όπου οι τιμές στα πεδία π.κλειδί και ρ.κλειδί δεν ταυτίζονται. 135

136 #9.5 Δεξιά Εξωτερική σύζευξη Έστω το πιο κάτω ερώτημα δεξιάς εξωτερικής σύζευξης: SELECT π.πεδιο1, π.πεδιο2, ρ.πεδιο1 FROM πίνακας_1 π RIGHT JOIN πίνακας_2 ρ ON π.κλειδί = ρ.κλειδί; Αυτό το ερώτημα μας επιστρέφει όλες τις εγγραφές του πίνακα_2 και τις εγγραφές του πίνακα_1 για τις οποίες οι τιμές στα πεδία π.κλειδί και ρ.κλειδί ταυτίζονται. Τα πεδία π.πεδιο1, π.πεδιο2 (του αριστερού πίνακα ) θα πάρουν την τιμή NULL όπου οι τιμές στα πεδία π.κλειδί και ρ.κλειδί δεν ταυτίζονται. 136

137 Βιβλιογραφία Σχεσιακές Βάσεις Δεδομένων - Χρήστος Σκουρλάς - Εκδόσεις Νέων Τεχνολογιών Συστήματα Βάσεων Δεδομένων Τομος 1- Connolly Begg Strachan - Εκδόσεις Ίων Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων Τόμος 1&2 - Elmasri Ramez - Navathe Shamkant B. - Δίαυλος ΑΕ Εκδόσεις Βιβλίων Βάσεις Δεδομένων και SQL μια πρακτική προσέγγιση - Α.Σταυρακούδης - Εκδόσεις Κλειδάριθμος Συστήματα Διαχείρισης Βάσεων Δεδομένων 3η έκδοση - Ramakrishnan R., Gehrke J. - Εκδόσεις Α. Τζιόλα & Υιοί Α.Ε Μαθήματα Βάσεων Δεδομένων - Βασίλειος Βερύκιος - Εκδόσεις Τζιόλα & Υιοί Α.Ε

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις 1) Ερωτήσεις Σωστού/Λάθους (ΣΛ) Το πακέτο λογισμικού Excel της Microsoft είναι λογισμικό διαχείρισης ΒΔ (ΣΛ) Το πακέτο λογισμικού Access της Microsoft είναι λογισμικό

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

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

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

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

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

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

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

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

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

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

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25 Περιεχόμενα Πρόλογος... 21 Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων. 23 1 Μια βόλτα στις βάσεις δεδομένων...25 1.1 Η πρώτη βάση δεδομένων... 26 1.1.1 Άλλοι τρόποι...26 1.1.2 Απαιτήσεις της εφαρμογής...29

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

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

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Στο μάθημα θα πούμε για Σχεσιακή Άλγεβρα Βάσεις Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

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

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

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

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

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

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

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

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

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

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

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

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

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

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

Πληροφορική 2. Βάσεις Δεδομένων (Databases) Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν

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

Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 06 Δεκεμβρίου 2012 Περιεχομενα

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

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Κανονικές Μορφές - Πρώτη κανονική μορφή (1NF) - Δεύτερη κανονική μορφή (2NF) - Τρίτη κανονική μορφή (3NF) 1 Κανονικοποίηση Κανονικές Μορφές Οι σχέσεις μπορούν

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

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

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) ΣΧΟΛΗ ΙΚΑΡΩΝ ΣΧΟΛΗ ΙΚΑΡΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α. ΑΝΔΡΕΑΤΟΣ Ιούλιος 2011 Βασικές έννοιες Δεδομένα: τυποποιημένα στοιχεία σε προκαθορισμένη μορφή κατάλληλη για περαιτέρω

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

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων Σύνοψη Στο παρόν κεφάλαιο θα παρουσιαστεί η πράξη της διαίρεσης. Στο κομμάτι των ασκήσεων θα γίνει συνολική επισκόπηση ερωτημάτων που εμπλέκουν πράξεις συνόλων.

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

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

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο Βάσεις Δεδομένων Εισαγωγή Ανάλυση Απαιτήσεων Φροντιστήριο 1 ο 16-10-2008 Εισαγωγή - Ορισμοί Βάση Δεδομένων είναι μία συλλογή από σχετιζόμενα αντικείμενα Ένα σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ)

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

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

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

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

Θέματα ανακεφαλαίωσης

Θέματα ανακεφαλαίωσης Θέματα ανακεφαλαίωσης 13 Ιουνίου 2013 1. Ορίστε την έννοια σχήμα σχέσης και αναλύστε τα στοιχεία του ορισμού σας. Υποθέστε ότι θέλουμε να αποθηκεύσουμε πληροφορίες για τα μέλη ενός πεζοπορικού συλλόγου

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

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

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

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

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός ΣτομάθημαθαπούμεγιαΣχεσιακή Άλγεβρα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 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

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

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

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

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

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

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

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

Ερωτήματα SQL με σύζευξη πινάκων ΜΗ ΕΙΝΑΙ ΒΑΣΙΛΙΚΗΝ ΑΤΡΑΠΟΝ ΕΠΙ ΓΕΩΜΕΤΡΙΑΝ Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 30 Σκοπός του μαθήματος Εκτελείτε ερωτήματα ανάσυρσης δεδομένων από

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

Διάγραμμα Οντοτήτων - Συσχετίσεων

Διάγραμμα Οντοτήτων - Συσχετίσεων Διάγραμμα Οντοτήτων - Συσχετίσεων Παύλος Εφραιμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι: Ανάλυση

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

Σχεδιασμός μιας Β : Βήματα

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους ΘΕΜΑΤΑ A Οι παρακάτω πίνακες αποτελούνται από τα εξής πεδία : ΕΡΓΑΖΟΜΕΝΟΣ : ΑΦΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΠΟΛΗ,ΜΙΣΘΟΣ, ΚΤ ΤΜΗΜΑ : ΚΤ, ΑΦΜ, ΤΙΤΛΟΣ_ΤΜΗΜΑΤΟΣ, ΤΗΛ ΕΡΓΑ : ΚΕΡ, ΠΕΡΙΓΡΑΦΗ, ΤΟΠΟΘΕΣΙΑ, ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ

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

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

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

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

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP. SQL: Ερωτήματα ομαδοποίησης και συνάθροισης GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 56 Περιεχόμενα 1 Εισαγωγή, γενικές

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

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

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

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

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

Εκπαιδευτικό Εργαλείο Κανονικοποίησης Εκπαιδευτικό Εργαλείο Κανονικοποίησης Σύντομες οδηγίες χρήσης Εισαγωγή Το πρόγραμμα Εκπαιδευτικό Εργαλείο Κανονικοποίησης αυτοματοποιεί τη διαδικασία της κανονικοποίησης πινάκων σε BCNF μορφή. Ο χρήστης

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

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

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

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

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

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (2 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Μοντελοποίηση δεδομένων Μοντέλο Οντοτήτων Συσχετίσεων Παραδείγματα Διαγραμματικές τεχνικές Συμβολισμοί Τριαδικές συσχετίσεις 2

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

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

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

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

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

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

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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

DISTINCT, LIKE, NULL, AND, OR, BETWEEN Περισσότερα για τα απλά ερωτήματα SQL DISTINCT, LIKE, NULL, AND, OR, BETWEEN Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 66 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

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

καλών σχεσιακών σχημάτων

καλών σχεσιακών σχημάτων Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ

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

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

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

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

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

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

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

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

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

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

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

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

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

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

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

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

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015 Βάσεις Δεδομένων Εργαστήριο ΙV Τμήμα Πληροφορικής ΑΠΘ 2014-2015 2 Σκοπός του 4 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων σύνδεσης η μελέτη ερωτημάτων συνάθροισης 3 Εκφράσεις

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

1 / 87

1 / 87 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 87 Δυο λόγια για την SQL Υλοποίηση του σχεσιακού μοντέλου δεδομένων του E.F. Codd, αρχικά ως DSl/Alpha, αργότερα

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

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση

Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση Εκφώνηση: Δίνεται ο παρακάτω πίνακας ΚΑΤΟΙΚΙΕΣ_ΑΓΟΡΑΣΤΩΝ τον οποίο χρησιμοποιεί μια κατασκευαστική εταιρία η οποία δραστηριοποιείται στην κατασκευή κατοικιών

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

Τίτλος Πακέτου Certified Computer Expert-ACTA

Τίτλος Πακέτου Certified Computer Expert-ACTA Κωδικός Πακέτου ACTA - CCE - 002 Τίτλος Πακέτου Certified Computer Expert-ACTA Εκπαιδευτικές Ενότητες Επεξεργασία Κειμένου - Word Δημιουργία Εγγράφου Προχωρημένες τεχνικές επεξεργασίας κειμένου & αρχείων

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

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

Λίγα λόγια από το συγγραφέα...7 Περιεχόμενα Λίγα λόγια από το συγγραφέα...7 Κεφάλαιο 1: Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα...9 Κεφάλαιο 2: Περαιτέρω τροποποίηση δομής πίνακα...41 Κεφάλαιο 3: Σχέσεις...84 Κεφάλαιο 4: Ερωτήματα...105

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

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

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

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

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

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

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

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

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

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

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

Μάθημα: Συστήματα Διαχείρισης Βάσεων Δεδομένων Αναλυτικό Διάγραμμα Μελέτης Μάθημα: Συστήματα Διαχείρισης Βάσεων Δεδομένων Αναλυτικό Διάγραμμα Μελέτης Χρονοδιάγραμμα Μελέτης- Διάθρωση της Ύλης 1η Εβδομάδα 2η Εβδομάδα 3η Εβδομάδα Παραδοσιακά Συστήματα που Βασίζονται σε Αρχεία Συστήματα

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

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

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

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων Βάσεις εδοµένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Παύλος Εφραιµίδης pefraimi at ee.duth.gr Στο µάθηµα θα πούµε για Σχεσιακή Άλγεβρα Βάσεις εδοµένων Σχεσιακή

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

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

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

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

Εργαστηριακές Ασκήσεις Σελίδα 1

Εργαστηριακές Ασκήσεις Σελίδα 1 Άσκηση 3 η : Δημιουργία ΒΔ που αποτελείται από δυο πίνακες με υλοποίηση συσχέτισης τύπου «1 προς Ν» και σχεδίαση διάταξης φόρμας-υποφόρμας προβολής και καταχώρησης δεδομένων. 1. χεδίαση και δημιουργία

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

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

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

1 / 97

1 / 97 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα προβολής, επιλέγοντας στήλες από ένα πίνακα

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

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

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

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

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ Κανονικοποίηση Παύλος Εφραιμίδης Βάσεις Δεδομένων Κανονικοποίηση 1 Πως μπορούμε να κρίνουμε εάν ένα Σχεσιακό Σχήμα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραμμές

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

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

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

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

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

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

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

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

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

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

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

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Βάσεις Δεδομένων Επαγγελματικού Λυκείου Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Εισηγητής Δελησταύρου Κωνσταντίνος Καθηγητής Πληροφορικής ΠΕ20 Μηχανικός Πληροφορικής Τ.Ε. M.Sc. στα Συστήματα Υπολογιστών Περιεχόμενα

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

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

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

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) MASTER IN OFFICE microsoft access ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) MASTER IN OFFICE microsoft access ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) MASTER IN OFFICE microsoft access ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ MASTER IN OFFICE Το Master in Office είναι κατάλληλο για άτομα που έχουν κάποια εμπειρία στο Office (πχ. κάτοχοι πτυχίου

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model .. Εργαστήριο Βάσεων Δεδομένων Relational Model . Σχεσιακό Μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις Μια σχέση είναι ένας πίνακας με διακριτό όνομα Κάθε

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

Εισαγωγή. Σχεδιασµός µιας Β

Εισαγωγή. Σχεδιασµός µιας Β Σχεδιασµός µιας Β Εισαγωγή ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων (κεφ. 3) γραφικό

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πεδί α

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

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

antzoulatos@upatras.gr

antzoulatos@upatras.gr Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 10 Ιανουαρίου 2013 Περιεχομενα

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

Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 55 Περιεχόμενα 1 Απλά υποερωτήματα

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

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

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

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

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

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

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

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

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

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

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) ΣΧΟΛΗ ΙΚΑΡΩΝ ΣΧΟΛΗ ΙΚΑΡΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α. ΑΝΔΡΕΑΤΟΣ Ιούλιος 2011 Βασικές έννοιες Δεδομένα: τυποποιημένα στοιχεία σε προκαθορισμένη μορφή κατάλληλη για περαιτέρω

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (9 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Βελτίωση σχεδιασμού Αποσύνθεση σχέσης Συναρτησιακές εξαρτήσεις Θεωρία κανονικών μορφών 1 η NF 2 η NF 3 η NF 2 Βελτίωση σχεδιασμού

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

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

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

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές. Σχολή Διοίκησης και Οικονομίας (ΣΔΟ) Τμήμα Λογιστικής και Χρηματοοικονομικής Διδάσκων: Δρ. Γκόγκος Χρήστος Μάθημα: Πληροφορική ΙI (εργαστήριο) Ακαδημαϊκό έτος 2013-2014 εαρινό εξάμηνο ΟΝΟΜΑΤΕΠΩΝΥΜΟ : ΑΡΙΘΜΟΣ

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