Я хочу определить множество представлений, но модель БД меняется, поэтому мне пришло в голову несколько идей / вопросов:
Есть ли способ в MySQL 8 создать представление, которое после FROM не имеет жестко закодированного имени таблицы, но имя таблицы является переменной?
Можно ли создать представление с жестко закодированным именем таблицы после FROM, но имена столбцов являются переменными?
Является ли хорошей идеей создать представление (A), которое после FROM предназначается не для конкретного (жестко заданного) имени таблицы, а для другого представления (B), которое работает в качестве промежуточной таблицы перевода, которая просто выбирает данные из таблицу (C) и возвращает ее в представление (A) со столбцами, расположенными по псевдониму так, как их ожидает первое представление (A). Короче говоря, второе представление (B) просто действует как переводчик между (A) <=> (C) в терминах имени таблицы и имен столбцов?
Причина, по которой я думаю об этих решениях, заключается в том, что я хочу иметь набор табличных представлений для приложения, которое подключается к БД. И они не должны меняться, но изменится вся модель БД.
Я не хочу касаться представлений доступа, которые являются интерфейсом для приложения, а скорее определяю некоторые соединения между столбцами и таблицами за представлением интерфейса приложения. Также для модели БД потребуются некоторые другие представления для выполнения общих расчетов / отчетов, но данные исходной таблицы для расчетов / отчетов будут со временем изменяться (имена столбцов, имена таблиц).
- Можно ли применить другой подход? Как вы справляетесь со случаями изменения имен таблиц, имен столбцов в БД без нарушения уже реализованных отчетов и других функций, которые ожидают определенных имен таблиц и столбцов?
Я использую MySQL 8.