лекции по БД. Конспект лекций основы проектирования баз данных
Скачать 0.61 Mb.
|
Лекция 6. Реляционная алгебраПлан: Традиционные операции реляционной алгебры Специальные операции реляционной алгебры С точки зрения внешнего представления объектов реального мира модель данных — это основные понятия и способы, используемые при анализе и описании предметной области. Среди многих попыток представить обработку данных на формальном абстрактном уровне реляционная модель, предложенная Э. Ф. Коддом, стала по существу первой работоспособной моделью данных, поскольку помимо средств описания объектов имела эффективный инструментарий преобразований этих описаний — операции реляционной алгебры. Реляционная алгебра в том виде, в котором она была определена Э. Ф. Коддом, состоит из двух групп по четыре оператора. 1. Традиционные операции: объединение, пересечение, разность и декартово произведение. 2. Специальные реляционные операции: выборка, проекция, соединение, деление. Объединение возвращает таблицу, содержащую все записи, которые принадлежат либо одной из двух заданных таблиц, либо им обоим. Пересечение возвращает таблицу, содержащую все записи, которые принадлежат одновременно двум заданным таблицам. Разность возвращает таблицу, содержащую все записи, которые принадлежат первому из двух заданных таблиц и не принадлежат второй. Произведение возвращает таблицу, содержащую все возможные записи, которые являются сочетанием двух записей, принадлежащих соответственно двум заданным таблицам. Выборка возвращает таблицу, содержащую все записи из заданной таблицы, которые удовлетворяют указанным условиям. Проекция возвращает таблицу, содержащую все записи заданной таблицы, которые остались в этой таблицы после исключения из неё некоторых атрибутов Соединение возвращает таблицу, содержащую все возможные записи, которые представляют собой комбинацию атрибутов двух записей, принадлежащих двум заданным таблицам, при условии, что в этих двух комбинированных записях присутствуют одинаковые значения в одном или нескольких общих для исходных таблиц атрибутах (причем эти общие значения в результирующем записи появляются один раз, а не дважды). Деление для заданных двух унарных таблиц и одной бинарной возвращает таблицу, содержащую все записи из первой унарной таблицы, которые содержатся также в бинарной таблице и соответствуют всем записям во второй унарной таблице. Результат выполнения любой операции над таблицами также является таблицей, поэтому результат одной операции может использоваться в качестве исходных данных для другой. Другими словами, можно записывать вложенные реляционные выражения, т. е. выражения, в которых операторы сами представлены реляционными выражениями, причем произвольной сложности. Эта особенность называется свойством реляционной замкнутости. Вопросы для самоконтроля: Сколько реляционных операций образуют реляционную алгебру? Перечислите и охарактеризуйте операции реляционной алгебры. Приведите примеры. Лекция 7. Основные этапы проектирования БДПлан: Жизненный цикл БД Планирование разработки базы данных Определение требований к системе Сбор и анализ требований пользователей Проектирование базы данных Разработка приложений Реализация Загрузка данных Тестирование Эксплуатация и сопровождение Жизненный цикл БД Как и любой программный продукт, база данных обладает собственным жизненным циклом (ЖЦБД). Главной составляющей в жизненном цикле БД является создание единой базы данных и программ, необходимых для ее работы. ЖЦБД включает в себя следующие основные этапы (рисунок 7): Рисунок 7 - Жизненный цикл БД Планирование разработки базы данных Содержание данного этапа — разработка стратегического плана, в процессе которой осуществляется предварительное планирование конкретной системы управления базами данных. Планирование разработки базы данных состоит в определении трех основных компонентов: объема работ, ресурсов и стоимости проекта. Важной частью разработки стратегического плана является проверка осуществимости проекта, состоящая из нескольких частей. Первая часть — проверка технологической осуществимости. Она состоит в выяснении вопроса, существует ли оборудование и программное обеспечение, удовлетворяющее информационным потребностям фирмы. Вторая часть — проверка операционной осуществимости — выяснение наличия экспертов и персонала, необходимых для работы БД. Третья часть — проверка экономической целесообразности осуществления проекта. При исследовании этой проблемы весьма важно дать оценку ряду факторов, в том числе и таким: целесообразность совместного использования данных разными отделами; величина риска, связанного с реализацией системы базы данных; ожидаемая выгода от внедрения подлежащих созданию приложений; время окупаемости внедренной БД; влияние системы управления БД на реализацию долговременных планов организации. Определение требований к системе На данном этапе необходимо определить диапазон действия приложения базы данных, состав его пользователей и области применения. Определение требований включает выбор целей БД, выяснение информационных потребностей различных отделов и руководителей фирмы и требований к оборудованию и программному обеспечению. Сбор и анализ требований пользователей На данном этапе необходимо создать для себя модель движения важных материальных объектов и уяснить процесс документооборота. По каждому документу необходимо установить периодичность использования, определить данные, необходимые для выполнения выделенных функций (анализируя существующую и планируемую документацию, выясняют, как получается каждый элемент данных, кем получается, где в дальнейшем используется, кем контролируется. Собранная информация о каждой важной области применения приложения и пользовательской группе должна включать следующие компоненты: исходную и генерируемую документацию, подробные сведения о выполняемых транзакциях, а также список требований с указанием их приоритетов. Формализация собранной на этом этапе информации может быть повышена с помощью методов составления спецификаций требований, к числу которых относятся, например, технология структурного анализа и проектирования, диаграммы потоков данных и графики "вход — процесс — выход". Проектирование базы данных Полный цикл разработки базы данных включает концептуальное, логическое и физическое ее проектирование. Концептуальное проектирование базы данных Первая фаза процесса проектирования базы данных заключается в создании для анализируемой части предприятия концептуальной модели данных. В построении общей концептуальной модели данных выделяют ряд этапов. Выделение локальных представлений, соответствующих обычно относительно независимым данным. Каждое такое представление проектируется как подзадача. Формулирование сущностей, описывающих локальную предметную область проектируемой БД, и описание атрибутов, составляющих структуру каждой сущности. Выделение ключевых атрибутов. Спецификация связей между сущностями. Удаление избыточных связей. Анализ и добавление неключевых атрибутов. Объединение локальных представлений. Созданная концептуальная модель данных предприятия является источником информации для фазы логического проектирования базы данных. Логическое проектирование базы данных Цель второй фазы проектирования базы данных состоит в создании логической модели данных для исследуемой части предприятия. Логическая модель, отражающая особенности представления о функционировании предприятия одновременно многих типов пользователей, называется глобальной логической моделью данных. Процесс проектирования БД должен опираться на определенную модель данных (реляционная, сетевая, иерархическая), которая определяется типом предполагаемой для реализации информационной системы СУБД. Концептуальное и логическое проектирование — это итеративные процессы, которые включают в себя ряд уточнений, продолжающиеся до тех пор, пока не будет получен наиболее соответствующий структуре предприятия продукт. Физическое проектирование базы данных Целью проектирования на данном этапе является создание описания СУБД ориентированной модели БД. Действия, выполняемые на этом этапе, слишком специфичны для различных моделей данных, поэтому их сложно обобщить. Остановимся на реляционной модели данных. В этом случае под физическим проектированием подразумевается: создание описания набора реляционных таблиц и ограничений для них на основе информации, представленной в глобальной логической модели данных; определение конкретных структур хранения данных и методов доступа к ним, обеспечивающих оптимальную производительность системы с базой данных; разработка средств зашиты создаваемой системы. Разработка приложений Параллельно с проектированием системы базы данных выполняется разработка приложений. Главные составляющие данного процесса — это проектирование транзакций и пользовательского интерфейса. Проектирование транзакций Транзакции представляют некоторые события реального мира. Транзакция может состоять из нескольких операций, однако с точки зрения пользователя эти операции представляют собой единое целое, переводящее базу данных из одного непротиворечивого состояния в другое. Реализация транзакций опирается на тот факт, что СУБД способна обеспечивать сохранность внесенных во время транзакции изменений в БД и непротиворечивость базы данных даже в случае возникновения сбоя. Проектирование транзакций заключается в определении: данных, которые используются транзакцией; функциональных характеристик транзакции; выходных данных, формируемых транзакцией; степени важности и интенсивности использования транзакции. Проектирование пользовательского интерфейса Интерфейс должен быть удобным и обеспечивать все функциональные возможности, предусмотренные в спецификациях требований пользователей. Специалисты рекомендуют при проектировании пользовательского интерфейса использовать следующие основные элементы и их характеристики: содержательное название; ясные и понятные инструкции; логически обоснованные группировки и последовательности полей; визуально привлекательный вид окна формы или поля отчета; легко узнаваемые названия полей; согласованную терминологию и сокращения; согласованное использование цветов; визуальное выделение пространства и границ полей ввода данных; удобные средства перемещения курсора; средства исправления отдельных ошибочных символов и целых полей; средства вывода сообщений об ошибках при вводе недопустимых значений; особое выделение необязательных для ввода полей; средства вывода пояснительных сообщений с описанием полей; средства вывода сообщения об окончании заполнения формы. Реализация На данном этапе осуществляется физическая реализация базы данных и разработанных приложений, позволяющих пользователю формулировать требуемые запросы к БД и манипулировать данными в БД. База данных описывается на языке определения данных выбранной СУБД. В результате компиляции его команд и их выполнения создаются схемы и пустые файлы базы данных. На этом же этапе определяются и все специфические пользовательские представления. Прикладные программы реализуются с помощью языков третьего или четвертого поколений. Кроме того, на этом этапе создаются другие компоненты проекта приложения — например, экраны меню, формы ввода данных и отчеты. Реализация этого, а также и более ранних этапов проектирования БД может осуществляться с помощью инструментов автоматизированного проектирования и создания программ, которые принято называть CASE-инструментами (Computer-Aided Software Engineering). Загрузка данных На этом этапе созданные в соответствии со схемой базы данных пустые файлы, предназначенные для хранения информации, должны быть заполнены данными. Наполнение базы данных может протекать по-разному, в зависимости от того, создается ли база данных вновь или новая база данных предназначена для замены старой. Тестирование Для оценки законченности и корректности выполнения приложения базы данных может использоваться несколько различных стратегий тестирования: нисходящее тестирование; восходящее тестирование; тестирование потоков; интенсивное тестирование. Эксплуатация и сопровождение Основные действия, связанные с этим этапом сводятся к наблюдению за созданной системой и поддержке ее нормального функционирования по окончании развертывания. Поддержка БД предполагает разрешение проблем, возникающих в процессе эксплуатации БД и связанных как с ошибками реализации БД, так и с изменениями в самой предметной области, созданием дополнительных программных компонент или модернизацией самой БД. Вопросы для самоконтроля: Перечислите этапы, составляющие жизненный цикл БД. Что является целью каждого этапа? Какие работы ведутся на каждом из этапов? |