Подпишись и читай
самые интересные
статьи первым!

Моделирование и описание сущностей. Основы баз данных

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

Для формирования элементов диаграммы используется палитра элементов ("Palette", рис. 3.49), где размещена область "Data" с объектами "Entity" (сущность) и связи. Выбор элемента палитры "Entity" (сущность) предоставит пользователю возможность создать объект "Сущность" на диаграмме, в результате чего необходимо ввести название сущности.


Создание сущностей может быть также реализовано через контекстное меню папки "Package..." (пакет...), где пункт меню "Add Data Object/ Entity" (Добавить новый объект/Сущность) создаст сущность в дереве проекта и предоставит разработчику возможность, как и на диаграмме, ввести название сущности (рис. 3.50).


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

В закладке свойств сущности "Volumetries" (Измерители) разработчик может указать параметры изменения количества экземпляров рассматриваемой сущности (рис. 3.51), среди которых:

  • Initial number of rows (начальное количество экземпляров) - указывает на то количество данных (экземпляров), которое должно быть добавлено сразу после создания таблицы;
  • Row growth per month (добавление экземпляров в месяц) - указывает, какое количество экземпляров должно добавляться в месяц;
  • Maximum number of rows (максимальное количество экземпляров) - указывает на максимальное количество экземпляров, которое может храниться в таблице, описываемой рассматриваемой сущностью.


Рис. "3.51. Установление параметров изменения
количественных показателей сущности

В разделе свойств сущности среди параметров закладки "General" (основное) разработчику предлагается установить дополнительный параметр "Persistent" (постоянный), который определяет возможность трансформации сущности в таблицу при переходе от логической к физической модели базы данных. Но вся информация о структуре будущей базы данных заложена в связях между сущностями и атрибутах, которые характеризуются значительно большим количество параметров. Используя закладку "Attributes" (атрибуты), можно создать атрибуты сущности и определить их основные параметры.

Также, аналогично созданию сущности, атрибуты могут быть созданы различными способами (рис. 3.52):

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

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


Puc. 3.52. Пример создания атрибута
через свойства сущности

При использовании свойств сущности разработчик в закладке "Attributes" (атрибуты), используя пиктограмму со знаком "+", создает новые атрибуты, после чего должен определить основные параметры созданного атрибута:

  • Name (наименование) - наименование атрибута, по которому определяется содержательный смысл описываемых данных;
  • Primary Key (первичный ключ) - признак, обозначающий, что атрибут является элементом первичного ключа и для него необходимо создать соответствующие ограничения целостности;
  • Surrogate Key (суррогатный ключ) - признак, обозначающий, что атрибут не является элементом предметной области, но необходим для эффективной работы с базой данных и будет содержать значения, автоматически генерируемые в соответствии с правилами арифметической прогрессии;
  • Туре (тип) - тип данных, которым описываются значения, представляемые атрибутом;
  • Length/Precision (размер/точиость) - числовое значение, обозначающее количество символов (байт), необходимых для хранения максимального значения по описываемому атрибуту;
  • Scale (масштаб) - числовое значение, используемое для числовых атрибутов, которое описывает количество знаков после десятичной точки при работе с вещественными числами;
  • Required (обязательность) - признак невозможности хранения по атрибуту пустого значения NULL;
  • Derived (вычисляемое) - признак необходимости вычисления значения по определенному выражению, используя математические, лингвистические операции и различные функции языка СУБД;
  • Default Value (значение умолчания) - значение, которое должно записываться, если при добавлении или изменении данных для атрибута не было определено;
  • Derivation Expression (вычисляемое выражение) - формульное выражение, которое должно вычисляться при добавлении или изменении данных.

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

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

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

Помимо установления характеристик для каждого атрибута, включая задание значения по умолчанию и формульного выражения для вычисления, любая сущность может иметь ограничения целостности, обеспечивающие корректное хранение значения по соответствующему атрибуту. Например, для атрибута, хранящего значения годов, может быть необходимым ограничить минимальное значение. Поскольку на уровне построения логической модели разработчик может не знать о том, какая СУБД будет применяться для реализации, то использование функций на любом из языков программирования не будет корректным. Однако инструментальное средство IBM InfoSphere Data Architect предоставляет возможность разработчику указать условие ограничения на нескольких языках (рис. 3.53):

  • OCL (Object Constraint Language) - язык ограничений для объектов, применяемый при объектно-ориентированном представлении данных и программы приложения, достаточно редко применяемый при реализации реляционных баз данных, использует стандартные логические выражения и указания на атрибуты сущностей (например: Сущность. Год >= 2000):
  • SQL (Structured Query Language) - язык структурированных запросов, применяемый при обработке реляционных баз данных, обычно ориентирован на конкретную СУБД и имеет множество функций, присущих только выбранной СУБД, использует логические операции (AND (И), OR (ИЛИ) и др.) и применяет их на уровне атрибута рассматриваемой сущности (например: Год >= 2000 and Год
  • English - естественный язык, непереводимый в язык программирования, обычно применяемый для описания ограничения с последующим представлением в процессе программирования соответствующим логическим выражением (например: Год представляется значением в диапазоне }
Включайся в дискуссию
Читайте также
Детские и юношеские годы И
История мавзолея Из чего были первые мавзолей ленина
Мифы о России. Дикая Московия. Московия (Россия) была правопреемницей не Руси, а Золотой Орды — Карл Маркс Была ли московия