Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Σχεδιασμός relationships

Îåêßíçóå áðü ôï ìÝëïò klelia. Τελευταία δημοσίευση από το μέλος cap στις 06-09-2007, 15:32. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-09-2007, 14:01 34788

    Σχεδιασμός relationships

    Καλησπέρα,

    Προσπαθώ να συνδέσω 3 πίνακες έστω Α (α,β,γ), Β (δ,ε,ζ) και Γ(η,θ,ι) , τα υπογραμμισμένα είναι τα primary keys. Ο Α με τον Β συνδέονται με μια σχέση 1-1 και είμαστε εντάξει, ο Γ με τον Β συνδέονται με μια σχέση 1-many και είμαστε πάλι ok. Αυτό που θέλω  να κάνω είναι να συνδέσω και τον Γ με τον Α  με μια σχέση  1-many αλλά θέλω η σύνδεση να γίνει πάνω στο πεδίο ι του πίνακα Γ και όχι στο primary key (δηλ. το foreign key που θα πάει στον Α να είναι το πεδίο ι) . Τι πρέπει να κάνω; Μπορώ να έχω 2 primary keys σε ένα πίνακα και τι σημαίνει αυτό;

    Όπως καταλάβατε ειμαι ακόμα στο στάδιο του λογικού σχεδιασμού της βάσης αλλά αν έχει σημασία θα την υλοποιήσω σε SQL Server 2005.

    Ευχαριστώ

     

  •  06-09-2007, 14:23 34790 σε απάντηση της 34788

    Απ: Σχεδιασμός relationships

    1) Δεν έχει σημασία πού θα την υλοποιήσεις

    2) Όχι δεν μπορεις να έχεις 2 primary keys. Γιατί αλλιώς δεν θα ήταν primarySmile. Άρα αυτό που έχεις είναι μια σχέση many to many. Οπόταν για να πετύχεις την σύνδεση πρέπει να φτιάξεις και τέταρτο πίνακα Δ(κ,λ,μ) όπου λ και μ τα α και ι αντίστοιχα.


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  06-09-2007, 15:11 34797 σε απάντηση της 34788

    Απ: Σχεδιασμός relationships

    Εφόσον Α και Β είναι 1 προς 1, και ο Γ έχει σχέση με τον Β, τότε δεν είναι μάλλον περιττή μια σχέση μεταξύ Γ και Α;

    Μήπως να μας δώσεις ένα πιο χειροπιαστό παράδειγμα να καταλάβουμε καλύτερα; Υπάρχουν πολλοί τρόποι να κάνεις το ίδιο πράγμα, όπως υπάρχουν και πολλές δυνατότητες που σου δίνει μια βάση δεδομένων, τις οποίες αν χρησιμοποιήσεις λάθος θα δημιουργήσει ένα ανορθόδοξο σχήμα.

    π.χ. έστω Α=ΦορολογικάΣτοιχεία, Β=Άνθρωπος, Γ=Οικογένεια

    1 Άνθρωπος έχει 1 εγγραφή στα Φορολογικά στοιχεία (1 προς 1).  1 Οικογένεια έχει πολλούς ανθρώπους (1 προς πολλά).


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  06-09-2007, 15:22 34801 σε απάντηση της 34797

    Απ: Σχεδιασμός relationships

    Τελικά μάλλον έχεις απόλυτο δίκιο δεν υπάρχει λόγος να συνδεθούν και οι Γ με Α. Απλά μερικές φορές το μυαλό κολλάει σε μια όψη του νομίσματος!!

    Ευχαριστώ πολύ

     

  •  06-09-2007, 15:32 34803 σε απάντηση της 34801

    Απ: Σχεδιασμός relationships

    Αν και ετοιμαζόμουν και εγώ να απαντήσω ακριβώς τα ίδια, ερευνώντας λίγο τους ορισμούς από τη wikipedia και αλλού είδα κάτι που μου κίνησε την περιέργεια για το πόσο (θεωρητικά) υπαρχει πιθανότητα ύπαρξης ενός σεναρίου παραπλήσιου με αυτό που περιγράφεται. Οχι δυο primary keys, αλλά δύο candidate keys. Επειδή όμως θα δημιουργούσε σύγχυση αν παρέθετα τον προβληματισμό μου εδώ, άνοιξα ένα καινούριο thread εδώ: http://www.dotnetzone.gr/cs/forums/34802/ShowThread.aspx#34802


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems