Βάσεις Δεδομένων (Databases)

Σχετικά έγγραφα
Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων (Databases)

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη

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

Βάσεις Δεδομένων (Databases)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙΙ. RA Advanced + Examples

Βάσεις Δεδομένων Σύνθετα SQL queries

Εισαγωγή στη Σχεσιακή Άλγεβρα

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

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

Lecture 14: SQL DML I

Βάσεις Δεδομένων (Databases)

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

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Εισαγωγή στις Βάσεις Δεδομζνων II

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II. Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων (Databases)

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12

Βάσεις Δεδομένων (Databases)

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

Query-by-Example (QBE)

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

Lecture 16: SQL DML III

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

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

#5. Σχεσιακό Μοντέλο

Κεφάλαιο 5 Σχεσιακή Άλγεβρα

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46

Βάσεις Δεδομένων Ενότητα 6

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

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

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

Εισαγωγή στις Βάσεις Δεδομζνων II

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

Lecture 8: RM I + RA I

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ

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


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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

Βάσεις Δεδομένων (Databases)

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Κεφάλαιο 3 Σχεσιακό Μοντέλο

Βάσεις Δεδομένων (Databases)


Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

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

Τμήμα Διοίκησης Επιχειρήσεων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 4: Σχεσιακός Λογισμός

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

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

Lecture 21: Functional Dependencies and Normalization

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases)

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα.

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 3: Σχεσιακή Άλγεβρα

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων

Κεφάλαιο 3. ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ B Μέρος. Tο Σχεσιακό Μοντέλο Σελίδα 1


Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Βελτιστοποίηση επερωτημάτων

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

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

Lecture 15: SQL DML II

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

SQL Data Manipulation Language

Διάλεξη 15: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) III. Διδάσκων: Παναγιώτης Ανδρέου

Lecture 23: Functional Dependencies and Normalization

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

Σχεσιακή Άλγεβρα. Προγράμματα που απαντούν σε επερωτήσεις για τον τρέχον στιγμιότυπο της βάσης δεδομένων (querying)

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. Σχεσιακός Λογισμός


Κεφάλαιο 11 Ερωτήµατα

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

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

Transcript:

Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109)

Δένδρο Επερώτησης (Query Tree) Δένδρο Επερώτησης (Query Tree) Είναι μια δενδρική δομή που αντιστοιχεί σε μια έκφραση της Σχεσιακής Άλγεβρας η οποία δείχνει με ποια ακολουθία πρέπει να εκτελεστούν οι τελεστές Τερματικοί Κόμβοι: Σχέσεις Εισόδου Εσωτερικοί Κόμβοι: Τελεστές To δένδρο στα δεξιά, αναπαριστάται από την έκφραση Σ.Α.: T1 σ P.Plocation= Stafford (P) T2 T1 DNum=DNumber D T3 T2 Mgr_ssn=ssn E T4 π Pnumber, Dnum,Address, Bdate (T3)

