Последняя версия sql server. Введение в MS SQL Server и T-SQL. Физическая независимость данных

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

  1. максимальное число пользователей одновременно обращающихся к базе;
  2. характеристики клиентского ПО;
  3. аппаратные компоненты сервера;
  4. серверную операционную систему;
  5. уровень квалификации персонала.

На сегодня известно большое число различных серверов баз данных SQL. Остановимся более подробнее на следующих четырех ведущих серверных СУБД - Oracle8i, IBM DB2, Microsoft SQL Server и Informix - и сравним их в работе на каждом из основных этапов функционирования:

  1. конфигурирование системы,
  2. мониторинг,
  3. настройка,
  4. обработка запросов,
  5. разработка серверных и клиентских модулей.

Данный анализ проведем с учетом того, что число клиентских мест составляет от 50 до 500, а управление СУБД должно быть максимально эффективно. Исследования проводились на серверной платформе на базе Pentium II с 128 Мбайт ОЗУ, укомплектованном 13-Гбайт диском с интерфейсом EIDE в конфигурации RAID уровня 0 (конечно лучше было бы использовать HDD с интерфейсом SCSI). Управление системами было возложено на ОС Windows NT Server 4.0. и Linux.

Oracle8i.

Пакет Oracle8i, наделенный самым развитым набором функций для работы с языком Java и доступа к данным через Интернет, системой оптимизации одновременного доступа. Единственным недостатком данной СУБД является сложность администрирования, однако все затраты на ее внедрение и освоение в последствии окупятся эффективной и надежной работой. В нашей стране на протяжении уже многих лет целым рядом специалистов культивируется негативное отношение к СУБД Oracle, как к дорогой и сложной СУБД. Оба эти тезиса являются спорными. Во-первых, уровень сложности понятие относительное. При использовании СУБД Oracle на платформе NT, она потребует практически тех же усилий, что и при использовании MS SQL. В случае же работы на UNIX-платформе, можно с уверенностью отметить, что для профессиональных юниксоидов среда Oracle является простой, понятной и доступной. Что касается дороговизны, то и тут наметились положительные сдвиги. Кроме того, что компания Oracle предлагает ряд различных масштабируемых решений в зависимости от числа обслуживаемых клиентов, она также следуя общемировым тенденциям разработала версию своей популярнейшей СУБД под LINUX и выложила ее на своем WEB сервере (www.oracle.com) для свободного использования. Среди основных свойств СУБД Oracle следует отметить такие, как:

  1. Высочайшая надежность.
  2. Возможность разбиения крупных баз данных на разделы (large-database partition), что дает возможность эффективно управлять гигантскими гигабайтными базами;
  3. Наличие универсальных средств защиты информации;
  4. Эффективные методы максимального повышения скорости обработки запросов;
  5. Индексация по битовому отображению;
  6. Свободные таблицы (в других СУБД все таблицы заполняются сразу при создании);
  7. Распараллеливание операций в запросе.
  8. Наличие широкого спектра средств разработки, мониторинга и администрирования.
  9. Ориентация на интернет технологии.

Решения, не уступающие разработкам Oracle можно найти только в DB2 фирмы IBM. Ориентация на интернет технологии - основной девиз современных продуктов Oracle. В этой связи можно отметить пакеты interMedia, обеспечивающее обработку данных в мультимедийных форматах, и Jserver, встроенное средство для работы с языком Java, которое объединяет возможности языка Java с возможностями реляционных баз данных (возможность составлять на языке Java не только внутренние программы для баз данных (хранимые процедуры и триггеры), но и разрабатывать компоненты Enterprise JavaBeans и даже запустить их на сервере). Компоненты Enterprise JavaBeans представляют собой базовые модули из которых складываются Интернет-приложения на языке Java.

Фирма Oracle придерживается принципа, что всеми важными функциями необходимо управлять из единого центра, поэтому предлагаемый модуль interMedia предоставляет в распоряжение пользователей самые передовые возможности для работы с мультимедийными объектами:

  1. Очень развитые средства для обработки аудио клипов;
  2. Неподвижных изображений;
  3. Видеофрагментов;
  4. Географических данных (с целым набором функций связанных с определением местонахождения входящих в состав модуля Locator).

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

Также необходимо отметить, что разработанная фирмой Oracle система оптимизации одновременного доступа (multiversioning concurrency) является одной из важнейших характеристик архитектуры Oracle (подобная функция есть лишь в СУБД InterBase компании InterBase компании Inprise). Данная функция позволяет исключить ситуацию, когда одному пользователю приходится ждать, пока другой завершит изменения в содержимое баз данных (т.е. в Oracle отсутствуют блокировки на чтение). Эта функция позволяет СУБД Oracle8i выполнять за секунду больше транзакций в расчете на одного пользователя, чем любая другая база данных. По уровню производительности при работе в WEB среде под LINUX Oracle занимает почетное второе место после СУБД MySQL, при этом значительно превосходя все другие СУБД по надежности и безопасности.

СУБД Microsoft SQL Server

Важнейшие характеристики данной СУБД - это:

  1. простота администрирования,
  2. возможность подключения к Web,
  3. быстродействие и функциональные возможности механизма сервера СУБД,
  4. наличие средств удаленного доступа,

В комплект средств административного управления данной СУБД входит целый набор специальных мастеров и средств автоматической настройки параметров конфигурации. Также данная БД оснащена замечательными средствами тиражирования, позволяющими синхронизировать данные ПК с информацией БД и наоборот. Входящий в комплект поставки сервер OLAP дает возможность сохранять и анализировать все имеющиеся у пользователя данные. В принципе данная СУБД представляет собой современную полнофункциональную база данных, которая идеально подходит для малых и средних организаций. Необходимо заметить, что SQL Server уступает другим рассматриваемым СУБД по двум важным показателям: программируемость и средства работы. При разработке клиентских БД приложений на основе языков Java, HTML часто возникает проблема недостаточности программных средств SQL Server и пользоваться этой СУБД будет труднее, чем системами DB2, Informix, Oracle или Sybase. Общемировой тенденцией в XXI веке стал практически повсеместный переход на платформу LINUX, а SQL Server функционирует только в среде Windows. Поэтому использование SQL Server целесообразно, по нашему мнению, только если для доступа к содержимому БД используется исключительно стандарт ODBC, в противном случае лучше использовать другие СУБД.

СУБД IBM DB2 - результат почти 30-х опытно-конструкторских и исследовательских работ фирмы IBM. Последнюю на сегодня версию данной СУБД (6.х) отличает один из наиболее продуманных наборов средств управления и оптимизации и механизм БД, допускающий наращивание от портативного ПК с Windows 95 до целого кластера больших ЭВМ S/390, работающих под управлением OS/390.

Пакет DB2 выпускается в двух редакциях: DB2 Workgroup и DB2 Enterprise Edition. В данной СУБД реализованы все известные по предшествующим версиям DB2 новаторские технологии механизма БД, такие, как распараллеливание обработки запроса, полный набор средств тиражирования, сводные таблицы запросов для повышения производительности БД, возможности объектно-ориентированного конструирования баз данных и средства языка Java. К этому надо добавить, что система DB2 оснащена полым набором мультимедиа-расширений, позволяющих сохранять текст, звук и видео- фрагменты, изображения и географические данные и манипулировать ими. Можно говорить, что по возможностям масштабирования разработанная специалистами IBM технология кластеризации баз данных не имеет аналогов. Эти расширения существенно облегчают процесс разработки приложений для Web, а так же программ, содержащих фотоизображения и объемные текстовые отчеты. Система DB2 вполне конкурентоспособна и в качестве платформы для разработки приложжений т.к существует средство Stored Procedure Builder - автоматически преобразовывающее оператор SQL в соответствующий класс Java и включающее его в структуру базы данных. В версии DB2 6.1 значительно улучшена функциональная совместимость с другими СУБД: пакет позволяет использовать разработанную Microsoft спецификацию OLE DB, новый стандарт доступа к базам данных. Средства административного управления СУБД DB2, которые в новой версии переписаны на Java и могут быть получены из Web, заслуживают самой высокой оценки.

Основными недостатками данной СУБД является относительная сложность администрирования и отсутствие (пока) реализаций под популярные серверные ОС, например LINUX.

