Если для одного объекта существует не более одной заметки, добавьте пустое поле noteid
к таблице каждого объекта.
Если такого ограничения нет, наиболее нормализованный подход заключается в создании таблицы связывания для каждой отдельной таблицы типов объектов , содержащей noteid
и objectid
, с парой идентификаторов в качестве первичного ключа. и каждый из них ссылается на свою соответствующую таблицу; это также учитывает случай, когда один объект связан с более чем одной заметкой, или одна заметка связана с более чем одним объектом. Кроме того, поля, которые можно обнулять, не вводятся, но запросы становятся более сложными. Для повышения производительности может потребоваться проиндексировать каждую такую таблицу в обоих направлениях.
Типовое кодирование (то есть столбец с указанием применимого типа), хотя это очень распространенная практика, значительно ослабляет целостность модели данных. Даже если вы используете таблицу разрешенных значений, у вас все еще будет непроверенное дублирование между строками в таблице разрешенных значений и определениями связанных таблиц.