Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Основы проектирования баз данных (Аспект структуры)

Содержание:

Введение

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

  • Аспект структуры: методы описания типов и логических структур данных в базе данных;
  • Аспект манипуляции: методы манипулирования данными;
  • Аспект целостности: методы описания и поддержки целостности базы данных.

Аспект структуры

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

Модель данных — это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы — поведение данных.

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

C:\Users\edu-msk3-409-07\Desktop\img-ghxuPC.png

Рисунок 1. Схема модели данных

На рисунке 1 показана схема модели данных

В литературе, статьях и в обиходной речи иногда встречается использование термина «модель данных» в смысле «схема базы данных» («модель базы данных»). Такое использование является неверным, на что указывают многие авторитетные специалисты, в том числе К. Дж. Дейт, М. Р. Когаловский, С. Д. Кузнецов. Модель данных есть теория, или инструмент моделирования, в то время как модель базы данных (схема базы данных) есть результат моделирования. По выражению К. Дейта соотношение между этими понятиями аналогично соотношению между языком программирования и конкретной программой на этом языке.

М. Р. Когаловский поясняет эволюцию смысла термина следующим образом. Первоначально понятие модели данных употреблялось как синоним структуры данных в конкретной базе данных. В процессе развития теории систем баз данных термин «модель данных» приобрел новое содержание. Возникла потребность в термине, который обозначал бы инструмент, а не результат моделирования, и воплощал бы, таким образом, множество всевозможных баз данных некоторого класса. Во второй половине 1970-х годов во многих публикациях, посвященных указанным проблемам, для этих целей стал использоваться все тот же термин «модель данных». В настоящее время в научной литературе термин «модель данных» трактуется в подавляющем большинстве случаев в инструментальном смысле (как инструмент моделирования).

Тем не менее, длительное время термин «модель данных» использовался без формального определения. Одним из первых специалистов, который достаточно формально определил это понятие, был Э. Кодд. В статье «Модели данных в управлении базами данных» он определил модель данных как комбинацию трех компонентов:

Коллекции типов объектов данных, образующих базовые строительные блоки для любой базы данных, соответствующей модели

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

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

Модель данных

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

Различают взаимосвязи типа:

  • один к одному;
  • один ко многим;
  • многие ко многим.

Взаимосвязь «один к одному» означает, что каждой записи в одном объекте может соответствовать только одна запись в другом объекте и обозначается одинарными стрелками между объектами.

Рисунок 2. Схема взаимосвязи «один к одному»

На рисунке 2 представлен пример взаимосвязи «один к одному». Где сотрудник может руководить только одним отделом, и у каждого отдела есть только один руководитель.

Взаимосвязь «один ко многим» свидетельствует о том, что одной записи в одном объекте может соответствовать несколько записей в другом объекте и обозначается с помощью одинарной стрелки в одном направлении и двойной стрелки в другом направлении.

Рисунок 3. Схема взаимосвязи «один ко многим»

На рисунке 3 представлен пример взаимосвязи «один ко многим». Где в каждом отделе может быть множество сотрудников, но каждый сотрудник работает только в одном отделе.

Взаимосвязь «многие ко многим» свидетельствует о том, что одной записи в одном объекте может соответствовать несколько записей в другом объекте и наоборот, обозначается такая связь с помощью двойной стрелки в одном направлении и двойной стрелки в другом направлении.

Рисунок 4. Схема взаимосвязи «многие ко многим»

На рисунке 4 представлен пример взаимосвязи «многие ко многим». Где каждый счет может включать множество товаров, и каждый товар может входить в разные счета.

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

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

Виды моделей данных

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

На реляционной модели данных строятся реляционные базы данных.

Реляционная модель данных включает следующие компоненты:

  1. Структурный аспект (составляющая) — данные в базе данных представляют собой набор отношений.
  2. Аспект (составляющая) целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.
  3. Аспект (составляющая) обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).

Кроме того, в состав реляционной модели данных включают теорию нормализации.

Термин «реляционный» означает, что теория основана на математическом понятии отношение (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица. Необходимо помнить, что «таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране. Некорректное и нестрогое использование термина «таблица» вместо термина «отношение» нередко приводит к недопониманию. Наиболее частая ошибка состоит в рассуждениях о том, что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковыми могут быть только визуальные представления таблиц. Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими».

Для лучшего понимания РМД следует отметить три важных обстоятельства:

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

Иерархическая модель данных

— представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.

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

Первые системы управления базами данных использовали иерархическую модель данных.

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

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

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

C:\Users\edu-msk3-409-07\Desktop\44.png

Рисунок 5. Схема «Иерархической модели данных»

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

Преобразование связи типа «один ко многим» между предком и потомком осуществляется практически автоматически в том случае, если потомок имеет одного предка, и происходит это следующим образом. Каждый объект с его атрибутами, участвующий в такой связи, становится логическим сегментом. Между двумя логическими сегментами устанавливается связь типа «один ко многим». Сегмент со стороны «много» становится потомком, а сегмент со стороны «один» становится предком.

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

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

C:\Users\edu-msk3-409-07\Desktop\45.png

Рисунок 6. Схема «Сетевой модели данных»

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

Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.

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

  1. Каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
  2. Каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.
  3. Достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности.

Недостатком сетевой модели данных являются высокая сложность и жесткость схемы БД, построенной на ее основе.

Список источников

  1. https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 )
  2. http://inf.e-alekseev.ru/text/Model_dannyh.html
  3. https://studme.org/117582/informatika/ponyatie_modeli_dannyh_vidy_modeley_dannyh