Modifica records tabelle database

di il
2 risposte

Modifica records tabelle database

Ciao, in una tabella (A) permetto di inserire un massimo di 7 records, uno dei campi di questa tabella è un Integer (no chiave primaria) che tramite Java numero da 1 a 7 durante l'inserimento.

Esempio della Tabella A
id-numerazione-nome
1 - 1 - Mario rossi
3 - 2 - Mario bianchi
4 - 3 - Mario verdi
5 - 4 - Mario gialli
7 - 5 - Mario rosso
8 - 6 - Mario blu
9 - 7 - Mario viola

Ora, faccio una relazione con la tabella (B) con il campo numerazione, in questo modo:

Esempio Tabella B
id-numerazione-campo1-campo2
1 - 1
3 - 1
5 - 2
7 - 3
8 - 1
9 - 5
11- 5
12- 1
33- 7
34- 7
45 4

A questo punto mi sorge un problema, ho bisogno di mantenere sempre una numerazione precisa in sequenza dei record del campo numerazione della tabella A, quindi se ad esempio, nella tabella A viene eliminato il record il cui campo numerazione è 3, devo rinumerare quelli restanti in questo modo (1,2,3,4,5,6) e nella tabella B, elimino quelli con numerazione = 3.

Ma come faccio a rinumerare quelli della Tabella B??

Spero di essermi spiegato bene.

Grazie per il vostro contributo

2 Risposte

  • Re: Modifica records tabelle database

    ASSIOMA: le relazioni non si compongono usando colonne NON CHIAVE.

    Ora, se e' solo per esercizio, va bene, ma un approccio del genere e' tecnicamente un SUICIDIO e concettualmente un ERRORE!

    Infatti, ora per rinumerare il campo2 della tabella B devi fare letteralmente i giochi di prestigio con relativo salto mortale all'indietro, a occhi chiusi, dentro una piscina in cemento armato SENZA ACQUA

    = NON PUOI semplicemente rinumerare il campo2, perche' mescoli ID vecchi con ID nuovi!

    Una strategia (ma, ripeto, e' DA SPARARSI!) potrebbe essere:

    1) assegni un flag ai record della tabella B, per poter sapere quali record hai modificato e quali no. Ad esempio, cambi il segno della colonna campo2
    2) ricostruisci i valori della colonna campo2, selezionando SOLO i record che hanno il valore di campo2 negativo
  • Re: Modifica records tabelle database

    Sì, era solo un esercizio contorto che mi piaceva risolvere.......ti bastava dire, come tutti sanno che le relazioni si fanno con le chiavi primarie..senza fare un super poema da professore, anche perché ogni libro di Sql parla di questo. La domanda era sulla logica per risolvere il problema.
Devi accedere o registrarti per scrivere nel forum
2 risposte