Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Relazioni Tabelle SQL Server

    Una domanda forse banale:
    Ho due tabelle che vorrei legare:

    tblProdotti
    ID (PK)
    IDMarca (FK)
    Nome

    tblMarche
    ID (PK)
    Nome

    Se inserisco un record di un prodotto senza marca, ovvero con valore IDMarca = 0, non posso più impostare la relazione nella struttura del database vero? Come posso stabilire questa relazione considerando che potrei avere dei prodotti che non hanno una marca associata? Ho impostato il valore IDMarca perchè non accetti NULL e valore predefinito è zero.
    Grazie mille.
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  2. #2
    metti nelle marca una marca 0=non definita

  3. #3
    Mi era venuto in mente una cosa così, ma non pensavo fosse l'unico sistema, ma se me lo dici anche tu allora mi sento più tranquillo. Solo un problema... non riesco ad inserire una marca con ID = 0 dato il campo è contatore e sono già alla 12, come si fa?
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  4. #4
    no, allora hai proprio sbagliato l'impostazione. se sai che il campo può restare vuoto, non devi creare la relazione! se proprio la vuoi, non devi usare un contatore.

  5. #5
    Non capisco... ma di solito il campo contatore non va bene per l'univocità del record?
    Io parlavo dell'ID della tblMarche.
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  6. #6
    non ci stiamo capendo. come fai ad impostare un contatore id univoco che vale zero? tu stai cercando di ottenere due cose in contrasto tra di loro, ragiona...

  7. #7
    Guarda che su questo sono d'accordo con te
    Il fatto è che tu mi hai proposto di inserire una marca fittizia con ID = 0, ma forse è colpa mia che non ti avevo specificato che il campo in questione era un contatore.
    Ok, ora spero di aver chiarito un po' la mia situazione. Esiste in questa configurazione un sistema per inserire un record nella tblProdotti che non sia collegato ad una marca, pur mantenendo una relazione per gli altri record che sono collegati alla tblMarche?
    Ammetto che non so se sto dicendo una cavolata o addirittura una cosa insensata dal punto di vista dei db relazionali. Chiedo umilmente venia se ho detto una bestemmia...
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  8. #8
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    quando vai a fare delle query usi le join no? allora usa una RIGHT JOIN (o left, dipende ) e quando lo vai a stampare a video fai il controllo e scrivi "nessuna marca"
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  9. #9
    Il mio problema non era in effetti nel realizzare la query ma piuttosto di migliorare la struttura del db per incrementare le prestazioni. La query già funziona era solo per aggiungere performance al db impostando delle relazioni a livello di struttura. Volevo solo sapere se questo era possibile in questo caso.
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  10. #10
    crea una nuova Marca che rappresenti come "nessuna marca" e la associ a tutti quei record che non hanno marca...non importa se id non è uguale a 0, basta che ti ricordi che numero di ID ha la "marca no marca" e gli associ quello

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.