5 заметок с тегом

Базы данных

2015   Базы данных   Программирование

Альтернатива phpMyAdmin

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

В нашей команде все в основном используют phpMyAdmin Для управления MySQL. Лично мне он не нравится своей монструозностью. Весит 15 мб, 975 файлов.

На фоне него Adminer выглядит легким и свежим.

Состоит из одного единственного файла 200 кб. Позволяет сходу подключаться к любому MySQL, а не только к указанному в конфиге (по умолчанию локалхост). Все что нужно — умеет.

2012   Базы данных

Как пропустить несколько строк в выдаче SQL запроса

UPD. Появился кошерный способ http://ashigabutdinov.ru/2011/07/06/1/

Не понимаю, почему в MS SQL Server не придумали такой простой и очевидной вещи, как пропуск строк в SQL запросе. Ввести директиву SKIP, например. Мне нужно было вытащить последние 7 записей из выдачи, пропустив первые три. Логично же было бы сделать так:

SELECT TOP 10 SKIP 3 * FROM  cats INNER JOIN gazeta ON cats.cat_gazid = gazeta.id_gazeta INNER JOIN articles ON cats.id_cat = articles.article_catid WHERE (cats.cat_name LIKE 'Криминал' ) ORDER BY id_gazeta DESC

Но, к сожалению, SQL Server так не умеет. Вроде бы в LINQ возможно, не крутил. Окей. SQL Server умеет выбирать первые несколько записей директивой TOP N, логично было бы ввести директиву BOTTOM N для выборки последних нескольких записей:

SELECT BOTTOM 7 * FROM 
(
SELECT TOP 10 * FROM cats INNER JOIN gazeta ON cats.cat_gazid = gazeta.id_gazeta INNER JOIN articles ON cats.id_cat = articles.article_catid 
WHERE (cats.cat_name LIKE 'Криминал' ) ORDER BY id_gazeta DESC
) as TEMP

Но так SQL Server тоже не умеет! Остается еще один очевидный и работающий способ пропускать строки:

SELECT TOP 7 * FROM 
(
SELECT TOP 10 * FROM cats INNER JOIN gazeta ON cats.cat_gazid = gazeta.id_gazeta INNER JOIN articles ON cats.id_cat = articles.article_catid 
WHERE (cats.cat_name LIKE 'Криминал' ) ORDER BY id_gazeta DESC 
) as TEMP 
ORDER BY id_article ASC

Выбираем 10 верхних записей из сложного запроса, сортируем по возрастанию, выбираем верхние 7 из результатов сложного запроса.

2011   Базы данных   Программирование

SQL Server Compact Edition 4

SQL CE абсолютно бесплатный, встроенный движок баз данных. Мы предоставим доступ к первой публичной бета-версии очень скоро. 4-я версия была разработана и тестировалась с ориентацией на работу с ASP.NET веб-приложениями.

Работа с существующими API

SQL CE работает с существующими .NET API и поддерживает SQL Server совместимый синтаксис запросов. Это означает, что с SQL CE. вы можете использовать существующие API для работы с данными такие, как ADO.NET, а также более высокоуровневые ORM, как Entity Framework и NHibernate. Работать будет почти любое существующее API для работы с данными, которое поддерживает модель провайдера ADO.NET.

Все это позволяет вам использовать отлаженные навыки программирования при работе с данными уже сегодня.

Не требует никакой инсталляции

Для того, чтобы использовать SQL CE от вас не требуется запускать установку или инсталлировать сервер баз данных. Теперь достаточно просто скопировать SQL CE исполняемые файлы в папку \bin вашего ASP.NET приложения, а дальше ваше веб-приложение может использовать его, как движок баз данных. Не требуется никакой инсталляции или дополнительных прав безопасности, просто запустил и работает. 

Приложения могут свободно включать в поставку SQL CE. Вы просто копируете веб-приложение на любой сервер и оно работает. 

