MS Access против MS SQL Server

10

Это два предложения от Microsoft - MS Access и MS SQL Server.

Для какого типа пользователей / применений предназначен Access? Помимо степени использования (с точки зрения количества пользователей) эти два продукта одинаковы?

Moeb
источник

Ответы:

5

MS Access на самом деле представляет собой комбинацию инструмента пользовательского интерфейса для быстрой разработки и реляционной базы данных на основе файловой системы (JET).

Плюсы:
- Простота развертывания, просто скопируйте файл в сеть и сообщите людям путь к нему. - Быстрое создание прототипов и очень хорошие инструменты разработки пользовательского интерфейса для приложений типа базы данных - Как правило, намного дешевле в развертывании, особенно для небольших установок.

Минусы - Обслуживание - Вы должны заблокировать всех пользователей, когда вы хотите сделать сжатие БД, ремонт или другое обслуживание. - В результате использования файловой БД она более подвержена повреждению данных большим количеством пользователей или нестабильным сетевым подключением. - Несмотря на то, что это число обсуждается, вы максимально увеличите число пользователей, которых вы можете поддерживать с одной БД Access, гораздо раньше, чем с SQL.

MS SQL Server - это система клиент-серверных реляционных баз данных без встроенных инструментов разработки пользовательского интерфейса.

Плюсы:
- Техническое обслуживание - Множество инструментов для технического обслуживания, большинство из них можно сделать с пользователями в БД. Таким образом, вы получаете больше времени безотказной работы.
- Масштаб предприятия - он предназначен для поддержки гораздо большего количества пользователей и лучше масштабируется для их обслуживания.

Минусы: - Дорого - для вашего 5-пользовательского приложения, чтобы отслеживать несколько сотен тысяч элементов, это может быть излишним.
- Более сложный - Все дополнительные функции вводят кривую обучения. - Нет встроенных инструментов для разработки пользовательского интерфейса - Вам понадобится другая платформа для разработки внешнего интерфейса и (возможно) отчетов. На самом деле Access может работать как интерфейс для SQL, но по ряду причин администраторы баз данных склонны ненавидеть пользователей Access, подключающихся к своим базам данных.

Разное
- Хотя вы можете услышать иное, не принимайте решение в зависимости от размера БД, звоните в зависимости от возможностей и размера вашей пользовательской базы.
Access на самом деле является довольно хорошим инструментом пользовательского интерфейса для баз данных, размещенных на SQL Server. Поэтому правильным ответом может быть «Оба» в зависимости от ваших потребностей.

JohnFx
источник
2
Примечание о стоимости SQL Server: если потребность не слишком велика, SQL Server Express может работать бесплатно. Хотя есть ограничения для этого ( microsoft.com/sqlserver/2008/en/us/express.aspx ). Но это действительно хороший шаг вперед по сравнению с Access, когда файл MDB достигает того ежедневного требования по исправлению и сжатию, чтобы поддерживать его работу.
Agent_9191
Ваши плюсы / минусы доступа не имеют смысла, кроме случаев, когда вы используете НАИЛУЧШИЕ ПРАКТИКИ для распространения своего приложения. Никто не имеет смысла распространять приложение Access, за исключением разделения на интерфейс (формы / отчеты / и т. Д.) И сервер (только таблицы данных). Ваши плюсы / минусы полностью исчезают при следовании передовым методам.
Дэвид В. Фентон
@ Дэвид - Возможно, мне было неясно. Под простым развертыванием я в основном подразумевал, что проще развернуть приложение на другой стороне. То есть вам не нужно проходить их через установку SQL Server или его лицензирование, что может быть проблемой для пользователя, который просто хочет быстро приступить к работе в небольшой системе. Я не думаю, что что-то из того, что я сказал, подразумевало, что вы не плюнули бы на передний / задний конец, но спасибо за разъяснение
JohnFx
4

Вопрос глупый. SQL Server и Access - это даже не один и тот же тип продукта. Это все равно, что спросить, в чем разница между отелем и грузовиком Мак - вопрос даже не имеет смысла.

