Формат ввода:
Сущности -- строки, начинающиеся со *
Связи -- строки, начинающиеся с =
Атрибуты -- каждый атрибут на новой строке, после соответствующей сущности
или связи.
Сущность может быть дочерней. В таком случае, в определении сущности указывается
родительская через :
При описании связи, указываются связанные сущности следующим образом:
:(тип связи) (название сущности)
где (тип связи) -- 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:*:*)