Проектирование базы данных

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

Развитие системы БД во времени называют жизненным циклом. Последний делится на стадии анализа, проектирования и эксплуатации.

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

Вторая стадия состоит из этапов реализации БД, анализа функционирования и поддержки, модификации и адаптации.

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

Проектирование реализации (логическое проектирование) разделяют на две части: проектирование базы данных и проектирование программ. Результатом первой части является логическая структура БД. Результатом второй части считают функциональные описания программных модулей и наборы запросов к БД.

Физическое проектирование разделяют также на две части: выбор физической структуры БД и отладку программных модулей, полученных при проектировании программ. Результатом этапа является подготовка к эксплуатации БД.

На этапе реализации БД ставится задача разработки программ доступа к БД.

Этап анализа функционирования и поддержки обеспечивает статистическую обработку данных о функционировании системы. Восстановление БД и ее целостности после сбоев обеспечивает поддержка БД.

Этап модернизации и адаптации позволяет производить изменения, оптимизацию функционирования, модификацию программ.

Языки, используемые в БД, делят на языки описания данных (ЯОД) и языки манипулирования данными (ЯМД).

В общем случае ЯОД описывает различные типы записей, их имена и форматы, а также служит для определения:

· типов элементов данных, которые нужны в качестве ключей;

· отношений между записями или их частями и именования этих отношений;

· типа данных, которые используются в записях;

· диапазона их значений;

· числа элементов, их порядка и т. п.;

· секретности частей данных и режимов доступа к ним.

· Различают три уровня абстракции для описания данных:

o концептуальный (с позиции администратора);

o реализации (с позиции прикладного программиста и пользователя;

o физический (с позиции системного программиста).

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

Обычно ЯМД дают возможность манипулирования данными без знания несущественных для программиста подробностей. Они могут реализоваться как расширение языков программирования общего назначения путем введения в них специальных операторов или путем реализации специального языка.

При работе с БД используются несколько типов языков:

· манипулирования данными;

· программирования;

· описания физической организации данных.

Языки программирования, применяемые в БД, представляют собой распространенные языки типа ФОРТРАН, КОБОЛ и многие новые языки.

Языки описания логических схем пользователя реализуются средствами описания данных языка прикладного программирования, средствами СУБД, специальным языком.

Наиболее широко распространен первый способ описания. Он имеет в основе операторы объявления (например, DECLARE в языкеPL/I, STRUCT в СИ, type в ADA).

Языки описания схем БД предназначены для администратора БД. С их помощью определяют глобальные описания данных.

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

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

Процесс проектирования БД начинают с построения концептуальной модели (КМ). Концептуальная модель состоит из описания объектов и их взаимосвязей без указания способов физического хранения. Построение КМ начинается с анализа данных об объектах и связях между ними, сбора информации о данных в существующих и возможных прикладных программах. Другими словами, КМ — это модель предметной области. Версия КМ, обеспечиваемая СУБД, называется логической моделью (ЛМ). Подмножества ЛМ, которые выделяются для пользователей, называются внешними моделями (подсхемами). Логическая модельотображается в физическую, которая отображает размещение данных и методы доступа. Физическую модель называют ещевнутренней.

Внешние модели не связаны с используемыми ТС и методами доступа к БД. Они определяют первый уровень независимости данных. Второй уровень независимости данных связан с отсутствием изменений внешних моделей при изменении КМ.

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

Главное назначение СД состоит в документировании данных. Он должен обеспечивать централизованное введение и управление данными, взаимодействие между разработчиками любого проекта, например САПР. Существуют интегрированные и независимыеСД. В первом случае СД — это часть пакета программ СУБД, а во втором — отдельный пакет программ в виде дополнения к СУБД.

В настоящее время СД рассматривают как связующее звено в системе ПО обработки данных, включающей в себя процессор, СУБД, языки запросов, монитор телеобработки.

В полном объеме СД обязан:

· поддерживать КМ, логическую, внутреннюю и внешнюю модели;

· быть интегрированным с СУБД, поддерживать тестовые и рабочие версии хранимых описаний;

· обеспечивать эффективный обмен информацией с СУБД и процесс изменения рабочей версии при изменении БД.

Словарь данных должен иметь свою БД. Основные составляющие БД словаря данных:

· атрибут;

· объект;

· групповой элемент данных;

· выводимый объект данных;

· синонимы, т. е. атрибуты, имеющие одинаковое назначение, но различные идентификаторы;

· омонимы, т. е. атрибуты с различным назначением, но с одинаковыми идентификаторами;

· описание КМ, ЛМ, внешних и внутренних моделей;

· описание, позволяющее пользователям формально и однозначно выбирать атрибуты для решения задач.

Контрольные вопросы и упражнения

1. Что такое система данных?

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

3. Что такое идентификаторы объекта и ключевые атрибуты?

4. Что такое запись данных? Приведите примеры.

5. Что такое файл данных (набор данных)?

6. Приведите пример взаимно однозначного соответствия между прикладными программами логического проектирования и файлами данных.

7. Какие проблемы возникают при обработке данных с несколькими файлами?

8. Приведите известные определения базы данных (БД).

9. В чем сходство и различие между БД и файлом?

10. Приведите основные определения системы управления базами данных (СУБД).

11. Опишите основные функции СУБД и требования к ним.

12. В чем заключается информационная согласованность в САПР?

13. Что такое функция администрирования БД и кто такой администратор БД (АБД)? Какие функции выполняет АБД?

14. Что такое независимость данных?

15. Какие языки используются в БД?

16. Что такое концептуальная модель (КМ)?

17. Приведите определение логической, внешней, внутренней (физической) моделей.

18. Что такое независимость данных?

19. Опишите иерархическую модель данных (ИМД). Постройте пример.

20. Опишите сетевую модель данных (СМД) и постройте пример.

21. Опишите реляционную модель данных (РМД) и постройте пример.


 


Лекция 11: