Mettere funzionalità di controllo nel database

4

Il nostro database non ha alcuna funzionalità di controllo.

  • Non registra chi inserisce il record o chi lo cambia
  • Non mantiene una cronologia delle modifiche apportate
  • Non è possibile ripristinare nulla se qualcosa va storto
  • Ci sono molte altre carenze, per esempio il database non ha alcuna integrità dei dati, nulla da lanciare, nessun controllo su campi diversi, duplicati ecc.

La mia domanda è: a chi è destinato mettere questa funzionalità? Uno sviluppatore ASP che conosce le basi di SQL e che interagisce regolarmente con il database. O un amministratore SQL che ha il solo compito di lavorare con i database, ottimizzarlo e mantenerlo?

A questo punto non abbiamo un amministratore SQL, ma possiamo assumerne uno. Quanto dovrebbe essere importante per uno sviluppatore risolvere i suddetti problemi?

    
posta Noname 20.02.2012 - 21:56
fonte

4 risposte

4

Questo non è il compito di uno sviluppatore ASP o di SQL Admnin (DBA). È il lavoro di uno sviluppatore di database o di un architetto di database. Se devi, puoi assumere un DBA per farlo, ma in realtà sono generalmente troppo occupati per progettare.

Si noti che è molto più difficile mettere a posto cose come l'integrità referenziale e i controlli dei dati una volta che ci sono dati nel database, ecco perché non si dovrebbe mai progettare un database senza un esperto. Ovviamente, le funzionalità di controllo saranno limitate solo alle modifiche in corso, nessuno potrà ricreare ciò che è accaduto in passato e che non è stato registrato.

    
risposta data 20.02.2012 - 22:03
fonte
2

In realtà SQL Server ha il controllo integrato nel prodotto. Il modo più semplice per assicurare che tutte le cose che descrivi siano fatte è abilitare la traccia di audit di C2. Nello studio di gestione di SQL Server, fare clic con il pulsante destro del mouse sul server e selezionare Proprietà. La traccia di controllo C2 è in sicurezza.

Ecco un post sul blog con video che mostrano come farlo.

Per rispondere alla tua domanda "chi è il lavoro è mettere questa funzionalità in?" nessuno, Microsoft lo ha già integrato nel prodotto.

Dovrebbe essere compito dei revisori interni assicurarsi che sia acceso e funzionante correttamente.

    
risposta data 20.02.2012 - 22:27
fonte
1
  • It does not records who inserts the record or who changes it

Questa è una responsabilità di progettazione del database.

  • It does not keep a history of the changes made

Questa è una responsabilità di progettazione del database. Il DBA potrebbe esistere una soluzione, ma la domanda qui come si usa questa storia e quanto spesso?

  • Nothing can be restored if something goes wrong

Questa è la responsabilità del DBA e del project manager che ha permesso a questo sistema di andare a vivere.

  • There are many other short comings for example the database does not have any data integrity, anything an be thrown in, no check on different fields, duplicates etc

L'integrità dei dati è un problema complesso. In generale, l'integrità referenziale viene affrontata dal progettista / modellatore del database. La duplicazione di riga non dovrebbe essere consentita, ovviamente, tuttavia, se hai due righe come questa (id, nome, stipendio):

1 Joe 100

2 joe 100

la maggior parte dei sistemi di database considererà questi due file diversi anche se i "dati aziendali" sono identici. Questo è un requisito e un problema di progettazione del database.

    
risposta data 20.02.2012 - 22:52
fonte
0

Il 99% di questo dipende dalla risposta alla domanda "se ho aggiornato il database, quale parte dell'applicazione dovrebbe sapere chi sono?"

Le tipiche applicazioni Web si connettono come un singolo utente, il server del database non ha idea di chi sta operando la tastiera e a chi assegnare le azioni.

D'altro canto, molte app desktop si connettono utilizzando le credenziali per utente. In questo caso sanno chi sta facendo ciò che è così che puoi guidare l'infrastruttura in una grande pista di controllo.

    
risposta data 23.02.2012 - 02:45
fonte

Leggi altre domande sui tag