Ερώτηση για mysql - php

panagiotis takis_rs takispadaz at hotmail.com
Wed Dec 16 16:59:02 EET 2009


Καλησπέρα!
Έστω ότι θέλουμε να δημιουργήσουμε μια σελίδα όπως π.χ η imdb.com
Έχουμε τους παρακάτω πίνακες...

movies
fields: id | title | actors

Παράδειγμα εγγραφής id=1, title=The movie, actors=takis texas,maria mariou,petros petrou


Actors
fields: id | name | DateOfBirth | Biography

Παράδειγμα εγγραφής id=5, name=takis texas, DateOfBirth=13/6/1977, Biography=mplamplampla
Εστω τώρα ότι κάνουμε ένα select στα περιεχόμενα που πίνακα movies για να εμφανίσουμε τα περιεχόμενα μιας ταινίας. Επίσης επιθυμούμε οι ηθοποιοί που υπάρχουν στον πίνακα actors να εμφανίζονται με συνδεσμό. Ο συνδεσμός αυτός θα παραπέμπει σε μια αλλη σελίδα όπου θα περιλαμβάνονται στοιχεία για τον ηθοποιό( το select εδώ θα γίνεται συμφωνα με το id του ηθοποιού).
Η ερώτηση μου τώρα είναι πώς μπορούμε να δημιουργήσουμε τον σύνδεσμο για κάθε ηθοποιό που υπάρχει ως εγγραφή στον πίνακα actors; Δηλαδή πως μπορούμε κατά το select from movies να σπάσουμε το πεδίο actors και για κάθε actor που υπάρχει στον πίνακα actors να τραβήξουμε το id;
Μια προφανή λύση είναι να κάνουμε τόσα select στον πινακα actors όσα και οι ηθοποιοί της ταινίας. Θα είναι πολύ επώδυνο ωστόσο για τον server.
Επίσης δεν μπορουμε να κρατάμε id ηθοποιών στον πίνακα movies καθώς δεν θα υπάρχουν όλοι οι ηθοποιοί στον πίνακα actors αλλά και θα γινεται προσθήκη ηθοποιών κάθε τόσο.

Μια διαφορετική υλοποίηση θα ήταν να κρατήσουμε τους ηθοποιούς της κάθε ταινίας σε διαφορετικό πίνακα π.χ
actors_of_movie
fields: id | actor

***movies.id=actors_of_movie.id

Παράδειγμα
1 - takis texas
1 - maria mariou
1 - petros petrou
Όποτε με ενα join με τον πίνακα actors θα είναι πιο απλά τα πράγματα.
Σε αυτή την περιπτωση όμως, δεδομένου ότι κάθε ταινία έχει 20 ηθοποιούς, και έστω οτι η βάση μας θα κρατήσει 4000 ταινίες δεν μακραίνει πολύ ο πίνακας actors_of_movie;

Αυτά...

Όποιος ξέρει κατι και έχει χρόνο, θα ήθελα πολύ να τον ακούσω.
Mιλάμε για mysql και διαχείριση από php.

Ευχαριστώ,
Πάνος

 		 	   		  
_________________________________________________________________
Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20091216/79eb5466/attachment.htm>


More information about the Linux-greek-users mailing list