Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры к госам бд.docx
Скачиваний:
33
Добавлен:
05.06.2015
Размер:
123.07 Кб
Скачать

Особенности текущих реализаций

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

Наиболее близкими к SystemR являлись две системы фирмы IBM - SQL/DS и DB2. Как кажется (документальных подтверждений этому автор не имеет), обе эти системы прямо использовали реализацию SystemR. Отсюда предельная близость реализованных диалектов SQL к SQLSystemR. Из SQLSystemR были удалены только те части, которые были недостаточно проработаны (например, точки сохранения) или реализация которых вызывала слишком большие технические трудности (например, ограничения целостности и триггеры). Можно назвать этот путь к коммерческой реализации SQL движением сверху вниз. Другой подход применялся в таких системах, как Oracle и Informix. Несмотря на различие в способе разработки этих систем, реализация SQL происходила "снизу вверх". В первых выпущенных на рынок реализациях SQL в этих системах использовалось минимальное и очень ограниченное подмножество SQLSystemR. В частности, в первой известной автору реализации SQL в СУБД Oracle в операторах выборки не допускалось использование вложенных подзапросов.

В текущих версиях Oracle и Informix поддерживаются достаточно мощные диалекты SQL, хотя реализация иногда вызывает сомнения.

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

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

Архитектура

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

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

Сетевой доступ

Как уже упоминалось, SQL Server поддерживает весьма широкий набор сетевых протоколов. Для каждого из них поддерживается режим прямого доступа с использованием "стандартных" для каждого протокола средств (например, Sockets для TCP/IP или IPS/SPX; Named Pipes для NetBios), что дает возможность обращаться к серверу не только из среды Windows и OS/2, но и с платформ Mac и Unix. Набор компонентов, обеспечивающих доступ к серверу с клиента, называют также сетевой библиотекой (network library).

Основные компоненты

Как принято для серверных приложений Windows NT, ядро SQL Server реализовано в виде набора сервисов, для управления которыми используются административные утилиты.

Компоненты, образующие ядро SQL Server:

  • собственно сервер, который может быть запущен как сервис MSSQLServer или как приложение с командной строки (Sqlservr.exe), в обоих случаях можно указать параметры запуска (через registry или в командной строке);

  • компонент SQL Executive - сервис SQLExecutive, обеспечивающий выполнение на основе расписания таких операций, как репликация данных, запуск заданий; кроме того на него возлагается контроль за наступлением событий и оповещение администраторов и/или операторов;

  • компонент Distributed Transaction Coordinator - сервис MSDTC,

  • отвечающий за выполнение распределенных транзакций;

  • компонент SQL Mail, обеспечивающий интеграцию SQL Server в почтовую систему организации и позволяющий отправлять запросы и получать результаты их выполнения по почте. Для SQL Mail отдельный сервис отсутствует, так как старт почтового клиента осуществляет SQL Executive;