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

George Zarogiannis zarogiannis at gmail.com
Wed Dec 16 17:22:29 EET 2009


Σύμφωνα με τον κανόνα, κάθε M x N σχέση υλοποιείται με έναν πίνακα σαν τον *
actors_of_movie

*Ό,τι άλλο είναι προβληματικό....
*


*
2009/12/16 panagiotis takis_rs <takispadaz at hotmail.com>

>  Καλησπέρα!
> Έστω ότι θέλουμε να δημιουργήσουμε μια σελίδα όπως π.χ η 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>
>
>
> --
> linux-greek-users mailing list -- http://lists.hellug.gr
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20091216/df50581a/attachment.htm>


More information about the Linux-greek-users mailing list