Изменения

Перейти к: навигация, поиск

Модель сущность-связь

1912 байт добавлено, 19:23, 4 сентября 2022
м
rollbackEdits.php mass rollback
|Дополнительный ключ $n$ (англ. ''key'')
|}
 
'''Замечания:'''
* Так как любой атрибут обладает либо свойством обязательности, либо свойством необязательности, будем считать атрибуты необязательными по умолчанию, не указывая это свойство явно.
* Основной ключ можно выделить, подчеркнув атрибуты, входящие в него, сплошной линией.
== Связи ==
Также существуют '''обобщенные ограничения''' (англ. ''generic''), позволяющие зафиксировать произвольное подмножество.
[[Файл:Все ограничения.png|600px]]
 
=== Выразительная мощность ограничений ===
* Для ассоциаций с двумя концами:
** Чен = Мерис = Обобщенные
* Для ассоциаций с тремя концами:
** Чен + Мерис = Обобщенные
* Для ассоциации с четырьмя и более концами:
** Чен + Мерис < Обобщенные
== Слабые сущности ==
===Object Definition Language===
Позволяет задавать схему базы данных кодом.
 
Рассмотрим пример. У студента есть идентификатор <code>Id</code>, имя <code>Name</code>, а также ссылка на группу <code>group</code>. Явно указываем, что противоположностью этой ссылки является соответствующее поле класса <code>Group</code>: <code>inverse Group::students</code>.
 
У группы есть <code>Id</code> и смножество студентов <code>students</code>, учащихся в группе. Указываем, что у студентов ссылка хранится в поле <code>group</code>.
 
В данном примере выражена связь один ко многим: студент зачислен в одну группу, в каждой группе есть несколько студентов.
'''class''' Student {
int Id;
string Name;
Group group inverse Group::Studentsstudents;
}
1632
правки

Навигация