Лекция 5
Проектирование баз данных
СУБД - абстрактное представление данных и сокрытие особенностей хранения и управление данными.
Атрибуты , сущности, связи
Трехуровневая архитектура ANSI (American National Standard Institute)-SPARC (Standards Planning and Requirements Committee)
1. Уровень внешних моделей - представления каждого пользователя об общих данных, с которыми он работает. Пользователь ничего не знает об особенностях хранения данных. Собственное представление пользователя о “реальном мире” - данные + производное от них.
2. Концептуальный уровень - отображение внешнего уровня на внутренний. Какие данные хранятся в БД. Логическое описание БД: сущности, атрибуты, связи. Ограничения. Безопасность и целостность. Нет описания способа хранения.
3. Внутренний уровень - определение физического представления данных, т.е. как хранятся данные.
Схема БД - общее описание БД. СУБД связывает схемы на трех уровнях.
Состояние БД - множество данных, хранящихся в БД в определенный момент времени.
Схемы на каждом уровне.
Изменения в нижних уровнях никак не влияют на изменения на верхних уровнях: логическая независимость от данных - полная защита внешних схем от вносимых изменений в концептуальную схему. Физическая независимость от данных - полная защита концептуальной схемы от вносимых изменений во внутреннюю схему.
Модель данных - интегрированный набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные.
Модели данных: Объектные (ER, Семантическая, Функциональная, ОО), Основанные на записях (иерархическая, сетевая, реляционная), Физические (Обобщающая модель, Модель памяти кадров).
Из концептуальной в физическую.
Многопользовательские СУБД
Телеобработка.
Файловый сервер.
Двухуровневая организация СУБД - Клиент/Сервер
Клиент: ПИ, Прием и проверка пользовательского запроса, Выполнение приложения, Запрос к БД и его передача, Отображение полученных данных.
Сервер: Прием и обработка запросов со стороны клиентов, Проверка полномочий пользователя, Соблюдение ограничений целостности, Выполнение запросов и возврат результатов, Поддерживает системный каталог, Параллельный доступ к БД, Управление восстановлением.
Трехуровневая организация - Thin Client - Middleware - Full Server
Когда возникает необходимость?
Распределенные базы данных - набор логически связанных между собой разделяемых данных и их описаний, которые физически распределены в некоторой компьютерной сети.
РБД разбита на фрагменты.
70-е годы - в ИС включаются СУБД, растет роль и значимость данных, как => появляются подразделения администрирования данных и администрирования БД. ЖЦ ИС организации тесным образом связан с ЖЦ СУБД.
ЖЦ приложений БД:
1. Планирование разработки БД - подготовительные действия, позволяющие максимально эффективно реализовать этапы ЖЦ приложения БД: требуемый объем работ, необходимые ресурсы, общая стоимость проекта.
Задачи: определение бизнес-планов и целей организации с последующим выделением ее потребностей в ИТ; оценка показателей уже существующих ИС с целью выявления их преимуществ и недостатков; оценка возможностей использования ИТ для достижения конкурентоспособного преимущества. Корпоративная модель данных - наиболее важные данные и связи между ними, а также их отношение к различным функциональным сферам организации. Разработка стандартов на данные, документацию и приложения БД.
2. Определение требований к системе - определение диапазона действия и границ приложения БД, состава его пользователей и областей применения.
3. Сбор и анализ требований пользователей - сбор и анализ информации о той части организации, работа которой будет поддерживаться с помощью создаваемого приложения БД, а также использование этой информации для определения требований пользователей к создаваемой системе. Способы сбора: опрос, наблюдение, изучение документации, анкеты, опыт проектирования подобных систем. Требование - некоторая функция, которая должна быть включена в создаваемую систему.
Информация: используемая и генерируемая документация, сведения о выполняемых транзакциях, список требований с указанием их приоритетов.
Описание системы с разных точек зрения.
4. Проектирование БД, разработка приложений, выбор целевой СУБД
Процесс создания проекта БД, предназначенной для поддержки функционирования предприятия и способствующей достижению его целей. Цели: представление данных и связей между ними, необходимых для всех основных областей применения данного приложения и любых существующих групп его пользователей; создание модели данных, способной поддерживать выполнение любых требуемых транзакций обработки данных; разработка предварительного варианта проекта, структура которого позволяет удовлетворить все основные требования, предъявляемые к производительности системы. Восходящий подход, нисходящий подход, “изнутри наружу”, смешанный подход.
Разработка приложений - проектирование интерфейса пользователя и прикладных программ, предназначенных для работы с БД.
5. Создание прототипов ->3(создание рабочей модели ПБД) или Реализация (физическая реализация БД и разработанных приложений)
6. Конвертирование и загрузка данных
7. Тестирование: нисходящее тестирование, восходящее тестирование, тестирование потоков (СРВ), интенсивное тестирование.
8. Эксплуатация и сопровождение -> 1 Контроль производительности системы, сопровождение и модернизация ПБД.
Этапы проектирования баз данных
Критерии оценки модели данных
Структурная достоверность - соответствие способу определения и организации информации на данном предприятии
Простота понимания. Выразительность (способность представлять отличия). Отсутствие избыточности. Способность к совместному использованию. Расширяемость. Целостность (согласованность со способом использования и управления информацией внутри предприятия). Представление в виде диаграмм.
1. Внешняя модель - описание логической структуры БД с точки зрения конкретного пользователя. Таким образом, пользователь имеет доступ только к тем данным, которые отражены в соответствующей подсхеме. Применение внешней модели является одним из способов защиты данных от несанкционированного доступа.
2. Инфологическая (концептуальная) модель предметной области - по возможности, формализованное представление предметной области. Модель строится без ориентации на используемые в дальнейшем программные и технические средства. Используются специальные искусственные формализованные языковые средства. Требование адекватного отображение предметной области. Непротиворечивость. Легкая расширяемость. Язык спецификации должен быть одинаково применим как для ручного, так и для автоматизированного проектирования ИС. Легко восприниматься всеми категориями пользователей.
3. Даталогическая модель БД - модель логического уровня, представляющая собой отображение логических связей между элементами данных, независимо от их содержания и среды хранения. Схема - описание логической структуры БД на языке СУБД.
4. Физическая модель - привязка даталогической модели БД к среде хранения. Используются возможности данной конкретной СУБД. Скрыто от разработчика.
Инфологическое (концептуальное) проектирование
БД отражает определенную предметную область. Чтобы данные, хранящиеся в БД, адекватно отражали предметную область проектировщик должен разобраться как функционирует данная система. Затем требуется описать ее с помощью формализованных языковых средств. Наибольшее распространение получил графический способ представления инфологической модели под названием "сущность-связь".
На этом этапе должны быть выполнены следующие шаги:
- Определение объектов, в которых накапливается и обрабатывается информация.
- Определение основных характеристик объектов и их взаимосвязей.
Даталогическое проектирование
На этапе даталогического проектирования строится логическая структура БД. При этом происходит преобразование исходной инфологической модели в модель данных, которая поддерживается конкретной СУБД. После этого производится проверка адекватности даталогической модели, отображаемой предметной области. Конечным результатом даталогического проектирования является описание структуры БД на языке описания данных конкретных СУБД.
Связи между классами, показанные в инфологической модели, в даталогической модели могут отображаться либо за счет совместного расположения связанных элементов, либо путем объявления связей между ними.
Не все виды связи существующие в предметной области можно отобразить даталогической моделью. Так большинство СУБД не обеспечивают поддержание связи типа М:М. В этом случае в даталогической модели вводится вспомогательный элемент, т.е. M:N разбивается на два отношения между исходными элементами и вспомогательными (1:M, 1:N).
Проектирование приложений БД
Проектирование транзакций - определение и документирование высокоуровневых характеристик всех транзакций: данные, функциональные характеристики, выходные данные, степень важности предполагаемая интенсивность использования.
Типы транзакций: транзакция извлечения, транзакция обновления, смешанные транзакции.
Проектирование пользовательского интерфейса
Содержательное название
ясные и понятные инструкции
логическая обоснованность группировки и последовательности полей
легко узнаваемые названия полей
согласованная терминология и сокращения
согласованное использование цветов
визуальное выделение пространств и границ полей ввода данных
удобные средства перемещения курсора
средства исправления отдельных ошибочных символов и целых полей
средства вывода сообщений об ошибках при вводе недопустимых значений
особое выделение необязательных для ввода полей
средства вывода пояснительных сообщений с описанием полей
средства вывода сообщения об окончании заполнения формы
Администрирование данных - управление информационными ресурсами, включая планирование БД, разработку и внедрение стандартов, определение ограничений и процедур, а также К и Л проектирование БД.
Администрирование БД - управление физической реализацией ПБД: физическое проектировании БД и ее реализация, организация поддержки целостности и защиты данных, наблюдение за текущим уровнем производительности системы, а также реорганизация БД по мере необходимости.
Планирование разработки БД - АД, АБД
Определение требований к системе - АД, АБД
Сбор и анализ требований пользователей - АД, АБД
Концептуальное Проектирование БД - АД, АБД
Даталогическое Проектирование БД - АД, АБД
Физическое Проектирование БД - АБД, АД
разработка приложений - АБД, АД
выбор целевой СУБД - АБД, АД
Создание прототипов - АБД, АД
Реализация - АБД, АД
Конвертирование и загрузка данных - АБД, АД
Тестирование - АБД, АД
Эксплуатация и сопровождение - АБД, АД
|