sonyps4.ru

Введение в MS SQL Server и T-SQL. Система управления базами данных Microsoft Servers SQL

Заключительно частью моделирования информационной системы является создание реальной базы данных, опираясь на проведенное выше проектирование. Сюда входит выбор подходящей базы данных, ее развертывание и настройка, создание объектов структуры базы данных при помощи соответствующих средств, наполнение БД тестовым набором данных.

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

Высокая функциональность;

Полная поддержка стандарта SQL и его расширения T-SQL;

Широкая распространенность и доступность поддержки;

Надёжность;

Производительность.

Наличие встроенных средств для работы и администрирования БД.

MS SQL является лидером современного рынка реляционных СУБД. Актуальной стабильной версией MS SQL на момент написания работы была версия 2012. Установка данной СУБД не представляет трудностей. Процесс установки сопровождается мастером, который запрашивает у пользователя необходимые данные и дальше самостоятельно устанавливает сервер БД, настраивает его на оптимальное быстродействие.

Для создания базы данных в СУБД MS SQL использовались запросы на ста­н­­дартизированном языке SQL (англ. Structured Query Language, «Струк­ту­ри­ро­ванный язык запросов»). В процессе создания базы данных для всех ат­ри­бу­тов реляционной были указаны подходящие типы данных. Названия сущностей и атрибутов были переведены на английский язык, ключевые поля сфор­ми­ро­ва­ны с префикса «ID_» и суффикса, состоящего из имени связанной с ним таб­ли­цы. В таблице 8 показано соответствие названия сущности физической таблице в БД.

Таблица 8

Соответствие названия сущности физической таблице

Сущность

Виды транспорта

Физическая модель информационной системы в БД показана на рис. 5.

Рис. 5. Физическая модель информационной системы

Исходный код создания всех отношений базы данных представлен в Приложении к данной работе.

После создания базы данных её было наполнено пробным набором данных. Исходный код запросов на заполнение базы тестовым набором данных представлен в Приложении к данной работе.

Созданные на сервере таблицы базы данных показаны на рис. 6.

Рис. 6. Диаграмма данных сервера MS SQL

5. Разработка объектов базы данных, демонстрирующих логику предметной области

Для демонстрации работоспособности логики работы базы данных создадим в ней и продемонстрируем работу на тестовом наборе данных следующих объектов:

  • Представления;

    Хранимые процедуры;

    Триггеры.

Запросы на базу данных.

Представляют собой базовое средство для получения информации из базы данных. Для написания запроса используется стандарт SQL. Для демонстрации напишем запрос, выводящий перечень туристов, отправившихся отдыхать в отель «San Simeon Apartments», фамилии туристов отсортируем по алфавиту. Запрос и результат его выполнения показан на рис. 7.

Рис. 7. Результат выполнения запроса

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

Рис. 8. Представление и результат его работы

Хранимые процедуры. Это объекты в базе данных, позволяющие хранить в ней наборы инструкций по обработке и изменению данных. Текст процедуры пишется на диалекте языка SQL для MS SQL Server, называемом Transacts SQL или сокращенно T-SQL. Для демонстрации напишем хранимую процедуру, позволяющую изменять на заданный процент стоимость проживания во всех отелях. Текст хранимой процедуры показан на рис. 9.

Рис. 9. Хранимая процедура

Триггеры. Это специальная хранимая процедура, которая вызывается не пользователем, а самим сервером БД в ответ на событие INSERT, DELETE, UPDATE на указанной таблице. Триггеры широко используются программистами для автоматизации контроля и изменений данных в БД. Как правило, триггер работает незаметно для пользователя БД и проявляет себя тогда, когда он вводит ошибочные с точки зрения программиста данные. Припустим, что туристическое агентство не работает с детьми младше 10 лет. Напишем триггер, который не позволит ввести возраст туриста меньше 10 лет. Текст триггера показан на рис. 10.

Рис. 10. Триггер, не позволяющий внести возраст туриста меньше 10 лет

Порой так хочется привести свои мысли в порядок, разложить их по полочкам. А еще лучше в алфавитной и тематической последовательности, чтобы, наконец, наступила ясность мышления. Теперь представьте, какой бы хаос творился в «электронных мозгах » любого компьютера без четкой структуризации всех данных и Microsoft SQL Server :

MS SQL Server

Данный программный продукт представляет собой систему управления базами данных (СУБД ) реляционного типа, разработанную корпорацией Microsoft . Для манипуляции данными используется специально разработанный язык Transact-SQL . Команды языка для выборки и модификации базы данных построены на основе структурированных запросов:


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

Обзор возможностей MS SQL Server


СУБД является частью длинной цепочки специализированного программного обеспечения, которое корпорация Microsoft создала для разработчиков. А это значит, что все звенья этой цепи (приложения ) глубоко интегрированы между собой.

То есть их инструментарий легко взаимодействует между собой, что во многом упрощает процесс разработки и написания программного кода. Примером такой взаимосвязи является среда программирования MS Visual Studio . В ее инсталляционный пакет уже входит SQL Server Express Edition .

Конечно, это не единственная популярная СУБД на мировом рынке. Но именно она является более приемлемой для компьютеров, работающих под управлением Windows, за счет своей направленности именно на эту операционную систему. И не только из-за этого.

Преимущества MS SQL Server :

  • Обладает высокой степенью производительности и отказоустойчивости;
  • Является многопользовательской СУБД и работает по принципу «клиент-сервер »;

    Клиентская часть системы поддерживает создание пользовательских запросов и их отправку для обработки на сервер.

  • Тесная интеграция с операционной системой Windows ;
  • Поддержка удаленных подключений;
  • Поддержка популярных типов данных, а также возможность создания триггеров и хранимых процедур;
  • Встроенная поддержка ролей пользователей;
  • Расширенная функция резервного копирования баз данных;
  • Высокая степень защищенности;
  • Каждый выпуск включает в себя несколько специализированных редакций.

Эволюция SQL Server

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

  • Microsoft SQL Server 1.0 – вышел еще в 1990 году. Уже тогда эксперты отмечали высокую скорость обработки данных, демонстрируемую даже при максимальной нагрузке в многопользовательском режиме работы;
  • SQL Server 6.0 – вышел в 1995 году. В этой версии впервые в мире была реализована поддержка курсоров и репликации данных;
  • SQL Server 2000 – в этой версии сервер получил полностью новый движок. Большая часть изменений коснулась лишь пользовательской стороны приложения;
  • SQL Server 2005 – увеличилась масштабируемость СУБД , во многом упростился процесс управления и администрирования. Был внедрен новый API для поддержки программной платформы .NET ;
  • Последующие выпуски – были направлены на развитие взаимодействия СУБД на уровне облачных технологий и средств бизнес-аналитики.

В базовый комплект системы входит несколько утилит для настройки SQL Server . К ним относятся:


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

  • SQL Server Error and Usage Reporting :


Утилита служит для настройки отправки отчетов об ошибках в службу поддержки Microsoft .


Используется для оптимизации работы сервера базы данных. То есть вы можете настроить функционирование SQL Server под свои нужды, включив или отключив определенные возможности и компоненты СУБД .

Набор утилит, входящих в Microsoft SQL Server , может отличаться в зависимости от версии и редакции программного пакета. Например, в версии 2008 года вы не найдете SQL Server Surface Area Configuration .

Запуск Microsoft SQL Server

Для примера будет использована версия сервера баз данных выпуска 2005 года. Запуск сервера можно произвести несколькими способами:

  • Через утилиту SQL Server Configuration Manager . В окне приложения слева выбираем «SQL Server 2005 Services », а справа — нужный нам экземпляр сервера БД . Отмечаем его и в подменю правой кнопки мыши выбираем «Start ».


  • С помощью среды SQL Server Management Studio Express . Она не входит в инсталляционный пакет редакции Express . Поэтому ее нужно скачивать отдельно с официального сайта Microsoft .

Для запуска сервера баз данных запускаем приложение. В диалоговом окне «Соединение с сервером » в поле «Имя сервера » выбираем нужный нам экземпляр. В поле «Проверка подлинности » оставляем значение «Проверка подлинности Windows ». И нажимаем на кнопку «Соединить »:


Основы администрирования SQL Server

Перед тем, как запустить MS SQL Server , нужно кратко ознакомиться с основными возможностями его настройки и администрирования. Начнем с более детального обзора нескольких утилит из состава СУБД :

  • SQL Server Surface Area Configuration – сюда следует обращаться, если нужно включить или отключить какую-либо возможность сервера баз данных. Внизу окна находятся два пункта: первый отвечает за сетевые параметры, а во втором можно активировать выключенную по умолчанию службу или функцию. Например, включить интеграцию с платформой .NET через запросы T-SQL :


  • SQL Server Management Studio – является основным средством администрирования. В этой среде реализована возможность настройки сервера и баз данных, как через интерфейс приложения, так и с помощью запросов на языке T-SQL .

Основные настройки можно осуществить через «Обозреватель объектов », отображающий слева в окне приложения все основные элементы сервера в виде древовидного списка. Самой важной является вкладка «Безопасность ». Через нее можно настроить права и роли пользователей и администраторов для основного сервера, или отдельно для каждой базы данных:


Основная часть настроек сервера баз данных доступна в окне «Свойства сервера ».

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

Система управления базами данных как составная часть автоматизированного банка данных

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

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

одну или несколько баз данных;

систему управления базами данных (СУБД);

персонал, обеспечивающий работу банка данных.

База данных – это совокупность определенным образом организованных данных, хранящихся в запоминающих устройствах ЭВМ. Обычно данные хранятся на жестком диске сервера организации.

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

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

Под понятием разделяемости данных подразумевается возможность использования несколькими различными пользователями отдельных элементов, хранимых в базе данных. Имеется в виду, что каждый из пользователей сможет получить доступ к одним и тем же данным, возможно, даже одновременно (параллельный доступ). Такое разделение данных, с параллельным или последовательным доступом, частично является следствием того факта, что база данных имеет интегрированную структуру.



Одним из следствий упомянутых выше характеристик базы данных (интеграции и разделяемости) является то, что каждый конкретный пользователь обычно имеет дело лишь с небольшой частью всей базы данных, причем обрабатываемые различными пользователями части могут произвольным образом перекрываться. Иначе говоря, каждая база данных воспринимается ее различными пользователями по-разному. Фактически, даже те два пользователя базы данных, которые работают с одними и теми же частями базы данных, могут иметь значительно отличающиеся представления о них.

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

каждый элемент таблицы - один элемент данных

все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.)

каждый столбец имеет уникальное имя

одинаковые строки в таблице отсутствуют

порядок следования строк и столбцов может быть произвольным

Такая модель хранения данных обеспечивает удобство использования базы данных на ЭВМ. Учитывая, что таблицы базы данных могут быть связаны определенными отношениями, такая модель обеспечивает целостность данных и отсутствие избыточности хранения. Поэтому она и используется в большинстве современных баз данных.

Система управления базами данных (СУБД) - специализированная программа или комплекс программ, предназначенная для организации и ведения базы данных. Она обеспечивает хранение данных и взаимодействие пользователя с БД, позволяя пользователям производить поиск, сортировку и выборку информации в базе данных, а некоторым пользователям - добавлять, удалять и изменять записи в БД. В зависимости от того, с какой базой данных работает СУБД, она может быть:

иерархической

реляционной

объектно-реляционной

объектно-ориентированной

Мы будем рассматривать реляционные системы управления базами данных.

Персонал, обеспечивающий работу банка данных, это администратор банка данных, а также инженеры и техники, обеспечивающие работу аппаратного обеспечения банка данных.

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

СУБД Microsoft SQL server

Одной из самых распространенных СУБД, используемых в крупных организациях, является Microsoft SQL server, СУБД от компании Microsoft. Она использует реляционную модель данных. Microsoft SQL server является клиент-серверной СУБД, что делает ее хорошей для использования в крупных организациях, имеющих мощный сервер. Платформа данных MS SQL Server 2005 включает следующие инструменты для работы с базой данных:

Поддержка структурированных и неструктурированных (XML) данных.

Replication Services: репликация данных для распределённых и мобильных приложений обработки данных, высокая доступность систем, масштабируемый параллелизм со вторичными хранилищами данных для отчётных решений предприятия и интеграция с разнородными системами, включая существующие базы данных Oracle.

Notification Services: развитые возможности уведомлений для разработки и внедрения масштабируемых приложений, способных доставлять персонализированные, своевременные обновления информации множеству соединённых и мобильных устройств.

Integration Services: возможности извлечения, преобразования и загрузки для хранилищ данных и интеграции данных в масштабе предприятия.

Analysis Services: аналитическая обработка в реальном времени (OLAP) для быстрого, сложного анализа больших и смешанных наборов данных, использующая многомерное хранение.

Reporting Services: исчерпывающее решение для создания, управления и доставки как традиционных бумажных отчётов, так и интерактивных, основанных на технологии WWW отчётов.

Инструменты управления: SQL Server включает средства управления для развитого управления и настройки баз данных, также как и тесную интеграцию с такими инструментами, как Microsoft Operations Manager (MOM) и Microsoft Systems Management Server (SMS). Стандартные протоколы доступа к данным существенно уменьшают время, необходимое для интеграции данных SQL Server с существующими системами. В дополнение, поддержка Web служб встроена для обеспечения взаимодействия с другими приложениями и платформами.

Инструменты разработки: SQL Server предлагает интегрированные инструменты разработки для ядра базы данных, извлечения, трансформации и загрузки данных, извлечения информации, OLAP и отчётности, которые тесно интегрированы с Microsoft Visual Studio® для предоставления сквозных возможностей разработки приложений. Каждая главная подсистема SQL Server поставляется со своей собственной объектной моделью и набором API для расширения системы данных в любом направлении, которое уникально для вашего бизнеса.

Особенностью данной СУБД являются следующие средства:

SQL Server Management Studio. SQL Server упрощает управление путём предоставления единой интегрированной консоли управления для мониторинга и управления реляционной базой данных SQL Server, Integration Services, Analysis Services, Reporting Services, Notification Services и SQL Mobile на большом числе распределённых серверов и баз данных. Администраторы баз данных могут выполнять несколько задач одновременно, включая следующие: создание и выполнение запроса, просмотр серверных объектов, управление объектом, отслеживание активности системы и просмотр оперативной справки. SQL Server Management Studio содержит среду разработки для создания, редактирования и управления сценариев и хранимых процедур, используя Transact-SQL, многомерные выражения (MDX), XMLA и SQL Server Mobile Edition. Management Studio легко интегрируется с системой контроля версий. Management Studio также содержит инструменты для планирования задач Агента SQL Server и управления Планами Технического Обслуживания для автоматизации ежедневных задач обслуживания. Объединение задач управления и создания в одном инструменте в соединении со способностью управлять всеми типами серверов обеспечивает улучшенную производительность для администраторов баз данных.

Упреждающий мониторинг и настройка производительности SQL Server предоставляет более 70 новых мер внутренней производительности базы данных и использования ресурсов от памяти, блокировок и планирования до транзакций и операций сетевого и дискового ввода-вывода. Эти Динамические Представления Управления (Dynamic Management Views - DMV) обеспечивают большую прозрачность и видимость состояния базы данных и мощную инфраструктуру для упреждающего мониторинга жизнеспособности и производительности базы данных.

Объекты Управления SQL (SQL Management Objects) Объекты Управления SQL (SMO) являются новым набором объектов для программирования, которые предоставляет полную функциональность для управления базой данных SQL Server. Фактически, Management Studio построена на Объектах Управления SQL. SMO реализована в виде сборки Microsoft .NET Framework. SMO можно использовать для автоматизации распространённых задач администрирования SQL Server, таких как программное получение конфигурационных настроек, создание баз данных, выполнение сценариев Transact-SQL, создание заданий Агента SQL Server и планирование резервного копирования. Объектная модель SMO является более безопасной, надёжной и масштабируемой заменой Распределённым Объектам Управления (DMO), которые входят в состав предыдущих версий SQL Server.

