Перевод дб: Перевод dB в «разы» и наоборот

Содержание

Дейта Плюс > Справочник > Таблица перевода % в дБ

Дейта Плюс > Справочник > Таблица перевода % в дБ

          Справочник       

Дейта Плюс

+7 (916) 296-38-88

123007, Москва, 2й Силикатный пр-д,
д.14, корп.2,стр.14

> Таблица перевода % в дБ

 

Таблица перевода % в дБ

1%

-20,0000

2%

-16,9897

3%

228787452803376″>

-15,2288

4%

-13,9794

5%

-13,0103

6%

-12,2185

7%

549019599857431″>

-11,5490

8%

-10,9691

9%

-10,4576

10%

-10,0000

11%

5860731484177499″>

-9,5861

12%

-9,2082

13%

-8,8606

14%

-8,5387

15%

2390874094431883″>

-8,2391

16%

-7,9588

17%

-7,6955

18%

-7,4473

19%

2124639904717105″>

-7,2125

20%

-6,9897

21%

-6,7778

22%

-6,5758

23%

3827216398240703″>

-6,3827

24%

-6,1979

25%

-6,0206

26%

-5,8503

27%

6863623584101264″>

-5,6864

28%

-5,5284

29%

-5,3760

30%

-5,2288

31%

0863830616572736″>

-5,0864

32%

-4,9485

33%

-4,8149

34%

-4,6852

35%

5593195564972442″>

-4,5593

36%

-4,4370

37%

-4,3180

38%

-4,2022

39%

0893539297350081″>

-4,0894

40%

-3,9794

41%

-3,8722

42%

-3,7675

43%

6653154442041345″>

-3,6653

44%

-3,5655

45%

-3,4679

46%

-3,3724

47%

2790214206428256″>

-3,2790

48%

-3,1876

49%

-3,0980

50%

-3,0103

51%

9242982390206365″>

-2,9243

52%

-2,8400

53%

-2,7572

54%

-2,6761

55%

5963731050575611″>

-2,5964

56%

-2,5181

57%

-2,4413

58%

-2,3657

59%

2914798835785581″>

-2,2915

60%

-2,2185

61%

-2,1467

62%

-2,0761

63%

0065945054641827″>

-2,0066

64%

-1,9382

65%

-1,8709

66%

-1,8046

67%

7392519729917355″>

-1,7393

68%

-1,6749

69%

-1,6115

70%

-1,5490

71%

4874165128092474″>

-1,4874

72%

-1,4267

73%

-1,3668

74%

-1,3077

75%

2493873660829995″>

-1,2494

76%

-1,1919

77%

-1,1351

78%

-1,0791

79%

0237290870955855″>

-1,0237

80%

-0,9691

81%

-0,9151

82%

-0,8619

83%

80921907623926126″>

-0,8092

84%

-0,7572

85%

-0,7058

86%

-0,6550

87%

60480747381381472″>

-0,6048

88%

-0,5552

89%

-0,5061

90%

-0,4576

91%

40958607678906384″>

-0,4096

92%

-0,3621

93%

-0,3152

94%

-0,2687

95%

22276394711152253″>

-0,2228

96%

-0,1773

97%

-0,1323

98%

-0,0877

99%

3648054024500879E-2″>

-0,0436

100%

0,0000

Перевод разы в дб

При проведении измерений параметров радиоаппаратуры довольно часто приходится иметь дело с относительными величинами выраженными в децибелах [дБ]. В децибелах выражают интенсивность звука, усиление каскада по напряжению, току или мощности, потери передачи или ослабление сигнала, и т. Децибел — это универсальная логарифмическая единица. Широкое использование представления величин в дБ связано с удобством логарифмического масштаба, а при расчетах децибелы подчиняются законам арифметики — их можно складывать и вычитать, если сигналы имеют одинаковую форму. Существует формула для пересчета отношения двух напряжений в число децибелов аналогичная формула справедлива и для токов :. Так, например, у измерительного генератора аттенюатор для ослабления выходного сигнала может иметь градуировку в дБ.


Поиск данных по Вашему запросу:

Перевод разы в дб

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам.

Содержание:

  • Таблица перевода из децибел в разы
  • Отличие дБ от дБм
  • Конвертер величин
  • Онлайн-калькулятор децибел
  • Онлайн калькулятор перевода децибел в разы, напряжений в мощность.
  • дБм (dBm), мощность
  • Please turn JavaScript on and reload the page.

ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Cardi B & Bruno Mars — Please Me (Official Video)