В данной СУБД благодаря Index Smart-Guide возможно осуществлять настройку, формируя оптимальные индексы для заданного числа обращений, характеризующего типичную нагрузку на БД. DB2- единственный пакет позволяющий генерировать сводные таблицы, что значительно эффективность работы СУБД в качестве хранилищ данных. Сводная таблица - это временная рабочая область, используемая базой данных для хранения ответов на часто поступающие запросы. Ну что ж, можно сказать, что оснащенная новыми функциональными возможностями, а также средствами распараллеливания и возможностями выбора практически любого типа соединения и индексов (кроме разве что растровых индексов), модель DB2 6.1 превращается в самую недорогую из высокопроизводительных систем. Средства административного управления этой СУБД вполне соответствуют уровню решаемых задач, кроме того, она предоставляет исключительно широкие возможности для работы с мультимедиа-данными и для программирования (чего явно недостает системе Microsoft SQL Server).

СУБД от Informix.

В последнее время наметился переход от реляционных СУБД к объектно-ориентированным (что явно прослеживается на примере Oracle). Informix также следуя данной концепции анонсировала новое решение СУБД Centaur базирующуюся на реляционной БД Informix Dynamic Server 7.3 и объектно-реляционной БД Informix Universal Data Option и сочетающую в себе высокое быстродействие Dynamic Server при работе с данными с универсальностью и мультимедиа функциями Universal Data Option. Данная реализация предназначена для разработки интернет систем. Предположительно данная СУБД будет обладать гибкой средой разработки, обладающей наращиваемостью, соответствующей характерным для Интернета интенсивным нагрузкам, и средствами работы с новыми типами данных, которые с развитием Web стали использоваться повсеместно. Реализованные в новой системе средства Java позволят разработчикам создавать на этом языке хранимые процедуры, пользовательские программы и компоненты DataBlades, которые в Informix называют заказными расширениями базы данных.

С точки зрения клиентов Inforix, это станет большим шагом вперед, поскольку до настоящего времени при работе с DataBlades они могли пользоваться только языком Си и SPL, внутренним языком фирмы Informix для написания хранимых процедур. Кроме того, пакет Centaur будет оснащен встроенными средствами обработки объектов ActiveX. Это даст возможность, к примеру, создавать хранимые процедуры БД на языке Visual Basic; правда, для этого нужно, чтобы пакет Centaur выполнялся в среде Windows NT.

Centaur будет представлять собой надстройку Informix Dynamic Server и работать с традиционным для этого пакета форматом БД, так что в распоряжении пользователей останутся все прежние функции, а модернизация системы до уровня новой версии не будет сопряжена с большими сложностями. Кроме того, в пакете Centaur будут сохранены все возможности конструирования и программирования, благодаря которым система Informix Universal Server признана выдающимся техническим достижением. Новая система будет оснащена средствами объектно-ориентированного конструирования баз данных, создания специализированных таблиц и программ индексирования; в ее состав войдет позволит пользователям встраивать в запросы собственные функции и не полагаться исключительно на стандартные средства SQL.

Выводы.

Рассмотрев основные характеристики архитектур построения АИС, серверных операционных систем и СУБД в дальнейшем в качестве архитектуры АИС мы выберем архитектуру интернет/интранет, в качестве серверной ОС Linux, в качестве СУБД Oracle 8i. В сводной таблице представлены сравнительные характеристики двух наиболее распространенных на сегодня решений на базе Microsoft SQL Server 7.0 (на NT) и Oracle8i (на Unix, Linux).

Microsoft SQL Server 7.0

Административное управление
Графические инструменты
Простота обслуживания
Механизм данных
Работа с несколькими ЦП

Приемлемо

Функция соединения и выбор индексов
Одновременный доступ нескольких пользователей
Обработка мультимедиа-даных
Подключение к Web
Обработка аудио, видео, изображений
Поиск по сему тексту
Функциональная совместимость

Приемлемо

Сопряжение с другими БД
Единая регистрация
Работа под управлением различных ОС

Приемлемо

Возможности программирования

Приемлемо

