Domanda: Separare un Database Access

di il
10 risposte

Domanda: Separare un Database Access

Buongiorno a tutti,

ho una domanda da fare.
Premetto subito che potrebbe risultare banale ma purtroppo io non ho capito bene il concetto, ovvero:

per quale motivo conviene “splittare” un database Access?
Io so che è un’operazione irreversibile che separa le tabelle dalle query e maschere in modo tale da lasciare le tabelle in un certo percorso della rete e poi distribuire l’altra “metà” ai vari Client in modo tale che quando operano, tutti puntano alle stesse tabelle.

Anche se spiegato un po’ malaccio è corretto quello che ho appena scritto?
È quello il concetto della divisione di un Db Access, giusto?

Supponendo che sia giusto arriva la domanda:
che differenza c’è tra il separare un Database Access oppure lasciarlo “intero” mettendolo in rete in modo tale che tutti possano aprire e lavorare su quel singolo file?

Un file Excel può aprirlo in scrittura un solo utente per volta ma (se non sbaglio) un database Access può essere aperto e modificato da più utenti contemporaneamente quindi, se tutto quello che ho detto è vero mi chiedo quali siano i vantaggi nel separarlo.
Ovviamente ci sono, però non ancora riesco ad afferrarli.

Grazie a tutti per il supporto!!

