doc1991 Δημοσ. 27 Μαΐου 2011 Δημοσ. 27 Μαΐου 2011 Παιδεια καλησπερα θελω να ρωτησω πως θα ξερω ποτε πρεπει να βαλω ξενο κληδι σε ενα πινακα?
vicky5 Δημοσ. 27 Μαΐου 2011 Δημοσ. 27 Μαΐου 2011 οταν δυο πινακες συσχετιζεται ο ενας με τον αλλο...αν για παραδειγμα καθε αυτοκινητο εχει ενα αριθμο κυκλοφοριας μεσα στον πινακα ε τους αριθμους κυκλοφοριας θα πρεπει να εχει και το κλειδι του αυτοκινητου που ανηκει για να μπορεις να το βρισκεις μεσο sql ...γιατι διαφορετικα σκεψου πως θα βρεις τον αριθμο κυκλοφοριας ενος αμαξιου αν ο πινακας με τους αριθμους εχουν μεσα μονο το ΥΖΥ1123 για παραδειγμα...πρεπει να εχει ΥΥ1123 και τον κλειδι του αυτοκινητου
mtsouk Δημοσ. 28 Μαΐου 2011 Δημοσ. 28 Μαΐου 2011 Το κλειδί μπαίνει όταν ένα πεδίο έχει κάποιες ιδιαίτερες απαιτήσεις με βασικότερη να έχει μοναδική τιμή. π.χ. ο Αριθμός Ταυτότητας είναι λογικό να γίνει κλειδί. φιλικά,
gitane Δημοσ. 30 Μαΐου 2011 Δημοσ. 30 Μαΐου 2011 Το "ξένο κλειδί" σε προστατεύει από σκουπίδια. Π.χ. θεώρησε τιμολόγια και πελάτες. Για να αποφύγεις την έκδοση τιμολογίων σε πελάτες που δεν υπάρχουν, βάζεις "ξένο κλειδί" στον πίνακα τιμολογίων, από τον πίνακα πελατών. Έτσι αν έχεις νέο πελάτη, πρέπει πρώτα να τον ανοίξεις κανονικά (συμπληρώνοντας ΑΦΜ, διεύθυνση, στοιχεία επικοινωνίας, ...), πριν του εκδόσεις τιμολόγιο. Όμως το κλειδί μπορεί να σου κάνει και κακό: Αν έχεις την εφαρμογή του reporting, που παίρνει στοιχεία από το λογιστικό σύστημα, και φορτώσεις τιμολόγια αλλά δεν ενημερώσεις τον πίνακα πελατών, θα χάσεις όλα του τιμολόγια των νέων πελατών. Όταν το πάρεις χαμπάρι και φτιάξεις τον πίνακα πελατών, πιθανώς να πρέπει να επαναλάβεις το φόρτωμα για όλους τους πελάτες, όχι μόνο για τους νέους.
doc1991 Δημοσ. 30 Μαΐου 2011 Μέλος Δημοσ. 30 Μαΐου 2011 Παιδια ευχαριστω για τις απαντησεις καταλαβα.Θα ηθελα να ρωτησω ακομα τη διαφορα της ενωσης με το τζοιν και αουτερ τζοιν?
gitane Δημοσ. 31 Μαΐου 2011 Δημοσ. 31 Μαΐου 2011 Το απλό join το χρησιμοποιείς όταν ξέρεις ότιοι εγγραφές στον ένα πίνακα έχουν αντίστοιχο στον άλλο. Π.χ. στα παραπάνω, αν έχεις βάλει ξένο κλειδί στον πίνακα των τιμολογίων, μπορείς να χρησιμοποιήσεις με ασφάλεια απλό join μεταξύ των πινάκων πελατών & τιμολογίων. Αν όμως δεν είχες κλειδί, θα μπορούσαν να υπάρχουν τιμολόγια σε πελάτες που δεν υπάρχουν στον πινάκα πελατών (θα μπορούσε να συμβεί σε κατάστημα όπου για πελάτες λιανικής συνήθως δεν καταχωρούνται στοιχεία). Σε αυτή την περίπτωση, ένα απλό join θα "έκρυβε" όλα τα τιμολόγια σε πελάτες λιανικής. Εδώ χρειάζεται outer join, δηλ. "Όλες οι εγγραφές από τον πίνακα τιμολογίων και όσες βρεθούν από τον πίνακα πελατών".
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.