Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [SQL] Relazione da n a (0,n)

    Ciao a tutti,
    come faccio a dichiarare una relazione da n a (0,n) in SQL?


    Grazie mille in anticipo
    Flash Developer for Rich Media
    PHP, jQuery Developer

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    E' una relazione n:n, si usa una tabella apposita che riporta le chiavi delle due entità interessate

  3. #3
    Una tabella apposita? Ovvero?

    No, perchè, spiego il problema:
    Io ho una tabella "Posta" che ha tra i vari campi "mittente" e "destinatario" che sono tutt'e due relazionati con Utenti.username.
    Solo che ogni tanto capita che voglio inserire come mittente "Sistema" che non è un utente e quindi non compare nella tabella Utenti e quindi MySQL mi dà un errore di incompatibilità tra i campi.
    Volevo ovviare creando una tabella invece che n a n una n a (0,n)

    Spero di essermi spiegato ^_^
    Flash Developer for Rich Media
    PHP, jQuery Developer

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Originariamente inviato da Miroku
    Una tabella apposita? Ovvero?

    No, perchè, spiego il problema:
    Io ho una tabella "Posta" che ha tra i vari campi "mittente" e "destinatario" che sono tutt'e due relazionati con Utenti.username.
    Solo che ogni tanto capita che voglio inserire come mittente "Sistema" che non è un utente e quindi non compare nella tabella Utenti e quindi MySQL mi dà un errore di incompatibilità tra i campi.
    Volevo ovviare creando una tabella invece che n a n una n a (0,n)

    Spero di essermi spiegato ^_^
    Sono tordo e stanco quindi non ho capito benissimo cosa vuoi ottenere ma ...

    perchè non memorizzi "Sistema" come utente fittizzio?

    Bye.

  5. #5
    Beh se potessi evitare sarebbe meglio... se poi sarà l'ultima spiaggia farò così...
    Flash Developer for Rich Media
    PHP, jQuery Developer

  6. #6
    non mi sembra affatto l'ultima spiaggia.
    è il metodo migliore per non appesantire con ulteriori relazioni il db...

  7. #7
    La cosa che vuoi fare non è possibile poichè nel momento in cui esiste una relazione questa può essere soddisfatta o meno e siccome l'utente "Sistema" non esiste se lo inserisci come valore per una chiave esterna nella tua tupla automaticamente ti darà errore.

    Avere una relazione N0-n) non significa che puoi inserire riferimenti a dati inesistenti ma significa solo che per quel determinato attributo puoi specificare NULL.

    Quindi la soluzione è quella di creare l'utente "Sistema" oppure semplicemente di eliminare quella relazione (ma non so quanto ti convenga).

  8. #8
    mmmmh vero, non ci avevo pensato al tuo ragionamento....

    creerò l'utente Sistema, grazie mille =D
    Flash Developer for Rich Media
    PHP, jQuery Developer

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.