Базы данных: Microsoft SQL Server и Visual FoxPro - плюсы и минусы. Команды управления транзакциями

Система управления базами данных MS SQL Server

Microsoft SQL Server обладает всеми качествами, необходимыми для реализации ключевых требований к СУБД, предъявленными заказчиком, а именно – производительностью, стабильностью и возможностью масштабирования.

Так же, как и DB2, Microsoft SQL Server имеет бесплатный выпуск - SQL Server Express для разработчиков и независимых поставщиков.

Для предприятия среднего бизнеса, каким является рассматриваемое предприятие, целесообразно выбрать платное решение. Одним из преимуществ является то, что не требуется плата за дополнительные функции или продукты, такие как средства обеспечения высокой доступности, удаленного аварийного восстановления, секционирования, сжатия данных и прозрачного шифрования данных, инструменты для работы с пространственными данными, управления основными данными и обработки сложных событий, технологии ETL и OLAP, службы интеллектуального анализа данных и подготовки отчетности, инструменты бизнес-аналитики (BI) с поддержкой самообслуживания. Отказ от UNIX в пользу Windows позволит существенно сократить расходы на инфраструктуру.

В отличие от остальных СУБД, SQL Server обеспечивает интеграцию с Microsoft Office, гарантирует повышенную безопасность и производительность средств разработки, содержит более мощные инструменты бизнес-аналитики по сравнению с решением Oracle. Кроме того, SQL Server имеет более низкую совокупную стоимость владения.

Среди основных преимуществ MS SQL Server можно выделить следующие:

    Масштабируемость и производительность

    База данных менее уязвима

    Инструменты бизнес-аналитики с поддержкой самообслуживания

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

Высокая доступность обеспечивается в первую очередь за счёт отказоустойчивой кластеризации. Отказоустойчивая кластеризация обеспечивает защиту не только базы данных, но и сервера. Данная функция позволяет предотвратить любую потерю данных, что является важным аспектом для заказчика.

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

В MS SQL Server особое внимание уделяется безопасности.

    Базовые выпуски SQL Server обладают расширенными функциями обеспечения безопасности.

    Стандартные и корпоративные выпуски Oracle обеспечивают лишь базовую безопасность.

    Центр обновления Windows позволяет снизить риски в области безопасности, а также свести к минимуму простой системы во время установки пакетов исправлений.

Одним из видимых недостатков Oracle является то, что требуется отдельная оплата за опции и дополнительные программы.

В качестве обобщения можно привести нижеследующую сравнительную таблицу.

Таблица 1 – Сравнительные характеристики MS SQL Server и Oracle

Oracle предоставляет лишь ограниченный функционал в данных областях и требует приобретения дополнительных лицензий.

Важнейшими характеристиками MS SQL Server являются:

    Простота администрирования,

    Возможность подключения к Web,

    Быстродействие и функциональные возможности механизма сервера СУБД,

    Наличие средств удаленного доступа,

В комплект средств административного управления данной СУБД входит целый набор специальных мастеров и средств автоматической настройки параметров конфигурации. Также данная БД оснащена средствами тиражирования, позволяющими синхронизировать данные ПК с информацией БД и наоборот. Входящий в комплект поставки сервер OLAP дает возможность сохранять и анализировать все имеющиеся у пользователя данные. Данная СУБД представляет собой современную полнофункциональную база данных, которая идеально подходит для средних организаций, каким и является рассматриваемый заказчик. Выбор MS SQL Server в качестве СУБД удовлетворит все требования заказчика, так как обладает всеми необходимыми характеристиками и средствами для разрешения проблем заказчика.

Список использованных ресурсов

    Сравнение совокупной стоимости владения для СУБД EnterpriseDB, Oracle, IBM DB2 иMSSQL // http://www.bureausolomatina.ru/ru/themes_in_progress/dbms/2

    Сравнительные характеристики SQL СУБД // http://www.realcoding.net/article/view/1534

    SQL Server Gives You More Advanced Features (Out-Of-The-Box)// SQL Server White Paper

    MS SQL Server Сравнение с конкурентами//http://www.microsoft.com/sqlserver/ru/ru/product-info/competitor-compare.aspx

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

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

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

