Рекомендации по проектированию БД. Лучшие практики / Стандарты - Oracle - PullRequest
1 голос
/ 02 ноября 2010

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

  • Какой рекомендуемый тип данных для хранения валют (без финансовых операций, просто отображение).
  • Рекомендуемый размер для хранения телефонных номеров (международный)
  • Рекомендуемый минимальный размер для хранения имен / фамилий (минимальный, означающий наименьший максимальный рекомендуемый размер)
  • Рекомендуемый минимальный размер для хранения блоков комментариев. (минимальный означает наименьший максимальный рекомендуемый размер также)

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

Помощь, как всегда, будет высоко оценена.

Ответы [ 4 ]

1 голос
/ 02 ноября 2010

Я знаю, что вы запрашивали минимальный размер для блоков комментариев, но для больших областей свободного текста вам следует рассмотреть возможность использования значения CLOB.Oracle очень хорошо разбирается в том, как эти вещи обрабатываются, как хранятся данные и т. Д. Вам НИКОГДА не придется беспокоиться о размере.Кроме того, вы обычно можете притвориться , что они являются столбцами VARCHAR2 для удобства манипулирования.

1 голос
/ 02 ноября 2010

EDIFACT обычно использует 35 в качестве размера поля имени, и я скопировал бы это (и задокументировал бы это как основу).Более новые вещи, как правило, определяются в XML и обычно не входят в определения длины поля.

В качестве альтернативы канадское почтовое отделение рекомендует не более 40 символов на строку адреса.

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

1 голос
/ 02 ноября 2010

Какой рекомендуемый тип данных для хранения валют

Это зависит от того, какая валюта и с какой точностью.

Если это центы и доллары, округленные до ближайшего цента, это NUMBER(12,2), что позволяет хранить суммы от -999,999,999,999.99 до 999,999,999,999.99 - что для большинства валют должно быть достаточно.

Если вам нужно сохранить промежуточные результаты, скажем, при расчете процентной ставки, вам может потребоваться больше точности, например, NUMBER(15,5).

Если вы говорите о зимбабвийских долларах, возможно, вам следует выбрать максимум NUMBER вместо:)

Рекомендуемый размер для хранения телефонных номеров (международных)

VARCHAR2 (30) должно быть достаточно. Если это будет слишком долго, ваши пользователи будут вводить в него все виды мусорной информации.

Рекомендуемый минимальный размер для хранения имен / фамилий / Рекомендуемый минимальный размер для хранения блоков комментариев

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

1 голос
/ 02 ноября 2010

Валюта:

NUMBER(15,2), действительно зависит от того, насколько большими будут цифры, с которыми вы ожидаете столкнуться.

Номера телефонов:

VARCHAR2(30), пожалуйста, не делайте мне больно, если она должна быть больше - не могу вспомнить длину как таковую, только то, что VARCHAR позволяет гибко форматировать.

Я не вижу смысла смотреть на минимальный размер при использовании VARCHAR2. Проблемы физической модели связаны с тем, сколько места будет занимать база данных с течением времени, при условии, что поля заполнены максимально.

Блоки комментариев:

Максимум VARCHAR2 (4000)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...