Таблица перевода из децибел в разы


Некоторые думают, что децибелы придумали, чтобы свести их с ума. Но на самом деле децибелы придумали для удобства. Да, да, все эти логарифмы, производные и прочие интегралы всегда кем-то придумывались для удобства и облегчения жизни. Итак, децибелы — это соотношение двух величин, выраженное в логарифмическом масштабе. При этом отношение тока и напряжения имеет коэффициент Переводить в уме разы в децибелы практически невозможно, но имеются два исключения.

Увеличению в 2 раза и в 10 раз соответствуют круглые значения в децибелах, их легко запомнить, а промежуточные варианты прикидывать приблизительно. Кроме того, существуют таблицы. Таблица перевода из децибел в разы Левая таблица для ослаблений сигнала, правая для усиления.

Заказать звонок. Главная — Справочная информация — Статьи — Таблица перевода из децибел в разы. Нам редко нужно знать какие-то конкретные величины.

Кому интересен усилитель, способный усиливать с 4,9мВ до мВ? Зато нам очень часто надо знать отношение двух величин. И если мы напишем, что усилитель усиливает в раз, то интерес к этому усилителю возрастёт.

На практике используется чрезвычайно широкий диапазон разных величин. Он настолько широк, что пользоваться этими величинами неудобно. Человек способен слышать звуки, различающиеся по уровню в раз. Уложить этот диапазон на одном графике просто невозможно. К счастью, чувствительность слуха не линейна, а изменяется по логарифмическому закону. Допустим, на выходе усилителя имеется звуковой сигнал с напряжением 1В. Для увеличения громкости в 1,1 раза надо добавить напряжение всего 0,1В.

Но если на выходе усилителя было В, то для увеличения громкости в 1,1 раза нужно добавить 10В. В обоих случаях человеку будет казаться, что приращение громкости было одинаковым. Этим можно воспользоваться, графики с логарифмической шкалой занимают гораздо меньше места, а информативность повышается. Выяснилось, что очень многое в природе удобнее отображать в логарифмическом масштабе. Похоже, бог любил логарифмы либо логарифмы любит архитектор матрицы, кому что больше нравится.

При этом отношение тока и напряжения имеет коэффициент 20 а отношение мощности коэффициент Таблица перевода из децибел в разы Левая таблица для ослаблений сигнала, правая для усиления Источник.


Отличие дБ от дБм

By Ndrew , December 11, in Школьникам и студентам. Писал курсак по електронике «Рассчет резистивного усилителя на биполярном транзисторе». Дошел до конденсаторов и застрял. И никак не пойму как перевести дБ в эти разы. Пошарил по нету- там логарифмические формулы какие то отношения напряжений или мощностей. Не понятно что куда подставлять.

Используйте этот простой инструмент, чтобы быстро преобразовать дБм в единицу Мощность.

Конвертер величин

Как было показано выше, преимущество логарифмической шкалы очевидно в случае, когда мы исследуем во сколько раз значение одной величины больше или меньше другой. Помимо дБ, существует еще одна похожая логарифмическая единица измерения — дБм. В отличие от дБ, которые характеризуют потери во сколько раз уменьшается мощность оптического сигнала или усиление во сколько раз увеличивается мощность оптического сигнала , дБм показывают уровень мощности сигнала, относительно опорной мощности равной 1 мВт. Перевод мощности сигнала из мВт в логарифмическую шкалу — дБм, производится измерителем оптического излучения по формуле. Буква «м», добавленная после дБ, означает, что в качестве опорного уровня мощности взят 1 мВт. Если качестве опорного уровня мощности взять 1 мкВт, то обозначение будет иметь вид дБмк. В англоязычной литературе часто dBm обозначают dBmW, переводя на рус. Для сокращения записи обычно Вт опускают, и остается просто дБм.

Онлайн-калькулятор децибел

Вопрос о переводе дБ в дБм и наоборот часто приходится слышать от клиентов, встречать на специализированных форумах. Однако, как бы не хотелось, нельзя перевести мощность в затухание. Если мощность оптического сигнала измерена в дБм, то для определения затухания A дБ необходимо от мощности сигнала на входе в линию отнять мощность сигнала на выходе из нее. Но обо всем этом по порядку.