Поддержка разработчиков. Хранимые процедуры всегда были очень полезны для пользователей SQL Server, а благодаря поддержке ODBC и OLEDB они доступны на самых разнообразных платформах. Кроме того, успех и широкое распространение во многом обусловлено превосходным взаимодействием между SQL Server и. NET.

Бизнес-аналитика. Еще одним достоинством, содействующим распространению SQL Server, стали усилия компании, направленные на расширение доступности бизнес-аналитики (BI). Многие разработчики не придают значения этому вопросу, но нет сомнений, что преимущества доступа, предоставляемого единственной лицензией SQL Server к мощному механизму OLTP, функциям OLAP и хранения данных, и даже инструментарию ETL (SSIS) и подготовки отчетов (SSRS) - ключевой элемент успеха SQL Server.

Новое лицо SQL Server

Недавно выпущенные версии SQL Server - наглядное подтверждение тому, что Microsoft не ослабляет усилий, добавляя новые функции бизнес-аналитики (хотя приходится слышать жалобы на недостатки инструментария и подготовки отчетов). Точно так же, я уверен, что удобство и доступность SQL Server еще никогда не были на таком уровне благодаря SQLSaturday, хэш-тегу #SQLHelp Twitter, изобилию блогов SQL Server, бесплатным учебным курсам и множеству других достоинств.

Последней важной новацией, ориентированной на разработчиков, было появление CLR в SQL Server 2005. Остальные улучшения были менее крупными и постепенными, ничего радикального. Я не учитываю такие нововведения, как RCSI и даже поддержка Hekaton, запланированная в SQL Server 2014. Это хорошие функции, полезные для разработчиков, но лишь в отношении повышения пропускной способности и масштабируемости.

Наконец, важным пунктом стали цены. О переходе SQL Server 2012 от лицензирования процессоров к лицензированию ядер речь не идет. На мой взгляд, это решение совершенно справедливо и приемлемо, так как в настоящее время процессоры стали гораздо более мощными, чем раньше, а лицензии SQL Server всегда предоставлялись по принципу «вы платите за то, чем пользуетесь». Меня больше беспокоит другая проблема: в условиях лицензирования SQL Server 2008 R2 и более новых выпусков заметно стремление привязать потребителей к продукту и заставить его обновлять версии. Такой подход идет вразрез со справедливым лицензированием, способствовавшим выходу SQL Server на ведущие позиции на рынке. В частности, я имею в виду то обстоятельство, что в SQL Server 2008 R2 и более новых версиях рабочие нагрузки Standard Edition искусственно ограничены до 64 Гбайт оперативной памяти. Учитывая, что в перспективе ожидается появление DDR4, смехотворность этого ограничения станет очевидной, когда через несколько лет, к концу жизненного цикла SQL Server 2014, в продаже начнут появляться модули DIMM емкостью 64 Гбайт.

PostgreSQL: перспективы для разработчика

Благодаря SQL Server я выплачивал ипотеку в течение десяти лет. Мне даже не приходило в голову, что когда-нибудь я помыслю об измене. Но недавние странности с лицензированием Standard Edition и недостаток внимания со стороны разработчиков к недавним версиям SQL Server поколебали мою уверенность.

С одной стороны, не проходит недели, чтобы я с недоумением не вспомнил о несовместимости SQL Server с JSON. SQL Server? XML? Язык XML кружил головы в 1999 году, но сегодня его былое значение безнадежно утеряно. С другой стороны, совершенно бесплатный продукт PostgreSQL не просто совместим с JSON, но и обеспечивает индексацию данных JSON. И это лишь вершина айсберга - у PostgreSQL множество очень мощных функций, которые понравятся разработчикам. Пройдет немного времени, и я обязательно познакомлюсь с PostgreSQL поближе, особенно учитывая, что развернуть продукт не составит труда.

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

Команды управления транзакциями

Существуют следующие команды, позволяющие управлять транзакциями базы данных : COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.

