<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / sql</title>
	<link>http://habrahabr.ru/rss/tag/sql/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 02:01:22 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
		
		
		
			
		<item>		
			<title><![CDATA[PHP / [Перевод] Почему стоит пользоваться PDO для работы с базой данных]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/137664/</guid>
			<link>http://habrahabr.ru/blogs/php/137664/</link>
			<description><![CDATA[<img src="http://habrastorage.org/storage2/d9d/c36/2c4/d9dc362c44d73da74f380af90f090eb6.png" align="left"/><br/>
<i>Перевод статьи <a href="http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/">Why you Should be using PHP’s PDO for Database Access.</a></i><br/>
<br/>
Множество PHP-разработчиков привыкли использовать для работы с базами данных расширения mysql и mysqli. Но с версии 5.1 в PHP существует более удобный способ — <a href="http://www.php.net/manual/en/intro.pdo.php">PHP Data Objects</a>. Этот класс, сокращенно именуемый PDO, предоставляет методы для работы с объектами и <a href="http://en.wikipedia.org/wiki/Prepared_statement">prepared statements</a>, которые заметно повысят вашу продуктивность!<br/>
<br/>
<h1>Введение в PDO</h1><br/>
<blockquote>«PDO – PHP Data Objects – это прослойка, которая предлагает универсальный способ работы с несколькими базами данных.»</blockquote><br/>
Заботу об особенностях синтаксиса различных СУБД она оставляет разработчику, но делает процесс переключения между платформами гораздо менее болезненным. Нередко для этого требуется лишь изменить строку подключения к базе данных.<br/>
<img src="http://habrastorage.org/storage2/3f5/b4e/a96/3f5b4ea96da4cec473d5f458b47d4e10.png"/><br/>
Эта статья написана для людей, которые пользуются mysql и mysqli, чтобы помочь им в переходе на более мощный и гибкий PDO.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/137664/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 06 Feb 2012 05:42:59 GMT</pubDate>
			<author>DenisioDelBoro</author>
			<category>php</category><category>pdo</category><category>php data objects</category><category>sql</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[PostgreSQL / [Перевод] EnterpriseDB: мы заберём «свой кусок пирога» рынка СУБД у Oracle!]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/postgresql/137183/</guid>
			<link>http://habrahabr.ru/blogs/postgresql/137183/</link>
			<description><![CDATA[<img align="right" src="http://habrastorage.org/storage2/dc6/71d/f98/dc671df9887ecf6db33e89bb8906c7c9.jpg"/><i>Неделю назад компания EnterpriseDB анонсировала <a href="http://it.siteua.org/%D0%98%D0%A2-%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8/332900/%D0%92%D1%8B%D1%88%D0%BB%D0%B0_%D0%BA%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F_EnterpriseDB_PostgreSQL">свой новый продукт — Postgres Plus Cloud Database</a> Я подумал, что неплохобы по этому поводу перевести что-нибудь о компании и её продуктах. Тем более, что с амбициями у руководителей там всё нормально — изображение справа с официального сайта enterprisedb. ;-) В некотором роде, данный перевод написан«в догонку» к <a href="http://habrahabr.ru/blogs/htranslations/136468/">«Oracle на пути к упадку»</a>.</i> <br/>
<br/>
В конце декабря компания Oracle сообщила о падении своих акций на 9%. Но мне эта новость не показалась удивительной, потому что всего за пару дней до её появления я беседовал с Эдом Бояджаном (Ed Boyajian), президентом и CEO компании EnterpriseDB.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/postgresql/137183/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 29 Jan 2012 16:32:45 GMT</pubDate>
			<author>mister_fog</author>
			<category>postgresql</category><category>enterprisedb</category><category>oracle</category><category>субд</category><category>базы данных</category><category>sql</category>
		</item>
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[PostgreSQL / [Из песочницы] PostgreSQL: Уникальные ключи для распределенной базы. Практика]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/postgresql/136852/</guid>
			<link>http://habrahabr.ru/blogs/postgresql/136852/</link>			
			<description><![CDATA[По следам статьи <a href="http://habrahabr.ru/blogs/webdev/135364/">Уникальный ключ в условиях распределенной БД</a>. <br/>
<br/>
У нас есть база которую мы хотим разделить. В идеальном случае хочется сделать master-master. Один из самых сложных моментов, это обеспечение уникальности ключей на всех серверах. И хорошо если база изначально проектировалась с учетом масштабирования… Опять же, это что-то из области идеала, который встречается, скажем так — не часто.<br/>
<br/>
Итак у нас есть база которую нужно подготовить к синхронизации master-master — сделаем все ключи в нашей базе уникальными в пределах проекта.<br/>
<br/>
В упомянутой статье рассматривались несколько вариантов, но мы остановимся на одном предложенным <a href="http://instagram-engineering.tumblr.com/post/10853187575/sharding-ids-at-instagram">Instagram</a><br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/postgresql/136852/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 23 Jan 2012 18:01:27 GMT</pubDate>
			<author>Borgius</author>
			<category>postgresql</category><category>sql</category><category>autoincrement</category><category>primary key</category><category>unique key</category><category>Instagram</category>
		</item>
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[Системы управления версиями / [Из песочницы] Ограничение доступа к репозиториям]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development_tools/136449/</guid>
			<link>http://habrahabr.ru/blogs/development_tools/136449/</link>			
			<description><![CDATA[Чтобы управлять доступом можно использовать различные решения gitosys, gitolite, mercurial-server, но эти решения работают через SSH, что не всегда удобно (должен быть ключ). В добавок не хватает гибкости у подобных решений.<br/>
<br/>
Основные требования:<br/>
<ul>
<li>доступ по логину/паролю (HTTPS)</li>
<li>контроль прав на чтение/запись</li>
<li>публичный/приватный репозиторий</li>
<li>управления всем через веб интерфейс</li>
<li>все данные (информация о проекте и пользователях) должны храниться в базе (MySQL)</li>
</ul><br/>
<br/>
Для решения этой задачи сделал следующую систему…<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/development_tools/136449/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 17 Jan 2012 15:37:56 GMT</pubDate>
			<author>and_cesbo</author>
			<category>python</category><category>vcs</category><category>nginx</category><category>uwsgi</category><category>sql</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[SQL / CryptDB: обработка информации в БД без её дешифрования]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/sql/134966/</guid>
			<link>http://habrahabr.ru/blogs/sql/134966/</link>			
			<description><![CDATA[Исследователи из МТИ представили СУБД CryptDB, которая способна эффективно обслуживать запросы к БД SQL — поиск, сортировка, математические функции и др. — без расшифровки записей базы. Хотя это не первая разработка подобного рода, но благодаря беспрецедентной производительности эксперты считают CryptDB первой, реально пригодной для практического использования. Предполагается, что подобные разработки могут найти применения в системах облачного хранения данных, которые особенно нуждаются в криптографической защите.<br/>
<br/>
<img src="http://habrastorage.org/storage2/cf2/8fe/623/cf28fe6236fd943804eebcfa39a35ffa.png"/><br/>
<sup>Архитектура CryptDB</sup><br/>
<br/>
Подход, реализованный в CryptDB, называется полным гомоморфным шифрованием. Первую полностью гомоморфную модель для СУБД <a href="http://www.ibm.com/news/ru/ru/2009/06/25/a737496p86512a82.html">предложил в 2009 году</a> криптограф из IBM Research Крейг Джентри (Craig Gentry), она является гомоморфной для операций умножения и сложения одновременно, что даёт возможность выразить любую математическую функцию. Правда, была одна проблема: скорость операций по сравнению с обычной СУБД возрастала примерно в триллион раз.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/sql/134966/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 20 Dec 2011 12:21:09 GMT</pubDate>
			<author>alizar</author>
			<category>CryptDB</category><category>базы данных</category><category>SQL</category><category>Крейг Гентри</category><category>гомоморфное шифрование</category><category>phpBB</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[SQL / Вышел AnjLab SQL Profiler 1.2]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/sql/133212/</guid>
			<link>http://habrahabr.ru/blogs/sql/133212/</link>			
			<description><![CDATA[<a href="https://sites.google.com/site/sqlprofiler/">AnjLab SQL Profiler</a> — это бесплатный Open Source профайлер для MS SQL Server (Express).<br/>
<br/>
В новой версии появилась возможность автоматической группировки одинаковых запросов по соединениям в Performance Dashboard.<br/>
<br/>
Спасибо <a href="http://www.powerdnn.com/">PowerDNN</a> за спонсорскую помощь в развитии проекта.]]></description>
			
			<pubDate>Wed, 23 Nov 2011 03:19:37 GMT</pubDate>
			<author>dmitrygusev</author>
			<category>anjlab</category><category>sql</category><category>profiler</category><category>open source</category><category>sql server</category><category>sql server express</category>
		</item>
		
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[Вопросы безопасности в веб-технологиях / [Из песочницы] SQL инъекции. Проверка, взлом, защита]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/web_security/130826/</guid>
			<link>http://habrahabr.ru/blogs/web_security/130826/</link>			
			<description><![CDATA[<b>SQL инъекция</b> — это один из самых доступных способов взлома сайта.<br/>
Суть таких инъекций – внедрение в данные (передаваемые через GET, POST запросы или значения Cookie) произвольного SQL кода. Если сайт уязвим и выполняет такие инъекции, то по сути есть возможность творить с БД (чаще всего это MySQL) что угодно. <br/>
<br/>
<h3>Как вычислить уязвимость, позволяющую внедрять SQL инъекции? </h3><br/>
Довольно легко. Например, есть тестовый сайт <a href="http://test.ru.">test.ru.</a> На сайте выводится список новостей, с возможностью детального просомтра. Адрес страницы с детальным описанием новости выглядит так: <a href="http://test.ru/?detail=1.">test.ru/?detail=1.</a> Т.е через GET запрос переменная detail передаёт значение 1 (которое является идентификатором записи в табице новостей). <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/web_security/130826/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 20 Oct 2011 10:15:32 GMT</pubDate>
			<author>BVN2</author>
			<category>sql</category><category>php</category><category>sql инъекции</category><category>взлом сайта</category><category>защита сайта</category><category>хакерская атака</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Есть ли жизнь без ORM?]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/130617/</guid>
			<link>http://habrahabr.ru/blogs/programming/130617/</link>			
			<description><![CDATA[После перехода в наших проектах с java на clojure нам необходимо было найти замену привычным средствам работы с базами данных.<br/>
<br/>
В clojure есть стандартная библиотека работы с бд clojure.java.jdbc и несколько библиотек, основанных на ней и позволяющих писать запросы в предоставляемом ими eDSL. Но для «ежедневного пользования» нам хотелось что-то по удобству напоминающее jpa и работу с ним в IDE.<br/>
<br/>
Мы подумали, почему бы не написать свою библиотеку, которая бы идеально подходила нашим требованиям. А требования были следующие:<br/>
<br/>
<ul>
<li>автодополнение таблиц, полей;</li>
<li>автодополнение констант из определенных таблиц (более позднее);</li>
<li>удобный eDSL запросов;</li>
<li>возможность без ручного запроса получать значения из таблиц, связанные по внешнему ключу (более позднее).</li>
</ul><div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/programming/130617/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 17 Oct 2011 18:26:18 GMT</pubDate>
			<author>mobyte</author>
			<category>clojure</category><category>lisp</category><category>sql</category><category>programming</category><category>success story</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / Нововведения F# 3.0]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/129043/</guid>
			<link>http://habrahabr.ru/blogs/net/129043/</link>			
			<description><![CDATA[На прошедшей недавно конференции Build кроме уже широко освещенной и обсужденной презентации Windows 8, Metro UI и WinRT было еще немало интересного.<img src="http://habrastorage.org/storage1/79c9ebf9/86213abf/ceac0438/17a6d732.png" align="left"/> В том числе, Дон Сайм и его команда представили developer preview новой, третьей по счету, версии языка программирования F#, который является частью developer preview Visual Studio 11 (и, кстати, уже может быть опробована вами по <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27543">ссылке</a>).<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/129043/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 26 Sep 2011 19:45:52 GMT</pubDate>
			<author>Meroving</author>
			<category>.net</category><category>f</category><category>odata</category><category>sql</category><category>wsdl</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Блог компании CUBRID / Основные возможности CUBRID 8.4.0]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/company/cubrid/blog/117684/</guid>
			<link>http://habrahabr.ru/company/cubrid/blog/117684/</link>			
			<description><![CDATA[Приветствую всех!<br/>
<br/>
Этот блог будет очень занимательным! Сегодня я расскажу об очень интересных особенностях последней версии CUBRID 8.4.0, о том, чего обычно не найдешь в мануале. Приведу очень важные рекоммендации по оптимизации запросов и индексов, приведу результаты тестов, а также примеры использования в реальных Веб сервисах.<br/>
<br/>
Ранее я уже поверхностно <a href="http://habrahabr.ru/company/cubrid/blog/119342/">рассказывал</a> об изменениях в новой версии, о вдвое ускоренном движке базы данных, о расширенной поддержке MySQL синтаксиса, и т.д. А сегодня расскажу о них и других вещах более подробно, акцентируя на том, как мы смогли увеличить производительность CUBRID в два раза.<br/>
<br/>
Основные направления, повлиявшие на производительность CUBRID, являются:<br/>
<ul>
<li>Уменьшение размера тома базы данных</li>
<li>Улучшенные параллельные вычисления в Windows версии</li>
<li>Оптимизации индексов</li>
<li>Оптимизации обработки условий в LIMIT</li>
<li>Оптимизации обработки условий в GROUP BY</li>
</ul><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/company/cubrid/blog/117684/#habracut">Весь смак под катом</a> </div>]]></description>
			
			<pubDate>Mon, 26 Sep 2011 07:10:42 GMT</pubDate>
			<author>kadishmal</author>
			<category>cubrid</category><category>dbms</category><category>sql</category><category>mysql</category><category>производительность</category><category>индексы</category><category>покрывающие индексы</category><category>субд</category><category>базы данных</category><category>оптимизация запросов</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Праздничный биатлон]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/128289/</guid>
			<link>http://habrahabr.ru/blogs/programming/128289/</link>			
			<description><![CDATA[<img src="http://leprastuff.ru/data/img/20110913/823ad524f2bde59412e12124258d19d0.jpg" alt="Programmers&amp;#39; day" align="left"/>С днем программиста, коллеги!<br/>
<br/>
Предлагаю в честь праздника поразмять мозги и поучаствовать в биатлоне.<br/>
Виды спорта: алгоритмы, SQL. Для каждого из них будет две задачки: попроще и посложнее.<br/>
В качестве награды за усилия всем участникам гарантируется улучшение кровообращения в левом полушарии головного мозга (:<br/>
<br/>
<h2>Алгоритмы. Задача №1, разминочная</h2><br/>
Напишите код, который находит количество <strong><em>подчисел</em></strong> числа <strong>n</strong>, на которые это число делится без остатка.<br/>
<br/>
Для числа n, подчисло — это такое число, запись которого является подстрокой записи числа n. К примеру, если n равняется 1938, то его подчислами будут являться: 1, 9, 3, 8, 19, 93, 38, 193 и 938. Без остатка 1938 делится на четыре из этих подчисел: 1, 3, 19 и 38. Соответственно, результатом работы программы должно быть число 4.<br/>
Если подчисла повторяются, каждое из них считается. Например, 101 делится без остатка на 1, 1 и 01, значит, ответ — 3.<br/>
<br/>
Так как задача несложная, в решениях ценится краткость или нестандартный подход.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/programming/128289/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 13 Sep 2011 05:21:59 GMT</pubDate>
			<author>Shedal</author>
			<category>программирование</category><category>задачки</category><category>алгоритмы</category><category>SQL</category><category>биатлон</category><category>конкурс</category><category>день программиста</category><category>programmers day</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Oracle / Заметка про NULL]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/oracle/127327/</guid>
			<link>http://habrahabr.ru/blogs/oracle/127327/</link>			
			<description><![CDATA[Всем привет!<br/>
Долго думал, что бы написать полезного про Оракл, перепробовал кучу тем. Каждый раз получалось слишком длинно, потому что уносило глубоко в дебри. Поэтому решил начать с максимально простой темы, чтобы оценить интерес аудитории и её отношение к моему стилю изложения материала (имхо, писатель из меня не очень). Несколько замечаний:<ul>
<li>заметка относится к СУБД Oracle, но большинство написанного касается и других СУБД;</li>
<li>не получилось симпатично оформть код: тег source lang=«sql» подсвечивает слишком мало, как сделать по другому не в курсе. Если кто покажет, быстро всё приведу в более читабельный вид.</li>
</ul>Итак.<br/>
<br/>
<h1>Основные положения</h1>Специальное значение NULL означает отсутствие данных, констатацию того факта, что значение неизвестно. По умолчанию это значение могут принимать столбцы и переменные любых типов, если только на них не наложено ограничение <code>NOT NULL</code>. Также, СУБД автоматически добавляет ограничение <code>NOT NULL</code> к столбцам, включенным в первичный ключ таблицы.<br/>
<br/>
Основная особенность NULLа заключается в том, что он не равен ничему, даже другому NULLу. С ним нельзя сравнить какое-либо значение с помощью любых операторов: <code>=</code>, <code>&lt;</code>, <code>&gt;</code>, <code>like</code>… Даже выражение <code>NULL != NULL</code> не будет истинным, ведь нельзя однозначно сравнить одну неизвестность с другой. Кстати, ложным это выражение тоже не будет, потому что при вычислении условий Oracle не ограничивается состояниями <code>ИСТИНА</code> и <code>ЛОЖЬ</code>. Из-за наличия элемента неопределённости в виде NULLа существует ещё одно состояние — <code>НЕИЗВЕСТНО</code>. <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/oracle/127327/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 12 Sep 2011 15:13:26 GMT</pubDate>
			<author>abyrvalg</author>
			<category>СУБД</category><category>oracle</category><category>null</category><category>sql</category><category>plsql</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Ненормальное программирование / Задача о восьми Ферзях на Oracle SQL]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/128137/</guid>
			<link>http://habrahabr.ru/blogs/crazydev/128137/</link>			
			<description><![CDATA[Привет, Хабролюди!<br/>
<br/>
В мае месяце в Москве прошла олимпиада IT-Планета, одной из номинаций которой было «Программирование СУБД Oracle». Задания были интересными и сложными, и хотелось бы поделиться решением некоторых из них. <br/>
Первая задача, о которой я расскажу — задача о восьми ферзях, решить ее было необходимо используя для этого только SQL и ничего более, сначала я эту задачу просто вычеркнул из списка тех, которые собираюсь решать, но в последний час все-таки ее решил, что принесло мне первое место и диплом из рук министра связи и массовых коммуникаций РФ.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/crazydev/128137/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 09 Sep 2011 21:27:42 GMT</pubDate>
			<author>igofed</author>
			<category>sql</category><category>oracle sql</category><category>it-planet</category><category>it-планета</category><category>задача о восьми ферзях</category><category>ненормальное программирование</category>
		</item>
		
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[Microsoft SQL Server / [Из песочницы] Обновление баз данных Microsoft SQL Server]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/mssql/127792/</guid>
			<link>http://habrahabr.ru/blogs/mssql/127792/</link>			
			<description><![CDATA[В данной статье я расскажу о процессе обновления баз данных Microsoft SQL Server и предложить программный продукт, который может использоваться при взаимодействии заказчика и исполнителя. <br/>
 <div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/mssql/127792/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 05 Sep 2011 16:30:22 GMT</pubDate>
			<author>demav</author>
			<category>база</category><category>sql</category><category>server</category><category>обновление</category>
		</item>
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[Oracle / [Из песочницы] Получение нулевой статистической информации при отсутствии исходных данных]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/oracle/127273/</guid>
			<link>http://habrahabr.ru/blogs/oracle/127273/</link>			
			<description><![CDATA[Очень часто возникает задача предоставления некоей статистики за указанный период. Например, сколько было совершено полезных действий пользователем системы за последнюю неделю. Казалось бы, нет ничего проще:<br/>
<br/>
<code>SELECT Data, COUNT(*)<br/>
FROM tbl<br/>
WHERE Data BETWEEN SYSDATE-7 AND SYSDATE<br/>
GROUP BY Data<br/>
ORDER BY Data<br/>
</code><br/>
<br/>
За неделю ожидаем получить пять строчек — по одной на каждый рабочий день. Все работает. До тех пор, пока пользователи совершают хоть одно действие в день. Если же в таблице не окажется ни одной строки с датой, то и в результате этой даты не будет. И вместо ожидаемых пяти строк в отчете будет четыре… или три… или вообще ни одной. А пользователи хотят видеть пять, пусть и с нулями!<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/oracle/127273/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 29 Aug 2011 12:33:43 GMT</pubDate>
			<author>ivs13</author>
			<category>Oracle</category><category>SQL</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[ASP.NET MVC / Common Table Expressions и деление таблиц на страницы]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/aspnet_mvc/126770/</guid>
			<link>http://habrahabr.ru/blogs/aspnet_mvc/126770/</link>			
			<description><![CDATA[Здравствуйте!<br/>
<br/>
Common Table Expressions или по русский <a href="http://msdn.microsoft.com/ru-ru/library/ms190766.aspx">обобщенные табличные выражения</a> – это технология, которая появилась в MS SQL Server 2005 и представляет собой одну из форм повторного использования результатов одного SQL запроса в другом.<br/>
<br/>
В веб разработке довольно часто бывает нужно сделать выборку, разделить ее на страницы и отобразить строки таблицы, которые относятся к одной из страниц. Один из распространенных подходов заключается в том, что извлекается вся выборка, затем вычисляются номера строк, которые относятся к нужной нам странице и генерируется выходной html с нужными строками. Остальные данные не используются и извлекаются напрасно.<br/>
<br/>
CTE позволяет увеличить эффективность такого извлечения данных. Суть в том, что обычно для определения какие строки требуются для отображения определенной страницы, нам нужны ключевое поле и поле, по которому выполняется сортировка, которое, впрочем, даже не всегда нужно извлекать. А для генерации страницы обычно нужно большее количество столбцов но небольшое количество строк. Выйгрыш происходит за счет того, что для определения строк определенной страницы мы используем маленький и быстрый некластерный индекс, а для извлечения строк одной страницы – кластерный индекс но с небольшим количеством строк.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/aspnet_mvc/126770/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 21 Aug 2011 19:46:25 GMT</pubDate>
			<author>Razbezhkin</author>
			<category>asp.net</category><category>sql</category><category>cte</category><category>страницы</category><category>оптимизация</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
		
		
			
		<item>		
			<title><![CDATA[SQL / [Опрос] Как вы узнаёте количество записей в таблице?]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/sql/126233/</guid>
			<link>http://habrahabr.ru/blogs/sql/126233/</link>
			<description><![CDATA[]]></description>
			
			<pubDate>Sat, 13 Aug 2011 11:19:57 GMT</pubDate>
			<author>gnomeby</author>
			<category>sql</category>
		</item>
		
		
		
	
			
		<item>		
			<title><![CDATA[Тестирование / Зачем тестировщику SQL (результаты опроса)?]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/testing/126022/</guid>
			<link>http://habrahabr.ru/blogs/testing/126022/</link>			
			<description><![CDATA[В рамках подготовки к курсу «SQL для тестировщиков» я решила выяснить: а зачем вообще тестировщикам SQL? Опрос знакомых тестировщиков, знающих и не знающих SQL, не принес особо разнообразных результатов. Тогда я решила задать такой же вопрос <a href="http://habrahabr.ru/qa/9641">здесь, на Хабрахабре</a>. <br/>
Вопрос оказался злободневным. Было забавно наблюдать как моя карма скакала все утро вверх и вниз, дважды опускавших до значка «Отхабренный». Но, тем не менее, я решила повторить эксперимент и написать еще и этот пост по мотивам опроса.<br/>
Итак, действительно ли тестировщикам нужен SQL или это просто дань моде, вроде той, когда крутое нагрузочное тестирование заказывается для системы, пользоваться которой будут от силы несколько десятков человек. Ответов набралось достаточно много, я постаралась их систематизировать.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/testing/126022/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 10 Aug 2011 10:12:13 GMT</pubDate>
			<author>Vestfalka</author>
			<category>тестирование</category><category>SQL</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Oracle / Некоторые советы при работе с PLSQL]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/oracle/125893/</guid>
			<link>http://habrahabr.ru/blogs/oracle/125893/</link>			
			<description><![CDATA[Я решил написать цикл небольших заметок благодаря посту <a href="http://habrahabr.ru/blogs/oracle/124948/">Хорошие привычки в PL/SQL</a>, советы которого и рассмотрю.<br/>
<br/>
В этой части обсудим:<br/>
<ol>
<li><a href="#1">Нюансы %TYPE/%ROWTYPE</a></li>
<li><a href="#2">Select for update</a></li>
<li><a href="#3">Работа с коллекциями</a></li>
</ol><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/oracle/125893/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 08 Aug 2011 14:23:55 GMT</pubDate>
			<author>xtender</author>
			<category>oracle</category><category>pl</category><category>sql</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Блог компании RTIT / tmaplatform — интегрированная среда разработки]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/company/rtit/blog/125189/</guid>
			<link>http://habrahabr.ru/company/rtit/blog/125189/</link>			
			<description><![CDATA[<img src="http://habrastorage.org/storage1/b79b8046/6b59d1c2/60d78bb2/be64ff94.jpg"/><br/>
<br/>
<b>tma</b>platform® специализирована для разработки программ учета и управления, но это не является ее значительным ограничением. <div class="habracut"> <a class="habracut" href="http://habrahabr.ru/company/rtit/blog/125189/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 29 Jul 2011 06:17:21 GMT</pubDate>
			<author>vinxru</author>
			<category>tmaplatform</category><category>sql</category><category>ide</category><category>web</category><category>gui</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