Хранимые процедуры и триггеры
Внутренний язык программирования
Построение баз данных
Язык SQL
Объектно-ориентированные системы
Работа с филиалами
Тиражирование
Распределенная обработка транзакций
Дистанционное администрирование
Организация хранилищ данных и подготовка отчетов
Средства загрузки
Средства анализа

Клиентские места при этом могут функционировать практически на любой платформе, средством доступа клиентов к СУБД является либо CGI (Perl) либо JAVA приложения. При этом к серверной части АИС предъявляются следующие требования:

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

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

Выполняемая операция Традиционные базы данных Реляционные базы данных
Разработка приложений Необходимо определить, какая информация требуется различным приложениям и создать ряд общих файлов. Необходимо определить виды хранимых данных и взаимосвязи между ними
Реализация приложений Поступающие данные записываются в основные файлы; в каждую информационную ячейку каждого основного файла записывается один элемент данных. Различные виды данных записываются в таблицы данных, соответствующие этим видам. В результате каждый элемент информации хранится в одном единственном месте
Модификация приложений Требуется пересмотр структуры базы данных с последующей перезаписью основных файлов, которые затронуты вносимыми изменениями, и с переработкой всех приложений, использующих эти файлы Достаточно найти и модифицировать таблицу, в которой должно содержаться определение нового вида данных Сами данные хранятся в других таблицах, не затрагиваемых при подобных изменениях.
Внесение частичных изменений в данные Необходимо прочитать каждый основной файл с начала до конца, модифицируя изменяемые ячейки данных и оставляя все остальные прочитанные ячейки без изменений. В соответствующих таблицах достаточно выделить множество строк, в которые необходимо внести изменения, и произвести эти изменения с помощью одного SQL- оператора.

Итак, основные черты реляционных баз данных:

  1. Структура реляционной базы данных определяется хранящимися в них данными и не фиксируется в момент завершения разработки (т.е. является гибкой и масштабируемой).
  2. Структурам данных можно давать весьма информативные названия.
  3. Данные хранятся в единственном экземпляре; все опции чтения и модификации данных производятся только с этим экземпляром данных, что качественно облегчает синхронизацию данных между многими приложениями и пользователями.
  4. Данные хранятся в соответствии с четко определенными и строго соблюдаемыми правилами.

Одной из самых распространенных СУБД, используемых в крупных организациях, является 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 ориентируется на снижение стоимости СУБД, что приводит к уменьшению эффективности средств обеспечения надежности и безопасности. Это является важным фактором при выборе СУБД для организации.

Microsoft SQL Server 2008 .

10.1 Общая структура СУБД

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

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

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

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

Физический уровень (внутреннее представление данных в памяти ЭВМ - физическая структура базы данных) . Данный уровень рассмотрения подразумевает изучение базы данных на уровне файлов, хранящихся на жестком диске. Структура этих файлов – особенность каждой конкретной СУБД , в т.ч. и Microsoft SQL Server .


Рис. 10.1.

10.2. Архитектура базы данных. Логический уровень

