НОРМАЛИЗАЦИЯ ДАННЫХ, ДЕКОМПОЗИЦИЯ ТАБЛИЦЫ - done.
Рассмотрим данные работы ветеринарной клиники за два месяца
что не так с данными?
1) явная избыточность (многократное дублирование сведений)
2) невозможность создать, например, отдельно сведения о процедуре
(название, цена) без заполнения всей строки - питомец, доктор, дата
что делать?
производить декомпозицию, т.е. разделение на связанные таблицы
меньшего размера без потерь общих данных
содержание таблиц:
сведения о питомцах
сведения о процедурах
сведения о докторах
журнал процедур
(в котором сойдутся все эти сведения с привязкой к датам)
обратим внимание, что в каждую таблицу добавлен первичный ключ id
логическая связь между таблицами осуществляется связкой
"первичный ключ - внешний ключ"
так, например, чтобы связать запись журнала процедур с конкретным
питомцем, в журнале есть поле cat_id,
значения которого совпадают со значениями первичного ключа id
из таблицы питомцев cats
Схематически эту связь можно представить в виде стрелки от
первичного ключа к внешнему