Является ли использование мастер-таблицы для общих столбцов хорошей практикой для всей базы данных?

Ниже я объясню базовый дизайн базы данных, над которой я работаю. Поскольку я не DB, я обеспокоен, нахожусь ли я на хорошей дорожке или на плохой, поэтому я хотел поместить это в стек для некоторого совета. Я не смог найти аналогичного обсуждения, подходящего моему дизайну.

В моей базе данных каждая таблица считается объектом. Субъектом может быть учетная запись клиента, лицо, пользователь, набор информации о сотрудниках, информация о подрядчике, грузовик, самолет, продукт, билет в службу поддержки и т. Д. И т. Д. Вот мои текущие сущности (таблицы) ...

людипользователейСчетаAccountUsersАдресаИнформация о сотрудникеИнформация о подрядчике

И для хранения информации об этих сущностях у меня есть две таблицы:

Entity Tables
-EntityType
-> EntityTypeID (INT)
-Entities
-> EntityID (BIGINT)
-> EnitityType (INT) : foreign key

Каждая созданная мной таблица имеет первичный ключ с автоматическим созданием и внешний ключ в столбце entityID таблицы Entities.

В таблице сущностей у меня есть некоторые общие поля, такие как,

Дата созданияДата измененаUser_CreatedUser_ModifiedIsDeletedCanUIDelete

Я использую триггеры на всех таблицах, чтобы автоматически создать запись их сущности с правильным типом сущности на вставках. И триггеры обновления обновляют дату LastModified.

С точки зрения прикладного уровня, все, что должен сделать код, это беспокоиться об отдельных сущностях (за исключением полей USER_Modified / User_Created «он обновляет это» путем присоединения к entityID)

Теперь причина таблицы сущностей заключается в том, что я планирую использовать модель EAV, поэтому каждый тип сущности можно расширять с помощью настраиваемых полей. Он также служит достойным местом для хранения метаданных о сущностях (например, созданных / измененных полей).

Я просто новичок в дизайне БД и хочу второго мнения.

Ответы на вопрос(2)

Ваш ответ на вопрос