Выделенное административное соединение SQL Server привносит выделенное административное соединение для доступа к серверу даже если он не отвечает или недоступен по иной причине. Это позволяет вам выполнять диагностические функции или операторы Transact-SQL для разрешения проблем на сервере. Административное соединение активируется членами фиксированной серверной роли sysadmin и доступно только через утилиту командной строки SQLCMD либо локально, либо с удалённой машины.

Поддержка Web служб В SQL Server можно разрабатывать Web службы XML в уровне базы данных, используя SQL Server в качестве слушателя HTTP. Это даёт новый способ доступа к данным приложениям, которые сосредоточены вокруг Web служб. В SQL Server 2005 можно использовать HTTP для прямого доступа к SQL Server, без применения слушателя промежуточного уровня, такого как Microsoft Internet Information Services (IIS). SQL Server предоставляет интерфейс Web службы для выполнения SQL выражений и вызова функций и процедур. Результаты запросов возвращаются в XML формате и здесь можно воспользоваться преимуществами инфраструктуры Web служб Visual Studio.

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

СУБД Oracle

Другой распространенной СУБД является система от компании Oracle. Данная СУБД также является клиент-серверной, следовательно она предназначена для компаний, имеющих информационную сеть с мощным сервером. Эта СУБД использует тоже реляционную модель данных, но содержит элементы объектно-ориентированной модели данных. На 2009 год самой новой является версия Oracle 11g Release 2. Рассмотрим особенности этой программы.

Масштабируемость приложений. Модуль Oracle Real Application Clusters, следующее поколение продукта Oracle Parallel Server, обеспечивает прозрачную масштабируемость приложений за счет быстрого и эффективного совместного использования кластерного кэша для согласованного доступа к данным. Oracle Real Application Clusters предоставляет следующие возможности:

Коробочные приложения, которые можно масштабировать практически линейно и совершенно прозрачно

Совместимость со всеми приложениями без необходимости их перестройки

Быстрое увеличение кластеров, возможность быстрого добавления узлов и дисков

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

Физическая резервная база данных Физическое резервирование базы данных осуществляется путем передачи журналов операций с основного сервера на резервный. Операции из этих журналов затем физически выполняются средствами восстановления (этот процесс называется «довыполнением»), чтобы согласовать содержимое резервного и основного серверов. Резервная база данных идентична основной по физической структуре и даже может быть использована при операциях чтения.

Логическая резервная база данных В Oracle Data Guard появился новый механизм резервирования базы данных – логическая резервная база данных (Logical Standby Database), отличающаяся от физической способом реализации. Материалом для обеих резервных баз данных служат журналы операций, но вместо прямого их применения логическая база данных экстраполирует из них операторы SQL и выполняет их на резервном сервере, как обычные SQL-команды. В итоге резервная база данных доступна для нормальных операций чтения и записи.

Передача журналов без потери данных Oracle Data Guard обладает способностью синхронно или асинхронно переписывать обновления журналов операций напрямую из основной базы данных в резервную. Это позволяет предложить всеобъемлющее решение аварийного восстановления без опоры на сторонние продукты для хранения оперативных копий журналов восстановления. Таким образом, в любой ситуации клиенты могут быть уверены, что их резервная база данных сохранит все операции, сделанные вплоть до момента сбоя.

Data Guard Broker Модуль Oracle выполняет функции контроля, управления и автоматизации, необходимые для поддержки логической и физической резервных баз данных. Например, он может восстановить основную базу данных в любую из резервных за одну операцию.

Восстановление после системных сбоев

Система Cache Fusion, обеспечивает быстрое восстановление после сбоя, что приводит к непрерывной доступности данных и приложений.

Real Application Clusters Кластерная архитектура обеспечивает более высокий уровень доступности, чем одноузловая конфигурация, поскольку устраняется единый источник сбоев – сервер. В кластерной конфигурации с двумя узлами при аварии системы на одном узле приложение продолжит работу на оставшемся.

Oracle Fail Safe – четырехузловая отказоустойчивая конфигурация для Windows Oracle Fail Safe обеспечивает необходимую для электронного бизнеса непрерывную доступность и защиту от системных сбоев в кластерной архитектуре на базе Windows NT и 2000. Oracle Fail Safe выполняет аварийное восстановление для базы данных и серверов приложений как в двухузловых, так и в четырехузловых кластерах Windows NT и 2000.

