|
@@ -37,6 +37,27 @@
|
|
|
## Поля
|
|
|
|
|
|
Типы полей во многом похожи на привычные типы данных в языках программирования: числа, строки и так далее. Однако структуры данных (объекты, ассоциативные и обычные массивы) согласно теории должны быть преобразованы
|
|
|
-к тем или иным реляционным формам
|
|
|
+к тем или иным реляционным формам. Для идентификации записей используются специальный тип данных **Автоинкремент**, который гарантирует уникальность каждой записи в пределах таблицы.
|
|
|
+
|
|
|
+## Типы связей
|
|
|
+
|
|
|
+### Один к одному
|
|
|
+
|
|
|
+Однозначное соответствие двух сущностей друг другу. Человек и его отпечаток пальца, например. Редкий вид связи, зачастую используется для расширения сущности дополнительными параметрами.
|
|
|
+
|
|
|
+### Один ко многим
|
|
|
+
|
|
|
+Самый частый случай. Класс и ученики, Город и его жители, Ребенок и его родители и так далее. Связь устанавливается с помощью сохранения значения автоинкремента _одного_ в каждом экземпляре _многих_.
|
|
|
+
|
|
|
+### Многие ко многим
|
|
|
+
|
|
|
+Тоже часто встречаемый случай, достаточно сложный в реализации, так как требует введения дополнительной таблицы для связности. Например книги в библиотеке и их читатели: каждый читатель может прочитать более одной книги,
|
|
|
+каждая книга бывает прочитана более чем одним читателем. Для связи заводится смежная таблица, в которой хранятся автоинкременты обоих связываемых сущностей - например номер книги и номер паспорта читателя, а так же
|
|
|
+дополнительная информация, относящаяся к связи (например дата и время выдачи книги читателю)
|
|
|
+
|
|
|
+
|
|
|
+# ER-Диаграммы
|
|
|
+
|
|
|
+<https://www.draw.io/>
|
|
|
|
|
|
|