Ορισμος κλειδιων σε πινακα παραγγελιων

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

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

Απάντηση
Άβαταρ μέλους
cristusflo
Δημοσιεύσεις: 307
Εγγραφή: 07 Οκτ 2007 00:36
Τοποθεσία: Salonica city
Επικοινωνία:

Ορισμος κλειδιων σε πινακα παραγγελιων

Δημοσίευση από cristusflo » 30 Αύγ 2008 01:10

Καλησπεριζω,

προσπαθω να φτιαξω ενα απο τα κλασσικα παραδειγματα για βασεις στο phpmyadmin.

Συγκεκριμενα εστω εχουμε εναν πινακα με μπυρες ( :pint: xexe ) και εναν πινακα με τους customers.

Τωρα στοχος μας ειναι να φτιαξουμε τον πινακα για τις παραγγελιες Orders.

Τα κλειδια στους 2 πρωτους πινακες ειναι το beer_id και το customer_id.

Το προβλημα τωρα...
Δημιουργουμε τον πινακα Orders :
a)Τα κλειδια του ειναι ξενα (δλδ των πινακων που εχουμε ηδη φτιαξει) και μαζι και τα 2 αποτελουν το primary key.
b) Φτιαχνουμε ενα νεο κλειδι ως order_id και το οριζουμε ως primary και τα κλειδια των αλλων 2 πινακων τα περναμε απλα ως πεδια σαυτον τον πινακα.

Ετσι στην πρωτη περιπτωση εχουμε ενα αποτελεσμα του στυλ : Ο κος με το customer_id = X εχει παραγγειλει 1.000 μπυρες με το beer_id=Y.
Στην δευτερη εχουμε το αποτελεσμα : Εκτελουμε την παραγγελια με το order_id = K για τον customer X και για 1.000 μπυρες με το beer_id = Y.

Προσωπικα νομιζω και οι δυο περιπτωσεις ειναι σωστες. Πρακτικα παρατηρω πως στην δευτερη περιπτωση εχουμε επιπλεον πληροφορια που μπορει να αποδειχθει χρησιμη, οπως και εχουμε ενα κλειδι ορισμενο ως primary αντι για 2 ξενα κλειδια που αποτελουν το primary.

Τελικα ποιο ειναι το σωστο?Εξαρταται απο τι ζηταμε?Τα 2 ξενα κλειδια ειναι αρκετα ωστε να καλυψουν τις απαιτησεις μας για τον τριτο πινακα orders ?

Απάντηση

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

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

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