Быстрое восстановление через заданный интервал времени В Oracle применяется технология быстрого восстановления Fast-Start Time-Based Recovery, позволяющая администраторам баз данных задавать требуемый верхний предел для времени восстановления (в секундах). При перезагрузке после сбоя или аварии системы пользователи будут вновь подключены к их приложению не позднее этого времени.

Снимок состояния системы и возобновление работы Часто у администраторов баз данных возникает проблема выбора: разобраться в причине сбоя или быстрее восстановить работу системы. С помощью Flash Freeze администратор может сделать «снимок» состояния системы в момент сбоя, быстро перезапустить базу данных, а затем в автономном режиме проанализировать полученные данные.

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

Oracle Flashback Query Oracle Flashback Query позволяет пользователям и приложениям обращаться к состоянию данных на некоторый момент времени в прошлом. С помощью этого параметра "обратного хода" можно задать дату и время, а затем формировать обычные запросы к данным, которые будут выглядеть так, как они выглядели в указанное время. После обнаружения ошибок можно произвести относительно простые отменяющие действия, которые могут быть выполнены без вмешательства администратора базы данных. Еще более важно, что восстановление не вызывает задержки в работе приложения.

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

Возобновляемые операции Для выполнения некоторых длительных операций, таких, как загрузка данных или сложные изменения, может не хватить ресурсов (например, дискового пространства). Неудачное завершение длительных операций может потребовать много времени для их возобновления. Oracle решает эту проблему, позволяя администраторам баз данных откладывать операции, которые не могут завершиться в данный момент. Отложив операцию, администратор может устранить проблему с нехваткой ресурсов и затем возобновить выполнение отложенной операции с момента, где она была остановлена.

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

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

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

Выполнение всех операций с индексом без закрытия доступа

В Oracle, все индексы таблиц можно создавать и перестраивать оперативно, не прерывая доступа к ним. Без этого пользователи не могут выполнять свои приложения во время таких операций.

Динамические параметры базы данных Параметры базы данных в Oracle, задающие объем используемой сервером базы данных памяти, можно менять оперативно, не прерывая доступ. Раньше для изменения таких параметров приходилось переводить базу данных в автономный режим и перезапускать ее, чтобы изменения вступили в силу

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

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

Microsoft SQL Server - система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов - Transact-SQL, создан совместно Microsoft и Sybase . Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с небольшими и средними по размеру базами данных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

SQL является общепринятым интерфейсом к базам данных. «Все промышленные базы - Oracle , Microsoft SQL Server , PostgreSQL , MySQL - работают на SQL.

История

Исходный код MS SQL Server (до версии 7.0) основывался на коде Sybase SQL Server, и это позволило Microsoft выйти на рынок баз данных для предприятий, где конкурировали Oracle, IBM, и, позже, сама Sybase. Microsoft, Sybase и Ashton-Tate первоначально объединились для создания и выпуска на рынок первой версии программы, получившей название SQL Server 1.0 для OS/2 (около 1989 года), которая фактически была эквивалентом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft SQL Server 4.2 был выпущен в 1992 году и входил в состав операционной системы Microsoft OS/2 версии 1.3. Официальный релиз Microsoft SQL Server версии 4.21 для ОС Windows NT состоялся одновременно с релизом самой Windows NT (версии 3.1). Microsoft SQL Server 6.0 был первой версией SQL Server, созданной исключительно для архитектуры NT и без участия в процессе разработки Sybase.

К тому времени, как вышла на рынок ОС Windows NT, Sybase и Microsoft разошлись и следовали собственным моделям программного продукта и маркетинговым схемам. Microsoft добивалась исключительных прав на все версии SQL Server для Windows. Позже Sybase изменила название своего продукта на Adaptive Server Enterprise во избежание путаницы с Microsoft SQL Server. До 1994 года Microsoft получила от Sybase три уведомления об авторских правах как намёк на происхождение Microsoft SQL Server.

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

