Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модуль 3.docx
Скачиваний:
152
Добавлен:
04.06.2015
Размер:
2.43 Mб
Скачать

Физическое проектирование

Методология физического проектирования баз данных включа­ет четыре основных этапа:

1. Разработка таблиц базы дан­ных и установка необходимых ограничений целостности данных.

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

3. Проектирование системы защиты базы данных от несанкциониро­ванного доступа.

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

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

  1. виртуальные таблицы (Views)

Используются для фильтрации и предварительной обработки данных. Эта виртуальная таблица содержит результаты выполнения запроса (оператора SELCET) к одной или нескольким таблицам. Виртуальные таблицы также позволяют логически объединять данные из разных таблиц и представить их в виде более крупной таблицы. С помощью Виртуальных Таблиц можно также скрывать часть данных от определённой группы пользователей с целью обеспечения безопасности информации.

  1. хранимые процедуры и пользовательские функции

Процедура – именованный блок SQL, который позволяет задавать параметры и выполняет заданные действия. Как правило, процедура создается именно для выполнения определенной последовательности команд. Процедура может храниться, как объект базы данных.

Хранимая процедура – это процедура, которая хранится в базе данных, как объект базы данных.

Хранимая процедура создается командой CREATE PROCEDURE, а для вызова используется команда EXECUTE.

Свойства хранимых процедур:

  • Улучшение производительности приложения.

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

  • Безопасность и целостность данных. Чтобы разрешить пользователю изменять данные посредством подпрограммы, необходимо предоставить только привилегию на выполнение этой программной единицы.

Существуют два типа хранимых процедур: системные и пользовательские. Первые используются для управления SQL Server’ом и отображения информации о БД и пользователях; вторые создаются пользователями для выполнения прикладных задач.

  1. триггеры

Триггеры – это блок SQL, который выполняется неявно при возникновении определенного события в базе данных или приложении. Триггер может быть триггером базы данных или триггером приложения:

  • Триггер базы данных – это хранимая программная единица, связанная с определенной таблицей базы данных. Триггер базы данных срабатывает неявно при выполнении утверждений INSERT, UPDATE или DELETE на таблицах, для которых триггер создан. Триггер базы данных не зависит от того, какой пользователь выполняет эти утверждения, или какое приложение используется.

  • Триггер приложения срабатывает неявно, когда в приложении возникает определенное событие.

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

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

Понятие транзакции.

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

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

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

Транзакция, которая дала ожидаемый результат, называется принятой (committed), в противном случае – отвергнутой (rolled back). СУБД обновляет записи, если транзакция принята или восстанавливает исходные данные, если транзакция отвергнута.

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

  • Транзакция будет принята, если:

  • Пользователь введет команду SQL : COMMIT

  • Пользователь выполнит команду определения данных (DDL) или управления данными (DCL)

  • Успешно завершится приложение, выполняющее транзакцию (пользовательское, SQL и др.)

  • Транзакция будет отвергнута, если:

  • Пользователь введет команду ROLLBACK

  • Аварийно завершится приложение, выполняющее транзакцию

Организация взаимодействия интерфейса пользователя с хранилищем данных.

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

Клиентское приложение - интерфейсный компонент СУБД, с которым пользователи работают для считывания, ввода и анализа данных. Клиентские приложения могут быть «всех форм и размеров». Например, в системе управления складом основной задачей будет приложение управления запасами.

  • тип приложения зависит от того, с какими данными работает предприятие;

  • оно посылает и запрашивает информацию с сервера (обычно через сеть). Задачей клиента является анализ и предоставление информации;

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

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

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

Основные особенности клиентских приложений:

  • Ввод данных и оперативная обработка транзакций при помощи форм;

  • Применение средств генерации запросов и вывода отчетов для поддержки анализа принятия решений;

  • Усовершенствование клиентских приложений при помощи инструментальных средств.

Пример – использование Microsoft Access в качестве клиентского приложения.

СУБД Microsoft Access для работы с данными использует процессор баз данных Microsoft Jet, объекты доступа к данным и средство быстрого построения интерфейса – Конструктор форм. Для получения распечаток используются конструкторы отчетов. Автоматизация рутинных операций может быть выполнена с помощью макрокоманд. В случае недостатка визуальных средств, пользователи могут обратиться к созданию процедур и функций. При этом как в макрокомандах можно использовать вызовы функций, так и из кода процедур и функций можно выполнять макрокоманды.

В Microsoft Access присутствует язык программирования Visual Basic for Application, который позволяет создавать массивы, свои типы данных, вызывать DLL-функции, контролировать работу приложений с помощью OLE Automation. Можно даже полностью создавать базы данных с помощью кодирования, если в этом появляется необходимость. MS Access имеет один из самых лучших наборов визуальных средств среди аналогичных программных продуктов.

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