Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684

    ACCESS, ASP e integrità referenziale

    Ho un dubbio... e vorrei risolvere subito la situazione senza perdere tempo in prove...

    Ho allegato un'immagine con le relazioni fra tabelle per la gestione di un carrello elettronico.

    Il dubbio che mi assale è questo: Per tutte le relazioni ho checckato in fase di creazione di relazione APLLICA INTEGRITA REFERENZIALE, AGGIORNA CAMPI CORRELATI A CATENA e ELIMINA CAMPI CORRELATI A CATENA.

    sora devo creare una pagina di amministrazione, per l'utente registrato, per la gestione ordini. Ovvero visualizzazione, modifica e cancellazione ordine. La modifica e la cancellazzione sarà possibile solo per gli ordini che hanno nella tabella ORDINI, il campo STATO = 1.

    Ora se un utente decide di cancellare un ordine con CODICEORDINE = 1 ovviamente cancellerà anche dalla tabella DETTAGLIO_ORDINI tutti quei film con campo ORDINE = 1. Ecco il dubbio è questo, la cancellazione avviene in automatico, basta che tramite script ovviamente gli dico di cancellare dalla tabella ORDINI quell'ID dell'ordine, o devo menzionare nell'SQl anche il DELETE per la tabella DETTAGLIO_ORDINI?

    Altro dubbio... nel caso mi basti cancellare solo il record con quell'ID dalla tabella ORDINI, quindi in automatico mi cancella tutti i record nella tabella DETTAGLIO_ORDINI con CODICE avente quell'ID, in automatico mi cancellerà dalla tabella FILM tutti quei record riportati nella tabella DETTAGLIO_ORDINI che hanno quell'ID del CODICEORDINE?

    GRAZIE

  2. #2
    se tutto è ok, se fai la delete del master, axs fa la delete dei details

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Scusa ecco le relazioni, ho dimenticato di allegare l'immagine. Quindi se da ASP tramite SQL elimino il CODICEORDINE n. (x) dalla tabella ORDINI, mi elimina a catena dalle altre tabelle tutti i corrispondenti?

    Quindi mi eliminerebbe anche dalla tebella film il CODICE del film?
    No questo no... non deve succedere mi basta eliminare dalla relazione 'ELIMINA RECORD CORRELATI A CATENA'?

    solo nella relazione fra tabella film e tabella DETTAGLIO_ORDINI, vedi il file allegato .jpg.

    GRAZIE

  4. #4
    dato che ogni relazione ha le sue proprietà, specificherai 'elimina a catena' solo tra testata ordine e dettagli ordine.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Quindi anche 'AGGIORNA CAMPI CORRELATI A CATENA' lo devo applicare alla relazione fra tabella 'ORDINI' e tabella 'DETTAGLIO ORDINI', se non erro, se l'utente modifica l'ordine?

    Per tutte le relazioni lascio invece 'APLLICA INTEGRITA REFERENZIALE'.

    E' la prima volta che creo una cosa del genere. ormai ho finito tutto e non vorrei alla fine per una relazione sbagliata incasinare il sitema...

    Infatti ammetto di non conoscere bene queste tre funzioni, e mi interesserebbe approfondirne il significato e le funzionalità. Almeno per il momento legate al mio utilizzo. Ecco perchè ti chiedo di, se possibile, di spiegarmene la funzione. Se chiedo troppo mi farebbe comodo anche un link. Ripeto sempre in relazione all'asp.

    Calcola che prg. asp da pochi mesi 4 o 5 a pieno e in due mesi ho creato un carrello bello complesso... scaricando dispense, tutorial e seguendo questo form... ho il cervello in fumi... anche se ammetto di aver imparato tantissimo...

    Grazie per la disponibilità.

  6. #6
    non credo che ci sia da spiegare molto

    - aggiorna a catena: se metto in relazione due campi di due tabelle, aggiornando il campo della tabella principale, si aggiorna anche quella correlata. Se collego ad esempio il codice cliente dell'ordine con il codice cliente in anagrafica, cambiando il codice di un cliente da ROSSI a ROSSINI, tutti gli ordini intestati a ROSSI verranno automaticamente intestati a ROSSINI.

    - cancella a catena: normalmente si usa per le tabelle testate-dettagli. Nel tuo caso, metterai in relazione il codice dell'ordine nella testata con il codice dell'ordine nei dettagli: cancellando la testata dell'ordine 10, verranno cancellati anche tutti i record della tabella dettagli che fanno riferimento all'ordine 10.

    in piu', access farà schifo, ma ti permette un'interazione che non esiste negli altri dbms. fatti un db di prova e sperimenta dal vivo!


  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Grazie 1000... mi hai evitato prove, e perdite di tempo... provo subito senza script direttamente da ACCESS... tanto le funzioni sono uguali...

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.