Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Bazy_dannykh_Uchebnik_novy

.pdf
Скачиваний:
132
Добавлен:
02.05.2015
Размер:
4.02 Mб
Скачать

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

Можно перечислить несколько исторически использованных программно-

аппаратных технологий которые способствовали появлению облачных технологий.

Развитие интранет-технологий привело к созданию групп пользователей,

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

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

Рисунок 42. Программно-аппаратное взаимодействие в рамках облачных технологий.

131

В результате развития технологий и объединения усилий различных групп, родилась технология «сloud computing», когда вычисления, программное обеспечение, доступ к данным и системам хранения данных, не требуют от конечного пользователя знаний о том, где именно находится система и какова ее конфигурация. Все детали абстрагированы от конечных пользователей, у которых больше нет необходимости обладать полной экспертизой или контролировать технологическую инфраструктуру "в облаке", которая их поддерживает. Можно провести параллель этой концепции с электрическими сетями – конечные пользователи потребляют энергетические ресурсы без необходимости разбираться в составляющих сеть устройствах, необходимых для предоставления услуг.

Внутренне «устройство облака» может разнообразным и зависеть от типа услуг, которые предоставляет компания. На рисунке 46 показана архитектура современной высоконагруженной системы.

Рисунок 43. Архитектура современной высоконагруженной системы.

Одно из направлений облачных технологий – предоставление ресурсов для хранения своих данных. Это направление называется создание Дата-центров.

132

Дата-центр

(от англ. data center), или центр (хранения и) обработки данных (ЦОД/ЦХОД) - это специализированное здание для размещения (хостинга) серверного и коммуникационного оборудования и подключения абонентов к каналам сети Интернет. Дата-центр исполняет функции обработки, хранения и распространения информации, как правило, в интересах корпоративных клиентов — он ориентирован на решение бизнес-задач путём предоставления информационных услуг.

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

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

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

Типичный дата-центр состоит из:

информационной инфраструктуры, включающей в себя серверное оборудование и обеспечивающей основные функции дата-центра — обработку и хранение информации;

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

инженерной инфраструктуры, обеспечивающей нормальное функционирование

основных систем дата-центра.

Для реализации облачных технологий компания Microsoft выпустила операционную систему Windows Azure, интегрированную с языком запросов Transact SQL.

Transact SQL

Transact-SQL (T-SQL) - процедурное расширение языка SQL компании Microsoft,

предназначенное для Microsoft SQL Server и СУБД Sybase. Стандартный SQL был дополнен такими возможностями:

управляющие операторы,

локальные и глобальные переменные,

различные дополнительные функции для обработки строк, дат, математики и т.п.,

поддержка аутентификации Microsoft Windows

Управляющие операторы

В Transact-SQL существуют специальные команды, которые позволяют управлять

потоком выполнения запроса, прерывая его или направляя в нужную логику.

133

Блок группировки - структура, объединяющая список выражений в один логический блок (BEGIN … END).

Блок условия - структура, проверяющая выполнения определенного условия (IF … ELSE).

Блок цикла - структура, организующая повторение выполнения логического блока

(WHILE … BREAK … CONTINUE).

Переход - команда, выполняющая переход потока выполнения сценария на указанную метку (GOTO).

Задержка - команда, задерживающая выполнение сценария (WAITFOR)

Вызов ошибки - команда, генерирующая ошибку выполнения сценария

(RAISERROR)

Переменные

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

переменная уничтожается. Объявление переменной выполняется командой DECLARE,

задание значения переменной осуществляется либо командой SET, либо SELECT:

Пример 88:

USE TestDatabase

-- Объявление переменных

DECLARE @EmpID int, @EmpName varchar(40)

-- Задание значения переменной @EmpID

SET @EmpID = 1

-- Задание значения переменной @EmpName

SELECT @EmpName = UserName FROM Users WHERE UserID = @EmpID

-- Вывод переменной @EmpName в результат запроса

SELECT @EmpName AS [Employee Name]

GO

134

13. Проектирование баз данных

Рисунок 44. Этапы проектирования базы данных.

Первый этап процесса – онтологическое моделирование.

Онтологическое моделирование.

- формализация предметной области и ее описание с помощью концептульных

схем.