Бел выражает отношение двух значений энергетической величины десятичным логарифмом этого отношения. Децибел относится к единицам, не входящим в Международную систему единиц СИ , но в соответствии с решением Международного комитета мер и весов допускается к применению без ограничений совместно с единицами СИ [3].

Онлайн калькулятор перевода децибел в разы, напряжений в мощность.

Что за странный пассажир? Ладно бы дебил, или, на худой конец, имбецил, так ведь нет — децибел, мать его. Выпили по децелу, закусили, понимания не прибавило, ещё по сто, уже лучше — начали генерить мыслю. И на кой хрен нам в батарее разводить мудрёные величины, да ещё не при бабах будет сказано , численно равные десятичному логарифму безразмерного отношения физической величины к одноимённой физической величине, принимаемой за исходную, умноженному на десять? Всё равно — как отмеряли потери сигнала в линиях километрами стандартного кабеля, так и будем отмерять. Ответ не сложен — для удобства мировосприятия.

дБм (dBm), мощность

В сети полным-полно подобных калькуляторов, но я захотел тоже запилить сделать свой. Уверен, никого не удивлю, сказав, что здесь тоже работает JavaScript , и вся вычислительная нагрузка ложится на твой браузер. Если есть пустые поля, это значит, что у тебя браузер не работает с JavaScript -ом, и вычисления работать не будут :. Возможно, он больше отвечает твоим запросам? Правила пользования просты до безобразия. Измени значение любой из величин, и все остальные значения будут пересчитаны автоматически. Таблица для пересчёта децибел в разы. Впиши изменение любой из величин, и остальные будут пересчитаны автоматически.

Используйте этот простой инструмент, чтобы быстро преобразовать дБм в единицу Мощность.

Please turn JavaScript on and reload the page.

Перевод разы в дб

Однако, как бы не хотелось, нельзя перевести мощность в затухание. Если мощность оптического сигнала измерена в дБм, то для определения затухания A дБ необходимо от мощности сигнала на входе в линию отнять мощность сигнала на выходе из нее. Но обо всем этом по порядку. Оптическая мощность, или мощность оптического излучения — это основополагающий параметр оптического сигнала.

Random converter. Для преобразования между децибел-милливаттами, децибел-микровольтами и другими значениями в этом конвертере задайте значение импеданса. Оно не должно быть отрицательным. Знаете ли вы зачем на законцовках крыльев самолета установлены разрядники? Если вы их никогда не замечали, то нужно сделать всего один щелчок, чтобы узнать о том как они помогают обеспечить надежную работу бортового оборудования!

Забыли пароль?

Децибелы безразмерны. Децибелы в вольты можно перевести аппаратно, но не математически. А как аппаратно? Делай выводы. Я ошибся. Как делать, то я так и не понял Только вот непонятно, для какого из выходов карты ты собрался получить значение Uвых и зачем оно тебе нужно.

Онлайн-калькулятор выполняет преобразование между децибелами, усилением по напряжению или току и усилением по мощности. Величина, выраженная в децибелах, численно равна десятичному логарифму безразмерного отношения физической величины к одноимённой физической величине, принимаемой за исходную, умноженному на десять. Также можно рассчитать величину напряжения при определённом сопротивлении нагрузки.


дБ — Перевод на английский — примеры японский

Японский

Арабский Немецкий Английский испанский Французский иврит итальянский Японский Голландский польский португальский румынский Русский Шведский турецкий украинец китайский

Английский

Синонимы арабский Немецкий Английский испанский Французский иврит итальянский Японский Голландский польский португальский румынский Русский Шведский турецкий украинец китайский язык Украинский

Эти примеры могут содержать нецензурные слова, основанные на вашем поиске.

Эти примеры могут содержать разговорные слова на основе вашего поиска.

データベース[ db ]をアンマウントできません。

Не удается размонтировать базу данных [ db ].

取り外し可能な  дб  キラーと DM5 レーシングキット。

Гоночный комплект DM5 со съемными убийцами db .

データベース  db  が動作しているかどうかを返す。

Возвращает, работает ли база данных db .

дб ++ サーバは、各クライアント接続について TCL インタプリタを準備します。

А 9Сервер 0017 db ++ подготовит интерпретатор TCL для каждого клиентского соединения.

DAO/Jet  db  エンジンを初期化できません。

Не удалось инициализировать двигатель DAO/Jet db .

