akil Δημοσ. 25 Μαΐου 2007 Δημοσ. 25 Μαΐου 2007 καλημερα σε ολους ,εχω ενα προβληματακι και οποια βοηθεια δεκτη λοιπον ,πανω σε sql server 2000 αν χρησιμοποιησω το πρωτευον κλειδι ενος πινακα1 σε ενα πινακα2 ως συνθετο πρωτευουον κλειδι ,δηλαδη στο πινακα2 το πρωτευον κλειδι του να εχει 2 ορισματα : πινακας2 { ............... ............... constaraint foreign key.......references Πινακας1 (πινακας1_ΙD) constaraint primary_key ..........(πινακας2_ID,Πινακας1_ΙD). θα ηθελα να μου πειτε τι σχεση δημιουργειται μεταξυ αυτων τον 2 πινακων 1:N ή M:N
random Δημοσ. 25 Μαΐου 2007 Δημοσ. 25 Μαΐου 2007 1:N afou to 1_ID einai PK sto table 1, den mporei na exeis polla 1_ID me thn idia timh.
akil Δημοσ. 25 Μαΐου 2007 Μέλος Δημοσ. 25 Μαΐου 2007 σε ευαχριστω παρα πολυ φιλε random,θα ηθελα να ρωτησω και κατι ακομα αυτο το στησιμο που εχω αναφερει παραπανω ειναι ικανο να καλυψει το εξης ερωτημα : εχω ενα πινακα ΟΧΗΜΑ και ενα πινακα ΙΔΙΟΚΤΗΤΕΣ και θελω για καθε οχημα να εχω απο ενα εως πολλους ιδιοκτητες και καθε ιδοκτητητης να εχει απο ενα εως πολλα οχηματα.Μπορω να χρησιμοποησω την υποδομη που εχω αναφερει παραπανω ;
drm Δημοσ. 25 Μαΐου 2007 Δημοσ. 25 Μαΐου 2007 Όχι... Για να δημιουργήσεις μία M:M σχέση πρέπει να ορίσεις έναν ενδιάμεσο πίνακα που θα περιλαμβάνει τις εγγραφές Ιδιοκτήτης_ID, Όχημα_ID για κάθε ζευγος... αυτός ο πίνακας θα έχει κύριο κλειδί ένα πεδίο ID.
RapidShade Δημοσ. 25 Μαΐου 2007 Δημοσ. 25 Μαΐου 2007 3 πινακες: tbCARS (CarID, CarField1, CarField2...) tbOWNERS (OwnerID, OwnerField1, OwnerField2...) tbCarsOwners (ID, OwnerID, CarID) tbCARS - tbCarsOwners >>> 1:N tbOWNERS - tbCarsWowners >>> 1:N ΑΡΑ tbCARS - tbOWNERS >>> N:M Τα κλειδιά φαντάζομαι εννοούνται
akil Δημοσ. 25 Μαΐου 2007 Μέλος Δημοσ. 25 Μαΐου 2007 παιδες σας ευχαριστω ολους ομως πανω σε αυτο που εχω στησει με τους 2 πινακες ,πινακας ΟΧΗΜΑ και πινακας ΟΔΗΓΟΙ. εχω τα εξης ενα πρωτευον κλειδι πανω στον πινακα οχημα (id_ox). Και πανω στον πινακα οδηγοι εχω 2 υποψηφια κλειδια ,ενα που ειναι το ξενο κλειδι απο τον πινακα οχημα το (id_ox). και ενα υποψηφιο κλειδι το (id_od) και εχω δημιουργησει με αυτα τα 2 κλειδια ενα ενα συνθετο πρωτευον κλειδι το (id_od,id_ox) με 2 δηλαδη ορισματα. και με αφηνει οταν παω να εισαγω δεδομενα πανω στον οδηγοι να εχω : odhgos1-oxhma1 odhgos2-oxhma2 odhgos2-oxhma1 και εδω ειναι το ερωτημα μου ,τι τυπο σχεσης έχω ;
Bspus Δημοσ. 25 Μαΐου 2007 Δημοσ. 25 Μαΐου 2007 Μαλλον πρεπει να αλλαξεις το σχημα σου και να κανεις αυτο που λεει ο rapidshade. Απο κλειδια: Στον πινακα οδηγοι πρεπει να υπαρχει μονο το πρωτευον κλειδι του οδηγου. Στον πινακα οχημα μονο το πρωτευον κλειδι του οχηματος Ο ενδιαμεσος πινακας θα εχει τα 2 κλειδια αυτα (που ειναι πρωτευοντα για τους πινακες οχημα και οδηγο) σαν ξενα κλειδια, και αν θες μπορεις να τα κανεις συνθετο πρωτευον κλειδι σε αυτον τον πινακα. Ετσι γλυτωνεις το ξεχωριστο πεδιο για τον ενδιαμεσο πινακα και βεβαιωνεσαι οτι δεν θα υπαρχει διπλοεγγραφη της ιδιας σχεσης οχηματος και οδηγου. Η σχεση που περιγραφεις εσυ δεν ειναι η καλυτερη δυνατη. Παρολο που οντως συσχετιζει πολλους οδηγους με πολλα οχηματα, η μια ΕΓΓΡΑΦΗ του πινακα οδηγοι σχετιζεται με πολλες απο τα οχηματα. Ο μονος τροπος να σχετισεις τον οδηγο1 πχ με το οχημα1 και με το οχημα2 ειναι καταγραφοντας τον 2 φορες μεσα στον πινακα ΟΔΗΓΟΙ, μαζι με ολες τις αλλες πληροφοριες. Φαντασου τωρα να ειχε ενας 30 οχηματα και να επρεπει να αλλαξεις τη διευθυνση του, η να ειχες γραψει λαθος το ονομα του...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.