Интернет журнал полезных советов
пятница, 09 декабря 2016

Совет: Какие данные имеет смысл хранить в базе данных

Подписаться
Вступай в сообщество полезных советов «SOWETU»
ВКонтакте:

Современные системы управления базами данных (СУБД) претерпели значительные изменения в отношении производительности и гибкости ядер, в результате чего граница между теми объектами, которые следует хранить в базах данных и теми, которые хранить в них не стоит, постепенно стираются. На раннем этапе развития СУБД, базы данных идеальным образом подходили для хранения только хорошо структурированных данных. Однако, в сфере последних достижений, все более простым и выполнимым становится хранение также и неструктурированных данных, таких как изображения или документы. Ответ на вопрос хранить ли в базе все данные, или только их часть, в первую очередь зависит от того, как эти данные будут использоваться.

Где хранить настройки приложений

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

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

Одной из особенностей хранения настроек программы в виде файлов, является доступность изменения конфигурации программы пользователями. Любой файл XML можно открыть в текстовом редакторе (например, в Блокноте), и внести требуемые изменения в конфигурацию. В то же время, если изменение настроек пользователями нежелательно, файлы можно зашифровать.

В тоже время, хранение настроек программы в базе данных может быть выгодным. Благодаря наличию политики безопасности в базе данных можно управлять доступом к тем или иным параметрам. Для каждой группы пользователей, или даже для каждого пользователя, можно ограничить набор параметров, которые они смогут изменить. Если вы решили использовать все преимущества хранения настроек программы в базе данных, но не хотите утяжелять программу полнофункциональной базой данных, имеет смысл обратить внимание на СУБД Microsoft SQL Server 2005 Express Edition, распространяемую бесплатно.

Где хранить пользовательские настройки

Нередки случаи, когда в приложении требуется сохранить предпочтения пользователей. В web-приложениях для этой цели часто используют специальные cookie-файлы браузера. Но они поддерживаются не всеми браузерами, а также могут быть отключены в целях безопасности. В таких случаях лучше хранить пользовательские данные в базе данных. Это позволит управлять пользовательскими настройками, не обращаясь к удаленному компьютеру пользователя. Можно также хранить их в виде XML-файлов, которые обладают высокой гибкостью. Они позволяют пользователям самостоятельно вносить изменения в конфигурацию. XML также подходит для хранения иерархических данных, которые включают родительские и дочерние записи разных уровней вложенности. Ввиду широкого распространения использования документов XML, компания Microsoft включила механизмы работы с данными в этом формате в свои СУБД SQL Server 2000 и SQL Server 2005.

Где хранить файлы внешних приложений

При разработке бизнес-приложений, вам может потребоваться поддержка файлов других типов. Например, документов Microsoft Word, таблиц Microsoft Excel, изображений, видео или звуковых файлов. Где лучше их хранить? Существует два способа хранить данные различных форматов. В первом случае хранят файлы в файловой системе и включают ссылки на них в базе данных, во втором — хранят все данные в таблицах базы данных в столбцах LOB.

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

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

Вступай в сообщество полезных советов «SOWETU»
ВКонтакте:

← Вернуться

×
ВКонтакте:
Я уже подписан на «SOWETU»
×
Вступай в сообщество полезных советов «SOWETU»
ВКонтакте:
Я уже подписан на «SOWETU»