Язык SQL является основой многих СУБД , т.к. отвечает за физическое структурирование и запись данных на диск, а также за чтение данных с диска, позволяет принимать SQL- запросы от других компонентов СУБД и пользовательских приложений. Таким образом, SQL – мощный инструмент, который обеспечивает пользователям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных .

Основные достоинства языка SQL заключаются в следующем:

  • стандартность – как уже было сказано, использование языка SQL в программах стандартизировано международными организациями;
  • независимость от конкретных СУБД – все распространенные СУБД используют SQL, т.к. реляционную базу данных можно перенести с одной СУБД на другую с минимальными доработками;
  • возможность переноса с одной вычислительной системы на другую – СУБД может быть ориентирована на различные вычислительные системы, однако приложения, созданные с помощью SQL, допускают использование как для локальных БД, так и для крупных многопользовательских систем;
  • реляционная основа языка – SQL является языком реляционных БД , поэтому он стал популярным тогда, когда получила широкое распространение реляционная модель представления данных. Табличная структура реляционной БД хорошо понятна, а потому язык SQL прост для изучения;
  • возможность создания интерактивных запросов – SQL обеспечивает пользователям немедленный доступ к данным, при этом в интерактивном режиме можно получить результат запроса за очень короткое время без написания сложной программы;
  • возможность программного доступа к БД – язык SQL легко использовать в приложениях, которым необходимо обращаться к базам данных . Одни и те же операторы SQL употребляются как для интерактивного, так и программного доступа, поэтому части программ, содержащие обращение к БД, можно вначале проверить в интерактивном режиме, а затем встраивать в программу;
  • обеспечение различного представления данных – с помощью SQL можно представить такую структуру данных, что тот или иной пользователь будет видеть различные их представления. Кроме того, данные из разных частей БД могут быть скомбинированы и представлены в виде одной простой таблицы , а значит, представления пригодны для усиления защиты БД и ее настройки под конкретные требования отдельных пользователей;
  • возможность динамического изменения и расширения структуры БД – язык SQL позволяет манипулировать структурой БД, тем самым обеспечивая гибкость с точки зрения приспособленности БД к изменяющимся требованиям предметной области;
  • поддержка архитектуры клиент-сервер – SQL – одно из лучших средств для реализации приложений на платформе клиент-сервер . SQL служит связующим звеном между взаимодействующей с пользователем клиентской системой и серверной системой, управляющей БД, позволяя каждой из них сосредоточиться на выполнении своих функций.

Любой язык работы с базами данных должен предоставлять пользователю следующие возможности:

  • создавать базы данных и таблицы с полным описанием их структуры;
  • выполнять основные операции манипулирования данными, в частности, вставку, модификацию и удаление данных из таблиц ;
  • выполнять простые и сложные запросы , осуществляющие преобразование данных.

Кроме того, язык работы с базами данных должен решать все указанные выше задачи при минимальных усилиях со стороны пользователя, а структура и синтаксис его команд – достаточно просты и доступны для изучения. И наконец, он должен быть универсальным, т.е. отвечать некоторому признанному стандарту , что позволит использовать один и тот же синтаксис и структуру команд при переходе от одной СУБД к другой. Язык SQL удовлетворяет практически всем этим требованиям.

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

Язык SQL – первый и пока единственный стандартный язык для работы с базами данных , который получил достаточно широкое распространение. Практически все крупнейшие разработчики СУБД в настоящее время создают свои продукты с использованием языка SQL либо с SQL-интерфейсом. В него сделаны огромные инвестиции как со стороны разработчиков, так и со стороны пользователей. Он стал частью архитектуры приложений, является стратегическим выбором многих крупных и влиятельных организаций.

Язык SQL используется в других стандартах и даже оказывает влияние на разработку иных стандартов как инструмент определения (например, стандарт Remote Data Access, RDA). Создание языка способствовало не только выработке необходимых теоретических основ, но и подготовке успешно реализованных технических решений. Это особенно справедливо в отношении оптимизации запросов , методов распределения данных и реализации средств защиты. Начали появляться специализированные реализации языка, предназначенные для новых рынков: системы управления обработкой транзакций (OnLine Transaction Processing, OLTP ) и системы оперативной аналитической обработки или системы поддержки принятия решений (OnLine Analytical Processing, OLAP ). Уже известны планы дальнейших расширений стандарта , включающих поддержку распределенной обработки, объектно-ориентированного программирования, расширений пользователей и мультимедиа.

