mporei kapoios na me boithisei se auto

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
paoktsis442003
Δημοσιεύσεις: 6
Εγγραφή: 03 Ιαν 2008 13:23

mporei kapoios na me boithisei se auto

Δημοσίευση από paoktsis442003 » 09 Ιαν 2008 17:27

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

CREATE TABLE authors (
id integer primary key,
name varchar(200)
);
CREATE TABLE conference_proceedings (
id integer primary key,
name varchar(200) NOT NULL, ;ονομασία συνεδρίου (π.χ. VLDB, SIGMOD, ICDE, κλπ)
year integer NOT NULL
);
CREATE TABLE paper (
id integer primary key,
title varchar(100) NOT NULL,
conf_proc integer references conference_proceedings (id),
pages varchar(100)
);
CREATE TABLE paperauths (
paperid integer references papers(id),
authid integer references authors(id),
primary key (paperid, authid)
);
Δώστε ιδιαίτερη προσοχή στο γεγονός ότι ένα συνέδριο εκδίδει έναν τόμο πρακτικών (conference
proceedings) κάθε χρονιά. Έτσι πιθανές εγγραφές του πίνακα conference_proceedings είναι οι
παρακάτω: (2, VLDB, 2000), (3, SIGMOD, 1996), (43, VLDB, 2001), κλπ.
Όταν αναφερόμαστε στις εργασίες ενός συνεδρίου χωρίς να αναφέρουμε συγκεκριμένη χρονιά,
θεωρούμε όλες τις εργασίες που έχουν δημοσιευτεί στα πρακτικά όλων των ετών του συγκεκριμένου
συνεδρίου.
Εννοείται πως δεν είναι υποχρεωτικό να είναι καταχωρημένοι στη βάση μας όλοι οι τόμοι πρακτικών
ενός συνεδρίου (δηλαδή, μπορεί από ένα συνέδριο να έχουμε τις χρονιές 2000, 2005, και 2006 μόνο).
SQL . DBMΑπαντήστε με τα παρακάτω αιτήματα Μπορείτε να χρησιμοποιήσετε οποιοδήποτε S
επιθυμείτε (MS Access, SQLite, Solid Server, MySQL, MS SQL Server, Oracle, Postgres, κλπ.).

01. Οι τίτλοι των εργασιών που περιέχουν στον τίτλο τους το αλφαριθμητικό "SQL".
02. Τα συνέδρια (name) στα οποία δημοσιεύτηκαν εργασίες που περιέχουν στον τίτλο τους το
αλφαριθμητικό "SQL".
03. Τα ονόματα των συγγραφέων όλων των εργασιών που περιέχουν στον τίτλο τους το αλφαριθμητικό
"SQL".
04. Τον τίτλο της εργασίας με το μικρότερο id.
05. Οι τίτλοι των εργασιών που δημοσιεύτηκαν σε πρακτικά συνεδρίου με id < 100. (με 3 τρόπους:
EXISTS, IN, και JOIN)
06. Το πλήθος των εργασιών που δημοσιεύτηκαν σε κάθε έναν τόμο πρακτικών συνεδρίων.
07. Το πλήθος των εργασιών που έχουν δημοσιευτεί σε κάθε συνέδριο.
08. Το πλήθος των εργασιών που δημοσιεύτηκαν κάθε χρονιά που υπάρχει καταχωρημένη στη βάση.
09. Στην κοινότητα των Βάσεων Δεδομένων, δυο από τα πιο σπουδαία συνέδρια είναι τα VLDB και
SIGMOD. Βρείτε το όνομα του συγγραφέα (ή συγγραφέων) με τις περισσότερες δημοσιεύσεις σε
αυτά τα συνέδρια.
10. Τα ονόματα των συγγραφέων που έχουν εργασία σε όλα τα συνέδρια (δηλαδή, έχουν δημοσιεύσει
τουλάχιστον μια εργασία σε κάθε συνέδριο κάποια χρονιά).
11. Τα ονόματα των συγγραφέων που έχουν εργασία μόνο με το δικό τους όνομα σε όλα τα συνέδρια
(δηλαδή, έχουν δημοσιεύσει τουλάχιστον μια εργασία σε κάθε συνέδριο κάποια χρονιά).
12. Τα ονόματα των συγγραφέων που έχουν δημοσιεύσει εργασίες σε όλα τα συνέδρια VLDB.
13. Τα ονόματα των συγγραφέων που δεν έχουν δημοσιεύσει εργασίες τις χρονιές που δημοσίευσε ο
"Raghu Ramakrishnan".
14. Τους τίτλους των εργασίων που περιέχουν το αλφαριθμητικό "SQL" και έχουν τουλάχιστον 3
συγγραφείς.
15. Ονόματα συγγραφέων που είναι συνσυγγραφείς με συγγραφείς που είναι συνσυγγραφείς με τον
"Raghu Ramakrishnan".

ΜΕΧΡΙ ΤΟ 10 ΟΛΑ ΚΑΛΑ, ΑΠΟ ΕΚΕΙ ΚΑΙ ΠΕΡΑ ΔΕΝ ΤΟ ΠΑΛΕΥΩ, ΜΠΟΡΕΙ ΚΑΠΟΙΟΣ ΝΑ ΒΟΗΘΗΣΕΙ????

Άβαταρ μέλους
Hermeia
Honorary Member
Δημοσιεύσεις: 987
Εγγραφή: 02 Αύγ 2004 00:14
Τοποθεσία: Αθήνα
Επικοινωνία:

