Методы проектирования баз данных

ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

В ПРОФЕССИНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ

 

Тема 47. Методы проектирования баз данных

 

Оглавление

 

Введение………………………………………………………………….3

1. Принципы построения  баз данных…………………………………..4

2. Методы проектирования  БД………………………………………….7

Заключение……………………………………………………………..19

Список литературы…………………………………………………….20

 

 

Введение

 

Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их понять). Такое описание называют данными.

Традиционно фиксация данных осуществляется с помощью конкретного средства общения, например, с помощью естественного языка на конкретном носителе.

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

База данных (БД) — именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.

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

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

Программы, с помощью которых пользователи работают с БД, называются приложениями.

Цель работы – проанализировать методы проектирования баз данных.

 

 

1. Принципы построения  баз данных

 

К современным базам данных, а, следовательно, и к СУБД, на которых они строятся, предъявляются следующие основные требования1.

1. Высокое быстродействие (малое время отклика на запрос).

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

2. Простота обновления  данных.

3. Независимость данных.

4. Совместное использование  данных многими пользователями.

5. Безопасность данных - защита  данных от преднамеренного или  непреднамеренного нарушения секретности, искажения или разрушения.

6. Стандартизация построения и эксплуатации БД (фактически СУБД).

7. Адекватность отображения  данных соответствующей предметной  области.

8. Дружелюбный интерфейс  пользователя.

Важнейшими являются первые два противоречивых требования: повышение быстродействия требует упрощения структуры БД, что, в свою очередь, затрудняет процедуру обновления данных, увеличивает их избыточность.

Независимость данных - возможность изменения логической и физической структуры БД без изменения представлений пользователей.

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

Безопасность данных включает их целостность и защиту.

Целостность данных - устойчивость хранимых данных к разрушению и уничтожению, связанных с неисправностями технических средств, системными ошибками и ошибочными действиями пользователей.

Она предполагает:

1. отсутствие неточно  введенных данных или двух  одинаковых записей об одном  и том же факте;

2. защиту от ошибок при обновлении БД;

3. невозможность удаления (или каскадное удаление) связанных  данных разных таблиц;

4. неискажение данных  при работе в многопользовательском  режиме и в распределенных  базах данных;

5. сохранность данных  при сбоях техники (восстановление данных).

Целостность обеспечивается триггерами целостности – специальными приложениями-программами, работающими при определенных условиях. Защита данных от несанкционированного доступа предполагает ограничение доступа к конфиденциальным данным и может достигаться2:

1. введением системы паролей;

2. получением разрешений  от администратора базы данных (АБД);

3. запретом от АБД на  доступ к данным;

4. формирование видов - таблиц, производных от исходных и  предназначенных конкретным пользователям.

Три последние процедуры легко выполняются в рамках языка структуризованных запросов Structured Query Language - SQL, часто называемого SQL2.

Стандартизация обеспечивает преемственность поколений СУБД, упрощает взаимодействие БД одного поколения СУБД с одинаковыми и различными моделями данных. Стандартизация (ANSI/SPARC) осуществлена в значительной степени в части интерфейса пользователя СУБД и языка SQL. Это позволило успешно решить задачу взаимодействия различных реляционных СУБД как с помощью языка SQL, так и с применением приложения Open DataBase Connection (ODBC). При этом может быть осуществлен как локальный, так и удаленный доступ к данным (технология клиент/сервер или сетевой вариант).

 

 

2. Методы проектирования  БД

 

Целью проектирования БД является адекватное отображение в базе данных сути предметной области, рассматриваемой с точки зрения решения задачи автоматизации.

В теории баз данных существует ряд методов разработки моделей БД, отображающих разные уровни её архитектуры. Распространены два основных подхода к проектированию баз данных: «нисходящий» и «восходящий».

Известен также подход «смешанной стратегии» - сначала «восходящий» и «нисходящий» методы используются для разных частей модели, после чего все подготовленные фрагменты собираются в единое целое.

Метод восходящего проектирования БД

При «восходящем» подходе осуществляют структурное проектирование снизу-вверх. Этот процесс называют процессом синтеза, попыткой получения целого, адекватно отображающего описание предметной области, на основе описания составляющих его частей.

Этапы проектирования БД методом «восходящего» проектирования представлены на рисунке 1.

Рисунок 1 - Этапы проектирования БД методом «восходящего» проектирования

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

Как правило, получают 2 - 3 реляционных отношения, связанных между собой.

Избыточность данных в ненормализованной схеме – повторение данных в БД.

Для того чтобы полученная структура БД (ДЛМ) не обладала различными аномалиями при добавлении, обновлении или удалении данных вследствие их избыточности, необходимо осуществить проверку каждой полученной схемы отношения, как минимум, на соответствие 3НФ. Если схемы отношений не соответствуют этому условию, а они, как правило, не соответствуют, необходимо проводить процесс нормализации.

Значительный объем мероприятий по нормализации схем реляционных отношений даже дал второе название методу «восходящего» проектирования. Этот метод часто называют методом «нормализации». Основы теории нормализации создал Э. Кодд3.

Нормализация – это процесс проектирования в терминах реляционной модели данных методом последовательных приближений к удовлетворительному набору схем.

Совокупность схем отношений называется схемой реляционной БД.

Нормализация исключает избыточность и аномалии в БД.

Этапы проектирования БД методом нормализации:

Выделяют следующие этапы4:

1. Определение всех атрибутов, сведения о которых будут включены  в БД - сбор сырых данных на  предприятии.

2. Составление списка  сырых данных в виде схем  реляционных отношений.  Полученная  в итоге схема отношений находятся в нулевой нормальной форме (0НФ).

3. Приведение схемы отношения  к 1НФ

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

Опр.: повторяющаяся группа – один или более элементов данных, которые имеют более одного значения для одного значения части ключа. Рассматривается, если первичный ключ составной.

Разбиение схемы отношения на атомарные атрибуты.

Удаление повторяющихся групп.

4. Изучение смысла (семантики) данных и определение набора  атрибутов – потенциального (уникального) ключа отношения. Может быть несколько  уникальных ключей.

Уникальный (потенциальный) ключ – атрибут или набор атрибутов, который полностью и однозначно определяет значения других атрибутов.

5. Если отношение обладает  несколькими потенциальными ключами, то нужно выбрать среди них  кандидата в первичный ключ.

6. Выявление функциональных  зависимостей между атрибутами  нормализуемой схемы отношения.

Опр.: функциональной зависимостью атрибута В (набора атрибутов) отношения R от атрибута (набора атрибутов) А отношения R, обозначаемой

R.A -> R.B                    A->B

называется такая связь между атрибутами отношения, что в каждый момент времени каждому значению атрибута (набору атрибутов) В соответствует только одно значение атрибута (набора атрибутов) А.

Однако для заданного значения атрибута В может существовать несколько различных значений атрибута А.

Таким образом, если из семантики предметной области нам известно значение атрибута А, то мы в предметной области однозначно можем определить значение атрибута В.

ФЗ является смысловым свойством атрибутов отношения.

В отношении м.б. выявлено много функциональных зависимостей, т.е. в отношении м.б. выявлено много детерминантов.

Опр.: ключевой атрибут – атрибут, входящий в состав первичного ключа

Опр.: не ключевой атрибут – атрибут, не входящий в состав первичного ключа.

Опр.: частичная ФЗ – это зависимость не ключевого атрибута от части составного первичного ключа.

Опр.: полная ФЗ – это зависимость не ключевого атрибута от всего составного первичного ключа.

Имеет смысл рассматривать полную и частичную ФЗ в том случае, если ПК – составной.

7. Приведение схемы отношения  к 2НФ

Технология приведения ко 2НФ:

1) В отдельную схему отношения выносится составной первичный ключ и те атрибуты, которые функционально полно зависят от него. Если таких атрибутов нет, то первичный ключ выносится один.

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

Сколько частей первичного ключа образовали частичные ФЗ, столько схем получаем

3) Исходная схема удаляется.

8. Определение транзитивных  зависимостей в каждом нормализуемом  отношении

Опр.: транзитивная зависимость – атрибут С отношения R транзитивно зависит от атрибута А отношения R, если для атрибутов А, В, С выполняется условие существования следующих ФЗ:

 А -> B

B -> C

при условии, что атрибут А функционально не зависит ни от атрибута В, ни от атрибута С.

9. Удаление транзитивных зависимостей путем декомпозиции схем отношений

10 Определение условий  необходимости анализа схем отношений  на соответствие НФБК (нормальной  формы Бойса – Кодда - BCNF)

Эта нормальная форма вводит дополнительное ограничение по сравнению с 3НФ.

Опр.: Отношение находится в НФБК, если оно находится в 3НФ и каждый детерминант отношения является потенциальным ключом отношения.

Опр.: Детерминантом ФЗ называется атрибут (набор атрибутов), расположенный в левой части ФЗ, т.е. от детерминанта функционально полно зависит некоторый другой атрибут (атрибуты)

В отношении может быть несколько детерминантов.

Ситуация, когда отношение будет находиться в 3НФ, но не в НФБК, возникает при условии, что отношение имеет два (или более) возможных (потенциальных) ключа, которые являются составными и имеют общий атрибут.

Таким образом, НФБК учитывает ФЗ, в которых участвуют все потенциальные ключи отношения, а не только ПК.

На практике такая ситуация встречается достаточно редко, и для всех прочих отношений 3NF и BCNF эквивалентны.

Для отношения с единственным потенциальным  ключом его 3НФ эквивалентна и НФБК.

Таким образом, для успешного проведения нормализации (до 3НФ) необходимо на основе анализа предметной области (анализа документов предметной области) для каждой схемы реляционного отношения5:

- выявить потенциальные ключи;

- увидеть повторяющиеся группы и не атомарные атрибуты;

- привести схемы отношения к 1НФ;

- определить функциональные зависимости между не ключевыми атрибутами и первичным ключом;

- определить частичные функциональные зависимости;

- осуществить декомпозицию (деление) соответствующих схем отношений для удалений частичных функциональных зависимостей;

- увидеть транзитивные зависимости между не ключевыми атрибутами и первичным ключом;

- исключить транзитивные зависимости путем декомпозиции соответствующих схем отношений.

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

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

Рассмотрим на рисунке 2схему процесса нормализации.

Рисунок 2. - Схема процесса нормализации

«Восходящее» проектирование – это достаточно сложная и устаревшая методика, которая подходит для проектирования только небольших баз данных.

Нисходящее проектирование БД

При «нисходящем» проектировании осуществляется структурное проектирование сверху-вниз («нисходящее» проектирование).

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

Этапы проектирования БД методом «нисходящего» проектирования представлены на рисунке 3.

Рисунок 3. - Этапы проектирования БД методом «нисходящего» проектирования.

Для отображения метода использованы следующие обозначения: в кругах описаны названия этапов проектирования, в прямоугольниках – результаты.

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

На основе описания внешнего уровня строится концептуальная информационно—логическая модель предметной области (ИЛМ), затем на её основе получают даталогическую модель (ДЛМ) базы данных. ДЛМ является основой для следующего этапа проектирования БД – этапа формирования физической модели базы данных.

Такой подход к проектированию БД называют также концептуальным или концептуальным проектированием.

В концептуальном подходе к проектированию БД выделяют следующие три сферы6:

- реальный мир или объектную  систему;

- информационную сферу;

- даталогическую сферу.

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

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

Объекты объединены в классы объектов (экземпляры сущностей  в сущность, или ещё говорят – тип сущности). Класс объектов может состоять из одного или более объектов.

Например, класс объектов ФИЗИЧЕСКОЕ ЛИЦО, отдельные объекты – Иванов, Петров, Сидоров.

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

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

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

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

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

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

- анализ предметной области, выявление классов объектов и связей между ними (формирование внешнего уровня БД) – описание объектной сферы;

