- •1.Организация информационных массивов.
- •2.Компоненты среды субд.
- •3.Преимущества и недостатки субд. Преимущества
- •Недостатки
- •4.Жизненный цикл информационной системы.
- •Системный структурный анализ
- •5.Проектирование бд.
- •6.Моделирование данных.
- •7.Определение связей между объектами.
- •8.Логическое проектирование бд.
- •9.Реляционная модель данных.
- •10.Идентификация объекта.
- •11.Построение схемы реляционной бд.
- •1. Простой объект
- •2. Между объектами по имеется связь 1:1
- •3. Между объектами имеется связь 1:м
- •4. Между объектами имеется связь м:м.
- •5. Агрегированный объект
- •6. Супертип-подтип
- •Фрагмент концептуальной модели "институт"
- •12.Операции над реляционными отношениями.
- •Операции над множествами
- •13.Нормализация отношений.
- •14. Обеспечение целостности бд.
- •Целостность таблицы
- •Ссылочная целостность
- •15.Физическое проектирование базы данных
- •16.Анализ транзакций при физическом проект.
- •18.Особенности логических моделей данных
- •19.Иерархическая модель данных
- •20.Сетевая модель данных
- •21.Транзакция. Св-во транзакции.
- •22.Проблемы, возникающие при параллельном выполнении транз.
- •23.Методы управления параллельностью
- •24.Этапы развития субд
- •Эволюция серверов баз данных
- •25.Требования к современным субд. Активный сервер
- •26. Информационные приложения
- •27. Варианты построения информационных систем
- •28.Клиент-сервер
- •30. Распределенные базы данных
- •31. Виды систем поддержки принятия решений
- •32. Хранилища данных
- •34. Субд третьего поколения.
- •Объектно-реляционные субд.
- •Преимущества орсубд
- •Недостатки орсубд
- •17.Язык структурированных запросов(Structured Query Language)
- •29.Архитектура Web-приложений, публикующих бд
- •Трехуровневые Web-приложения
- •Многоуровневые Web-приложения
- •33.Оперативная аналитическая обработка
26. Информационные приложения
Информационное приложения - прикладная программная подсистема, ориентированная на сбор, хранение, поиск и обработку текстовой и/или фактографической информации. Подавляющее большинство ИП работает в режиме диалога с пользователем. В общем случае типовые ИП включают в себя: диалоговый ввод/вывод, логику диалога, прикладную логику обработки данных, логику управления данными, операции манипулирования файлами и/или базами данных. Для сетевых приложений важным элементом является коммуникационный сервис, обеспечивающий взаимодействие узлов сети.
В информационном приложении, предназначенном для работы с базой данных, выделяют следующие функциональные компоненты.
1. PS (Presentation Services) - средства представления. Обеспечиваются устройствами, принимающими ввод информации от пользователя и отображающими то, что сообщает устройству компонент логики представления PL, плюс соответствующая программная поддержка. Это может быть текстовый терминал, ПК в режиме программной эмуляции терминала.
2. PL (Presentation Logic) - логика представления. Управляет взаимодействием между пользователем и ЭВМ. Обрабатывает действия пользователя по выбору пунктов меню, нажатие кнопки или выбора элемента из списка.
3. BL (Business Logic) - прикладная логика. Набор правил для принятия решений, вычислений и опраций, которые должно выполнить приложение.
4. DL (Data Logic) - логика управления данными. Сюда относят операции с базой данных (SQL-операторы Select, Delete, Update, Insert), которые нужно выполнить чтобы реализовать прикладную логику управления данными.
5. DS (Data Services) - операции с базой данных. Действия СУБД, вызываемые для выполнения логики управления данными, такие как манипулирование данными, определения данных, фиксация или откат транзакции.
6. FS (File Services) - файловые операции. Дисковые операции чтения и записи данных для СУБД, обычно являются функциями ОС.
27. Варианты построения информационных систем
Информационные системы и соответствующие приложения могут строиться различными способами:
- централизованные многотерминальные вычислительные системы;
- независимые рабочие станции;
- системы на основе локальной сети ПК (архитектура файл-сервер);
- системы с архитектурой клиент-сервер;
- системы на основе Internet/Intranet.
"Клиент-сервер" - это модель взаимодействия компьютеров в сети. Как правило, компьютеры не являются равноправными, каждый из них имеет свое назначение. Некоторые компьютеры обладают определенными информационно-вычислительными ресурсами, такими как файловая система, почтовая служба, служба печати, база данных. Другие компьютеры имеют возможность обращаться к этим службам, пользуясь услугами первых. Компьютер, управляющий каким-либо ресурсом, принято называть сервером этого ресурса, компьютер, использующий этот ресурс, называется клиентом.
Сервер определяется видом ресурса, которым он владеет. Так, если ресурсом является база данных, то речь идет о сервере баз данных, назначение которого - обслуживать запросы клиентов, связанные с обработкой данных, если ресурс - это файловая система, то говорят о файловом сервере.
В сети один и тот же компьютер может выполнять роль как клиента, так и сервера. Этот же принцип распространяется и на взаимодействие программ. Если одна из них выполняет некоторые функции, предоставляя другим определенный набор услуг, то такая программа выступает в качестве сервера. Программы, которые пользуются этими услугами, принято называть клиентами. Так, ядро SQL-ориентированной СУБД часто называют сервером баз данных или SQL-сервером, а прикладная программа, которая обращается к серверу за услугами по обработке данных, называется SQL-клиентом.
Централизованные многотерминальные системы
Централизованные системы были широко распространены в 60-70-х годах, были построены на больших ЭВМ (хост, мэйнфрейм), типа IBM-360/370, ЕС-1030.
При такой схеме пользователи общались с ЭВМ через неинтеллектуальные терминалы, которые не обладали никакими вычислительными возможностями и передавали и выводили на экран информацию от ЭВМ.
В такой системе терминал реализует лишь функции представления данных PS, тогда как остальные функции обеспечивает центральный узел. Центральная ЭВМ должна реагировать на каждый запрос пользователя (PL), выполнять логику приложения (BL,DL) и извлекать данные из БД (DS).
К недостаткам централизованной системы относят:
- трудно обеспечить графический интерфейс;
- каждый дополнительный пользователь и приложение вносят существенную нагрузку на сервер;
- теряется масштабируемость.
К достоинствам централизованной системы относят:
- надежность в управлении одной машиной;
- высокая производительность;
- высокая заменяемость вышедших из строя терминалов.
- можно совместно использовать дорогостоящее периферийное оборудование;
Независимые рабочие станции
С появлением ПЭВМ в организациях стали использовать независимые друг от друга рабочие станции. Данные на рабочей станции представляют собой автономный информационный массив, работа с которым ведется при помощи "персональных" СУБД. Пользователи сами отвечают за управление данными, их архивацию, защиту. Невысокая стоимость ПК, простота и удобство общения являются положительными моментами модели независимых персональных вычислений. Все функциональные компоненты реализованы на ПК.
Однако при использовании этой архитектуры информация, ранее доступная всем сотрудникам, становится распределенной между отдельными ПЭВМ. К тому же отсутствует возможность совместного использования оборудования.
Файл-сервер
При использовании архитектуры файл-сервер ПЭВМ объединяют в локальную вычислительную сеть. При этом получают преимущества коллективных вычислений, простоту работы с ПК и возможность совместного использования данных и оборудования.
Для совместного использования данных файлы хранят на файловом сервере. Файловый сервер - центральный узел в сети. Обычно это ПК с мощным процессором, оснащенный оперативной и дисковой памятью больших объемов. ПК, подключенный в локальную сеть, считывает и записывает файлы, обмениваясь ими с файловым сервером. Вся работа по выполнению запросов и управлению целостностью БД осуществляется в приложении пользователя. БД на сервере является пассивным источником данных.
Компоненты диалога размещены на ПК, что облегчает построение графического интерфейса. Информационные приложения, размещаются на ПК и содержат в себе следующие компоненты: логику диалога (PS,PL), логику обработки (BL,DL) и управления данными (DS).
Каждый пользователь получает на свой ПК локальную копию БД, расположенной на сетевом сервере.
При этом изменения, которые каждый пользователь вносит в БД, до определенного момента могут быть неизвестны другим пользователям, что делает актуальной задачу систематического обновления данных. Другой важной задачей является блокирование записей, которые изменяются одним из пользователей.
Модель файл-сервер не позволяет эффективно обслуживать многопользовательские приложения с разделяемыми данными по двум причинам:
не обеспечивается согласованность данных.
файловый сервер не позволяет нескольким пользователям одновременно обрабатывать один и тот же файл. Файл может быть заблокирован первым пользователем, остальные вынуждены ждать, когда файл освободится;
- если множество файлов запрашивают и передают по сети сразу несколько рабочих станций, то сеть быстро насыщается и трафик (передача) становится узким местом, ухудшая производительность сети.
- возникает проблема "толстого клиента", т.к. выполнение информационного приложения, Windows-интерфейс, работа СУБД могут перегрузить даже мощный ПК.
Клиент-сервер
В настоящее время фактическим стандартом при построении информационных систем стала архитектура "клиент-сервер". Это означает, что прикладные программы имеют распределенный характер, т.е. часть функций прикладной программы (приложения) реализована в самой программе, другая часть - в программе-сервере, причем для их взаимодействия необходимо определить некоторый протокол.
Архитектура клиент-сервер обеспечивает преимущества сетевых вычислений с доступом к совместно используемым данным и высокие характеристики производительности, присущие централизованным вычислениям с большой ЭВМ.
Особенностью модели клиент-сервер является использование специально выделенного сервера баз данных. На сервере располагает промышленная (удаленная) СУБД, которая параллельно обрабатывает запросы, поступающие с рабочих станций. Выполнение основного объема по обработке данных происходит на сервере. Сервер базы данных блокирует и возвращает строки по запросам клиентов, что обеспечивает параллельность, минимальный сетевой трафик и большую производительность, чем в моделе файл-сервер.
Приложение-клиент в обработке запроса не участвует, оно интерпретирует результаты, полученные от сервера, и предоставляет их пользователю в требуемой форме.
Еще одна отличительная черта серверов БД - наличие справочника данных, в котором записана структура БД, ограничения целостности данных, форматы, серверные процедуры обработки данных.
Использование архитектуры клиент-сервер существенно повышает безопасность данных, так как правила целостности данных определены в базе данных на сервере и являются едиными для всех приложений, использующих эту базу. Мощный аппарат транзакций, поддерживаемый удаленными СУБД, позволяет исключить одновременное изменение одних и тех же данных различными пользователями.
Поскольку запрос выполняется на сервере, т.е. где расположены сами данные, то повышается быстродействие системы, существенно уменьшается сетевой трафик.
Выделяют три вида моделей "клиент-сервер":
модель доступа к удаленным данным (Remote Data Access - RDA);
модель сервера базы данных (DataBase Server - DBS);
модель сервера приложений (Application Server - AS).
Большинство конфигураций клиент-сервер используют типовую двухзвенную модель RDA. Компоненты информационного приложения размещаются таким образом, чтобы повысить их эффективность.
Модель доступа к удаленным данным (RDA)
Такая схема предъявляет наименьшие требования к серверу и обладает лучшей масштабируемостью. Однако сложные приложения, требующие большого взаимодействия с БД, могут сильно загрузить клиента и сеть, т.к. результаты SQL-запросов должны вернуться клиенту, на котором расположена логика принятия решения (BL). Кроме того, типовая двухзвенная модель усложняет администрирование приложений, расположенных на разных клиентских узлах. Можно сократить нагрузку на клиента и сеть, переместив компонент BL целиком на сервер. В этом случае вся логика принятия решений оформляется в виде хранимых процедур и выполняется на сервере.
Хранимая процедура - это процедура с операторами языка SQL для доступа к БД. Хранимая процедура вызывается по имени с передачей ей требуемых параметров и выполняется на сервере, что позволяет снизить сетевой трафик. Хранимые процедуры улучшают целостность приложений и БД, гарантируют актуальность коллективно используемых операций и вычислений. Улучшается сопровождение таких процедур, повышается безопасность, т.к. нет прямого доступа к данным. Однако, перегрузив хранимые процедуры прикладной логикой, можно потерять преимущества сервера по производительности. Кроме того, к недостаткам относят ограниченность средств, используемых при написании процедур, которые представляют собой разнообразные процедурные расширения языка SQL. Сфера их использования ограничена конкретной СУБД, в большинстве нет средств отладки и тестирования разработанных хранимых процедур.
На практике часто используют смешанные модели, когда поддержка целостности базы данных и некоторые простые прикладные функции реализованы в виде обработчиков событий (триггеров) и хранимых процедур (DBS-модель), а более сложные функции реализованы непосредственно в прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель). Такая схема при удачном разделении логики приводит к сбалансированной загрузке клиентов и сервера, но при этом резко возрастает сложность сопровождения информационных приложений.
Модель сервера базы данных (DBS).
Распределенные вычисления
Развитие архитектуры клиент-сервер привело к появлению многозвенной архитектуры доступа к базам данных: трехзвенная архитектура или N-tier или Multi-tier архитектура. Распределенные вычисления представляют собой случай, когда явно выделяется сервер приложений, который обеспечивает прикладную логику обработки данных. Распределенные вычисления позволяют лучше сбалансировать нагрузку на разные узлы и сеть, устраняет недостатки двухзвенной модели.
В этих схемах приложение-клиент выполняет функции и логику представлений PS,PL, имеет программный интерфейс для вызова приложения на среднем уровне. Средний уровень представляет собой сервер приложений, на котором выполняется прикладная логика (BL) и логика обработки данных (DL). Сервер БД занят управлением данных (DS) и файловыми операциями (FS).
Централизация логики приложения упрощает администрирование и сопровождение. Изменения прикладной логики не затрагивают интерфейса и наоборот. Четко разделяются платформы и инструменты для реализации интерфейса и прикладной логики.
Модель сервера приложений (AS) является основой для мониторов обработки транзакций, который представляет собой особый вид программного обеспечения.
Сервер приложений с помощью монитора транзакций обеспечивает интерфейс с клиентом и другими серверами, может управлять транзакциями и гарантирует целостность распределенной БД путем двухфазной фиксации в неоднородной среде.
Модель сервера приложений (AS).