strat92man Δημοσ. 18 Μαΐου 2012 Δημοσ. 18 Μαΐου 2012 Καλησπέρα, Σε σχεδίαση μιας ΒΔ σε 2 σχέσεις(πίνακες) απο τις πολλές δεν έχω τοποθετήσει PM(Primary Key) απλά έχω περιορισμό unique σε ένα συνολο χαρακτηριστικών της ΒΔ. Αυτό που θέλω να ρωτήσω είναι ενα λάθος αυτό ; SQL server "με αφήνει" δεν υπάρχει πρόβλημα..αλλα ρωτάω επειδή είμαι "νεος" στις ΒΔ και μήπως είναι λάθος. Ευχαριστώ ΥΓ: Γνωρίζω οτι αυτα τα χαρακτηριστικά δεν μπορουν στο σύνολο τους να έχουν ίδιες τιμές δηλαδή σχηματίζουν ενα υποψήφιο κλειδί.
computeras13 Δημοσ. 18 Μαΐου 2012 Δημοσ. 18 Μαΐου 2012 Μπορείς σε παρακαλώ να γράψεις λίγο πιο αναλυτικά τι ακριβώς θέλεις να πεις; Ή εσύ τα λες λίγο μπερδεμένα, ή εγώ έχω χάσει την μπάλα
strat92man Δημοσ. 18 Μαΐου 2012 Μέλος Δημοσ. 18 Μαΐου 2012 > create table AAA (td int not null, dd date not null , tid time not null, amount int not null check (amount >0), unique(td,dd,tid), foreign key(td) references resble on update cascade on delete cascade ); Δημιουργώ αυτόν τον πίνακα π.χ με όνομα AAA και έχω τα εξής χαρακτηριστικά που φαίνονται είναι υποχρεωτικό να βάλω PK ή αρκεί αυτό unique(td,dd,tid) ; είναι λάθος; δεν μπορούν να υπάρχουν 2 εγγραφές με τις ίδιες τιμές στα χαρακτηριστικά td,dd,tid
computeras13 Δημοσ. 18 Μαΐου 2012 Δημοσ. 18 Μαΐου 2012 Όπως είναι λογικό, δεν μπορείς να έχεις δύο φορές τις ίδιες τιμές σε αυτές τις στήλες. Ακόμα και σε συνδυασμό μεταξύ τους πάλι δεν μπορείς, εφόσον η καθεμία είναι δηλωμένη ως unique. Όσον αφορά το key, δεν είναι απαραίτητο, όχι. Σε μερικές περιπτώσεις βέβαια αναλόγως το dbms (δεν ξέρω αν γίνεται σε όλα) μπαίνει αυτόματα ένα αν δεν έχεις δηλώσει εσύ. Το pk δεν το δηλώνεις μόνο για να είναι ένα πεδίο unique. Δίνει επίσης και το χαρακτηριστικό στου να γίνεται index ο πίνακας βάση αυτού του πεδίου.
bnvdarklord Δημοσ. 19 Μαΐου 2012 Δημοσ. 19 Μαΐου 2012 Όπως είναι λογικό, δεν μπορείς να έχεις δύο φορές τις ίδιες τιμές σε αυτές τις στήλες. Ακόμα και σε συνδυασμό μεταξύ τους πάλι δεν μπορείς, εφόσον η καθεμία είναι δηλωμένη ως unique. Βασικά μονο σε συνδυασμο δεν μπορεις, καθώς δεν τις εχει δηλώσει χωριστά ως unique.
Aztec Δημοσ. 20 Μαΐου 2012 Δημοσ. 20 Μαΐου 2012 Καλησπέρα, Σε σχεδίαση μιας ΒΔ σε 2 σχέσεις(πίνακες) απο τις πολλές δεν έχω τοποθετήσει PM(Primary Key) απλά έχω περιορισμό unique σε ένα συνολο χαρακτηριστικών της ΒΔ. Αυτό που θέλω να ρωτήσω είναι ενα λάθος αυτό ; SQL server "με αφήνει" δεν υπάρχει πρόβλημα..αλλα ρωτάω επειδή είμαι "νεος" στις ΒΔ και μήπως είναι λάθος. Ευχαριστώ ΥΓ: Γνωρίζω οτι αυτα τα χαρακτηριστικά δεν μπορουν στο σύνολο τους να έχουν ίδιες τιμές δηλαδή σχηματίζουν ενα υποψήφιο κλειδί. Ναι ειναι λάθος. Τεχνικά γίνεται. Αλλά ... σκέψου , ψάξε και θα καταλάβεις
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα