MS Access vs MS SQL Server

10

Są to dwie oferty Microsoft - MS Access i MS SQL Server.

Dla jakiego rodzaju użytkowników / zastosowań przeznaczony jest Access? Czy poza tymi poziomami użytkowania (pod względem liczby użytkowników) te dwa produkty są takie same?

Moeb
źródło

Odpowiedzi:

5

MS Access jest w rzeczywistości połączeniem narzędzia do szybkiego tworzenia interfejsu użytkownika i relacyjnej bazy danych (JET) opartej na systemie plików.

Plusy:
- Łatwe wdrożenie, wystarczy skopiować plik do sieci i podać ludziom ścieżkę do niego. - Szybkie prototypowanie i bardzo dobre narzędzia programistyczne dla aplikacji typu bazy danych - Generalnie znacznie tańsze we wdrożeniu, szczególnie w przypadku małych instalacji.

Wady - Konserwacja - Musisz zablokować wszystkich użytkowników, gdy chcesz wykonać zagęszczenie DB, naprawę lub inną konserwację. - W wyniku użycia bazy danych opartej na plikach jest bardziej podatna na uszkodzenie danych w przypadku dużej liczby użytkowników lub niestabilnych połączeń sieciowych. - Chociaż liczba ta jest dyskutowana, znacznie wcześniej liczba użytkowników, których możesz obsługiwać za pomocą jednej bazy danych Access, będzie znacznie większa niż w przypadku SQL.

MS SQL Server to relacyjny system baz danych klient-serwer, bez wbudowanych narzędzi programistycznych interfejsu użytkownika.

Plusy:
- Konserwacja - Wiele narzędzi do konserwacji, może zrobić większość z użytkownikami w DB. W ten sposób zyskujesz dłuższy czas sprawności.
- Skala korporacyjna - została zaprojektowana, aby obsługiwać znacznie więcej użytkowników i lepiej skalować się w celu obsługi ich.

Wady: - Drogie - Aby Twoja aplikacja 5 użytkowników mogła śledzić kilkaset tysięcy przedmiotów, może to być przesada.
- Bardziej złożony - Wszystkie dodatkowe funkcje wprowadzają krzywą uczenia się. - Brak wbudowanych narzędzi programistycznych dla interfejsu użytkownika - Do zbudowania interfejsu i (prawdopodobnie) raportowania potrzebna będzie inna platforma programistyczna. W rzeczywistości Access może działać jako interfejs dla SQL, ale z wielu powodów DBA nienawidzą użytkowników Access łączących się z ich bazami danych.

Miscellany
- Chociaż możesz usłyszeć inaczej, nie podejmuj decyzji na podstawie wielkości bazy danych, nawiąż połączenie na podstawie funkcji i wielkości bazy użytkowników.
- Access faktycznie jest całkiem dobrym narzędziem interfejsu użytkownika dla baz danych hostowanych w SQL Server. Tak więc właściwą odpowiedzią może być „Oba” w zależności od potrzeb.

JohnFx
źródło
2
Uwaga na temat kosztów SQL Server, jeśli potrzeba nie jest zbyt duża, SQL Server Express może działać, ponieważ jest bezpłatny. Istnieją jednak ograniczenia ( microsoft.com/sqlserver/2008/en/us/express.aspx ). Ale zapewnia dobry krok naprzód w stosunku do programu Access, gdy plik MDB osiąga ten dzienny wymóg naprawy i kompaktowania, aby utrzymać go w działaniu.
Agent_9191,
Twoje zalety / wady dostępu nie mają sensu, chyba że korzystasz z NAJGORSZYCH PRAKTYK do rozpowszechniania swojej aplikacji. Nikt w żadnym sensie nie dystrybuuje aplikacji Access z wyjątkiem podziału na interfejs (formularze / raporty / itp.) I back-end (tylko tabele danych). Twoje zalety / wady całkowicie znikają po zastosowaniu najlepszych praktyk.
David W. Fenton,
@David - Być może byłem niejasny. Przez łatwe wdrożenie zasadniczo rozumiałem, że łatwiej jest wdrożyć aplikację na innej stronie. Oznacza to, że nie musisz przeprowadzać ich przez proces instalacji lub licencjonowania programu SQL Server, co może być uciążliwe dla użytkownika, który chce szybko rozpocząć pracę w małym systemie. Nie sądzę, by cokolwiek, co powiedziałem, sugeruje, że NIE POWINNIŚCIE tego pluć na przód / tył, ale dziękuję za wyjaśnienie.
JohnFx,
4