もし  db  が NULL ならば、データベースは入力メソッドに渡されない。

Если db равно NULL, в метод ввода не передается база данных.

、失敗した場合に  db ++ エラーコードを返します。

в случае успеха или код ошибки db ++ в случае неудачи.

また、Windows 版の  db ++ もありますが、この拡張モジュールでは(まだ)サポしーダ もありますが、この拡張モジュールであ

Существует также версия db ++ для Windows, но это расширение ее не поддерживает (пока).

新しいレプリカの状態と最新の履歴を保存できません。 db エラー = 。

Невозможно сохранить новое состояние реплики и недавнюю историю; дб ошибка =.

データベース  db  を開き、データベースオブジェクトを返します。

Откройте базу данных db и верните объект базы данных.

うまい回避策としては リポジトリのある дб ディレクトリにたいして グループ SUID ビットを立てることです。

Хорошим обходным решением является установка бита SUID группы в каталоге репозитория db .

非同期I/Oを有効にするか、 db ライタ・プロセスの数を増やす。

Либо включите асинхронный ввод-вывод, либо увеличьте количество процессов записи db .

単にプロジェクトを開いただけでは、 дб  の設定はインポートされません。

Простое открытие проекта не приводит к импорту настроек db .

指定しなかった場合は、直近の  db ++操作の結果コードを使用します。

Если он не указан, предполагается код результата последней операции db ++.

AQL A… Query Language に関するより詳細な情報については、オリジナルの  дб ++ マニュアルで提供されています。

Запрос AQL, который необходимо выполнить. Дополнительная информация о языке запросов AQL A… содержится в оригинальном руководстве db ++.

定義済み定数の名前は、レジストリ名の先頭に  db  を追加したものです。

Имена определенных констант такие же, как имя реестра с добавлением db в качестве префикса.

たとえば 、 プロジェクト を 右 クリック し 、 データ ベース マイグレーション を 選択 し て 、 Грабли дБ : Мигрируйте コマンド 呼び出す ことができ ます。

Например, вы можете щелкнуть правой кнопкой мыши узел проекта и выбрать «Перенести базу данных», чтобы вызвать команды rake db :migrate.

USW 210 P は 、 ピンクノイズ 使用 し て て 1 メートル で ピーク 線形 SPL 126 DB 140 Гц 、 30 Гц の 数 範囲 で し ます。。

USW-210 p работает в диапазоне частот от 30 Гц до 140 Гц с пиковым линейным уровнем звукового давления 126 дБ на расстоянии 1 метра с использованием розового шума.

引き数 дБ は 出力 メソッド メソッド の プライベート な を 調べる ため 出力 メソッド が 使用 する リソース データ ベース である。

Аргумент db — это база данных ресурсов, которая будет использоваться методом вывода для поиска ресурсов, закрытых для метода вывода.

Концепция ASA が 、 Linux および の いくつ か の の Unix 版 の DB ++ デモ 版 ドキュメント を 提供 し て い ます。

Concept asa предоставляет демо-версии db ++ и документацию для Linux, некоторых других версий Unix.

Возможно неприемлемый контент

Примеры используются только для того, чтобы помочь вам перевести искомое слово или выражение в различных контекстах. Они не отбираются и не проверяются нами и могут содержать неприемлемые термины или идеи. Пожалуйста, сообщайте о примерах, которые нужно отредактировать или не отображать. Грубые или разговорные переводы обычно выделены красным или оранжевым цветом.

Зарегистрируйтесь, чтобы увидеть больше примеров Это простой и бесплатный

регистр Соединять

Best Practices for Multi-Language Database Design

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

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

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

Надлежащая модель данных должна позволять вам изменять приложение или добавлять новые функции, сохраняя при этом многоязычную поддержку — без дополнительных усилий или затрат. Это также должно позволить вам включать новые языки, не касаясь приложения; вам нужно только добавить соответствующие данные перевода в базу данных.

Простая реализация против гибкости и функциональности

Существуют разные подходы к созданию структуры базы данных для многоязычных приложений. У каждого есть свои преимущества и недостатки. Те, что легче реализовать, предлагают меньшую гибкость и меньшую функциональность; те, которые предлагают большую гибкость и функциональность, имеют более сложную реализацию.