Версия SQL Server 2005 - была представлена в ноябре 2005 года. Запуск версии происходил параллельно запуску Visual Studio 2005. Существует также «урезанная» версия Microsoft SQL Server - Microsoft SQL Server Express; она доступна для скачивания и может бесплатно распространяться вместе с использующим её программным обеспечением.

С момента выпуска предыдущей версии SQL Server (SQL Server 2000) было осуществлено развитие интегрированной среды разработки и ряда дополнительных подсистем, входящих в состав SQL Server 2005. Изменения коснулись реализации технологии ETL (извлечение, преобразование и загрузка данных), входящей в состав компонента SQL Server Integration Services (SSIS), сервера оповещения, средств аналитической обработки многомерных моделей данных (OLAP) и сбора релевантной информации (обе службы входят в состав Microsoft Analysis Services), а также нескольких служб сообщений, а именно Service Broker и Notification Services. Помимо этого, были произведены улучшения в производительности.

Функциональность

Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.

Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) - интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.

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

SQL Server поддерживает избыточное дублирование данных по трем сценариям:

  • Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.
  • История изменений: Все изменения базы данных непрерывно передаются пользователям.
  • Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.

В SQL Server 2005 встроена поддержка.NET Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы.NET, используя полный набор библиотек, доступных для.NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.

База данных играет важную роль для каждого современного веб-приложения. Благодаря динамической природе веб-приложений сейчас, даже простейшие приложения требуют некоторых механизмов хранения, доступа и изменения данных (вот почему в Hostinger мы предлагаем для наших клиентов с премиум и бизнес аккаунтами). Естественно, поскольку важность баз данных стремительно растёт, реляционные системы управления базами данных или реляционные СУБД набирают свою популярность (Relational Database Management Systems – RDBMS)

Что такое SQL сервер?

SQL сервер также известен, как Microsoft SQL Сервер, появился значительно раньше, чем MySQL. Microsoft разработал SQL сервер в 80х, с обещанием разработать надёжную и расширяемую реляционную СУБД. Они остаются ядром качества SQL сервера по прошествии всех этих лет, и предоставляют незаменимое решение для крупномасштабного корпоративного программного обеспечения.

SQL сервер больше подходит для разработчиков, использующих.NET в качестве языка разработки, как конкурирующей связке PHP для MySQL. Это весьма логично, так как обе платформы принадлежать Microsoft.

Ключевые различия между MySQL и SQL сервером

Теперь, после краткого знакомства с системами, давайте посмотрим на несколько ключевых различий между MySQL и SQL сервером:

  • Среда
    Как упоминалось ранее, SQL сервер лучше работает с.NET, в то время как MySQL может был использован с практически любыми другими языками, наиболее распространённая связка с PHP. Не лишним будет также сказать, что SQL сервер может быть запущен только лиш под ОС Windows, но за последние годы это условие изменилось, когда Microsoft анонсировала поддержку Linux для SQL сервера . Версия для Linux всё ещё зреет и имеет незавершённых вид, что значит мы рекомендуем вам использовать ОС Windows при работе с SQL сервером и переключатся на Linux, если работаете с СУБД MySQL.
  • Синтаксис
    Для большинства людей это наиболее важное различие в этих двух системах. Знакомство с одним набором правил синтаксиса может значительно повлиять на ваше решение относительно того, какая система подходит вам больше. Хотя MySQL и SQL сервер базируются на SQL, различия синтаксиса всё же ощутимы и заслуживают внимания. Например, давайте посмотрим на этот фрагмент:

SELECT age FROM person ORDER BY age ASC LIMIT 1 OFFSET 2

Microsoft SQL Server

SELECT TOP 3 WITH TIES * FROM person ORDER BY age ASC