Pytanie jest głupie. SQL Server i Access nie są nawet tego samego typu produktem. To tak, jakby zapytać, jaka jest różnica między hotelem a ciężarówką Mack - pytanie to nawet nie ma sensu.

Powodem jest to, że SQL Server to tylko silnik bazy danych, a Access to narzędzie do tworzenia aplikacji bazodanowych. SQL Server służy do przechowywania danych, a Access służy do budowania aplikacji do manipulowania danymi.

Teraz Access jest dostarczany z domyślnym silnikiem bazy danych, Jet / ACE, i dlatego wszyscy swobodnie używają „Access”, co oznacza silnik bazy danych. Są mylne i nieprecyzyjne, gdy używają zamiennie Access i Jet / ACE, i prowadzi do wszelkiego rodzaju zamieszania, jeśli nie określisz, co masz na myśli. Chociaż nie można porównywać programu Access ściśle z SQL Server, z pewnością można porównać SQL Server do Jet / ACE, ponieważ wtedy porównuje się silniki bazy danych, a nie jabłka i meble.

Nie będę wchodził w szczegóły, ale powiem, że decyzja, który silnik bazy danych jest najbardziej odpowiedni, będzie zależeć od zadań, o które go poprosisz. Przypomina to zakup pojazdu do transportu. Jeśli jesteś samotną osobą i potrzebujesz samochodu, aby przejść do supermarketu i centrum handlowego, dobrze Ci będzie z Mini Cooperem. Z drugiej strony, jeśli prowadzisz działalność i potrzebujesz przetransportować setki pudeł ekwipunku między magazynem a sklepem, będziesz potrzebował ciężarówki Mack.

Byłoby głupio, gdyby ktoś próbował użyć ciężarówki Mack tylko do centrum handlowego i supermarketu, a równie głupi byłby transport ekwipunku firmy za pomocą Mini Coopera. Oba można zrobić, ale jest to okropnie niewygodne.

Musisz więc zdecydować, do jakiego celu korzystasz z silnika bazy danych, a następnie wybrać silnik bazy danych, który najlepiej pasuje do danych celów. Istnieje wiele scenariuszy, w których Jet / ACE jest więcej niż wystarczający i ułatwi ci wszystko.

Istnieje również wiele scenariuszy, w których nierozsądnie byłoby zacząć od niego, i powinieneś wybrać silnik bazy danych serwera, taki jak SQL Server. Jet / ACE będzie nieodpowiedni dla dowolnej liczby scenariuszy, a SQL Server będzie ogromną przesadą dla innych, ale nie możesz powiedzieć, która z nich, dopóki nie przeanalizujesz konkretnych wymagań konkretnego scenariusza.

Wreszcie, Access jest doskonałym narzędziem do budowania aplikacji front-end z bazą danych Jet / ACE za nią lub bazą danych SQL Server. Rzeczywiście, dość łatwo jest rozbudować z Jet / ACE do SQL Server, jeśli starałeś się stworzyć wydajną aplikację Access, a to bardzo częsty scenariusz, tj. Zacznij od frontonu Access i Jet / ACE, a wraz ze wzrostem potrzeb możesz rozbudować serwer do zaplecza i zachować istniejącą aplikację Access.

David W. Fenton
źródło
3

Dostęp jest przeznaczony bardziej dla użytkowników końcowych, ponieważ jest to pakiet all-inclusive. Jest przeznaczony głównie do jednorazowego użytku, ale obsługuje wielu użytkowników, choć w niezręczny sposób. Pamiętaj, że jest to narzędzie w MS Office.

MS SQL Server to rzeczywista baza danych SQL. Został zaprojektowany do działania na serwerze i działa jako baza danych dla dowolnego interfejsu użytkownika, który chcesz na nim umieścić. Jest przeznaczony głównie dla wielu użytkowników i ma być scentralizowany.

Force Flow
źródło
„Rzeczywista baza danych SQL”? To rodzaj mglistego terminu. W poniższym opisie myślę, że miałeś na myśli „Platformę bazy danych klient-serwer”
JohnFx,
2

Oprócz odpowiedzi Force Flow udostępniają także różne narzędzia i inny interfejs użytkownika.

Access umożliwia tworzenie tabel, generowanie zapytań za pomocą kreatora, tworzenie raportów za pomocą kreatora, tworzenie makr itp. Kompaktowanie i inne narzędzia do konserwacji są wbudowane. Jest to mała, uniwersalna baza danych.

SQL Server ma większą moc i mniej trzymania ręki. Musisz znać bazy danych i SQL, aby używać go poprawnie, a także wymaga odpowiedniej konserwacji.

czwartek
źródło