- концептуальное инфологическое  проектирование. Строится концептуальная  информационно—логическая модель (ИЛМ) предметной области, формально (в терминах выбранной методологии построения ИЛМ) описывающая классы объектов и связи между ними (формирование концептуального уровня БД) – описание информационной сферы;

- концептуальное даталогическое  проектирование. На основе ИЛМ  в терминах выбранной модели  данных строится концептуальная даталогическая модель (ДЛМ) БД (формирование концептуального уровня БД) – описание даталогической сферы;

- преобразование ДЛМ в  физическую модель БД, полученную  на ЯОД выбранной СУБД (формирование  внутреннего уровня БД).

Замечание: на втором этапе проектирования ИЛМ можно преобразовать в любую даталогичскую модель – иерархическую, сетевую, реляционную, традиционные файлы.

Метод «нисходящего» проектирования достаточно формализован и используется в CASE (Computer Aided System/Software Engineering — компьютерное проектирование программного обеспечения и систем) средствах.

Замечания по использованию CASE − средств:

- особенно эффективно  их использование при создании  крупных корпоративных АИС большим  коллективом разработчиков;

- современные CASE − средства позволяют поддерживать как начальные этапы разработки АИС, так и проектирование, и генерацию баз данных и пользовательских интерфейсов;

- CASE − средства обеспечивают  качество принимаемых технических  решений и подготовку проектной  документации.

Сравнение методов проектирования (приведено в таблице) (для реляционной модели данных).

 

Таблица - Сравнение методов проектирования БД

Критерии

«Нисходящее» проектирование

(Концептуальный подход)

«Восходящее» проектирование

(Метод нормализации)

Степень описания семантики (смысла) предметной области

Высокая

Низкая

(начальная модель –  ДЛМ РБД, термины РМД не предусматривают  возможность описания полного смысла  предметной области.)

Вероятность появления ошибок в последующей работе АИС

Низкая

(при условии качественного  проектирования)

Высокая

Степень формализации процесса (возможность автоматизации процесса)

Высокая

Отсутствует

Объем трудозатрат при приведении ДЛМ БД к заданной НФ

Небольшой

Очень большой


 

 

Заключение

 

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

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

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

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

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

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

Список литературы

 

  1. Балдин К. В. Информационные системы в экономике: Учебник / К. В. Балдин. – ИНФРА – М, 2008. – 395 с.
  2. Барановская Т. П. Информационные системы и технологии в экономике: Учебник / Т. П. Барановская, М. И. Семенов, А. И. Трубилин. - ЮНИТИ – ДАНА, 2007. – 198 с.
  3. Исаев Г. И. Информационные системы в экономике / Г. И. Исаев. – Омега – Л, 2008. – 464 с.
  4. Филимонова Е. В. Информационные системы в экономике / Е. В. Филимонова, Н. А. Черненко, А. С. Шубин. – М.: Феникс, 2008. – 448 с.
  5. Чернышов Ю. И. Информационные технологии в экономике / Ю. И. Чернышов. – Горячая Линия – Телеком, 2008. – 240 с.

1 Чернышов Ю. И. Информационные технологии в экономике / Ю. И. Чернышов. – Горячая Линия – Телеком, 2008. С.76.

2 Чернышов Ю. И. Информационные технологии в экономике / Ю. И. Чернышов. – Горячая Линия – Телеком, 2008. С.78.

3 Исаев Г. И. Информационные системы в экономике / Г. И. Исаев. – Омега – Л, 2008. С.254.

4 Балдин К. В. Информационные системы в экономике: Учебник / К. В. Балдин. – ИНФРА – М, 2008. С.146.

5 Филимонова Е. В. Информационные системы в экономике / Е. В. Филимонова, Н. А. Черненко, А. С. Шубин. – М.: Феникс, 2008. С.354.

6 Барановская Т. П. Информационные системы и технологии в экономике: Учебник / Т. П. Барановская, М. И. Семенов, А. И. Трубилин. - ЮНИТИ – ДАНА, 2007. С.85.

 


Методы проектирования баз данных