Πεδίο πολλαπλής τιμής(multivalued attribute)...

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

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

Απάντηση
rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Πεδίο πολλαπλής τιμής(multivalued attribute)...

Δημοσίευση από rafinos » 18 Ιούλ 2011 15:48

Θα ήθελα να μου πείτε αν υπάρχει τέτοια δυνατότητα στην mysql;;;

Για παράδειγμα κάποιος μπορεί να μιλάει πάνω από μία γλώσσες... πως θα γίνει αυτό στην mysql;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πεδίο πολλαπλής τιμής(multivalued attribute)...

Δημοσίευση από Apostolis_38 » 18 Ιούλ 2011 16:08

Η MySQL δεν δίνει αυτή τη δυνατότητα σαν ξεχωριστoύ τύπου πεδίο.
Υπάρχουν κάποια workarounds (serialize, διαχωρισμός data με κάποιο σύμβολο κ.λ.π.) αλλά εξαρτάται από το τι θες να κάνεις και τα περισσότερα δεν ενδύκνεινται.
Αν αυτό που θέλεις να κάνεις είναι αυτό που αναφέρεις (πάνω από μια γλώσσες για ένα πεδίο) πιθανός να ήταν καλύτερα να φτιάξεις ένα νεο πεδίο, ή και πίνακα ακόμα.
Ψάξε στο κομμάτι της PHP.
Θα βρείς αρκετή ύλη.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Πεδίο πολλαπλής τιμής(multivalued attribute)...

Δημοσίευση από korgr » 18 Ιούλ 2011 16:30

Ας υποθέσουμε το table persons με personID, personName
Ας υποθέσουμε το table languages με langID, langName

Για να καθορίσεις περισσότερες από μία γλώσσα σε κάθε πρόσωπο, θα χρειαστείς και ένα τρίτο πίνακα πχ personLanguages με id, personID, langID

Για παράδειγμα αν τα ελληνικά έχουν langID=1 και τα αγγλικά έχουν langID=2, τότε ένα person πχ με personID=5 θα μπορούσε να μιλάει και τις δύο γλώσσες με τις ακόλουθες δύο εγγραφές στον πίνακα personLanguages

id | personID | langID
----------------------------
1 | 5 | 1
2 | 5 | 2

Απάντηση

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

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

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