Моделирование базы данных удалить таблицу мостов

Я разработал базу данных с некоторой посторонней помощью, и я думаю о серьезном изменении модели базы данных из-за проблемы с созданием отчетов в Power BI, с которой я недавно столкнулся здесь: Отчет SQL Power BI с таблицей мостов

Отказ от ответственности: если бы я мог спросить кого-нибудь в моей фирме, я бы спросил, но я не могу.

У нас трехслойная структура

  1. Основная таблица Firms с информацией о годе и уникальным ключом/названием для каждой фирмы
  2. Бридж-таблица Firm_Bridge, с которой связана информация о типе фирмы Firm_Types
  3. Множество конечных таблиц с информацией о распродажах и прочем

Для этих концевых столов существует два типа

  • Таблицы одного типа, которые имеют значение только для одного типа (End_Table_Type_A или End_Table_Type_B) (часто так)

  • Таблицы с несколькими типами, которые имеют значение для более чем одного типа (End_Table_Type_all) (редко)

Это выдуманный пример, похожий на реальную модель

Мне интересно, не лучше ли упростить эту структуру и напрямую соединить конечные таблицы одного типа с таблицей фирм. Я все еще могу использовать сводную таблицу для документирования типа фирмы, а также связать End_Table_Type_All с таблицей фирмы. Я представляю так.

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

Я боюсь, что я что-то упустил, и что текущий способ - правильный способ смоделировать это.

Что произойдет в измененной модели, если я присоединю «Firm_Type» к «Firms», а затем к конечной таблице одного типа «End_Table_Type_A». Будет ли он извлекать таблицу типов с одним концом для каждого типа?

Тогда моя идея будет глупой и мне нужно найти другое решение моей проблемы.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
145
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто, чтобы дать это закрытие. Кажется, это действительно глупая идея, потому что я бы дублировал строки, связанные с конечными таблицами, как только я сливаю информацию типа с таблицей «Фирмы».

Другие вопросы по теме