mporei kapoios na me boithisei se auto

Δημοσίευση από Hermeia » 16 Ιαν 2008 13:45

Υπόψη ότι δεν ξέρω SQL,
Κοιτώ το πρόβλημα λογικά (αλγόριθμος αν προτιμάς)


λογικά λοιπόν, φαίνεται ότι αν δεν έχεις πρόβλημα μέχρι το 10,
τότε δεν θα έχεις πρόβλημα και με τα επόμενα,
με μια μικρή εξαίρεση στο 13 και στο 15 - που απλά απαιτούν πιο πολύπλοκες
συνδυασμένες αναζητήσεις

με τη σειρά τώρα..

η αλήθεια είναι ότι από το 13 και πάνω απαιτούν λιγάκι παραπάνω δουλειά, αλλά τα 11 και 12 δεν καταλαβαίνω γιατί σε δυσκολεύουν, αφου λυνονται όπως και το 10 (ιδιες ερωτήσεις βασικά.. με ένα παραπάνω περιορισμό κάθε φορά)


πάμε με τη σειρά..


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

την ίδια δουλειά την έκανες και στο 10. - με τη διαφορά ότι εκεί κοιτούσες απλά αν υπάρχει το όνομα του συγγραφέα σε κάποια δημοσίευση, ενώ εδώ το όνομα του συγραφέα πρέπει να είναι το μοναδικό (δηλαδή όχι απλά να υπάρχει, αλλα ναναι ίσο και μοναδικό σε κάποια δημοσίευση, χωρίς παρέα, χωρίς άλλο όνομα)





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

το αυτό (του 10), αλλά μόνο για τα συνέδρια VLB - κι όχι για τα άλλα.




13. Τα ονόματα των συγγραφέων που δεν έχουν δημοσιεύσει εργασίες τις χρονιές που δημοσίευσε ο "Raghu Ramakrishnan".


ουπς.. δουλειά εδώ..
- πρώτα βρίσκουμε ποιες χρονιές δημοσίευσε ο τύπος,
και μετά ποιοί άλλοι δημοσίευσαν τις ίδιες χρονιές.

τιπ - κάντο σε ένα βρόχο - με τις χρονιές:
χρονιά-1, εχει τον τύπο? Αν ΝΑΙ, τότε.. πάμε και παιρνουμε τους άλλους,
.. και το αυτό για κάθε επόμενη χρονιά
- υπόψη ένα μικρό φίλτρο για να μην ξαναβγάζει τους ίδιους
(πρέπει να υποστηρίζει εύκολα κάτι τέτοιο - πχ. ναναι μοναδικά όλα τα ονόματα που επιστρέφει)



14. Τους τίτλους των εργασίων που περιέχουν το αλφαριθμητικό "SQL" και έχουν τουλάχιστον 3 συγγραφείς.

σχετικά απλό.. 1. έρευνα για το SQL, σε τίτλους εργασιών

KAI
(αυτό είναι το AND - ο λογικός τελεστής που απαιτεί να ισχύει και μια 2η συνθήκη)

για κάθε εργασία που το προηγούμενο ειναι ΝΑΙ,
πάμε αν έχει 3 συγγραφείς (όχι ακριβώς, αλλα και παραπάνω )



15. Ονόματα συγγραφέων που είναι συνσυγγραφείς με συγγραφείς που είναι συνσυγγραφείς με τον "Raghu Ramakrishnan".

βρόχος μέσα σε βρόχο..

- έρευνα για τον Raghu.. (όλες οι δημσιεύσεις με 2ο+ συγγραφέα)
-- για κάθε συν-συγγραφέα του,
---πάμε να πάρουμε όλους τους άλλους που έχουνε γράψει μαζί του (οπουδήποτε αλλού)
(& συνέχεια για κάθε επόμενο)

ναι?

επιπλοκές στο τελευταίο..

- δεν διευκρινίζει αν θεωρεί έγγυρες και τις αναφορές συν-συγγραφέων που έχουνε γράψει μαζί ΜΟΝΟ σε εργασίες που είναι και ο Raghu.. καλύτερα να αναφερθούν και αυτοί στην απάντηση (όταν ειναι 2 άλλοι στην ίδια εργασία με το Raghu)

- πως δεν θα έχουμε στα αποτελέσματα πολλαπλές αναφορές των ίδιων συνδυασμών συγγραφέων - σχετικά απλό πχ. εφόσον τους γράφουμε/αναφέρουμε πάντα με αλφαβητική σειρά (εντός κάθε ομάδας συν-συγγραφέων) κι εφαρμόζουμε πάλι το φιλτράκι της μη-επανάληψης
- Η- απο την έρευνα ακόμα, δεν ελέγχουμε (απορρίπτουμε) τα ονόματα που προηγούνται αλφαβητικά του ελεγχόμενου ονόματος (με τη λογική ότι εχει προηγηθεί η δική τους έρευνα κι εχουν αναφερθεί εκεί οι σχέσεις τους - εφόσον όλα γίνονται αλφαβητικά και με προσοχή)

Καλή τύχη

(ειλικρινά δεν πιστεύω ότι δεν ξέρεις πώς να το κάνεις, η ανάλυση είναι η μισή λύση - κι η άλλη μισή η διόρθωση των λαθών..)
Hermeia the InfoSharer
Η Γνώση είναι Δύναμη
Εικόνα

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες