Импорт в базу данных из документа Microsoft Excel при помощи EPPlus за 10 шагов

Microsoft Excel очень популярная программа (и это вполне заслужено).  С версии Excel 2007 появился формат «xlsx». Этот формат открытый и его используют также и другие программы, например, OpenOffice Calc.  Вот с документов такого формата и будут импортироваться данные в базу.

Простым пользователям нравится работать с таблицами в Экселе. Логика работы программы понятна и проста. Поэтому данные очень часто представляются именно в таком виде. Разберем  один из вариантов импорта в реляционную базу данных SQL Server. Хотя точно такой прием может быть применен и для импорта в любую другую базу, например MySQl.

Читать далее Импорт в базу данных из документа Microsoft Excel при помощи EPPlus за 10 шагов

Рефакторинг баз данных — удаление неиспользуемых таблиц в SQL Server

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

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

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

У нас на работе  есть проект (веб сайт и прочие сервисы), который использует базу данных с очень большим числом таблиц, а точнее более 800 штук. База развилась до такого размера не за один день, а за много лет работы.  Со временем появились таблицы, которые перестали использоваться или вообще так и не были использованы с момента разработки когда-то очень нужной функциональности.
И вот в один прекрасный день заказчик, волевым решением ,ставит задачу удалить неиспользуемые таблицы не затрачивая лишнего времени. Задача понятна. Приступаем к реализации.

Читать далее Рефакторинг баз данных — удаление неиспользуемых таблиц в SQL Server

SQL Server FILESTREAM и уменьшение размеров хранилища файлов

Есть любопытный компонент SQL Server  —  FILESTREAM.  И этот компонент представляет собой хранилище файлов не внутри базы(на мой взгляд идея не очень), а внутри файловой системы (что уже обнадеживает).   В целом штука нужная и полезная, но со своими особенностями. И вот, волею судьбы, мне пришлось в эти особенности вникать.

Не так давно на проекте S решили использовать FILESTREAM. Проект старый и изначально файлы хранились внутри базы. Почему такое решение было принято мне трудно сказать т.к. дело было давно и принималось это решение другой командой программистов.  Лично я бы постарался всячески этого не делать т.к рано или поздно файлов станет много и база станет большой и медленной. И вообще контролировать хранение файлов лучше программно, хотя это и труднее.
База проекта S в итоге стала весить около 80 гигов и регулярные бекапы базы стали большой проблемой. Решили перейти на FILESTREAM и перешли.  База на сервере, в части данных, усохла до 5 гигов. Ну и остальные файлы теперь поселились в файловой системе сервера.  Результатом остались довольны.  Локальная база (сильно урезанная для целей разработки) тоже благополучно обновилась миграциями и все заработало.

Через некоторое время в один прекрасный воскресный вечер я решил установить себе языковое  обновление на свою Windows 7 Home Premium т.е. захотел всего-то чтобы моя винда была на английском языке, вот такая вот странная прихоть?! Да и чем же еще заняться в воскресенье вечером? В этой идее была одна проблема:  W7 Home Premium смену языков интерфейса явно не поддерживает, да и не явно видимо тоже, как покажут дальнейшие события.

Читать далее SQL Server FILESTREAM и уменьшение размеров хранилища файлов