MS Access vs MS SQL Server


10

Queste sono due offerte di Microsoft: MS Access e MS SQL Server.

Per quale tipo di utenti / usi è destinato Access? A parte il grado di utilizzo (in termini di numero di utenti), questi due prodotti sono uguali?

Risposte:


5

MS Access è in realtà una combinazione di uno strumento UI di sviluppo rapido e un database relazionale basato su file system (JET).

Pro:
- Facile distribuzione, basta copiare il file sulla rete e dire alla gente il percorso. - Prototipazione rapida e ottimi strumenti di sviluppo dell'interfaccia utente per applicazioni di tipo database - Generalmente molto più economici da distribuire, specialmente per piccole installazioni.

Contro - Manutenzione: è necessario bloccare tutti gli utenti quando si desidera eseguire la compattazione, la riparazione o altra manutenzione del DB. - Come risultato dell'utilizzo di un DB basato su file, è più soggetto alla corruzione dei dati con un gran numero di utenti o con connessioni di rete instabili. - Sebbene il numero sia discusso, si massimizzerà il numero di utenti che è possibile supportare con un singolo DB di accesso molto prima che con SQL.

MS SQL Server è un sistema di database relazionale client-server, senza strumenti di sviluppo dell'interfaccia utente integrati.

Pro:
- Manutenzione - Molti strumenti per la manutenzione, possono fare la maggior parte con gli utenti nel DB. Pertanto, ottieni tempi di attività più elevati.
- Scala aziendale: è progettata per supportare molti più utenti e consente di gestire meglio le bilance.

Contro: - Costoso - Per la tua app per 5 utenti di tenere traccia di alcune centinaia di migliaia di articoli, può essere eccessivo.
- Più complesso - Tutte le funzionalità extra introducono una curva di apprendimento. - Nessuno strumento di sviluppo dell'interfaccia utente integrato - Avrai bisogno di un'altra piattaforma di sviluppo per creare un front-end e (probabilmente) rapporti. In realtà, Access può funzionare come front-end per SQL, ma per una serie di motivi i DBA tendono a odiare gli utenti di Access che si collegano ai loro database.

Miscellanea
- Anche se potresti sentire diversamente, non prendere la decisione in base alle dimensioni del DB, effettua la chiamata in base alle caratteristiche e alle dimensioni della tua base di utenti.
- L'accesso è in realtà un ottimo strumento di interfaccia utente per i database ospitati in SQL Server. Quindi la risposta giusta potrebbe essere "Entrambi" a seconda delle tue esigenze.


2
Una nota sul costo di SQL Server, se la necessità non è eccessiva, SQL Server Express potrebbe funzionare poiché è gratuito. Vi sono tuttavia delle limitazioni ( microsoft.com/sqlserver/2008/en/us/express.aspx ). Ma fornisce un buon passo avanti da Access quando il file MDB raggiunge quel requisito di riparazione e compatta giornaliero per mantenerlo in esecuzione.
Agent_9191,

I tuoi pro / contro di accesso non hanno senso se non se stai usando le peggiori pratiche per distribuire la tua app. Nessuno con alcun senso distribuisce un'app di Access se non divisa in front-end (moduli / report / ecc.) E back-end (solo tabelle di dati). I tuoi pro / contro scompaiono completamente quando segui le migliori pratiche.
David W. Fenton,

@ David - Forse non ero chiaro. Per semplice implementazione intendevo sostanzialmente che era più facile distribuire un'app a un'altra parte. Cioè, non è necessario guidarli attraverso l'installazione di SQL Server o la licenza, il che può essere una seccatura per un utente che vuole solo mettersi rapidamente in esecuzione su un piccolo sistema. Non credo che nulla di ciò che ho detto implicava che non lo avresti sputato in front / back end, ma grazie per il chiarimento.
JohnFx,

4

La domanda è sciocca. SQL Server e Access non sono nemmeno lo stesso tipo di prodotto. È come chiedere qual è la differenza tra un hotel e un camion Mack - la domanda non ha nemmeno senso.

Il motivo è perché SQL Server è solo un motore di database, mentre Access è uno strumento di sviluppo di applicazioni di database. SQL Server è per l'archiviazione dei dati, mentre Access è per la creazione di applicazioni per la manipolazione dei dati.

Ora, Access viene fornito con un motore di database predefinito, Jet / ACE, e per questo motivo tutti usano casualmente "Access" per indicare il motore di database. Sono errati e imprecisi quando usano Access e Jet / ACE in modo intercambiabile, e portano a tutti i tipi di confusione se non si specifica quale si intende. Sebbene non sia possibile confrontare Access in senso stretto con SQL Server, è sicuramente possibile confrontare SQL Server con Jet / ACE, perché quindi si confrontano i motori di database, non le mele e i mobili.

Non entrerò nei dettagli, ma dirò che decidere quale motore di database è più appropriato dipenderà dalle attività che gli stai chiedendo di fare. È molto simile all'acquisto di un veicolo per il trasporto. Se sei un singolo individuo e hai solo bisogno di una macchina per andare al supermercato e al centro commerciale, andrai benissimo con una Mini Cooper. Se, d'altra parte, sei un'azienda e devi trasportare centinaia di scatole di inventario avanti e indietro tra il tuo magazzino e il tuo negozio, avrai bisogno di un camion Mack.

Sarebbe sciocco per l'individuo provare a usare un camion Mack solo per andare al centro commerciale e al supermercato, e altrettanto sciocco provare a trasportare l'inventario della tua azienda usando una Mini Cooper. Entrambi possono essere fatti, ma è terribilmente scomodo.

Quindi, devi decidere per quale scopo stai utilizzando un motore di database e quindi scegliere il motore di database che si adatta meglio agli scopi a portata di mano. Ci sono molti scenari in cui Jet / ACE è più che adeguato e renderà le cose molto facili per te.

Ci sono anche molti scenari in cui non sarebbe saggio iniziare con esso e dovresti andare con un motore di database del server come SQL Server. Jet / ACE sarà inadeguato per qualsiasi numero di scenari e SQL Server sarà eccessivo per gli altri, ma non si può dire fino a quando non si esaminano i requisiti specifici di uno specifico scenario.

Infine, Access è un ottimo strumento per la creazione dell'applicazione front-end con un database Jet / ACE dietro di esso o un database SQL Server. In effetti, è abbastanza facile passare da Jet / ACE a SQL Server se sei stato attento a creare un'applicazione Access efficiente, e questo è uno scenario molto comune, cioè iniziare con il tuo front-end Access e un back-end Jet / ACE, e man mano che le esigenze aumentano, si esegue l'upgrade a un server back-end e si mantiene l'applicazione Access esistente.


3

L'accesso è destinato più agli utenti finali, in quanto è un pacchetto tutto compreso. È principalmente per un uso alla volta, ma supporta più utenti, anche se in modo rotatorio. Ricorda, è uno strumento in MS Office.

MS SQL Server è un vero database SQL. È progettato per sedersi su un server e fungere da database per qualsiasi front-end che desideri inserire. È principalmente per più utenti e destinato a essere centralizzato.


"Database SQL effettivo"? Tipo di termine nebuloso lì. Con la descrizione che segue penso che volevi dire "Piattaforma database client-server"
JohnFx,

2

Oltre alla risposta di Force Flow, forniscono anche strumenti diversi e un'interfaccia utente diversa.

L'accesso ha un modo per creare tabelle, generare query utilizzando una procedura guidata, creare report utilizzando una procedura guidata, creare macro, ecc. La compattazione e altri strumenti di manutenzione sono integrati. È un piccolo database all-in-one.

SQL Server ha più potenza e meno mani. È necessario conoscere database e SQL per utilizzarlo correttamente e necessita di una corretta manutenzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.