Обе цепочки кода достигают одного и того же результата – возвращают 3 записи со значением самого молодого возраста из таблицы имён людей. Но синтаксис сильно отличается. Конечно, синтаксис – это субъективный параметр оценки, поэтому мы не может тут давать рекомендацию; выбирайте то, что кажется вам более интуитивно понятным. Полный список описательных различий между MySQL и SQL сервером можно найти (англ.).

  • SQL сервер больше, чем реляционная СУБД
    Главное преимущество платного ПО в сравнении с бесплатным – это особая поддержка, которую вы получаете. В данном случае, преимущество ещё более значимое, так как SQL сервер поддерживается одной из самых больших компаний в мире. Microsoft создало дополнительный инструменты для SQL сервера, которые привязываются к реляционной СУБД, включая инструменты для анализа данных. Система также имеет сервер отчётов – Служба отчётов SQL Сервера, равно как и инструмент ETL. Это делает SQL сервер швейцарским армейский ножом среди реляционных СУБД. Вы можете получить подобные функции и в MySQL, но вам придётся искать в интернете сторонние решения – что многим не подойдёт.
  • Система хранения данных
    Другим большим различием между MySQL и SQL сервером, которое иногда упускают, это система хранения данных. SQL сервер использует единую систему, разработанную Microsoft, в сравнении с множеством движков, предлагаемых MySQL. Это даёт разработчикам, использующим MySQL больше гибкости, поскольку они могут выбирать разные системы для разных таблиц, основываясь на скорости, надёжности или каких-то других параметрах. Популярный движок MySQL – это InnoDB, который немного теряет в скорости, но обеспечивает усиленную надёжность. Другой известный – MyISAM.
  • Отмена запроса
    Немногие это знают, но кардинальным различием между MySQL и SQL сервером является то, что MySQL не позволяет вам отменить запрос в середине его выполнения. Это значит, что, как только команда запущена на выполнение, вам лучше надеяться, что любой ущерб, который она может сделать, является обратимым. SQL сервер, с другой стороны, позволяет вам отменить запрос на пол пути его выполнения. Это различие может быть несущественным для администраторов, так как они обычно выполняют скрипты команд, и это редко требует отмены во время их выполнения, чего не всегда скажешь о разработчиках.
  • Безопасность
    Очевидно не требуется тщательного рассмотрения вопроса, когда идёт речь о сравнении различий в безопасности в MySQL с SQL сервера. Обе системы совместимы с EC2, что означает вы в безопасности, выбирая любую из двух. Нужно отметить, что величие Microsoft сказалось и здесь наличием в SQL сервере собственной, ультрасовременной системы безопасности. Выделенный инструмент безопасности – анализатор Microsoft Baseline Security Analyzer (MBSA) – гарантирует надёжную защиту для SQL сервера. Поэтому, если безопасность имеет ключевое значение для вас, выбор очевиден.
  • Стоимость
    Здесь SQL сервер становится гораздо менее привлекательным, и MySQL зарабатывает большие очки. Microsoft требует, чтобы вы покупали лицензии для запуска нескольких баз данных на SQL сервер, есть бесплатная версия, но она предназначена только для ознакомления с реляционной СУБД. Напротив, MySQL использует лицензию GNU, что делает её полностью свободной. Однако, если вам нужна поддержка или помощь для MySQL, вам нужно будет заплатить за нее.
  • Поддержка сообщества
    Что переносит нас к следующей точке. За поддержка MySQL вам вряд ли придётся платить, за исключением, быть может, редких случаев, благодаря вкладу большого сообщества в его поддержку. Преимущество огромного сообщества в том, что большинству людей не нужно обращаться за специальной помощью – можно просто искать в Интернете и находить массу решений.
  • IDE
    Важно отметить, что обе реляционные СУБД поддерживаются различными интегрированными средами разработки (IDE). Эти инструменты предлагают слаженную среду для разработки, и вы можете тщательно выбрать именно то, что лучше всего подходит для ваших потребностей. MySQL может похвастаться Oracle Enterprise Manager, в то время как SQL сервер использует Management Studio (SSMS). Оба имеют свои плюсы и минусы и могут сбить с толку, если у вас нет чётких критериев для обоснования своего решения.

Заключение

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

В этом руководстве мы обсудили две наиболее распространенные реляционные СУБД – MySQL и Microsoft SQL сервер. Мы рассмотрели несколько ключевых различий между MySQL и SQL сервером, даже одного из которых может быть достаточно, чтобы сделать выбор.

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



Загрузка...