Рассмотрим логический уровень представления базы данных (http://msdn.microsoft.com). Microsoft SQL Server 2008 представляет собой реляционную СУБД (данные представляются в виде таблиц). Таким образом, основной структурой модели данных этой СУБД являются таблицы.

Таблицы и типы данных

Таблицы содержат данные о всех сущностях концептуальной модели базы данных. При описании каждого столбца (поля) пользователь должен определить тип соответствующих данных. Microsoft SQL Server 2008 поддерживает как уже ставшие традиционными типы данных (символьная строка с разным представлением, число с плавающей точкой длиной 8 или 4 байта, целое число длины 2 или 4 байта, дата и время, поле примечаний, булево значение и т. д.), так и новые типы данных. Кроме этого Microsoft SQL Server 2008 предоставляет специальный аппарат для создания пользовательских типов данных .

Рассмотрим краткую характеристику некоторых новых типов данных, значительно расширяющих возможности пользователя (http://www.oszone.net).

Тип данных hierarchyid

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

Пространственные типы данных

Пространственные данные – это данные, определяющие географические расположения и формы, преимущественно на Земле. Это могут быть ориентиры, дороги и даже расположение фирмы. В SQL Server 2008 есть географические (geography) и геометрические ( geometry ) типы данных для работы с этой информацией. Тип данных geography работает с информацией для шарообразной земли. Модель шарообразной земли использует при расчетах кривизну земной поверхности. Информация о положении задается широтой и долготой. Эта модель хорошо годится для приложений, связанных с морскими перевозками, военным планированием и краткосрочными приложениями, имеющими привязку к земной поверхности. Эту модель нужно использовать, если данные хранятся в виде широт и долгот.

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

Типы geography и geometry создаются из векторных объектов, заданных в форматах Well-Known Text (WKT) или Well-Known Binary (WKB). Это форматы для перенесения пространственных данных, описанные в простых функциях открытого геопространственного консорциума (Open Geospatial Consortium ( OGC ) Simple Features) для спецификаций SQL (SQL Specification).

Ключи

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

Кроме таблиц, в модель данных Microsoft SQL Server 2008 входит еще целый ряд компонентов. Дадим краткую характеристику основным из них.

Индексы

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

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

Представление - это виртуальная таблица, содержимое которой определяется запросом . Представление формируется на основе SQL-запроса SELECT, формируемого по обычным правилам. Таким образом, представление есть поименованный запрос SELECT.

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

Сборки

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

Ограничения

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

Правила

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

Значения по умолчанию

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

Первая версия Microsoft Servers SQL была представлена компанией в далеком 1988 году. СУБД сразу позиционировалась как реляционная имеющая, по заявлению производителя, три достоинства:

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

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

Интеграция с Интернетом позволила использовать SQL Servers 2005 как основу для создания систем электронной коммерции с простым и защищенным доступом к данным через популярные браузеры с использованием встроенного Firewall Версия Enterprise поддерживала параллельные вычисления на неограниченном количестве процессоров.

На смену версии 2005 пришел Microsoft SQL Server 2008, который до сих пор является одним из самых популярных серверов баз данных, а немного позже появилась и следующая версия - SQL Servers 2012 года, с поддержкой совместимости с.NET Framework и другими передовыми технологиями обработки информации и среды разработки Visual Studio. Для доступа к был создан специальный модуль SQL Azure.

Transact-SQL

С 1992 года SQL является стандартом доступа к базам данных. Практически все языки программирования для доступа к БД используют именно его, даже если пользователю кажется, что он работает с информацией напрямую. Базовый синтаксис языка остается неизменным для обеспечения совместимости, но каждый производитель систем управления базами данных старался пополнить SQL дополнительными функциями. Компромисса найти не удалось, и после «войны стандартов» остались два лидера: PL/SQL компании Oracle и Transact-SQL в Microsoft Servers SQL.

T-SQL процедурно расширяет SQL для доступа к Microsoft Servers SQL. Но это не исключает разработку приложений на «стандартных» операторах.

Автоматизируйте бизнес с помощью SQL Server 2008 R2

Надежная работа бизнес-приложений чрезвычайно важна для современного бизнеса. Малейший простой базы данных может привести к огромным убыткам. Сервер баз данных Microsoft SQL Server 2008 R2 позволяет надежно и безопасно хранить информацию практически неограниченного объема, используя знакомые всем администраторам средства управления. Поддерживается вертикальное масштабирование до 256 процессоров.

Технология Hyper-V максимально эффективно использует мощность современных многоядерных систем. Поддержка на одном процессоре множества виртуальных систем снижает издержки и улучшает масштабируемость.

Анализируйте данные

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

Бесперебойная работа и безопасность данных

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

Неограниченный размер базы данных

Хранилище данных можно масштабировать быстро и безопасно. Пользователи могут использовать готовые шаблоны Fast Track Date Warehouse для поддержки дисковых массивов до 48 Тб. Базовая конфигурация поддерживает оборудование ведущих фирм, таких как HP, EMC и IBM. Функции сжатия информации по стандарту UCS 2 позволяют более экономно расходовать дисковое пространство.

Повышение эффективности работы разработчиков и администраторов

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

Инструменты для персонального бизнес-анализа

В компаниях никогда не было единого мнения относительно того, кто должен заниматься аналитикой - IT-отделы или непосредственно пользователи. Система создания персональных отчетов решает эту проблему посредством современных инструментов безопасного и эффективного построения, анализа и моделирования бизнес-процессов. Поддерживается прямой доступ к базам данных в Microsoft Office и SharePoint Server. Корпоративная информация может интегрироваться с материалами других типов, таких как карты, графика и видео.

Удобная среда для совместной работы

Предоставьте своим сотрудникам доступ к информации, совместной разработке и анализу данных при помощи приложения PowerPivot для электронной таблицы Excel. Программа позволяет производить анализ информации и моделирование бизнес-процессов и публиковать отчеты для общего доступа в Интернете или системе SharePoint.

Для наглядного создания внутренних отчетов предлагается система Report Builder 3.0, поддерживающая множество форматов и широкий набор предустановленных шаблонов.

Работайте с базами данных бесплатно

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

Поддерживаются среды разработки Visual Studio и Web Developer. Создавайте сложные таблицы и запросы, разрабатывайте интернет-приложения с поддержкой баз данных, получайте прямой доступ к информации из PHP.

Пользуйтесь всеми возможностями Transact-SQL и самыми передовыми технологиями доступа к данным ADO.NET и LINQ. Поддерживаются хранимые процедуры, триггеры и функции.

Сконцентрируйтесь на элементах бизнес-логики, а оптимизацию структуры базы данных система сделает самостоятельно.

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

Разрабатываемые приложения могут работать при отсутствии подключения к серверу БД. Синхронизация производится автоматически с использованием фирменной технологии транзакционной репликации Sync Framework.

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

SQL Server 2008 R2 Express Edition идеально подходит для быстрого развертывания сайтов и интернет-магазинов, программ для персонального использования, малого бизнеса. Это отличный вариант для начала работы и обучения.

Управляйте базами данных, используя SQL Server Management Studio

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

Система объединяет в одном интерфейсе все возможности программ администрирования из ранних версий, таких как Query Analyzer и Enterprise Manager. Администраторы получают софт с большим набором графических объектов разработки и управления, а также расширенный язык создания сценариев работы с БД.

Редактор кода Microsoft Server Management Studio заслуживает отдельного внимания. Он позволяет разрабатывать скриптовые сценарии на Transact-SQL, программировать многомерные запросы доступа к данным и проводить их анализ с поддержкой сохранения результатов в XML. Создание запросов и сценариев возможно без подключения к сети или серверу, с последующим выполнением и синхронизацией. Имеется широкий выбор предустановленных шаблонов и система управления версиями.

Модуль «Обозреватель объектов» позволяет просматривать и управлять любыми встроенными объектами Microsoft Servers SQL на всех серверах и экземплярах баз данных. Легкий доступ к нужной информации чрезвычайно важен для быстрой разработки приложений и контроля версий.

Система построена на базе системы Visual Studio Isolated Shell, которая поддерживает расширяемые настройки и расширения сторонних разработчиков. В сети Интернет имеется множество сообществ, на которых можно найти всю необходимую информацию и примеры кода для разработки собственных инструментов управления и обработки данных.

По данным исследовательской компании Forrester Research, сервер баз данных Microsoft SQL Server 2012 вошел в тройку лидеров рынка корпоративных информационных хранилищ по итогам 2013 года. Эксперты отмечают, что быстрый рост доли рынка Microsoft обусловлен комплексным подходом корпорации к автоматизации бизнес-процессов. Microsoft SQL Server является современной платформой для управления и хранения данных любых типов, дополненной инструментами аналитики и разработки. Отдельно стоит отметить простоту интеграции с другими продуктами компании, такими как Office и SharePoint.

В 70-х гг. прошлого столетия фирма IBM разработала язык программирования, предназначенный для создания запросов (вопросов к базе данных). Он назывался SEQUEL (Structured English Query Language - английский структурированный язык создания запросов). В течение времени в SEQUEL добавлялись новые возможности. Вскоре он перестал быть языком создания только запросов. С его помощью стали создавать целые базы данных и управлять защитой ядра базы данных. Популярность нового языка настолько выросла, что пришлось сделать его достоянием широких масс пользователей и назвать SQL. Поскольку читаются обе аббревиатуры практически одинаково, то в разговоре их легко перепутать.

Современные процессоры баз данных используют разные версии SQL. SQL Server использует специальную разновидность SQL - Transact-SQL (T-SQL). Первоначально SQL Server (программа создания баз данных, которая понимает SQL) разрабатывалась компанией Microsoft совместно с фирмой Sybase Corporation для использования на платформах IBM OS/2 и создала свою собственную операционную систему - Windows NT Advanced Server. С этого момента было принято решение разрабатывать SQL Server только для сред Windows NT. В результате появилась SQL Server 4.2, которая вскоре была обновлена до версии 4.21. Вскоре между Microsoft и Sybase пробежала черная кошка; в результате Sybase взялась за создание собственного процессора баз данных для Windows NT. Им стала программа Sybase Adaptive Server Enterprise. Чтобы не отставать от конкурентов, Microsoft презентовала SQL Server 6.0, а вскоре и SQL Server 6.5. Обе программы запускались в Windows NT. А вот SQL Server 7.0 выполнялась не только Windows NT, но и Windows 95/98.

SQL Server 7.0 стала главной победой разработчиков процессора баз данных. Она превзошла возможности всех конкурирующих программ. Но в SQL Server 7.0 ядро процессора было сильно изменено. В SQL Server 7.0 полностью изменена не только архитектура ядра; в нее добавили оптимизатор запросов и улучшенную систему сохранения данных. В SQL Server 2000 добавили еще целый ряд дополнительных средств, повысили маштабируемость, надежность и доступность данных. Программа делает работу администратора легче и приятнее. SQL Server 2000 реализована как служба Windows NT Workstation, Windows NT Server и любой Windows 2000. В Windows ME она выполняется, как отдельное приложение в текущем сеансе пользователя. Все встроенные утилиты, например SQL Server Enterprise Manager, выполняются, как вспомогательные приложения типа клиент/сервер, позволяя управлять базой данных из любой точки сети.

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

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

SQL Server - это серверная часть приложения, к которой присоединяются различные клиенты, включая и утилиты, поставляемые вместе с SQL Server (например, SQL Query Analyzer). К преимуще- ствам SQL Server можно отнести:

Обработка данных в среде клиент/сервер осуществляется при запуске запроса. Сервер отбирает необходимые данные и отправляет клиенту только затребованные строки таблиц. При этом не только уменьшается время передачи данных, но и ускоряется обработка запроса рабочей станцией.

Основные операции, связанные с управлением работой SQL-сервера, осуществляются с помощью ряда утилит, входящих в состав системы.

SQL Server Books Online - основной источник сведений о SQL Server для пользователя. В Books Online возможно найти ответы на любые вопросы о SQL Server. Books Online состоит из набора отдельных пособий, сохраненных в электронном виде. В случае необходимости вы можете заказать в Microsoft копию на бумаге. Само пособие организовано в виде документов HTML и просматривается в Microsoft Internet Explorer версии 5.0 и выше.

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

Левая панель диалогового окна SQL Server Books Online содержит несколько вкладок:

  • Contents (Содержание). Все сведения о SQL Server представлены в виде упорядоченных по темам разделов (как в обычном справочном пособии).
  • Index (Индексный указатель). Содержит алфавитный список ключевых слов Books Online. После ввода в верхнем поле искомого слова список автоматически прокрутится до того места, где это слово в нем встречается.
  • Search (Поиск). Эта вкладка используется чаще других. После ввода слова, названия, команды или опции в поле поиска и щелчка на кнопке List Topics (Просмотреть разделы) результат поиска отображается в виде списка.
  • Favorites (Избранное). Подобно программе Internet Explorer, Books Online позволяет сохранять список избранных разделов, к которым обращались чаще всего.

Утилита SQL Server Service Manager (менеджер служб SQL Server) отвечает за управление службами SQL Server в компьютере локальной сети, на котором установлена SQL Server. При запуске этой утилиты на экране появляется диалоговое окно. Поле Server (сервер) содержит название сервера, который используется. Поле Service (службы) указывает службу, состояние которой проверяется на данном сервере. Графически состояние службы представляется следующим образом: зеленая стрелка указывает на выполнение службы в текущий момент; остальные значки символизируют приостановку или полную остановку выполнения службы. Утилита Service Manager - это основная утилита, используемая для управления SQL Server.

Раскрывающийся список Service содержит все службы, которые управляются этой утилитой. Среди них SQL Server, SQL Server Agent, Distributed Transaction Coordinator и Microsoft Search. Раскрывающийся список Server служит для указания сервера, на котором запущены службы. Именованные экземпляры также представлены в этом списке. Оба поля диалогового окна достаточно интеллектуальны, чтобы воспринимать введенные с клавиатуры значения (например, имя_сервераимя_экземпляра). После введения названия сервера и указания в поле Service необходимой службы утилита Service Manager соединяется с удаленным сервером и принимает на себя управление службами.

Все функциональные возможности этого приложения присущи утилите SQL Server Enterprise Manager. Она запускается с панели задач Windows и поэтому более удобна в использовании.

Утилита Client Network, играющая главную роль при подключении компьютеров-клиентов SQL Server, проста в использовании. При запуске Client Network на экране появляется диалоговое окно, в котором указано, какие протоколы используются по умолчанию клиентским приложением для подключения к серверу SQL Server. По умолчанию SQL Server 2000 используется сетевая библиотека ТСР/ IP, независимо от операционной системы, которая управляет компьютером. В нижней части диалогового окна приведены еще две опции: Force Protocol Encryption (проводить шифрование) и Enable Shared Memory Protocol (подключиться к SQL Server локально). Вторая опция позволяет автоматически подключаться к SQL Server, установленном на локальном компьютере. При необходимости можно ее отключить. Первая опция необходима для установки зашифрованного соединения между клиентским приложением и сервером, на котором установлена SQL Server 2000.

Утилита Server Network во многом похожа на Client Network. Но в отличие от утилиты Client Configuration, которая управляет подключением клиентского программного обеспечения к SQL Server, Server Network управляет работой сетевых библиотек. Именно эта утилита определяет протоколы, с помощью которых серверы с программой SQL Server 2000 общаются с клиентскими приложениями.

SQL Server Query Analyzer - утилита, позволяющая выполнять команды языка запросов Transact-SQL. Эта утилита функционирует в среде Windows, что делает ее удобной в использования. При запуске система в диалоговом окне запрашивает имя SQL-сервера, имя пользователя и его пароль. Воспользовавшись введенной информацией, система осуществляет подключение утилиты к данному SQL- серверу. Основное окно утилиты разделено на две части. В верхней части пользователем осуществляется ввод команд, требующих выполнения. По завершении ввода следует воспользоваться кнопкой запуска SQL-запроса, после чего в нижней части данного окна отобразятся результаты выполнения запроса. Здесь же можно проверить корректность выполнения запроса без его запуска и сохранить для дальнейшего использования.

SQL Server Enterprise Manager - утилита, предоставляющая пользователю выполнять все операции администрирования SQL - сервера, доступа ко всем его объектам, а также запуска различных утилит и приложений. Наличие утилиты на компьютере позволяет осуществлять конфигурирование и удаленных серверов, т.е. утилита может запускаться не только на самом сервере, но и на компьютере рабочей станции. Основное окно системы очень похоже на Проводник Windows. В левой части находятся основные объекты SQL-сервера. Использование символов + и - слева от названия объекта позволяет раскрывать его составляющие, что, в свою очередь, дает возможность их редактирования. При выборе необходимого объекта опции настройки его параметров отображаются в правой части окна утилиты.

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

Утилита OSQL добавляет в SQL Server интерфейс ODBC. Эта программа позволяет использовать для подключения к SQL Server команды ODBC. Обычно с ее помощью выполняются пакетные запросы, предназначенные для производственных задач.

ISQL - это программа командной строки, пришедшая из предыдущих версий SQL Server. Для подключения к SQL Server в ней используются средства DB-Library. Поскольку работа ISQL полностью зависит от DB-Library, новые команды в ней остаются недоступными. Среди них и поддержка Unicode.

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

Средства SQL Server даже позволяют настраивать сетевые соединения и устранять некоторые проблемы, возникающие в сети. Некоторые из инструментов SQL Server запускаются из главного меню Windows, другие - из командной строки или из папки mssqlinn.