Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα παιδες. Θα ηθελα την βοηθεια σας για μια απλη εργασια που προσπαθω να κανω αλλα επειδη δεν ειμαι και το πιο γρηγορο πιστολι στην αγρια δυση το μυαλο χρειαζεται σπρωξιμο για να εκτελεσει καποια πραγματα και να τα καταλαβει.

Εχω την παρακατω εργασια.

Β. Παρακάτω έχουμε το σχήμα μιας βάσης δεδομένων για την διαχείριση των κρατήσεων πλοίων μιας επιχείρησης. Να δημιουργήσετε τα κατάλληλα ερωτήματα σε γλώσσα SQL προκειμένου να απαντηθούν τα παρακάτω:

SAILORS (sid:integer , sname:string, rating:integer, age:real)

BOATS (bid:integer , bname:string , color:string)

RESERVES( sid:integer , bid:integer , day:date)

  1. Βρείτε τα ονόματα και τις αξιολογήσεις των ναυτικών με βαθμό > 8.
  2. Βρείτε τα πλοία που έχουν χρώμα διαφορετικό του πράσινου(GREEN) ή έχουν το όνομα «THASOS»
  3. Βρείτε τα ονόματα των ναυτικών που έχουν ναυλώσει πλοίο.
  4. Βρείτε τα ονόματα των ναυτικών που έχουν ναυλώσει ένα πλοίο στις 15-12-2005.
  5. Βρείτε τα ονόματα των ναυτικών που έχουν ναυλώσει το πλοίο με κωδικό 103.
  6. Βρείτε τα ονόματα των ναυτικών που έχουν ναυλώσει ένα κόκκινο πλοίο.
  7. Βρείτε το χρώμα των πλοίων που έχουν ναυλωθεί από τον ναυτικό με όνομα Bob
  8. Βρείτε τους κωδικούς των ναυτικών ηλικίας > 20 που δεν έχουν ναυλώσει κόκκινο πλοίο.

Θεωρω οτι εχω κανει τα ερωτηματα μεχρι το 5. Αλλα δυσκολευομαι στο 6 και 7. Νομιζω εχει να κανει με πολλαπλα εμφωλευμενα ερωτηματα(?) η με join(?) αλλα οπως γραφω και στον τιτλο ειμαι αρχαριος και λογω προθεσμιας δεν εχω καταφερει να το ψαξω ακομα οπως θα ηθελα το αντικειμενο της SQL οποτε αμα μπορει καποιος να βοηθησει με τις εντολες και για πιο λογω πρεπει να γινουν με τον τροπο που πρεπει για να μας δωσουν σωστο αποτελεσμα θα το εκτιμησω παρα πολυ!!!

Ευχαριστω για τον χρονο σας!!!

Δημοσ.

Στα γρήγορα τα 2 ερωτήματα. Χωρίς καμία σιγουριά... 

6.
SELECT DISTINCT sname
FROM ( SAILORS NATURAL JOIN RESERVATION ) NATURAL JOIN BOATS
WHERE color='κόκκινο'

7.
SELECT DISTINCT color
FROM ( SAILOR NATURAL JOIN RESERVATION ) NATURAL JOIN BOATS
WHERE sname='Bob'

Δημοσ.

 

6)

SELECT 
    sailors.sname 
FROM 
    (sailors
        JOIN reservs ON (reservs.sid = sailors.sid)
        JOIN boats ON (reservs.sid = boats.bid))
WHERE
    boats.color = 'red'
GROUP BY sailors.sname
HAVING COUNT(sailors.sname) = 1;

7)

SELECT 
	boats.color 
FROM 
	(boats
		JOIN reservs ON (reservs.sid = boats.sid)
		JOIN sailors ON (boats.sid = sailors.bid))
WHERE
	sailors.sname = 'Bob'
GROUP BY boats.color
Δημοσ.

Για το 6 θες να λύσεις τα εξής υποερωτήματα:

  1. Πως θα βρεις τα ονόματα των ναυτικών των ναυτικών?
  2. Πως θα βρεις ένα κόκκινο πλοίο?
  3. Πως θα βρεις ποιος ναύτης  ναύλωσε ένα πλοίο?

Το ερώτημα 6 βασίζετε στην λύση του ερωτήματος 3. Τροποποίησε αυτό το query. To ερώτημα 7 πάλι βασίζετε στο ερώτημα 3 και τροποποίηση το query του ερωτήματος 3.

Δηλαδή εάν σε δυσκολεύει σπάστο, και κατανόησε τι μορφή θα έχει η λύση και μετά βρες την λύση.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...