Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεArtemesio Georgiades Τροποποιήθηκε πριν 9 χρόνια
1
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Ι Λόγοι που συνέτειναν στη υιοθέτηση των Συστημάτων Διαχείρισης Βάσεων Δεδομένων (Database Management Systems) Περιορίζονται τα πλεονασματικά δεδομένα και οι περιπτώσεις μεταξύ τους ασυνέπειας και αυξάνεται η διαμοιρασιμότητά τους στις διάφορες εφαρμογές Βελτιώνεται η ακεραιότητα των δεδομένων Αυξάνεται η ταχύτητα υλοποίησης νέων υποσυστημάτων Διευκολύνεται η πρόσβαση στα αρχεία από τους προγραμματιστές Αυξάνεται η ανεξαρτησία δεδομένων Παρέχεται μία συγκροτημένη άποψη δεδομένων πιο κατάλληλη για τις ανάγκες του management Βελτιώνονται τα standards για τους ανθρώπους που εργάζονται στην ανάπτυξη συστημάτων
2
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΙΙ
3
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΙΙΙ Θεμελιώδες μοντέλο
Αναγνωρίζουμε τις πραγματικότητες της επιχειρηματικής οργάνωσης και στη συνέχεια αναλύουμε τα δεδομένα. Οι πραγματικότητες εκφράζονται μέσω αντικειμένων που αποκαλούνται οντότητες (entities) και δεδομένων που αφορούν τις οντότητες και καλούνται ιδιότητες (attributes). ΠΑΡΑΔΕΙΓΜΑ: Σε ένα πανεπιστημιακό τμήμα ΜΑΘΗΜΑΤΑ, ΦΟΙΤΗΤΕΣ και ΚΑΘΗΓΗΤΕΣ θα μπορούσαν να εκφράζονται από οντότητες. Η οντότητα ΜΑΘΗΜΑ θα έχει ιδιότητες όπως όνομα_μαθήματος, περιγραφή, διάρκεια, έτος κ.α. Μας ενδιαφέρουν ακόμη οι σχέσεις (relationships) μεταξύ των οντοτήτων. Έτσι, οι ΦΟΙΤΗΤΕΣ διδάσκονται από πολλούς ΚΑΘΗΓΗΤΕΣ.
4
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΙV Λογικό μοντέλο
Έχοντας καταλήξει σε ένα θεμελιώδες μοντέλο μπορούμε αυτό να το αντιστοιχίσουμε σε ένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (DBMS). Η μορφή που θα έχει μία τέτοια αντιστοίχιση λέγεται λογικό μοντέλο και αυτή εξαρτάται από το σύστημα DBMS που χρησιμοποιείται. Στις σχεσιακές βάσεις δεδομένων το λογικό μοντέλο ορίζεται στη βάση σχέσεων (πινάκων), αλλά σε άλλου τύπου DBMS μπορεί αυτό να παίρνει μία άλλη μορφή.
5
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - V Φυσικό μοντέλο
Αντιστοίχιση των δομών δεδομένων του λογικού μοντέλου σε ένα αποθηκευτικό μέσο και αποθήκευση των δεδομένων. ΟΡΓΑΝΩΣΗ ΑΡΧΕΙΩΝ: πως είναι οργανωμένα τα δεδομένα στο δίσκο ΠΡΟΣΠΕΛΑΣΗ ΑΡΧΕΙΩΝ: πως τα δεδομένα προσπελαύνονται στο δίσκο Υπάρχουν διάφορες επιλογές από τα διάφορα DBMS για την οργάνωση των αρχείων (π.χ. κεντρικά ή κατανεμημένα, με ή χωρίς εφεδρικά αντίγραφα, χρήση ευρετηρίων ή όχι κ.ο.κ.).
6
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΔΕΔΟΜΕΝΩΝ - Ι
Πεδίο (field) Είναι η μικρότερη μονάδα δεδομένων που μπορεί να πάρει δικό της όνομα π.χ. η τιμή ενός προϊόντος. Το ονοματεπώνυμο ενός υπαλλήλου μπορεί να χωριστεί σε δύο πεδία ή μπορεί να θεωρηθεί και ως ένα πεδίο αν δεν ενδιαφερόμαστε να έχουμε ξεχωριστά το Επώνυμο και το Όνομα. Λογικά χαρακτηριστικά δεδομένων Κάθε πεδίο δεδομένων παίρνει μια συγκεκριμένη τιμή από ένα χώρο δυνατών τιμών. Η τιμή ενός πεδίου μπορεί να είναι: 1. Αριθμητική 2. Αλφαβητική 3. Αλφαριθμητική Έτσι έχουμε τρεις τύπους πεδίων δεδομένων.
7
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΔΕΔΟΜΕΝΩΝ - ΙΙ
Λογικά χαρακτηριστικά δεδομένων (συνέχεια) Αν ένα πεδίο δεδομένων είναι αριθμητικό τότε η τιμή που περιέχει ανταποκρίνεται σε κάποια μονάδα μέτρησης π.χ. 100 δραχμές, 800 κιλά κ.λ.π. Η μονάδα μέτρησης γίνεται ένα πρόσθετο χαρακτηριστικό που μας ενδιαφέρει άμεσα, αν και η μονάδα μέτρησης δεν είναι αναγκαίο να αποτελεί μέρος του πεδίου. Γενικά, ο τύπος ενός πεδίου είναι φανερός από την τιμή του, ενώ η μονάδα μέτρησης δεν είναι. Η σημασία που έχει ένα πεδίο είναι ένα χαρακτηριστικό που δίνεται από το χρήστη, μπορεί να αναγνωριστεί από την τιμή του και τη μονάδα μέτρησης, αλλά όχι πάντα με ασφάλεια. π.χ. η τιμή ΕΛΛΗΝΑΣ μπορεί να αναφέρεται σε έναν έλληνα μπορεί όμως να είναι και κάποιο επώνυμο π.χ. η τιμή 342 € τι σημασία έχει; Πρόκειται για λεφτά που κάνει να πάρουμε ή που πρόκειται να δώσουμε;
8
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΔΕΔΟΜΕΝΩΝ - ΙΙΙ
Φυσικά χαρακτηριστικά δεδομένων Ένα φυσικό χαρακτηριστικό πεδίου δεδομένων είναι το φυσικό μέγεθος του πεδίου το οποίο συνήθως εκφράζεται σε αριθμό χαρακτήρων (bytes). Στους πιο πολλούς υπολογιστές τέσσερα bytes κάνουν μία λέξη η οποία και χρησιμοποιείται σαν η βασική μονάδα για αριθμητικές πράξεις. Αν ένα πεδίο πρόκειται να χρησιμοποιηθεί σε αριθμητικές πράξεις καλό είναι να το βάζουμε μόνο του σε μία λέξη. Οι πράξεις θα γίνουν πολύ πιο γρήγορα. π.χ. έστω δύο πεδία δεδομένων με τιμές ABC και 254 που τις βάζουμε σε 6 συνεχόμενα bytes και θέλουμε να χρησιμοποιήσουμε το 254 σε πράξεις Α Β C 2 5 4
9
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΔΕΔΟΜΕΝΩΝ - ΙV
Φυσικά χαρακτηριστικά δεδομένων (συνέχεια) Έτσι, είναι προτιμότερο α βάλουμε τα δύο πεδία σε δύο λέξεις ως εξής: Γενικά, η εγγραφή των δεδομένων και το πόσο χώρο θα καταλάβουν εξαρτάται από τον τρόπο παράστασης των δεδομένων στον H/Y. Μορφή πεδίου δεδομένων Τύπος πεδίου: Αριθμητικό, Αλφαβητικό, Αλφαριθμητικό για τα αριθμητικά θα έχουμε επιπλέον: ακέραιο ή πραγματικό Τρόπος αναπαράστασης: δεκαδικός, δυαδικός, απλή ή διπλή ακρίβεια κ.λ.π. Μήκος πεδίου: πλήθος χαρακτήρων A B C 2 5 4
10
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΔΕΔΟΜΕΝΩΝ - V
Αναγνώριση πεδίου Ο εντοπισμός ενός πεδίου γίνεται με βάση τη θέση που αυτό έχει μέσα στην εγγραφή. Στις Βάσεις Δεδομένων ένα πεδίο μπορεί επίσης να αναγνωριστεί και με το όνομά του. Εγγραφές και Αρχεία Κάθε εγγραφή αποτελείται από ένα πεπερασμένο πλήθος πεδίων. Πολλές φορές εξυπηρετεί να μιλάμε για n (n>1) συνεχόμεα πεδία μιας εγγραφής, οπότε μιλάμε για μία ομάδα πεδίων ή για ένα σύνθετο πεδίο.
11
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΔΕΔΟΜΕΝΩΝ - VΙ
ΠΑΡΑΔΕΙΓΜΑ: εγγραφές φοιτητών Αριθμός ειδικού μητρώου aem πεδίο αλφαριθμ(4) Ονοματεπώνυμο name σύνθ. πεδίο Επώνυμο name_s πεδίο αλφαβ(25) Όνομα name_f πεδίο αλφαβ(25) Διεύθυνση address πεδίο αλφαριθμ(30) Βαθμοί marks σύνθ. πεδίο Βαθμός μαθήματος 1 v1 πεδίο αριθμητ(2) Βαθμός μαθήματος 2 v2 πεδίο αριθμητ(2) Βαθμός μαθήματος 3 v3 πεδίο αριθμητ(2)
12
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΔΕΔΟΜΕΝΩΝ - VΙΙ
13
ΦΥΣΙΚΕΣ-ΛΟΓΙΚΕΣ ΕΓΓΡΑΦΕΣ & ΑΡΧΕΙΑ - Ι
Φυσική εγγραφή Καταλαμβάνει φυσικώς συνεχόμενο χώρο μνήμης και εκτός από τα πεδία (τιμές) μπορεί να υπάρχουν πρόσθετες πληροφορίες όπως το μήκος της εγγραφής, τύπος, δείκτες κ.λ.π. Λογική εγγραφή Είναι μια συλλογή από πεδία φυσικών εγγραφών για τα οποία ενδιαφέρεται ο χρήστης της Β.Δ. πλην όμως τα πεδία αυτά δεν είναι απαραίτητο να είναι φυσικώς συνεχόμενα. Ακόμη, μπορεί να ανήκουν σε περισσότερα του ενός αρχεία. Στις Β.Δ. μία λογική εγγραφή μπορεί να ταυτίζεται με μία φυσική εγγραφή ή να είναι ένα γνήσιο υποσύνολό της ή να αποτελείται από πεδία τα οποία ανήκουν σε διαφορετικέ φυσικές εγγραφές της βάσης.
14
ΦΥΣΙΚΕΣ-ΛΟΓΙΚΕΣ ΕΓΓΡΑΦΕΣ & ΑΡΧΕΙΑ - ΙΙ
Αρχεία Είναι μια συλλογή από εγγραφές στην οποία δίνουμε ένα όνομα. Ο όρος συνήθως χρησιμοποιείται για να δηλώσει μία φυσική οργάνωση εγγραφών. Ένα αρχείο μπορεί να περιέχει εγγραφές διαφορετικού τύπου. π.χ. σε μία τράπεζα μπορεί να έχουμε εγγραφές πελατών, εγγραφές καταθέσεων, εγγραφές μετοχών κ.λ.π. Είναι χρήσιμο να έχουμε λογικά αρχεία τα οποία είναι ανεξάρτητα από τα φυσικά. Ένα λογικό αρχείο αποτελείται από ορισμένες εγγραφές ενός αρχείου π.χ. όλες οι εγγραφές των πελατών αποτελούν ένα λογικό αρχείο Η έννοια των λογικών αρχείων είναι πολύ χρήσιμη γιατί επιτρέπει σε κάθε χρήστη να καθορίζει τη δικιά του συλλογή δεδομένων ανάλογα με τις ανάγκες του και αυτό ανεξάρτητα από τη φυσική οργάνωση της Β.Δ.
15
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ Β.Δ. – Ι
Κάθε χρήστης που χρησιμοποιεί δεδομένα της βάσης θα πρέπει να καθορίζει τα δεδομένα που θα χρησιμοποιήσει στην εφαρμογή του. Τον καθορισμό αυτών των δεδομένων το λέμε σχήμα (schema). Είναι λοιπόν ανάγκη να υπάρξει μια διαφοροποίηση ανάμεσα στις περιγραφές των δεδομένων του χρήστη και των δεδομένων της βάσης. Την περιγραφή των δεδομένων που θέλει ο χρήστης τη λέμε εξωτερικό σχήμα, ενώ για τη βάση έχουμε το περιγραφικό σχήμα και το εσωτερικό σχήμα.
16
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ Β.Δ. – ΙΙ
Περιγραφικό σχήμα Είναι ένα επίπεδο περιγραφής όλων των δεδομένων της βάσης που βρίσκεται ανάμεσα στο χρήστη και στη βάση. Περιέχει πλήρη περιγραφή των πεδίων των records, κύριων κλειδιών, δευτερεύοντων κλειδιών, όρια τιμών κ.λ.π. Εγγραφή νέων αρχείων, διαγραφή αρχείων, διαφοροποιήσεις στη δομή τους κ.λ.π. Σημαίνει και αντίστοιχες μεταβολές στο περιγραφικό σχήμα. Εξωτερικό σχήμα Περιγράφει τα δεδομένα που ο κάθε χρήστης χρειάζεται. Σε περίπτωση που δύο ή περισσότεροι χρήστες θέλουν τα ίδια δεδομένα, τότε μοιράζονται το ίδιο εξωτερικό σχήμα.
17
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ Β.Δ. – ΙΙΙ
Εσωτερικό σχήμα Περιγράφει τον τρόπο εγγραφής των δεδομένων σε επίπεδο record στο μαγνητικό μέσο (Μ. Δίσκο). Περιλαμβάνει τη μορφή των records, τους συνδέσμους, τους αλγορίθμους αναζήτησης, πίνακες ευρετηρίων, τη μονάδα αποθήκευσης κ.α. Το εσωτερικό σχήμα είναι η φυσική υλοποίηση του περιγραφικού σχήματος. Αντιστοιχίες Η επικοινωνία μεταξύ των τριών σχημάτων γίνεται από το Σύστημα Διαχείρισης Βάσεων Δεδομένων με ειδικό λογισμικό που υπάρχει μέα σ’ αυτό και η όλη διαδικασία λέγεται αντιστοίχιση. Προκειμένου ένα εξωτερικό σχήμα να λειτουργήσει θα πρέπει να έλθει σε επαφή με το περιγραφικό σχήμα και στη συνέχεια το περιγραφικό σχήμα με το εσωτερικό σχήμα. Το εν λόγω λογισμικό, αναλαμβάνει να μεταφέρει τις απαιτήσεις του χρήστη στο περιγραφικό σχήμα και βρίσκει σ΄ αυτό με ποια δεδομένα της βάσης αντιστοιχούν οι απαιτήσεις του χρήστη. Οι απαιτήσεις αυτές στη συνέχεια υλοποιούνται ενεργοποιώντας το εσωτερικό σχήμα.
18
ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ
Γενικά οι χρήστες μιας Β.Δ. είναι είτε προγραμματιστές εφαρμογών με υψηλές γνώσεις προγραμματισμού είτε άνθρωποι με λίγες ή και καθόλου γνώσεις προγραμματισμού. Κάθε χρήστης επικοινωνεί με τη Β.Δ. με τη βοήθεια μιας γλώσσας. Για τους χρήστες με λίγες ή και καθόλου γνώσεις προγραμματισμού υπάρχει μια ειδική διαλογική γλώσσα (qery language). Η Γλώσσα Ορισμού ή Περιγραφής Δεδομένων (Data Definition Language) είναι ένα υποσύνολο της διαλογικής γλώσσας στο οποίο περιγράφονται τα διαθέσιμα δεδομένα της βάσης. Η DDL χρησιμοποιείται για τον ορισμό του εξωτικού σχήματος της βάσης. Η Γλώσσα Χειρισμού Δεδομένων (Data Manipulation Language) περιλαμβάνει εντολές μέσω των οποίων επιτυγχάνεται η μεταφορά δεδομένων από και προς τη Β.Δ. Η DML χειρίζεται λογικά records.
19
ΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Ι ΠΙΝΑΚΕΣ (ή σχέσεις) Κάθε πίνακας έχει ένα όνομα.
Κάθε στήλη έχει ένα όνομα. Όλα τα ονόματα των στηλών πρέπει να είναι διαφορετικά μεταξύ τους. Η θέση κάθε γραμμής στον πίνακα δεν είναι σημαντική. Η θέση κάθε στήλης δεν είναι σημαντική (αυτό σημαίνει ότι ο χρήστης μπορεί να χρησιμοποιήσει οποιαδήποτε στήλη ή στήλες, αναφερόμενος στο όνομά της ή τα ονόματά τους και όχι αναφερόμενος στη θέση της στήλης ή των στηλών). Κάθε διασταύρωση γραμμής και στήλης πρέπει να περιέχει μια μόνο τιμή. Περισσότερες από μία τιμές δεν επιτρέπονται. Κάθε γραμμή του πίνακα πρέπει να είναι διαφορετική από τις άλλες. Αυτό σημαίνει ότι δεν επιτρέπεται να έχουμε δύο ή περισσότερες γραμμές που να έχουν τις ίδιες τιμές σε κάθε στήλη (αν βέβαια έχει οριστεί πρωτεύον κλειδί).
20
ΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΙΙ Οι τιμές του πίνακα θα πρέπει να είναι σε αρμονία με ότι έχουμε ορίσει στα πεδία ορισμού της κάθε στήλης. Τιμές που δεν είναι σύμφωνες με αυτά που έχουμε προκαθορίσει ή θα απορριφθούν από το DBMS ή θα δημιουργήσουν αργότερα προβλήματα στη χρήση τους. Μια τιμή μέσα σε έναν πίνακα μπορεί να είναι συγκεκριμένη ή όχι. Στη δεύτερη περίπτωση λέμε ότι η τιμή είναι άγνωστη ή απροσδιόριστη τιμή (NULL). Όταν εγγράφουμε τιμές σε έναν πίνακα και μία τιμή μας είναι π.χ. άγνωστη, τότε στη θέση της δεν εγγράφουμε τίποτε. Οι άγνωστες τιμές δεν πρέπει να συγχέονται με το μηδέν ή τα κενά, καθώς τα κενά είναι μία συγκεκριμένη τιμή. Πολλές φορές σε έναν πίνακα έχουμε μία στήλη της οποίας οι τιμές είναι όλες διάφορες μεταξύ τους και έτσι η κάθε μία από αυτές αντιστοιχεί ή αναγνωρίζει μία και μόνο γραμμή. Σε μία τέτοια περίπτωση λέμε ότι το κλειδί αυτό είναι το κύριο κλειδί του πίνακα. Στην περίπτωση που καμία στήλη δεν μπορεί να ληφθεί σαν κύριο κλειδί, τότε μπορούμε να φτιάξουμε το κύριο κλειδί συνδυάζοντας και τιμές άλλων στηλών.
21
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΩΝ Ι Προκειμένου να δημιουργήσουμε ένα νέο πίνακα στη βάση θα πρέπει να του δώσουμε ένα όνομα και στη συνέχεια να καθορίσουμε τη δομή του. Η εντολή της γλώσσας SQL που χρησιμοποιούν όλα τα συστήματα Βάσεων Δεδομένων για το σκοπό αυτό είναι η εντολή CREATE TABLE. CREATE TABLE όνομα-πίνακα (καθορισμός πεδίου-1 καθορισμός πεδίου-n) όπου για κάθε πεδίο έχουμε: <όνομα πεδίου, τύπος πεδίου, [NOT NULL]>
22
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΩΝ ΙI ΠΑΡΑΔΕΙΓΜΑ ΔΗΜΙΟΥΡΓΙΑΣ ΠΙΝΑΚΑ CREATE TABLE S
(P# (CHAR(6), NONULL, PRIMARY) EPONYMO CHAR (30) ONOMA CHAR (15) POLI CHAR (20) TEL CHAR (12))
23
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΩΝ ΙII
ΠΑΡΑΔΕΙΓΜΑ ΔΗΜΙΟΥΡΓΙΑΣ ΠΙΝΑΚΑ CREATE TABLE P (E# (CHAR(6), NONULL, PRIMARY) ONOMA-E CHAR (15) XAR-PR CHAR (15) POLI CHAR (20) TIMH NUMERIC (5)) αν θα θέλαμε να ορίσουμε πραγματικές τιμές, τότε το πεδίο TIMH θα έπρεπε να δηλωθεί ως NUMERIC (8.3)
24
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΩΝ ΙV ΠΑΡΑΔΕΙΓΜΑ ΔΗΜΙΟΥΡΓΙΑΣ ΠΙΝΑΚΑ
πίνακας που προκύπτει από τους δύο προηγούμενους CREATE TABLE SP (P# (CHAR(6), NONULL, PRIMARY) E# (CHAR(6), NONULL, PRIMARY) POSOTHTA NUMERIC(5))
25
ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΣΕ ΜΙΑ Β.Δ.
ΠΑΡΑΔΕΙΓΜΑ ΕΙΣΑΓΩΓΗΣ ΤΙΜΩΝ ΣΕ ΠΙΝΑΚΑ INSERT INTO S VALUES (‘Π1’,’ΓΕΩΡΓΙΟΥ’,’ΓΙΑΝΝΗΣ’,’ΑΘΗΝΑ’, ‘ ’); μπορούμε και να βάλουμε πολλές γραμμές με μία INSERT
26
ΕΠΙΛΟΓΗ RECORDS I Για να τυπώσουμε records χρειαζόμαστε μία εντολή με την οποία είτε θα τυπώνουμε όλα τα records είτε θα κάνουμε επιλογή αυτών που θέλουμε. SELECT <ον. στήλης-1, ον. στήλης-2, . . ., ον. στήλης-ν ή *> FROM <όνομα πίνακα> WHERE <συνθήκη> εκτύπωση όλου του πίνακα SELECT * FROM S ή SELECT P#, EPONYMO, ONOM, POLI, TEL FROM S εκτύπωση στηλών SELECT P#, POLI FROM S
27
ΕΠΙΛΟΓΗ RECORDS IΙ εκτύπωση γραμμών
SELECT Ε#, POLI FROM S WHERE POLI=“ΑΘΗΝΑ” ή SELECT * FROM S WHERE Π#=“Π3” Π3 ΒΑΣΙΛΕΙΟΥ ΔΗΜΗΤΡΗΣ ΛΑΜΙΑ Τελεστές =, >, <, >=, <=, <>, .AND., .OR., .NOT. SELECT * FROM P WHERE POLI=“ΑΘΗΝΑ” .AND. TIMH>50 Π# ΟΝΟΜΑ-Ε XAR-PR POLI TIMH Ε4 ΖΑΧΑΡΗ ΣΚΟΥΡΗ ΑΘΗΝΑ 60 E6 ΦΑΚΕΣ ΧΟΝΤΡΕΣ ΑΘΗΝΑ 70
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.