Проектирование БД на основе реляционной технологии

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Подходы к проектированию реляционных БД (РБД)[править]

Первый подход (предложен Э. Коддом) основан на понятии «универсального отношения», то есть таблицы, состоящей из всех атрибутов предметной области (ПО). В дальнейшем такая таблица разбивается путем декомпозиции на несколько взаимосвязанных нормализованных таблиц. В результате на этапе концептуального проектирования создается реляционная схема БД.

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

Подходы к организации баз данных[править]

Иерархические базы данных[править]

В основе данной модели — иерархическая модель данных. В этой модели имеется один главный объект и остальные — подчиненные — объекты, находящиеся на разных уровнях иерархии. Взаимосвязи объектов образуют иерархическое дерево с одним корневым объектом. Иерархическая БД состоит из упорядоченного набора нескольких экземпляров одного типа дерева. Автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя. Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много баз данных этой системы.

Сетевые базы данных[править]

Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков. В сетевой модели данных любой объект может быть одновременно и главным, и подчиненным, и может участвовать в образовании любого числа взаимосвязей с другими объектами. Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно — из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи. Типичным представителем является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL) — организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971 г., а позже появилось несколько систем, среди которых IDMS.

Реляционные базы данных[править]

Принято считать, что реляционный подход к организации баз данных был заложен в конце 1960-х гг. Эдгаром Коддом. В последние десятилетия этот подход является наиболее распространенным (с оговоркой, что в называемых в обиходе реляционными системах баз данных, основанных на языке SQL, в действительности нарушаются некоторые важные принципы классического реляционного подхода). Достоинствами реляционного подхода принято считать следующие свойства: реляционный подход основывается на небольшом числе интуитивно понятных абстракций, на основе которых возможно простое моделирование наиболее распространенных предметных областей; эти абстракции могут быть точно и формально определены; теоретическим базисом реляционного подхода к организации баз данных служит простой и мощный математический аппарат теории множеств и математической логики; реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти. Компьютерный мир далеко не сразу признал реляционные системы. В 70-е года прошлого века, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 80-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение. Реляционная модель данных основывается на математических принципах, вытекающих непосредственно из теории множеств и логики предикатов. Эти принципы впервые были применены в области моделирования данных в конце 1960-х гг. доктором Е. Ф. Коддом, в то время работавшим в IBM, а впервые опубликованы в технической статье «Реляционная модель данных для больших разделяемых банков данных». Эта статья является родоначальницей современной теории реляционных БД. Доктор Кодд определил 13 правил реляционной модели (которые называют 12 правилами Кодда).

12 правил Кодда:

  1. Реляционная СУБД должна быть способна полностью управлять базой данных через ее реляционные возможности.
  2. Информационное правило — вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах.
  3. Гарантированный доступ — любое значение в реляционной БД должно быть гарантированно доступно для использования через комбинацию имени таблицы, значения первичного ключа и имени столбца.
  4. Поддержка пустых значений (null value) — СУБД должна уметь работать с пустыми значениями (неизвестными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов.
  5. Онлайновый реляционный каталог — описание БД и ее содержания должны быть представлены на логическом уровне как таблицы, к которым можно применять запросы, используя язык базы данных.
  6. Исчерпывающий язык управления данными — по крайней мере, один из поддерживаемых языков должен иметь четко определенный синтаксис и быть всеобъемлющим. Он должен поддерживать описание структуры данных и манипулирование ими, правила целостности, авторизацию и транзакции.
  7. Правило обновления представлений (views) — все представления, теоретически обновляемые, могут быть обновлены через систему.
  8. Вставка, обновление и удаление — СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление
  9. Физическая независимость данных — на программы-приложения и специальные программы логически не влияют изменения физических методов доступа к данным и структур хранилищ данных.
  10. Логическая независимость данных — на программы-приложения и специальные программы логически не влияют, в пределах разумного, изменения структур таблиц.
  11. Независимость целостности — язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти.
  12. Независимость распределения — на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно.
  13. Неподрывность — невозможность обойти правила целостности, определенные через язык базы данных, использованием языков низкого уровня

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

 Основные понятия реляционной модели данных[править]

Выделим следующие основные понятия реляционных баз данных:

  • Тип данных — значения данных, хранимые в реляционной базе данных, являются типизированными.
  • Домен определяется путем задания некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу этого типа данных.
  • атрибут
  • Кортежем tr, соответствующим заголовку Hr, называется множество упорядоченных триплетов вида <A, T, v>, по одному такому триплету для каждого атрибута в Hr.
  • отношение r (Hr) называется конечное множество упорядоченных пар вида <A, T>, где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена.
  • первичный ключ переменной отношения является такое подмножество S множества атрибутов ее заголовка, что в любое время значение первичного ключа (составное, если в состав первичного ключа входит более одного атрибута) в любом кортеже тела отношения отличается от значения первичного ключа в любом другом кортеже тела этого отношения, а никакое собственное подмножество S этим свойством не обладает.

Этапы проектирования РБД[править]

Проектирование РБД состоит из двух этапов:

  1. Информационное моделирование ПО.
  2. Создание схемы реляционной БД.

Основные шаги проектирования РБД с использованием объектного подхода[править]

  1. Выделить объекты ПО и определить связи между ними (1:1, 1:М, М:N).
  2. Представить каждый объект ПО в виде таблицы, определив для нее первичный ключ и описав ограничения на значения данных.
  3. Представить каждую взаимосвязь вида 1:1 или 1:М с помощью внешнего ключа, добавив его в таблицу, находящуюся со стороны «многие».
  4. Представить каждую взаимосвязь вида М:N в виде отдельной таблицы с составным первичным ключом. Ввести в эту таблицу атрибуты, описывающие связь.
  5. Выполнить процедуру нормализации отношений (таблиц) в БД.
  6. Повторить перечисленные шаги пока не будет получен окончательный проект БД.

БД считается правильно спроектированной когда «один факт хранится один раз».

Процедура нормализации[править]

  1. Функциональные зависимости
  2. Нормализация отношений Нормализация — формальная процедура разбиения некоторой реляционной таблицы на две или более с целью получения такого проекта БД, в котором исключено избыточное дублирование информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных, возникающих в результате аномалий обновления, удаления и вставки, и создания структуры, в которой предусмотрена возможность ее будущих изменений и влияние этих изменений на приложения, использующие информацию этой БД, минимально.
  3. Многозначная зависимость В отношении R атpибут Y многозначно зависит от X, если каждому значению X соответствует несколько значений Y.

См. также[править]

Литература[править]

  • Дейт К. Введение в системы баз данных : Пер. с англ. — К.; М.; СПб : Изд. Дом «Вильямс», 1999. — 848 с., ил.
  • Малыхина М. П. Базы данных: основы, проектирование, использование, 2-е изд. перераб. и доп. — СПб.: БХВ-Петербург, 2006. — 528 с.: ил.
  • Боуман Дж., Эмерсон С., Дарновски М. Практическое руководство по SQL. — М. : Издательско-торговый дом «Русская редакция», 2001.
  • Андон Ф., Резниченко В. Язык запросов SQL. Учебный курс. — СПб. : Питер; Киев: Издательская группа BHV, 2006. — 416 с.: ил.