Независимость от конкретной СУБД

Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей мере нескольких СУБД. Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.

Наличие стандартов

Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах.

Декларативность

С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса. Однако не стоит думать, что это полностью универсальный принцип - программист описывает набор данных для выборки или модификации, однако ему при этом полезно представлять, как СУБД будет разбирать текст его запроса. Чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных.

Недостатки

Несоответствие реляционной модели данных

Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности, они указывают на следующие проблемы SQL:

  • Повторяющиеся строки
  • Неопределённые значения
  • Явное указание порядка колонок слева направо
  • Колонки без имени и дублирующиеся имена колонок
  • Отсутствие поддержки свойства «=»
  • Использование указателей
  • Высокая избыточность

Сложность

Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.

Отступления от стандартов

Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД, вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

Сложность работы с иерархическими структурами

Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения. В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2. В MS SQL Server рекурсивные запросы появились лишь в версии MS SQL Server 2005.

Access

База в Access формате представляет собой файл для всех пользователей системы. Этот файл сохраняет все данные одной фирмы и доступен всем рабочим местам. Через общую папку и мапнутый диск каждое рабочее место открывает один и тот же файл, расположенный на центральном компьютере.

Подходит для: Небольших объектов с невысокой загруженностью, при наличии 1 или 2 рабочих мест.
Быстродействие: Microinvest Склад Pro прекрасно работает с до 200 000 записями базы данных. Это представляет собой 40 000 документов с 5 позициями каждый.
Безопасность: Т.к. база сохраняется в одном файле, который доступен всем рабочим местам, то безопасность данных не очень высока. Практически каждое рабочее место имеет прямой доступ к базе данных и может ее повредить.
Простота установки: Этот вид базы данных не требует центрального сервера. Достаточно иметь один компьютер, который сохраняет файл с базой и чтобы все другие компьютеры имели доступ к этому файлу через сеть.
Связь в сети: Для работы в сети достаточно определить одну папку, которая доступна всем компьютерам, и в ней определить место для файла. Этот файл отдельно открывается с каждого компьютера.
Другие особенности: Microinvest Склад Pro работает с базой Access без необходимости приобретения и установки Access на компьютер. В саму программу встроены все необходимые модули управления базой данных в формате Access. База данных бесплатная.

MSDE (Microsoft Desktop Engine)

MSDE это небольшой и проворный SQL сервер, способный обеспечить великолепную скорость работы в сетях с размером до 5 рабочих мест. MSDE устанавливается на центральный сервер или на одно из рабочих мест, и все другие компьютеры связываются с этим сервером. Преимуществом является отличное быстродействие и полноценное использование ресурсов компьютера.

Подходит для: Небольших объектов с высокой загруженностью, при наличии до 5 рабочих мест.
Быстродействие: Microinvest Склад Pro прекрасно работает с базой данных до 2 GB. Это более 1 000 000 документов.
Безопасность: MSDE представляет собой полноценный SQL сервер, который заботится об управлении базой данных, ее безопасности и стабильности при работе. MSDE обеспечивает самый высокий уровень защиты данных и практически не создает никаких проблем.
Простота установки: Microinvest предоставляет один установочный файл MSDE, который устанавливает все необходимые компоненты, без каких либо дополнительных настроек. Из-за ограничений технологии в MSDE, этот сервер не может быть установлен на Windows Vista, Windows 7, Windows 8 или Windows 10.
Связь в сети: Для всех компьютеров в сети открывается порт 1433 в Firewall сети. Связь между отдельными компьютерами осуществляется посредством заполнения IP адреса сервера (компьютер, отведенный для этого, с установленным MSDE), имени пользователя (обычно sa), пароля для связи и имени базы данных.
Другие особенности: MSDE – это бесплатный сервер, имеющий низкие требования к параметрам компьютера, поддерживающий все необходимые системы защиты данных и работающий исключительно быстро. Полная инструкция по установке MSDE размещена на установочном диске Microinvest.

MySQL

MySQL – это мощный и бесплатный SQL сервер, способный обеспечить отличную работу в сетях с количеством более 5 рабочих мест. MySQL устанавливается на центральный сервер или на одно из рабочих мест, и все другие компьютеры подключаются к этому серверу. Преимуществом является мощность сервера, функции для работы через интернет и возможность MySQL устанавливаться на операционную систему Linux.

Подходит для: Небольших объектов с высокой загруженностью, количество рабочих мест любое. При объектах, имеющих до 5 рабочих мест, рекомендуется использование MSDE, т.к. MSDE работает быстрее, чем MySQL. Если количество рабочих мест более 5, предпочтительнее установить MySQL.
Быстродействие: Сервер не имеет ограничений по размеру базы данных и может выдержать практически неограниченную нагрузку.
Безопасность: MySQL является полноценным SQL сервером, который заботится об управлении базой данных, ее безопасности и стабильной работе. MySQL обеспечивает самый высокий уровень защиты данных и работу с транзакциями. MySQL очень чувствителен к отключению питания, поэтому для машины, на которой установлен сервер, необходимо обеспечить ИБП (UPS).
Простота установки: Microinvest предоставляет два установочных файла MySQL (файл с сервером и файл с инструментами для управления сервером). MySQL работает со всеми версиями Windows. В установочном диске есть подробные инструкции по установке этого сервера. При установке важно выбрать кодировку UTF-8, чтобы не возникло проблем с кириллицей.
Связь в сети: Для всех компьютеров в сети открывается порт 3306 в Firewall. Связь между отдельными компьютерами осуществляется посредством заполнения IP адреса сервера (компьютер, отведенный для этого, с установленным MySQL), имени пользователя (обычно root), пароля связи и названия базы данных.
Другие особенности: MySQL – это бесплатный SQL сервер, который имеет огромные возможности для работы с высокой степенью загрузки. Полная инструкция по установке MySQL размещена на установочном диске Microinvest.

MS SQL (Microsoft SQL Server)

MS SQL является обобщенным наименованием Microsoft SQL Server 2005/2008/2012/2014/2016 Express Edition. Это великолепный сервер с отличными возможностями, высокой скоростью и максимальной безопасностью. MS SQL устанавливается на центральный сервер, и все другие компьютеры подключаются к этому серверу.

Подходит для: Средние и большие объекты с высокой загрузкой.
Быстродействие: Microinvest Склад Pro работает отлично при любой нагрузке. Практически не имеет ограничений в объеме данных и быстродействии системы.
Безопасность: MS SQL это SQL сервер высокого класса, который заботится об управлении базой данных, ее безопасности и стабильности работы. MS SQL гарантирует самый высокий уровень защиты данных и практически не создает никаких проблем. Эта система корпоративного значения и может использоваться у каждого клиента.
Простота установки: Microinvest предоставляет два инсталляционных файла MS SQL (x86 и x64). MS SQL работает со всеми версиями Windows. В установочном диске есть подробные инструкции для установки этого сервера.
Связь в сети: Для всех компьютеров в сети открывается порт 1433 в Firewall сети. Связь между отдельными компьютерами осуществляется посредством заполнения IP адреса сервера (компьютер, отведенный для этого, с установленным SQL Server), имени пользователя (обычно sa), пароля связи и названия базы данных.
Другие особенности: Microsoft SQL Server 2005/2008/2012/20014 Express Edition - это бесплатный сервер, который имеет высокие эксплуатационные характеристики. Полная инструкция по установке SQL Server размещена на установочном диске Microinvest. Важно отметить, что предоставленный на диске сервер является бесплатным для использования клиентами.

Некоторые полезные ресурсы

  • Документация по всем продуктам;
  • Форум технической поддержки Microinvest , где Вы сможете быстро получить ответ на интересующий вопрос;
  • Примеры автоматизации ресторанов и торговли на базе Microinvest в России и странах СНГ;
  • График предстоящих обучений в России и странах СНГ;


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: