Виды сущностей в бд. Введение в проектирование баз данных

Атрибут.

Предметная область.

Банк данных. Определение.

СУБД. Определение.

База данных. Определение.

Третья нормальная форма. Определение. Пример.

Переменная отношения R находится в третьей нормальной форме тогда и только тогда, когда выполняются следующие условия:

· R находится во второй нормальной форме.

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

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

База данных - это один или несколько файлов данных, предназначенных для хранения, изменения и обработки больших объемов взаимосвязанной информации, систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ)

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

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

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

Атрибут – наименьшая единица структуры данных. К каждому элементу при создании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке.

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

Перечислите функции СУБД

Основные функции СУБД:

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

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

3) Обеспечение логической и физической независимости данных.

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



5) Защита физической целостности - средства восстановления базы данных (транзакции).

6) Управление полномочиями пользователей на доступ к базе данных.

7) Синхронизация работы нескольких пользователей.

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

9) Поддержка деятельности системного персонала

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

Для формирования элементов диаграммы используется палитра элементов ("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 - естественный язык, непереводимый в язык программирования, обычно применяемый для описания ограничения с последующим представлением в процессе программирования соответствующим логическим выражением (например: Год представляется значением в диапазоне }