Δένδρο Επερώτησης (Query Tree) Ένα Δένδρο Επερώτησης (Query Tree) ονομάζεται και Δένδρο Αποτίμησης Επερωτήσεων (Query Evaluation Tree) Η βάση δεδομένων επιλεγεί συνήθως μόνο τα αριστεροβαθή δένδρα (αυτά στα οποία το δεξί παιδί είναι σχέση εισόδου γιατί με αυτό τον τρόπο τα αποτελέσματα μπορεί να σωληνώνονται μεταξύ τελεστών (pipelined) Σημειώστε ότι υπάρχουν πολλά τέτοια πιθανά δένδρα n!, όπου n o αριθμός των σχέσεων (διάταξη χωρίς επανατοποθέτηση)

Εκτεταμένοι Σχεσιακοί Τελεστές Εξωτερικοί τελεστές: Εξωτερική ένωση Εξωτερική Συνένωση Στατιστικές/συναθροιστικές συναρτήσεις: MAX, MIN, AVG, SUM Count Subset: ομαδοποίηση (grouping) Αριθμητικές πράξεις και άλλες συναρτήσεις G. Samaras 2011

Εξωτερική Ένωση: r * s Ορίζετε πάνω σε μερικώς συμβατές σχέσεις μη συμβατά χαρακτηριστικά εμφανίζονται στο r * s μη συμβατά χαρακτηριστικά χωρίς τιμές γίνονται NULL σχέση r A B C a b c σχέση s A B D b g a r * s A B C D a b c Null d a f Null c b d Null d a f d a f b g Null a c b d d a Null f Τι γίνετε με την εξωτερική τομή (outer intersection) ή την εξωτερική διαφορά (outer difference); G. Samaras 2011

Εξωτερική Συνένωση Η συνένωση διαλέγει μόνο πλειάδες που ικανοποιούν την συνθήκη σύνδεσης Εξωτερική Συνένωση: Αριστερή, Δεξιά, Ολική/Πλήρης Left outer join (r ] s) κρατά κάθε πλειάδα στην πρώτη ή αριστερή σχέση Right outer join (r [ s) κρατά κάθε πλειάδα στην δεύτερη ή δεξιά σχέση Full outer join (r ] [ s) κρατά όλες τις πλειάδες Χαρακτηριστικά πλειάδων που δεν έχουν ταυτισμένες πλειάδες στην συνένωση, γίνονται NULL G. Samaras 2011

Εξωτερική σχέση r Συνένωση A B C r ] s A B C D a b c Null d a f f c b d Null r [ s A B C D d a f f b g Null a a b c d a f c b d r ] [ s A B C D a b c Null d a f f c b d Null b g Null a σχέση s A B D b g a d a f G. Samaras 2011

Συναθροιστικές Συναρτήσεις Μαθηματικές και στατιστικές συναθροιστικές συναρτήσεις σε συλλογή τιμών SUM, MAXIMUM, MINIMUM, AVERAGE COUNT πλήθος πλειάδων (cardinality) F <λίστα συναρτήσεων> (<σχέση>) Λίστα Συναρτήσεων είναι λίστα από ζεύγη (<συνάρτηση, χαρακτηριστικό>) Π.χ., F count SSN, AVERAGE QPA (STUDENT) G. Samaras 2011

Επιπλέον Σχεσιακοί Τελεστές (Συναθροιστικές Συναρτήσεις) Παραδείγματα Χρήσης του Τελεστή Συναθροιστικής Συνάρτησης F F MAX(Salary) (EMPLOYEE) επιστρέφει την μέγιστη τιμή του πεδίου Salary που εμφανίζεται στη σχέση EMPLOYEE. F MIN(Salary) (EMPLOYEE) επιστρέφει την ελάχιστη τιμή του πεδίου Salary που εμφανίζεται στη σχέση EMPLOYEE. F SUM(Salary) (EMPLOYEE) επιστρέφει το άθροισμα του πεδίου Salary που εμφανίζεται στη σχέση EMPLOYEE. F COUNT(SSN), AVERAGE(Salary) (EMPLOYEE) επιστρέφει τον αριθμό των υπαλλήλων και τον μέσο όρο των μισθών τους

Ομαδοποίηση Ομαδοποίηση της πλειάδος σε μια σχέση <χαρακτηριστικά ομαδοποίησης> F <λίστα συναρτήσεων> (<σχέση>) Οι πλειάδες ομαδοποιούνται βάση των τιμών των χαρακτηριστικών ομαδοποίησης Π.χ., major F count SSN, AVERAGE QPA (STUDENT) G. Samaras 2011

Ομαδοποίηση με Συναθροιστικές Συναρτήσεις Εάν θέλουμε μπορούμε να μετονομάσουμε τα αποτελέσματα έτσι ώστε αυτά να έχουν εξειδικευμένα ονόματα γνωρισμάτων R(Dno, No_of_employees, Average_sal) DNO F COUNT(SSN), AVERAGE(Salary) (EMPLOYEE)

(Ομαδοποίηση + Επιλογή με Συναθρ. Συναρ.) Q1: Βρες τα ονόματα όλων των υπαλλήλων με δυο ή περισσότερους εξαρτώμενους (dependents). // Καταμέτρηση (COUNT) Εξαρτωμένων κάθε ατόμου 1. T1(Ssn, Dcount) ESSN F COUNT(Dependent_name) (DEPENDENT) // Φιλτράρισμα Συναρθροιστικού Αποτελέσματος με Επιλογή 2. T2 σ Dcount 2 (T1) // Προβολή Αποτελεσμάτων (μέσω φυσικής συνένωσης πάνω στο SSN) 3. RESULT π LNAME, FNAME (T2 *EMPLOYEE)

Ανάδρομη (Recursive closure) Εφαρμόζετε σε μια ανάδρομη σχέση μεταξύ πλειάδων της ίδιας σχέσης Π.χ., βρείτε όλους τους προγόνους ή απόγονους Πως το εκφράζουμε; Τι γίνετε με τον τελεστή συνένωσης; Χρειάζεται δηλώσεις ελέγχου επανάληψη G. Samaras 2011

Εκφράσεις εγγραφής στη σχεσιακή άλγεβρα Διαγραφή: r r Σχεσιακή_Έκφραση STUDENT STUDENT (σ Dept = CSD QPA<2.5 (STUDENT)) Εισαγωγή: r r Σχεσιακή_Έκφραση STUDENT STUDENT {(365, Smith, John )} Ενημέρωση: r π χαρακτηριστικά-για-αναβάθμιση (r) STUDENT π Dept = CSD (σ Dept = CS (STUDENT)) G. Samaras 2011

Συζήτηση Η σχεσιακή άλγεβρα είναι διαδικαστική (procedural) Τα ερωτήματα σε μια σχεσιακή άλγεβρα καθορίζουν το πως παράγετε ένα αποτέλεσμα, ΑΛΛΆ Το πως πρέπει να είναι ευθύνη του συστήματος Τα ερωτήματα των χρηστών πρέπει να είναι δηλωτικά καθορίζοντας τι πρέπει να επιστραφεί Γλώσσες ερωτήσεων με κείμενο (SQL, QUEL) Γλώσσες ερωτήσεων με γραφικά (QBE) Γλώσσες Οπτικών Εικόνων (QBI) Γλώσσες ερωτήσεων με Πλοήγηση (QBB) Άλλες θεωρητικές γλώσσες ερωτήσεων: Σχεσιακός Λογισμός πλειάδων (Relational Tuple Calculus) Σχεσιακός Λογισμός πεδίου τιμών (δεδομένων) (Relational Domain Calculus) G. Samaras 2011

Παραδείγματα Σχεσιακής Άλγεβρας (Σχήμα UNIVERSITY)

Παραδείγματα Σχεσιακής Άλγεβρας Q1: Ανάκτησε το name και address όλων των υπαλλήλων που δουλεύουν για το Research department. 1. RESEARCH_DEPT σ DNAME= Research (DEPARTMENT) 2. RESEARCH_EMPS (RESEARCH_DEPT DNUMBER= DNO EMPLOYEE) 3. RESULT π FNAME, LNAME, ADDRESS (RESEARCH_EMPS) * Η σειρά των σ-π- θα μπορούσε να αλλάξει λαμβάνοντας πίσω το ίδιο αποτέλεσμα (π.χ., η σειρά των joins στο 2)

Παραδείγματα Σχεσιακής Άλγεβρας Q3: Βρες το όνομα των υπαλλήλων που δουλεύουν πάνω σε όλα τα projects που ελέγχονται από το department 5. 1. DEPT5_PROJS(Pno) π Pnumber (σ DNUM=5 (PROJECT)) 2. EMP_PROJ(Ssn, Pno) π ESSN, Pno (WORKS_ON) 3. RESULT_EMP_SSNS EMP_PROJ / DEPT5_PROJS 4. RESULT π LNAME, FNAME (RESULT_EMP_SSNS * EMPLOYEE)

Παραδείγματα Σχεσιακής Άλγεβρας Smith Q4: Δημιουργήστε μια λίστα από projects τα οποία περιλαμβάνουν ένα υπάλληλο με το επίθετο Smith, ως υπάλληλο ή* ως manager του τμήματος που ελέγχει το εν λόγω project. Αναλύοντας το πιο πάνω ερώτημα βρίσκουμε ότι το αποτέλεσμα θα πρεπει να είναι της μορφής (δηλ., να είναι ένωση αποτελεσμάτων) π Pnumber (SMITH_WORKER_PROJS SMITH_MGR_PROJS) Στην επόμενη διαφάνεια δείχνουμε αναλυτικά την απάντηση. * Εάν το ή ήταν συμμετρική διάφορα (δηλαδή είτε ή) τότε θα έπρεπε να εφαρμόσουμε την ισοδυναμία R S = (R S) (S R)

Παραδείγματα Σχεσιακής Άλγεβρας Smith Q4: Δημιουργήστε μια λίστα από projects τα οποία περιλαμβάνουν ένα υπάλληλο με το επίθετο Smith, ως υπάλληλο ή ως manager του τμήματος που ελέγχει το εν λόγω project. SMITHS π SSN (σ Lname= Smith (EMPLOYEE)) SMITH_WORKER_PROJS π Pno (SMITHS SSN=ESSN WORKS_ON) SMITH_MNG_DEPTS π DNumber (SMITHS SSN=MGR_SSN DEPARTMENT) SMITH_MGR_PROJS(PNO) π Pnumber (SMITH_MNG_DEPTS DNumber=DNum PROJECT ) RESULT π Pno (SMITH_WORKER_PROJS SMITH_MGR_PROJS(PNO))

Παραδείγματα Σχεσιακής Άλγεβρας Sailors-Reserve-Boats Βρες τα ονόματα των sailors που κράτησαν μια κόκκινη βάρκα Sailors(sid:integer, sname:string, rating:integer, age:real) Boats(bid:integer, bname:string, color:string) Reserves(sid:integer, bid:integer, day:date) π sname (( σ Boats) Re serves Sailors) color = ' red' Μια πιο αποδοτική διατύπωση*: Διατήρηση μόνο των απαραιτήτων γνωρισμάτων π sname ( π π σ sid (( Boats) Re s) Sailors) bid color = ' red' * Είναι πιο αποδοτικό διότι τα ενδιάμεσα αποτελέσματα είναι μικρότερα π.χ., στο π bid (σ color=«red» Boats) διατηρούμε ως ενδιάμεσο αποτέλεσμα μόνο το bid αντί και τα τρία πεδία.