Одним из инструментов моделирования данных на этапах анализа и проектирования являются ER-диаграммы (Entity-Relationship, «Сущность-Связь») [6]. ER-диаграммы позволяют строить концептуальные модели структуры данных предметной области, а так же производить моделирование физической структуры систем хранения данных.
В настоящее время существуют различные подходы к оценке сложности баз данных [1, 2, 4, 5], но анализ сложности ER-диаграмм позволяет на начальных этапах проектирования баз данных [3, 9, 10] прогнозировать сроки реализации проекта. Сопоставление значений метрик концептуальной модели данных текущего проекта с аналогичными метриками уже реализованных проектов позволит разработчикам баз данных более обоснованно делать выводы о стоимости затрат и сроках реализации текущего проекта.
Набор метрических характеристик для оценки концептуальной модели данных приведен в таблице 1.
№ п/п | Обозначение | Определение |
1 | NE | Полное число сущностей внутри ER-модели |
2 | NA | Полное число атрибутов в ER-модели, имея в виду атрибуты сущностей. В это число включаются простые, составные и многозначные атрибуты |
3 | NDA | Полное число производных атрибутов в ER-модели |
4 | NCA | Полное число составных атрибутов в ER-модели |
5 | NMVA | Полное число многозначных атрибутов в ER-модели |
6 | NNR | Полное число связей в ER-модели, имея в виду только общие связи |
7 | NM:NR | Полное число связей M:N в ER-модели |
8 | N1:NR | Полное число связей 1:N (включая также связи 1:1) в ER модели |
9 | NBinaryR | Полное число бинарных связей в ER-модели |
10 | NN-AryR | Полное число N-арных связей (не бинарных) в ER-модели |
11 | NIS_AR | Полное число связей Es_Un (обобщение/специализация), которые существуют в ER-модели |
12 | NrefR | Полное число отражающих связей, которые существуют в ER-модели |
13 | NRR | Число избыточных связей в ER-модели |
Дадим пояснения некоторым понятиям концептуальной модели данных [8].
Простой атрибут состоит из одного компонента, его значение неделимо.
Составной атрибут является комбинацией нескольких компонентов, возможно, принадлежащих разным типам данных (например, ФИО или адрес). Решение о том, использовать составной атрибут или разбивать его на компоненты, зависит от характера его обработки и формата пользовательского представления этого атрибута.
Производный атрибут — атрибут, который пользователь может предположить, но не может непосредственно записать. В базе данных эти производные атрибуты могут быть вычислены из других данных. В модели Чена, производный атрибут отображается в пунктирном овале.
Многозначный атрибут — атрибут, который может иметь более одного значения для данного экземпляра сущности. Многозначный атрибут в модели Чена отображается как двойной овал.
Связь обобщение/специализация: при обобщении аналогичные типы объектов группируются под одним, более старшим типом объекта; при специализации происходит разделение некоторого общего множества (например, объектов) на подмножества.
Приведем ER-диаграмму в нотации Чена (рис. 1), для которой применимы рассмотренные метрические характеристики.

Метрические характеристики для представленного примера ER-диаграммы в нотации Чена (рис. 1) приведены в таблице 2.
№ п/п | Обозначение | Значение |
1 | NE | 7 |
2 | NA | 30 |
3 | NDA | 1 |
4 | NCA | 0 |
5 | NMVA | 1 |
6 | NNR | 8 |
7 | NM:NR | 1 |
8 | N1:NR | 7 |
9 | NBinaryR | 8 |
10 | NN-AryR | 0 |
11 | NIS_AR | 0 |
12 | NrefR | 0 |
13 | NRR | 0 |
Для ER-диаграммы, представленной на рис. 2, значения метрических характеристик приведены в таблице 2.

№ п/п | Обозначение | Значение |
1 | NE | 13 |
2 | NA | 23 |
3 | NDA | 2 |
4 | NCA | 3 |
5 | NMVA | 1 |
6 | NNR | 4 |
7 | NM:NR | 1 |
8 | N1:NR | 3 |
9 | NBinaryR | 4 |
10 | NN-AryR | 0 |
11 | NIS_AR | 11 |
12 | NrefR | 0 |
13 | NRR | 0 |
ER-диаграммы, представленные на рис. 1-2 имеют различную структуру. Сопоставление нормированных значений метрик для расмотренных ER-диаграмм приведено на рис. 3.

Для дальнейшего расчета сложности ER-диаграммы необходимо определить веса для каждого типа метрики.
Автоматизированное определение метрических характеристик для ER-диаграмм и определение их сложности является труднореализуемой [7] и актуальной на сегодняшний день задачей, решение которой возможно на основе анализа созданных в редакторе graphity (http://live.yworks.com/graphity/) ER-диаграмм, представленных в виде файлов формата .graphml.