ertool

Формат ввода:

Сущности -- строки, начинающиеся со * Связи -- строки, начинающиеся с = Атрибуты -- каждый атрибут на новой строке, после соответствующей сущности или связи.

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

При описании связи, указываются связанные сущности следующим образом:

:(тип связи) (название сущности)

где (тип связи) -- 1 или *, соответствующий одному или многим. Вместо * допустимо использовать русскую М (заглавная м) или латинскую M (заглавная m).

Альтернативно, связь может быть задана как

=название связи (Сущность1:Сущность2:...) (тип:тип:...)
где тип это 1 или * (вместо * допустимо использовать русскую М или латинскую M). Если количество указанных типов меньше количества сущностей, автоматически используется тип *. Например,
=связь (Сущность1:Сущность2) (1)
будет интерпретирована как связь Сущность1 и Сущность2 типа 1:М (один-ко-многим).

Идентифицирующие атрибуты обозначаются символом * после названия.

Если сущность, не являющаяся дочерней, не имеет идентифицирующих атрибутов, при составлении ФЗ, все ее атрибуты полагаются идентифицирующими.

Связи типа многие ко многим автоматически вводят атрибут ∅, дабы при анализе ФЗ эти связи сохранялись. Он не отображается на ER-диаграмме.

Пример:

*Сущность
идентифицирующий атрибут*
другой атрибут
еще один атрибут

*Дочерняя сущность : Сущность
атрибут дочерней сущности

*Сущность2
ид*

*Сущность3
ид*

=связь один к одному :1 Сущность :1 Сущность2
атрибут связи

=связь один ко многим (Сущность : Сущность3) (1:М)

=связь многие ко многим :* Сущность2 :* Сущность3

=многосторонняя связь :1 Дочерняя сущность :* Сущность2 :1 Сущность3

=другая многосторонняя связь (Сущность : Сущность2 : Сущность3) (1:*:*)