Мой совет: всегда выбирайте те, которые предлагают больше функциональности и гибкости , даже если их реализация дороже. Иногда мы ошибаемся, думая, что приложение слишком маленькое, что не стоит реализовывать сложные схемы для решения таких задач, как поддержка нескольких языков. Но со временем это приложение будет расти, и мы пожалеем, что выбрали «быстрый и грязный» подход, который казался более простым и менее дорогим.

В идеале для реализации дополнительных функций приложения — будь то многоязычная поддержка, регистрация изменений, аутентификация пользователей или что-то еще — для этой функции должна быть собственная подсхема и ее логика, инкапсулированная в повторно используемые компоненты. Таким образом, как дополнительные функции, так и их подсхемы могут быть включены в любое новое приложение с минимальными усилиями.

Интеллектуальный инструмент проектирования баз данных и моделирования данных, такой как Vertabelo, помогает эффективно управлять схемами и подсхемами. Кроме того, ознакомьтесь с этими советами по улучшению дизайна базы данных и убедитесь, что вы следуете всем им. Прежде чем вы начнете рисовать свою ER-диаграмму, я предлагаю вам рассмотреть эту важную серию советов по моделированию базы данных.

Некоторые привлекательные (но нежелательные) многоязычные решения для проектирования баз данных

Самые простые, но наименее рекомендуемые

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

Эта простая стратегия состоит в добавлении дополнительного столбца для каждого столбца текста, который необходимо перевести, и для каждого языка, на который необходимо перевести тексты.

Например, в Фильмы В таблице ниже есть поле OriginalTitle . Для каждого языка, подлежащего переводу, добавляется дополнительный столбец title:

MovieId OriginalTitle Title_sp Title_it Title_fr
1 Крепкий орешек Дюро-де-матар Кристаллическая крошка Кристаллическая пудра
2 Назад в будущее Путешествие в будущее Путешествие в будущее Возвращение в будущее
3 Парк Юрского периода Парк Юрского периода Парк Джурасико Парк Юрского периода

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

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

Например, предположим, что у вас есть таблица Продукты и таблица Процессы . В каждом из них есть поле «Описание», которое необходимо перевести; кажется достаточно простым, не так ли? Но если все приложение (включая все его пункты меню, сообщения об ошибках и т. д.) должно быть многоязычным, это решение неприменимо.

Более универсальный, но тоже нежелательный

Продолжая идею хранения переводов в одной таблице, альтернативой предыдущему варианту является увеличение текстовых полей. Это позволило бы нам хранить все переводы в одном поле, организуя их в структуру данных (например, документ XML или объект JSON). Ниже у нас есть пример:

КиноИд

Исходное название

Переводы

1

Крепкий орешек

[

{«язык»: «sp», «название»: «Duro de matar»},

{«язык»: «it», «название»: «Trappola di cristallo»},

{«language»: «fr», «title»: «Piege de cristal»}

]

2

Назад в будущее

[

{«язык»: «sp», «название»: «Volver al futuro»},

{«язык»: «it», «название»: «Ritorno al futuro»},

{«language»: «fr», «title»: «Retour vers le futur»}

]

3

Парк Юрского периода

[

{«язык»: «sp», «название»: «Парк юристов»},

{«язык»: «it», «название»: «Giurassico parco»},

{«language»: «fr», «title»: «Парк Юрского периода»}

]

Этот параметр не требует дополнительных столбцов, но добавляет сложности. Запросы данных теперь должны иметь возможность правильно обрабатывать и интерпретировать структуру данных, используемую для многоязычной поддержки. Например, если JSON или XML используются для хранения переводов, запросы SQL должны использовать версию SQL, поддерживающую выбранный тип данных.

Следующая команда SQL использует функцию MS SQL Server OPENJSON() для использования содержимого Переводы поля в виде подчиненной таблицы:

ВЫБРАТЬ
м.MovieId,
м.OriginalTitle,
t.TranslatedTitle
ИЗ
Фильмы как м
ПЕРЕКРЕСТНОЕ ПРИМЕНЕНИЕ OPENJSON(m.Translations)
С (
язык char(2) '$.language',
TranslatedTitle varchar(100) '$.title'
) КАК т
ГДЕ t.language = 'fr';
 

Поскольку в стандартном SQL нет функций или операторов для управления данными в формате JSON или XML, вы вынуждены писать свои запросы для конкретной СУБД, если хотите использовать этот метод для хранения переведенных текстов. Например, предыдущий запрос не поддерживается MySQL. Если вам нужно прочитать данные JSON в Movies таблица с MySQL, вы должны написать этот запрос:

ВЫБРАТЬ
м. MovieId,
м.OriginalTitle,
JSON_EXTRACT(m.Translations, '$.title') AS TranslatedTitle
ИЗ ФИЛЬМОВ КАК М
WHERE JSON_EXTRACT(m.Translations. '$.language') = 'fr';
 

Сохранение переведенного текста в разных записях

Вы также можете использовать разные записи для каждого языка. Однако вы должны смириться с потерей нормализации: одни и те же данные повторяются в нескольких записях, в которых различается только перевод.

MovieId LanguageId Название
1 en Крепкий орешек
1 sp Дуро де матар
1 it Траппола ди кристалло
1 передняя Кристалл
2 en Назад в будущее
2 sp Вернуться к будущему
2 it Риторно в будущем

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

СОЗДАТЬ ПРОСМОТР Movies_ru КАК
ВЫБЕРИТЕ MovieId, название
ИЗ фильмов
ГДЕ LanguageId = 'en';
СОЗДАТЬ ПРОСМОТР Movies_sp как
ВЫБЕРИТЕ MovieId, название
ИЗ фильмов
ГДЕ LanguageId = 'sp';
 

Затем, чтобы запросить таблицу, вы можете использовать другое представление в соответствии с целевым языком перевода. Но нормализация модели теряется, а обслуживание таблицы становится излишне сложным.

Хранение переведенного текста в отдельных таблицах

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

В подчиненной таблице с переводами должны быть те же ключевые поля, что и в материнской таблице, плюс поле, указывающее язык перевода.

Эта опция позволяет включать новые языки без изменения структуры таблицы. Он не требует генерации избыточной информации или нарушения нормализации модели.

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

Универсальное решение: подсхема перевода

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

В веб-приложениях, предназначенных для использования на разных языках, подсхема перевода является необходимостью, а не опцией. Все остальное приведет к сложностям, которые сделают невозможным надлежащее обслуживание приложения.

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

Одним из способов организации каталога переводов является использование трех таблиц:

  • Основная таблица языков.
  • Таблица текстов на языке оригинала.
  • Таблица переведенных текстов.

Схема универсального каталога переводов.

В основную таблицу языков мы просто вставляем запись для каждого языка, поддерживаемого моделью данных. У каждого есть идентификационный код и имя:

LanguageId LanguageName
en Английский
sp Испанский
это итальянский
Французский Французский

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

В таблице TextContent исходный текст и идентификатор исходного языка не являются строго обязательными. Но они упрощают запросы, не требующие перевода. Например, при статистическом анализе или запросах управления (которые обычно доступны только пользователям, понимающим исходный язык) запросы можно упростить, используя тексты по умолчанию (непереведенные).

Оригинальные тексты также полезны для тех, кому необходимо заполнить таблицу переведенных текстов. Ввод данных перевода может осуществляться с помощью мини-приложения, показывающего исходный текст и переводы на все доступные языки. Также возможно генерировать информацию для подсхемы перевода посредством автоматического процесса с использованием API перевода.

Связывание с основной схемой

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

Основная схема связана со схемой перевода через таблицы с текстами, которые необходимо перевести.

Вы можете оставить исходное текстовое поле в некоторых основных таблицах схемы, чтобы упростить запросы, где перевод не требуется, даже если это создает избыточную информацию. Например, мы можем сохранить поле ProductDescription в таблице Products для упрощения статистических запросов или для заполнения измерений хранилища данных, оставляя в стороне подсхему перевода, когда она не нужна.

  • Проектирование многоязычной базы данных: сделайте это один раз и сделайте это правильно

Мы рассмотрели несколько вариантов создания многоязычной базы данных. Некоторые из них проще и быстрее реализовать. Последнее решение немного сложнее, но дает вам гораздо больше гибкости. Это также избавит вас от проблем, когда придет время поддерживать приложение и базу данных. Таким образом, в долгосрочной перспективе это будет намного дешевле.

Иногда кратчайший путь в проектировании баз данных заставляет вас поверить, что вы сэкономите время и силы. Но когда вы выбираете его, вы упускаете из виду тот факт, что вам, вероятно, придется пройти его несколько раз. Если вы игнорируете лучшие практики проектирования многоязычных баз данных, вы, вероятно, в конечном итоге будете выполнять одну и ту же работу снова и снова.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *