Если бы у меня был сайт онлайн-магазинов, в котором продавались яблоки и мониторы, и они хранились в разных таблицах, потому что отличительное свойство яблок цветное, а качество мониторов - это разрешение, как бы я добавьте эти данные в таблицу счетов, сохраняя при этом ссылочную целостность и не объединяя эти таблицы?Дизайн стола для нескольких разных продуктов на одном заказе
Invoices(InvoiceId)
|
InvoiceItems(ItemId, ProductId)
|
Products(ProductId)
| |
Apples(AppleId, ProductId, Colour) Monitors(MonitorId, ProductId, Resolution)
Если я сохранил их в одной таблице комбинированных продуктов, не означает ли это наличие нулевых столбцов разрешения и цвета, которые будут заполняться только в зависимости от того, является ли этот конкретный продукт монитором или Apple? Нормализация предполагает наличие только столбцов в таблице, если они напрямую связаны с Первичным ключом. Что касается таблицы ссылок, хорошая точка. Я слишком упростил вопрос и пропустил эту деталь. Я уточню вопрос. – Rob
Счета-фактуры (InvoiceId) | InvoiceItems (ItemId, ProductId) | Продукты (ProductId) | | Яблоки (AppleId, ProductId, Color) Мониторы (MonitorId, ProductId, Resolution) – Rob