Локализация данных в SQL Server с GUID или ...?

Мне нужно сделать базу данных, которая сильно локализована. Почти для всех организаций мне нужен перевод на 5+ языков. Некоторым объектам даже требуется и локализованный дополнительный ресурс (например, изображения, которые я ввожу как пути).

Вопрос сейчас:

1: LOOKUP TABLE НА ENTITY / TABLE (вроде раздутая схема?)

я должен создать «Локализованную» таблицу поиска локализации для каждой таблицы, мне нужны локализованные значения (и использовать стандартные PK int / bigint для элементов), как здесь:

MYITEMS
-------
 - MyItemId BIGINT PK
 - MyItemPrice DECIMAL

MYITEMLOCALIZED
---------------
 - CPK_MyItemId BIGINT FK
 - CPK_LanguageCode NCHAR
 - LocalizedName NVARCHAR
 - LocalizedResourcePath NVARCHAR

CUSTOMERS
---------
 - CustomerId BIGINT PK
 - CustomerName NVARCHAR

CUSTOMERLOCALIZED
---------------
 - CPK_CustomerId BIGINT FK
 - CPK_LanguageCode NCHAR
 - LocalizedName NVARCHAR
 - LocalizedResourcePath NVARCHAR

или же

2: НАПРАВЛЯЮЩИЕ С ОДНОМ СТОЛОМ LOOKUP LOCALIZATION (интенсивное использование guid?)

я должен использовать GUID в качестве PK, а затем просто использовать одно имя и одну таблицу локализации ресурса.

MYITEMS
-------
 - MyItemId uniqueidentifier PK
 - MyItemPrice DECIMAL    

CUSTOMERS
---------
 - CustomerId uniqueidentifier PK
 - CustomerName NVARCHAR

LOCALIZED
    ---------------
     - CPK_ElementGuid uniqueidentifier FK
     - CPK_LanguageCode NCHAR
     - LocalizedValue NVARCHAR
     - LocalizedResourcePath NVARCHAR
3: ОДНОЗНАЧНОЕ ОБЪЕДИНЕНИЕ, НО РУКОВОДСТВО ТОЛЬКО ДЛЯ ЛОКАЛИЗАЦИИ (лучший из 2 миров?)

я должен использовать обычные PK int / bigint, а затем добавить столбец GUID для каждого нужного мне столбца и сохранить локализованные значения в одной таблице поиска локализации.

MYITEMS
-------
 - MyItemId BIGINT PK
 - MyItemPrice DECIMAL
 - ItemNameLocalizationGuid uniqueidentifier(GUID)
 - ItemPictureLocalizationGuid uniqueidentifier(GUID)


CUSTOMERS
---------
 - CustomerId BIGINT PK
 - CustomerName NVARCHAR
 - CustomeerNameLocalizationGuid uniqueidentifier(GUID)

LOCALIZED
---------------
 - CPK_ElementGuid uniqueidentifier FK
 - CPK_LanguageCode NCHAR
 - LocalizedValue NVARCHAR
4: СМОТРЕТЬ ТАБЛИЦУ, КОТОРЫЙ ВОЗВРАЩАЕТ ЛОКАЛИЗАЦИЮ ID (переходить туда-сюда?)

я должен создать таблицы без направляющих, но хранить идентификатор локализации в материнской таблице?

Как здесь:

MYITEMS
-------
 - MyItemId BIGINT PK
 - MyItemPrice DECIMAL
 - MyItemNameLocalizedId BIGINT    

CUSTOMERS
---------
 - CustomerId BIGINT PK
 - CustomerName NVARCHAR
 - CustomerGenderLocalizedId BIGINT

LOCALIZED
---------------
 - LocalizationId BIGINT PK
 - CustomerId BIGINT FK
 - LanguageCode NCHAR
 - LocalizedName NVARCHAR
 - LocalizedResourcePath NVARCHAR

Если я буду использовать GUID в качестве прочитанных PK, я понесу огромные потери производительности и размера данных, но я также сразу же столкнусь с уникальностью элементов на разных серверах, dbs ...

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

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