Десять характерных ошибок в проектировании базы данных

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

Замечание:

Я уже дважды поднимал эту тему. Если Вы хотите послушать подкаст-версию, посетите блестящий сайт Грэга Лоу SQL Down Under . Я также представил урезанную десятиминутную версию в PASS для Simple-Talk. Первоначально их было десять, потом шесть, а сейчас опять десять. Но эти десять не те же самые десять ошибок, которые были первоначально; они отражают мое сегодняшнее понимание.

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

Итак, список:

  1. Плохой проект/планирование
  2. Игнорирование нормализации
  3. Слабые стандарты именования
  4. Отсутствие документации
  5. Одна таблица для хранения всех значений домена
  6. Использование столбцов identity/guid в качестве единственного ключа
  7. Не использование средств SQL для поддержания целостности данных
  8. Не использование хранимых процедур для обеспечения доступа к данным
  9. Попытка генерировать объекты
  10. Недостаточное тестирование

Плохой проект/планирование

«Если Вы не знаете, куда идете, то любая дорога приведет вас туда» — Джордж Харрисон

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

Позвольте мне спросить: Вы наняли бы подрядчика для строительства дома, чтобы потребовать от него заливать фундамент на следующий же день? Или что хуже, Вы потребовали бы, чтобы это было сделано без плана или проекта дома? Хочется надеяться, что Вы ответили «Нет» на оба вопроса. Проект необходим как гарантия, что дом, который Вы хотите, будет построен, и что земля, на которой Вы строите его, не провалится в какую-нибудь подземную пещеру. Если Вы ответили «Да», я не уверен, поможет ли Вам то, что я собираюсь рассказать.

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

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

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

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

Вам также может понравиться...

Your email will not be published. Name and Email fields are required