Файлы базы данных хранятся на диске

SQL CE хранит базы данных в виде файлов (с расширением .sdf). Вы можете хранить эти файлы в директории проекта \App_Data, нет нужды регистрировать их для использования в приложении. 

Движок SQL CE запускается в памяти вашего ASP.NET приложения. Когда приложение завершает свою работу, он автоматически выгружается.

Shared-хостинги уже поддерживают SQL CE 4

SQL CE 4 уже может работать на ASP.NET 4 хостингах со средним уровнем доверия к приложениям, хостеру ничего не нужно устанавливать. Хостерам вообще ничего не нужно делать для работы SQL CE. 

Разворачивать приложение теперь можно вообще с помощью одного FTP, просто копируем папку проекта и все готово. 

SQL CE сам запустится в вашем приложении на удаленном хосте. 

Поддержка в Visual Studio 2010 и Visual Web Developer 2010 Express

В ближайшем будущем у VS 2010 и Visual Web Developer 2010 Express появятся инструменты, поддерживающие работу с SQL CE 4. Вы сможете добавлять SQL CE файлы в ASP.NET проекты, использовать Visual Studio Server Explorer для создания и редактирования таблиц, а также использовать высокоуровневые конструкторы, как Entity Framework(см.ниже) для моделирования и привязки базы данных к классам, которые в дальнейшем использовать в LINQ. 

sql ce 4

Вдобавок к уже известным вам API для работы с данными, вы сможете использовать те же инструменты разработки для SQL CE.

Разработка и Продакшн

SQL может использоваться, на машине разработчика и для простых сайтов на продакшене. C 4-ой версий SQL CE мы провели техническую работу и удостоверились, что SQL CE не будет падать или происходить взаимная блокировка, когда происходят многопоточные сценарии, как в случае с ASP.NET. Это огромное изменение, по сравнению с предыдущей версией SQL CE, которые мы разрабатывали только для клиентской части, плюс — он блокировал работу в веб-окружении. А теперь SQL CE 4 можно без проблем использовать на веб-серверах. 

Не существует никаких лицензионных ограничений для использования SQL CE. 

Простая миграция на SQL Server

SQL CE является встроенной базой данных, что делает её идеальной для простых сценариев. Для высоконагруженных же сайтов и приложений вы, наверное, захотите мигрировать на SQL Server Express(бесплатен), SQL Server или SQL Azure. Данные сервера обладают лучшей масштабируемостью, больше возможностей для разработки (включая такие возможности, как хранимые процедуры, которые не поддерживаются в SQL CE), а также более расширенные возможности для управления данных. 

Мы предоставим инструменты для миграции, которые позволят взять базу данных SQL CE и с легкостью обновится до SQL Server Express, SQL Server или SQL Azure. Вам не придется вносить изменения в код для обновления базы данных SQL CE до SQL Server или SQL Azure. Нашей целью — дать вам возможность просто изменить строку соединение с базой данных в web.config и продолжить работать с приложением. 

Выводы

SQL CE 4 предоставляет простую, легкую базу данных, которую вы можете использовать в ASP.NET приложения. Позволяет вам быстро начать работу над проектом, не требуя инсталляции полноценной базы данных на локальной машине разработчика. В следствии совместимости с полной версией SQL Server, ваш код использует все те же API (ADO.NET, Entity Framework, NHibernate и т.п) 

У вас появится возможность быстро разворачивать SQL CE базы данных на хостингах для простых сайтов и приложений. В дальнейшем, при росте трафика и нагрузки вы сможете обновить базу данных до SQL Server Express, SQL Server или SQL Azure, не изменяя код. 

Мы предоставим доступ к первой публичной бета-версии SQL CE 4 (вместе с IIS Express и другими более крутыми штуками, о которых я еще напишу) на следующей неделе. 

Перевод статьи Скота Гаттри.

2010   Базы данных   Программирование