У меня есть старый проект, который имеет несколько баз данных с одинаковой структурой. Существует база данных для каждого поддерживаемого языка, поэтому у меня есть 4 базы данных с одинаковой структурой. Я думаю, что это неэффективно, и сложно поддерживать и обновлять базы данных, поэтому я хочу создать одну базу данных, которая будет иметь новую таблицу Languages
с столбцами id
и code
и для каждой таблицы добавить внешний ключ в эту таблицу. Он должен работать хорошо, но я также хотел бы разбить каждую таблицу на отдельную файловую группу на основе языка.Разбиение таблицы SQL Server
Так, например, у меня есть старая таблица Customers
со структурой (id, name, surname, data)
, поэтому в новой базе данных будет (id, name, surname, data, langId)
.
Так что я хочу иметь что-то вроде customer_eng, customer_de, customer_it
файловых групп на основе langId.
Это можно сделать? Я нашел функцию и схему секционирования, но есть только возможность определить некоторые значения диапазона, но мне не нужны диапазоны, я хочу группировать данные для разделения файлов на основе langId, вот и все, что я хочу делать. Если это возможно, я бы хотел сделать его динамичным, поэтому, когда будет добавлен новый langId (добавлен новый язык), он автоматически создаст новый файл для этого языка.
рассмотреть вопрос об обращении это здесь HTTP://dba.stackexchange.com/ – Bulat
Хотя SQL Server технически предоставляет только разбиение на разделы, вы можете достичь желаемого результата, указав нужный список как диапазон. Вы также можете добавить контрольное ограничение для соответствия списку, чтобы вставить только точные значения, хотя в этом случае это не нужно из-за внешнего ключа в таблицу «Языки». –