Причина в том, что SQL Server - это только ядро ​​базы данных, а Access - инструмент разработки приложений базы данных. SQL Server предназначен для хранения данных, а Access - для создания приложений для манипулирования данными.

Теперь Access поставляется с ядром базы данных по умолчанию, Jet / ACE, и поэтому все небрежно используют «Access» для обозначения ядра базы данных. Они ошибочны и неточны, когда они используют Access и Jet / ACE взаимозаменяемо, и это приводит к всевозможной путанице, если вы не укажете, что вы имеете в виду. Хотя вы не можете сравнивать Access строго говоря с SQL Server, вы, безусловно, можете сравнить SQL Server с Jet / ACE, потому что тогда вы сравниваете механизмы баз данных, а не яблоки и мебель.

Я не буду вдаваться в подробности, но скажу, что решение о том, какой механизм базы данных является наиболее подходящим, будет зависеть от задач, которые вы просите его выполнить. Это очень похоже на покупку автомобиля для перевозки. Если вы одинокий человек и вам просто нужна машина, чтобы поехать в супермаркет и торговый центр, вы отлично справитесь с Mini Cooper. Если, с другой стороны, вы являетесь бизнесом и вам необходимо перевезти сотни ящиков с товаром туда и обратно между вашим складом и магазином, вам понадобится грузовик Mack.

Для человека было бы глупо пытаться использовать грузовик Mack только для того, чтобы сходить в торговый центр и супермаркет, и в равной степени глупо пытаться транспортировать инвентарь вашего бизнеса с помощью Mini Cooper. И то, и другое можно сделать, но это ужасно неудобно.

Итак, вы должны решить, для какой цели вы используете ядро ​​базы данных, а затем выбрать ядро ​​базы данных, которое лучше всего подходит для ваших целей. Существует множество сценариев, в которых Jet / ACE более чем адекватен и облегчит вам задачу.

Существует также множество сценариев, в которых было бы неразумно начинать с него, и вам следует использовать серверную базу данных, такую ​​как SQL Server. Jet / ACE будет неадекватным для любого количества сценариев, а SQL Server будет чрезмерно избыточным для других, но вы не сможете определить, какие из них, пока не изучите конкретные требования какого-либо конкретного сценария.

И наконец, Access - это отличный инструмент для создания внешнего приложения либо с базой данных Jet / ACE, либо с базой данных SQL Server. Действительно, достаточно легко перейти с Jet / ACE на SQL Server, если вы тщательно продумывали создание эффективного приложения Access, и это очень распространенный сценарий, т. Е. Начните с внешнего интерфейса Access и внутреннего интерфейса Jet / ACE, и по мере роста потребностей вы увеличиваете размер до серверной части и сохраняете существующее приложение Access.

Дэвид У. Фентон
источник
3

Доступ предназначен больше для конечных пользователей, поскольку это комплексный пакет. Это главным образом для одного использования за один раз, но это действительно поддерживает много пользователей, хотя неуклюжим окольным путем. Помните, это инструмент в MS Office.

MS SQL Server - это актуальная база данных SQL. Он предназначен для размещения на сервере в качестве базы данных для любого внешнего интерфейса, который вы хотите использовать. Это в основном для нескольких пользователей и предназначено для централизации.

Поток силы
источник
«Актуальная база данных SQL»? Вид туманного термина там. Под следующим описанием я думаю, что вы имели в виду «Клиент-серверная платформа базы данных»
JohnFx
2

В дополнение к ответу Force Flow, они также предоставляют различные инструменты и другой пользовательский интерфейс.

В Access есть способ создавать таблицы, генерировать запросы с помощью мастера, создавать отчеты с помощью мастера, создавать макросы и т. Д. Встроенные средства сжатия и другие средства обслуживания. Это небольшая база данных "все в одном".

SQL Server обладает большей мощностью и меньшим количеством рук. Вам нужно знать базы данных и SQL, чтобы правильно его использовать, и он нуждается в надлежащем обслуживании.

thursdaysgeek
источник