Вопрос I. Основные понятия. Вопрос 2. Проектирование баз данных.
Понятие «база данных» возникло в результате стандартизации и унификации данных, универсально организованных и хранящихся с помощью ЭВМ с целью использования для многих приложений. При этом описание данных уже не скрыто в программах, а явным образом декларируется и хранится в самой базе. База данных может быть определена как структурная совокупность данных, поддерживаемых в актуальном состоянии (в соответствии объектам некоторой предметной области) и служащая для удовлетворения информационных потребностей многих пользователей. Базы данных устраняют избыточность и противоречивость данных. Для поддержания актуальности данных, хранящихся в базе, получения сводок по информационным запросам, перехода к данным и программам пользователей служат системы управления базами данных ( СУБД ).
Основой СУБД являются два языка - язык описания данных ( ЯОД ) и язык манипулирования данными ( ЯМД ). С помощью языка описания данных администратор базы данных и программисты описывают структуру и содержимое базы данных. Язык манипулирования данными является средством, которое применяется пользователями или прикладным программистом для выполнения операций над данными, хранящимися в базе. Смысл элементов данных, способы их использования, источники, различные правила и ограничения представляют собой метаданные. В формализованном виде данные могут содержаться в словарях данных, обслуживающих базы данных. Основными функциями словарей данных, являются установление единообразного понимания данных пользователями БД ; эффективное управление элементами данных при модификации описания данных в системе ; уменьшение избыточности ; устранение противоречивости ; упрощение проектирования БД и ее сопровождения, расширения и т. д.
Администратор - это специалист, имеющий представление об информационных потребностях конечных пользователей и отвечающий за определение, загрузку, защиту и эффективность базы данных.. Аналитики, обладая знаниями закономерностей соответствующей предметной области, в контакте с конечными пользователями строят формальные ( матема тические ) модели для задач конечного пользователя, которые являются исходным представлением задачи для прикладного программиста. Прикладные программисты на основе представления задачи, полученного ана литиками, разрабатывают прикладные программы для решения задач конечных пользователей. Системные программисты обеспечивают работоспособность операционной сис темы, систем программирования и СУБД, разрабатывают сервисные программы.
Важнейшие требования, к современным базам данных: адекватность базы данных предметной области; интегрированность данных; независимость данных; минимальная избыточность хранимых данных; целостность базы данных; обеспечение защиты от несанкционированного доступа или случайного уничтожения данных; гибкость и адаптивность структуры базы данных; «динамичность данных и способность к расширению; возможность поиска по многим ключам.
Вопрос 2. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ К любой базе данных возможен подход на каждом из следующих трех уровней (рис. 1) «на уровне представлений данных конечного пользователя или прикладного программиста (внешнего представления); на уровне концептуального представления данных (представления администратора); на уровне внутреннего представления данных (с позиции системного программиста или представления реализации, Под представлением данных понимаются правила организации и кодирования.
Трехуровневое представление данных в концепции ANSI/SPARC
Представление данных конечного пользователя ( внешнее представление ) является совокупностью требований к данным со стороны некоторой конкретной задачи или программы. Для конечного пользователя внешнее представление является совокупностью спецификаций и реальных форматов данных, отражающих конкретные информационные потребности при решении некоторой задачи ( проблемы ). Концептуальное представление данных является интегрированным определением данных на основе объединения внешних представлений данных для всей сово купности приложений, т. е. достаточно полной моделью предметной области. Структура данных на концептуальном уровне называется концептуальной схемой и описывает семантику данных.
Основными понятиями внутреннего представления являются физические блоки, хранимые записи, указатели. Внутреннее представление обеспечивает доступ к данным на логическом уровне и скрывает от прикладных программистов и пользователей многие технические детали манипулирования данными и методов доступа к ним.
Концептуальное представление основано на определенной модели данных. Различают три основные типа модели данных : иерархический, сетевой и реляционный. Важную роль при проектировании базы данных играет методология построения концептуальных моделей предметной области, включающая методы и средства, позволяющие спроектировать базу данных, удовлетворяющую заданным целям и требованиям пользователей и прикладных программистов. Средства моделирования Системный анализ Методы экспертных оценок
В недавнем прошлом процесс проектирования баз данных был ориентирован, в основном, на требования пользователей и прикладных программистов ( ПП - информация ) и учитывал текущие или предвидимые приложения. Важную роль при проектировании стала играть информация о предметной области ( ПО - информация ), не зависящая напрямую от существующих приложений и обеспечивающая гибкость, адаптивность и универсальность данных, пригодность всей системы к развитию и использованию для незапланированных будущих приложений.
Процесс построения концептуальной модели разделяется на следующие этапы : сбор и содержательный анализ априорной информации о предметной области и прикладных задачах пользователей ; Результатом данного этапа являются 1. список всех создаваемых и используемых элементов данных ; 2. перечень прикладных задач, их характеристик и используемых в них данных ; 3. список принимаемых решений в управлении организацией или процессами, а также условий и правил их принятия ; 4) список возможных будущих изменений в деятельности и их влияний на принятие решений. концептуальный анализ данных и синтез концептуальной модели. На этапе концептуализации собранной информации выявляются элементы предметной области, их свойства и взаимосвязи, затем синтезируется структура концептуальной модели базы данных. Наиболее известными подходами концептуализации являются анализ сущностей и представление знаний.
В качестве основных принципов системного подхода при построении моделей используются : рассмотрения объекта с различных точек зрения, выявления аспектов изучаемого объекта с учетом их взаимосвязи; расчленения объекта на более простые подсистемы (основанием для введения подсистем является то, что связи между подсистемами много слабее, чем между элементами внутри подсистемы, а каждая подсистема много проще, чем вся система в целом); выделения иерархических отношений типа «целое - часть» между компонентами системы разных уровней и отношений эквивалентности между компонентами одного уровня.