Исторически, понятие онтологии появилось в одной из ветвей философии,

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

чтобы создать модель предметной области.

135

Онтологический анализ обычно начинается с составления словаря терминов,

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

документируются основные логические взаимосвязи между соответствующими введенным терминам понятиями.

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

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

Для создания онтологического описания предметной области существует стандарт онтологического моделирования IDEF5. Основные шаги процесса моделирования:

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

2.Сбор и накапливание данных. На этом этапе происходит сбор и накапливание необходимых начальных данных для построения онтологии

3.Анализ данных. Эта стадия заключается в анализе и группировке собранных данных и предназначена для облегчения построения терминологии.

4.Начальное развитие онтологии. На этом этапе формируется предварительная онтология, на основе отобранных данных.

5.Уточнение и утверждение онтологии - Заключительная стадия процесса.

На рисунке 45 показана схема классификации объектов (сущностей) предметной области.

Рисунок 45. Классификация сущностей предметной области.

Объекты взаимодействуют между собой через свои свойства, что порождает ситуации

(прецеденты).

136

Отношения (связи) между объектами

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

отношениях.

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

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

Рисунок 46. Композиционная диаграмм объекта «шариковая ручка»

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

Помните, что при проектировании базы важны количественные отношения между экземплярами различных сущностей, т.е. важно знать, сколько экземпляров сущности X соответствует одному экземпляру сущности Y (и

наоборот).

Ситуации (прецеденты).

137

Ситуации - это взаимосвязи, выражающие взаимоотношения между

объектами.

Ситуации в предметной области описываются посредством высказываний о предметной области, например, объект, состоит из … (композиция), объект это … либо …. (классификация). Имеются более сложные связи: «Студент – лицо, зачисленное в установленном порядке в учебное заведение». Здесь связь между объектом студент и объектом «учебное заведение», носит более сложный характер. Она формирует признаки и ограничения объекта «студент». Роль прецедентов для описания понятийной модели предметной области заключается в том, что они содержат в себе ограничения, типы и структуры данных. Выявление ограничений, заложенных в прецедентах, является одним из этапов формализации предметной области и разработки концептуальной модели предметной области (рисунок 47). Для прецедентов часто используется термин бизнес-

правила.

Рисунок 47. Классификация ситуаций предметной области.

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

Инфологическая (информационно-логическая ) модель -

это информационная модель предметной области базы данных).

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

их атрибутов и отношений между объектами, динамику изменений

138

предметной области, а также характер информационных потребностей

пользователей.

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

(атрибуты).

Состав инфологической модели

-определения сущностей;

-уникальные идентификаторы сущностей;

-отношения между сущностями;

-диаграммы "сущность-связь" (Entity - Relationship Diagrams);

-определения атрибутов сущностей;

-супертипы и подтипы.

Сущность (объект)

описывается с помощью данных, именуемых свойствами или атрибутами

(attributes) сущности.

Атрибуты

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

Экземпляр (instance) сущности

Каждая группа атрибутов, описывающих одно реальное проявление

сущности, представляет собой экземпляр сущности.

Иными словами, экземпляры сущности - это конкретные проявления сущности,

отличающиеся друг от друга и допускающие однозначную идентификацию.

Пример 75:

Сущность – студент.

Атрибуты: ФИО, дата рождения,

Экземпляр сущности: студент Петров А.Б, 1978г.р.

Идентификатор сущности (Entity identifier)

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

данных является присвоение сущностям идентификаторов.

139

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

Ключ

Уникальный идентификатор экземпляра сущности называют ключом.

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

Первичный ключ

Если экземпляры сущности имеют несколько уникальных идентификаторов

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

Однозначные и многозначные атрибуты.

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

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

Домен

Каждый атрибут сущности имеет домен. Домен - это область значений

атрибута.

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

Сущности не существуют отдельно друг от друга. Между ними имеются реальные отношения, и они должны быть отражены в информационной модели предметной области.

Отношения и связи (Relationship)

Отношение (связь) представляет собой взаимоcвязь между двумя или более сущностями. Самый распространенный тип связей – информационные, т.е

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

Например, студент изучает МНОГО дисциплин. Следовательно, между сущностью студент и сущностью дисциплина имеется связь типа «один ко многим». Каждый студент

140

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]