Содержание
- 1 Введение
- 1.1 Жизненный
цикл приложения баз данных
- 2 Цели
и задачи проектирования
- 3 Проектирование
баз данных(о трех этапах)
- 3.1 Подходы
к проектированию базы данных
- 3.2 Моделирование
данных
- 3.3 Критерии
оценки модели данных
- 3.4 Этапы
проектирования базы данных
- 3.4.1
Концептуальное проектирование базы данных
- 3.4.2
Логическое проектирование базы данных
- 3.4.3
Физическое проектирование базы данных
- 4 Формулирование
и анализ требований
- 4.1 Определение
требований к системе
- 4.2 Пользовательские
представления
- 4.3 Сбор
и анализ требований пользователей
- 5 Концептуальное
проектирование базы данных
- 6 Модель
"сущность-связь"
- 6.1 Элементы
модели
- 6.1.1
Один к одному (обозначается 1 : 1 )
- 6.1.2
Один ко многим ( 1 : n )
- 6.1.3
Много к одному (n : 1 )
- 6.1.4
Многие ко многим ( n : n )
- 7 Критерии
выбора первичного ключа
- Список литературы
Введение.
Жизненные
циклы информационных систем. Цели
и задачи проектирования. Проектирование
баз данных (о трех этапах). Формулирование
и анализ требований. Концептуальное
проектирование. Модель «сущность-связь».
Критерии выбора первичного ключа.
Начиная
с 1970-х годов системы баз данных
стали постепенно заменять файловые
системы, использовавшиеся как часть
инфраструктуры информационных систем
(Information System — IS) организаций. Параллельно
с этим росло признание того факта,
что данные являются важным корпоративным
ресурсом, к которому нужно относиться
так же бережно, как и к другим
ресурсам организации. Это привело
к тому, что во многих организациях
появились целые отделы или функциональные
подразделения, занимавшиеся администрированием
данных (АД) и администрированием баз
данных (АБД). Они отвечали за обработку
и управление корпоративными данными
и корпоративными базами данных.
База
данных является фундаментальным компонентом
информационной системы, а ее разработку
и использование следует рассматривать
с точки зрения самых широких
требований организации. Следовательно,
жизненный цикл информационной системы
организации неотъемлемым образом
связан с жизненным циклом системы
базы данных, поддерживающей ее функционирование.
Жизненный цикл информационной системы
обычно состоит из нескольких этапов:
планирование, сбор и анализ требований,
проектирование, создание прототипа, реализация,
тестирование, преобразование данных
и сопровождение.
Все этапы
жизненного цикла информационной системы
здесь рассматриваются с точки
зрения разработки приложения баз данных.
Однако следует отметить, что разработку
любого приложения базы данных всегда
полезно рассматривать с более
широкой точки зрения — как
разработку определенного компонента
всей информационной системы организации
в целом.
Жизненный
цикл приложения баз данных
Как уже
упоминалось выше, система базы данных
является фундаментальным компонентом
более широкого понятия — информационной
системы организации. Следовательно,
жизненный цикл приложений баз данных
неразрывно связан с жизненным циклом
информационной системы. Этапы жизненного
цикла приложения базы данных показаны
на рисунке. Следует признать, что
эти этапы не являются строго последовательными,
а предусматривают в некоторых
случаях возврат к предыдущим
этапам с помощью обратных связей
(feedback loops). Например, при проектировании
базы данных могут возникнуть проблемы,
для разрешения которых потребуется
вернуться к этапу сбора и
анализа требований. Обратные связи
могут возникать почти между
всеми этапами, но на рисунке показаны
только наиболее важные из них. Основные
сведения о наиболее важных мероприятиях,
связанных с реализацией каждого
этапа жизненного цикла приложения
базы данных, приведены в таблице.
Для малых
приложений с небольшим количеством
пользователей жизненный цикл может
оказаться не очень сложным. Однако
он может стать чрезвычайно сложным
при проектировании среднего или
крупного приложения базы данных, с
десятками и даже тысячами пользователей,
сотнями запросов и прикладных программ.
Ниже в этой главе основное внимание
уделяется тем действиям, которые
связаны с разработкой средних
и крупных приложений баз данных.
В следующих разделах более подробно
рассматриваются основные мероприятия,
связанные с осуществлением каждого
этапа жизненного цикла приложения
базы данных.
Основные
действия, выполняемые на каждом этапе
жизненного цикла приложения базы данных:
Этап
|
Описание
|
Планирование
разработки базы данных |
Планирование
наиболее эффективного способа реализации
этапов жизненного цикла системы
|
Определение
требований к системе |
Определение диапазона
действий и границ приложения базыданных,
состава его пользователей и
областей применения |
Сбор
и анализ требований пользователей
|
Сбор и анализ
требований пользователей из всех возможных
областей применения |
Проектирование
базы данных |
Полный цикл
разработки включает концептуальное,
логическое и физическое проектирование
базы данных |
Выбор
целевой СУБД (необязательный этап)
|
Выбор наиболее
подходящей СУБД для приложения базы
данных |
Разработка
приложений |
Определение пользовательского
интерфейса и прикладных программ,
которые используют и обрабатывают
данные в базе данных |
Создание
прототипов (необязательный этап)
|
Создание рабочей
модели приложения базы данных, которая
позволяет разработчикам или
пользователям представить и
оценить окончательный вид и
способы функционирования системы
|
Реализация
|
Создание внешнего,
концептуального и внутреннего
определений базы данных и прикладных
программ |
Преобразование
и загрузка данных |
Преобразование
и загрузка данных (и прикладных
программ) из старой системы в новую
|
Тестирование
|
Приложение
базы данных тестируется с целью
обнаружения ошибок, а также его
проверки на соответствие всем требованиям,
выдвинутым пользователями |
Эксплуатация
и сопровождение |
На этом этапе
приложение базы данных считается полностью
разработанным и реализованным.
Впредь вся система будет находиться
под постоянным наблюдением и
соответствующим образом поддерживаться,
В случае необходимости в функционирующее
приложение могут вноситься изменения,
отвечающие новым требованиям. Реализация
этих изменений проводится посредством
повторного выполнения некоторых из
перечисленных выше этапов жизненного
цикла |
|
Цели
и задачи проектирования
В настоящее
время ключевая роль в достижении
успеха большинства компьютеризованных
систем принадлежит не используемому
оборудованию, а программному обеспечению.
Однако существующие исторические свидетельства
о разработке программного обеспечения
систем не производят столь глубокого
впечатления, как хронологические
обзоры стремительного прогресса в
области аппаратных средств вычислительной
техники. В последние десятилетия
прикладные программы проделали
путь от маленьких и сравнительно
простых приложений из нескольких строк
кода до очень больших и сложных
приложений, состоящих из нескольких
миллионов строк. Многие из этих приложений
требовали постоянного сопровождения,
включая исправление выявленных
ошибок, реализацию новых требований
пользователей, а также перенос
программного обеспечения на новые
или модернизированные вычислительные
платформы. Усилия и ресурсы, затрачиваемые
на сопровождение программного обеспечения,
возрастали угрожающими темпами. В
результате разработка и реализация
многих крупных проектов затягивалась,
их стоимость превосходила запланированную,
а окончательный продукт получался
ненадежным, сложным в сопровождении
и обладавшим недостаточной производительностью.
Все это привело к ситуации,
которая известна под названием
"кризис программного обеспечения".
Хотя первые упоминания о кризисе были
сделаны еще в конце 1960-х годов, даже спустя
более чем 40 лет его все еще не удалось
преодолеть. В настоящее время многие
авторы даже называют этот кризис "депрессией
программного обеспечения". В Великобритании
специальная Группа по изучению организационных
аспектов информатики (Organizational Aspects Special
Interest Group - OASIG) исследовала эту проблему
и сформулировала следующие выводы:
- Примерно
80-90% компьютеризованных систем не обладают
требуемой производительностью.
- При разработке
около 80% систем были превышены установленные
для этого временные и бюджетные рамки.
- Разработка
около 40% систем закончилась неудачно
или была прекращена до завершения работы.
- Менее чем
40% систем предусматривали профессиональное
обучение и повышение квалификации пользователей
во всем необходимом объеме.
- Гармонично
интегрировать интересы бизнеса и используемой
технологии удалось не более чем в 25% систем.
- Только 10-20%
систем отвечают всем критериям достижения
успеха.
Неудачи
при создании программного обеспечения
были вызваны следующими причинами:
- отсутствием
полной спецификации всех требований;
- отсутствием
приемлемой методологии разработки;
- недостаточной
степенью разделения общего глобального
проекта на отдельные компоненты, поддающиеся
эффективному контролю и управлению.
Для разрешения
этих проблем был предложен структурный
подход к разработке программного обеспечения,
называемый жизненным циклом информационных
систем (Information Systems Lifecycle), или жизненным
циклом разработки программного обеспечения
(Software Development LifeCycle — SDLC). Далее будет
использоваться только термин "жизненный
цикл информационных систем".
Проектирование
баз данных(о трех
этапах)
В этом
разделе представлен обзор основных
подходов к проектированию базы данных.
Здесь также описано назначение
и использование технологии моделирования
данных в процессе проектирования базы
данных. Затем в этом разделе рассматриваются
три основных этапа проектирования
баз данных: концептуальное, логическое
и физическое.
Пример
применения метода интеграции представлений
к управлению пользовательскими
представлениями
Подходы
к проектированию базы данных
Существуют
два основных подхода к проектированию
систем баз данных: нисходящий и
восходящий. При восходящем подходе
работа начинается с самого нижнего
уровня атрибутов (т.е. свойств сущностей
и связей), которые на основе анализа
существующих между ними связей группируются
в отношения, представляющие типы сущностей
и связи между ними. Например процесс
нормализации представляет собой вариант
восходящего подхода при проектировании
баз данных. Нормализация предусматривает
идентификацию требуемых атрибутов
с последующим созданием из них
нормализованных таблиц, основанных
на функциональных зависимостях между
этими атрибутами.
Восходящий
подход в наибольшей степени приемлем
для проектирования простых баз
данных с относительно небольшим
количеством атрибутов. Однако использование
этого подхода существенно усложняется
при проектировании баз данных с
большим количеством атрибутов,
установить среди которых все
существующие функциональные зависимости
довольно затруднительно. Поскольку
концептуальная и логическая модели
данных для сложных баз данных
могут содержать от сотен до тысяч
атрибутов, очень важно выбрать
подход, который помог бы упростить
этап проектирования. Кроме того, на
начальных стадиях формулирования требований
к данным в крупной базе данных может быть
трудно установить все атрибуты, которые
должны быть включены в модели данных.