Проблема с пустыми данными - слой данных или DAL? - PullRequest
1 голос
/ 14 марта 2010

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

  • создать пустое значение в каждом из словарей со специальным keyID - т.е. -1
  • сделать ETL (ssis) сделать правильные вещи и вставить -1, где это необходимо
  • пусть DAL знает, что -1 особенное (статическая константа, что угодно)
  • в коде все равно, чтобы проверять пустоту словарных статей, потому что ОНИ всегда будет иметь значение

Но, может быть, мне стоит подумать:

  • импорт данных КАК ЕСТЬ
  • пусть DAL думает, используя пустой шаблон записи
  • все равно в коде все равно, потому что бизнес-уровень будет иметь то, что ему нужно от DAL.

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

1 Ответ

1 голос
/ 14 марта 2010

Используйте инструмент профилирования данных и изучите эти измерения. Как правило, в таблицах измерений не должно быть нулей. Также обычно используются «специальные» строки измерений, такие как: 0 = неизвестно, -1 = нет и т. Д. Ваш дизайнер хранилища данных (вероятно) уже позаботился об этом.

Если вам случится найти нулевые значения, передайте проблему команде хранилища данных, чтобы разобраться с ней. Хранилище должно действовать как хранилище справочных данных и обслуживать несколько клиентских приложений - если каждый разработчик приложения должен решить, как обращаться с неизвестными значениями, он в конечном итоге будет генерировать разные результаты (отчеты) на основе одного и того же набора данных.

...