Antworten:
MS Access ist eine Kombination aus einem UI-Tool für die schnelle Entwicklung und einer auf Dateisystemen basierenden relationalen Datenbank (JET).
Vorteile:
- Einfache Bereitstellung, kopieren Sie die Datei einfach in das Netzwerk und teilen Sie den Benutzern den Pfad dazu mit. - Rapid Prototyping und sehr gute UI-Entwicklungstools für Anwendungen vom Datenbanktyp - Im Allgemeinen viel billiger in der Bereitstellung, insbesondere für kleine Installationen.
Nachteile - Wartung - Sie müssen alle Benutzer sperren, wenn Sie eine DB-Komprimierung, Reparatur oder andere Wartung durchführen möchten. - Aufgrund der Verwendung einer dateibasierten Datenbank ist diese anfälliger für Datenbeschädigungen bei einer großen Anzahl von Benutzern oder bei unzuverlässigen Netzwerkverbindungen. - Obwohl die Anzahl diskutiert wird, werden Sie die Anzahl der Benutzer, die Sie mit einer einzelnen Access-Datenbank unterstützen können, viel früher als mit SQL maximieren.
MS SQL Server ist ein relationales Client-Server-Datenbanksystem, in das keine UI-Entwicklungstools integriert sind.
Vorteile:
- Wartung - Viele Tools für die Wartung können das meiste mit Benutzern in der Datenbank erledigen. Dadurch erhalten Sie eine höhere Betriebszeit.
- Unternehmensskala - Es wurde entwickelt, um viel mehr Benutzer zu unterstützen und skaliert besser, um mit ihnen umzugehen.
Nachteile:
- Teuer - Wenn Ihre 5-Benutzer-App einige hunderttausend Elemente im Auge behält, kann dies zu viel des Guten sein.
- Komplexer - Alle zusätzlichen Funktionen führen zu einer Lernkurve. - Keine integrierten UI-Entwicklungstools - Sie benötigen eine andere Entwicklungsplattform, um ein Front-End und (wohl) Berichte zu erstellen. Eigentlich kann Access als Front-End für SQL fungieren, aber aus einer Reihe von Gründen hassen DBAs Access-Benutzer, die eine Verbindung zu ihren Datenbanken herstellen.
Verschiedenes
- Obwohl Sie vielleicht etwas anderes hören, treffen Sie die Entscheidung nicht basierend auf der Größe der Datenbank, sondern tätigen Sie den Anruf basierend auf den Funktionen und der Größe Ihrer Benutzerbasis.
- Access ist eigentlich ein ziemlich gutes UI-Tool für in SQL Server gehostete Datenbanken. Die richtige Antwort könnte also "Beides" sein, abhängig von Ihren Bedürfnissen.
Die Frage ist dumm. SQL Server und Access sind nicht einmal die gleiche Art von Produkt. Es ist wie zu fragen, was der Unterschied zwischen einem Hotel und einem Mack-Truck ist - die Frage macht nicht einmal Sinn.
Der Grund dafür ist, dass SQL Server nur ein Datenbankmodul ist, während Access ein Tool zur Entwicklung von Datenbankanwendungen ist. SQL Server dient zum Speichern von Daten, während Access zum Erstellen von Anwendungen zum Bearbeiten von Daten dient.
Jetzt wird Access mit einer Standard-Datenbank-Engine, Jet / ACE, ausgeliefert. Aus diesem Grund verwendet jeder gelegentlich "Access", um die Datenbank-Engine zu bezeichnen. Sie sind falsch und ungenau, wenn sie Access und Jet / ACE austauschbar verwenden, und es führt zu allerlei Verwirrung, wenn Sie nicht angeben, was Sie meinen. Während Sie Access nicht streng genommen mit SQL Server vergleichen können, können Sie SQL Server sicherlich mit Jet / ACE vergleichen, da Sie dann Datenbank-Engines vergleichen, nicht Äpfel und Möbel.
Ich werde nicht ins Detail gehen, aber ich werde sagen, dass die Entscheidung, welches Datenbankmodul am besten geeignet ist, von den Aufgaben abhängt, die Sie von ihm verlangen. Es ist fast so, als würde man ein Fahrzeug für den Transport kaufen. Wenn Sie eine Einzelperson sind und nur ein Auto benötigen, um zum Supermarkt und zum Einkaufszentrum zu gelangen, werden Sie mit einem Mini Cooper gut zurechtkommen. Wenn Sie andererseits ein Unternehmen sind und Hunderte von Kisten mit Inventar zwischen Ihrem Lager und Geschäft hin und her transportieren müssen, benötigen Sie einen Mack-LKW.
Es wäre dumm für den Einzelnen, zu versuchen, mit einem Mack-Truck zum Einkaufszentrum und zum Supermarkt zu fahren, und ebenso dumm, zu versuchen, das Inventar Ihres Unternehmens mit einem Mini Cooper zu transportieren. Beides ist möglich, aber schrecklich unpraktisch.
Sie müssen also entscheiden, für welchen Zweck Sie ein Datenbankmodul verwenden, und dann das Datenbankmodul auswählen, das für die jeweiligen Zwecke am besten geeignet ist. Es gibt viele Szenarien, in denen Jet / ACE mehr als ausreichend ist und Ihnen die Arbeit sehr einfach macht.
Es gibt auch viele Szenarien, in denen es unklug wäre, damit zu beginnen, und Sie sollten sich für ein Server-Datenbankmodul wie SQL Server entscheiden. Jet / ACE wird für eine beliebige Anzahl von Szenarien unzureichend sein, und SQL Server wird für andere ein enormer Overkill sein, aber Sie können nicht sagen, welche, bis Sie die spezifischen Anforderungen eines bestimmten Szenarios untersuchen.
Schließlich ist Access ein großartiges Tool zum Erstellen Ihrer Front-End-Anwendung, entweder mit einer Jet / ACE-Datenbank dahinter oder einer SQL Server-Datenbank. In der Tat ist es recht einfach, die Größe von Jet / ACE auf SQL Server zu erhöhen, wenn Sie sorgfältig darauf geachtet haben, eine effiziente Access-Anwendung zu erstellen. Dies ist ein sehr häufiges Szenario, dh beginnen Sie mit Ihrem Access-Front-End und einem Jet / ACE-Back-End. Wenn die Anforderungen steigen, können Sie die Größe eines Server-Backends erhöhen und die vorhandene Access-Anwendung beibehalten.
Der Zugriff ist eher für Endbenutzer gedacht, da es sich um ein All-Inclusive-Paket handelt. Es ist hauptsächlich für eine Verwendung gleichzeitig gedacht, unterstützt jedoch mehrere Benutzer, wenn auch auf umständliche Weise. Denken Sie daran, es ist ein Tool in MS Office.
MS SQL Server ist eine tatsächliche SQL-Datenbank. Es wurde entwickelt, um auf einem Server zu sitzen und als Datenbank für das Front-End zu fungieren, das Sie darauf installieren möchten. Es ist hauptsächlich für mehrere Benutzer gedacht und soll zentralisiert werden.
Neben der Antwort von Force Flow bieten sie auch verschiedene Tools und eine andere Benutzeroberfläche.
Access bietet die Möglichkeit, Tabellen zu erstellen, Abfragen mit einem Assistenten zu generieren, Berichte mit einem Assistenten zu erstellen, Makros zu erstellen usw. Komprimierungs- und andere Wartungstools sind integriert. Es ist eine kleine All-in-One-Datenbank.
SQL Server bietet mehr Leistung und weniger Handhaltung. Sie müssen Datenbanken und SQL kennen, um sie ordnungsgemäß verwenden zu können, und sie müssen ordnungsgemäß gewartet werden.