10 Risposte

  • Re: Domanda: Separare un Database Access

    kris9951 ha scritto:


    Io so che è un’operazione irreversibile
    ...non so...non credo...

    kris9951 ha scritto:


    per quale motivo conviene “splittare” un database Access?
    Gli utenti useranno solo gli oggetti di interazione a loro dedicati: maschere soprattutto, report... Dividendo il database gli utenti non avranno accesso alle tabelle (e loro corrispondenti relazioni) per non permettere manipolazioni arbitrarie con conseguenti pasticci.
  • Re: Domanda: Separare un Database Access

    kris9951 ha scritto:


    Buongiorno a tutti,

    ho una domanda da fare.
    Premetto subito che potrebbe risultare banale ma purtroppo io non ho capito bene il concetto, ovvero:

    per quale motivo conviene “splittare” un database Access?
    Bella domanda... ma la risposta in realtà è che non è vero che conviene, ma conviene SOLO in determinati casi, ovvero a seconda di come poi verrà usato il tuo applicativo.
    Se sviluppi sul tuo PC per te e tua moglie... non ha assolutamente alcun senso dividerlo.
    Se l'applicazione va messo in rete, la cosa cambia, allora l'idea è corretta, ma poi vengono le considerazioni dell'Utilizzo, MonoUtente, MultiUtente...?
    Diciamo che lavorando in Rete, soprattutto MultiUtenza, sarebbe assurdo, in caso di modifiche dover sostituire sia l'interfaccia utente(Client) che tutti i Dati..., o meglio lo sviluppatore non può BLOCCARNE l'uso finchè non ha terminato le sue modifiche, altrimenti chi lo utilizza se lo usasse, quando vai a sostituire il File, verrebbero persi i Dati degli interventi postumi alla tua COPIA/MODIFICA...
    Insomma è una questione proprio di gestione, ma se lo usi solo tu... al massimo ti fai il BackUp prima.

    kris9951 ha scritto:


    Io so che è un’operazione irreversibile che separa le tabelle dalle query e maschere in modo tale da lasciare le tabelle in un certo percorso della rete e poi distribuire l’altra “metà” ai vari Client in modo tale che quando operano, tutti puntano alle stesse tabelle.
    Perchè irreversibile...? Non è così su può ripristinare ovviamente, ma mi chiedo perchè farlo, se ci hai ragionato BENE prima non è da prenderein condiderazione.

    kris9951 ha scritto:


    Anche se spiegato un po’ malaccio è corretto quello che ho appena scritto?
    È quello il concetto della divisione di un Db Access, giusto?
    Direi che hai solo descritto la Forma in cui si attua, ma non la sostanza di quello che ci sta dietro... che è tutt'altro.

    kris9951 ha scritto:


    Supponendo che sia giusto arriva la domanda:
    che differenza c’è tra il separare un Database Access oppure lasciarlo “intero” mettendolo in rete in modo tale che tutti possano aprire e lavorare su quel singolo file?
    Direi che se non sappiamo come lavori... rispondiamo per nulla, troppe variabili.

    kris9951 ha scritto:


    Un file Excel può aprirlo in scrittura un solo utente per volta ma (se non sbaglio) un database Access può essere aperto e modificato da più utenti contemporaneamente quindi, se tutto quello che ho detto è vero mi chiedo quali siano i vantaggi nel separarlo.
    Ovviamente ci sono, però non ancora riesco ad afferrarli.

    Grazie a tutti per il supporto!!
    Penso tu non abbia mai sviluppato un applicativo da usare in Rete dedicato a più utenti..., se il tuo FILE UNICO contenente i dati fosse 500Mb di roba, e tu volessi fare una modifica, quindi ti fai una copia, impieghi 3gg per la modifica, poi lo riporti...!
    Nel frattempo le persone che fanno...? Aspettano...?
    Se lo usano la tua Copia è vecchia, e devi fare delle manovre assurde per copiare solo gli oggetti modificati, e NON i dati che non sono aggiornati.
    Se non vuoi avere questi problemi devi inibire l'utilizzo... e credo sia una premessa abbastanza inutile... è una cavolata.
  • Re: Domanda: Separare un Database Access

    OsvaldoLaviosa ha scritto:


    ..
    Gli utenti useranno solo gli oggetti di interazione a loro dedicati: maschere soprattutto, report... Dividendo il database gli utenti non avranno accesso alle tabelle (e loro corrispondenti relazioni) per non permettere manipolazioni arbitrarie con conseguenti pasticci.
    Non è vero... le Tabelle Linkate hanno la medesima accessibilità che hanno sul DB non splittato...!
    E non è vero NEMMENO per Maschere e Report... ovvero, per renderle NON accessibili devi fare quello che faresti anche sulla versione Unica, ovvero fare un MDE/ACCDE, quindi NON ci sono formali differenze.
    Se intendevi altro spiega bene di cosa parli.
  • Re: Domanda: Separare un Database Access

    Salve tutti e grazie per la risposta!

    Come si può ben intuire non ho mai sviluppato in applicazione multi utente.
    Questa è la prima volta e mi trovo a dover decidere che fare.
    Trovo le vostre considerazioni molto interessanti e vi ringrazio!

    Alex mi ha fatto ragionare anche su un aspetto molto importante:
    se devo modificare qualcosa, oppure aggiungere qualche maschera o query, che succede nel frattempo?
    Si blocca tutto?

    Quindi avendo il database diviso gli utenti possono continuare a lavorare sui dati mentre faccio le modifiche ed a modifiche effettuate ridistribuisco a tutti il file relativo al lato Client.

    Corretto?
    Ho capito bene qualcosa?
  • Re: Domanda: Separare un Database Access

    Si nel concreto è l'unico, si fa per dire perchè è esattamente la logica di base, motivo che deve interessarti, ovvero salvaguardare l'operatività ed i dati, tutto il resto a prescindere ha le medesime problematiche.
  • Re: Domanda: Separare un Database Access

    Grazie mille Alex!!
    Sei stato molto utile!!
  • Re: Domanda: Separare un Database Access

    Attenzione, che poi gli applicativi separati in in Client-Server destinati alla MultiUtenza, impongono tutta una serie di considerazioni allo sviluppo che non hai quando lavori sull'applicativo del tuo PC per te e per tua moglie..., ma questo è tutt'altra questione che non è semplificabile in 2 parole.
    Ci tenevo a farti riflettere, in quanto magari studiando prima le problematiche eviti di dover rifare tutto dopo.
  • Re: Domanda: Separare un Database Access

    Bene!
    Ora sono tornato peggio di prima

    Me ne dici solo un paio di queste considerazioni?
    Così verifico se le ho già fatte
  • Re: Domanda: Separare un Database Access

    Sono tante le considerazioni non ha senso elencarne un paio... perchè sono certo non ne hai pensata nemmeno una, e probabilmente nemmeno comprenderai di cos parlo..., questo solo per farti capire che per queste cose serve in realtà STUDIARE non usare il braccio teso e la mano oscillante (pressapoco).

    Si parte dal considerare che si distribuisce un ACCDE o MDE, quindi senza DEBUG e senza modo di fare diagnostica, se poi distribuisci il tuo prodotto su macchine che non hanno Access ma usano il RUNTIME ancora peggio.

    Questi alcuni spunti per il solo fatto di distribuire l'applicativo "Simil protetto" su varie macchine.

    1) Riferimenti a LIB Esterne Latebinding
    2) Menù NATIVI dei RIBBON non si usano, si creano personalizzati e gestiti nelle azioni
    3) Menù Rapidi, Popup, nativi non si usano, si creano personalizzati e gestiti nelle azioni
    4) Gestione errori con LOG per capire dove siano i BUG e come riprodurli
    5) Gestione Utenti/Permissivi
    6) Gestione delle LinkedTable
    ecc...

    Poi ci sono le problematiche relative all'accesso concorrente dei dati, quindi le varie Primary Key da gestire nei vari inserimenti, l'uso delle transazioni... ecc...
  • Re: Domanda: Separare un Database Access

    Va bè...
    Dura ed impervia è la strada che porta verso l’applicativo fatto bene

    Spero che un giorno riuscirò a comprendere quanto hai scritto.
    Grazie mille Alex!
Devi accedere o registrarti per scrivere nel forum
10 risposte