Внес изменения в свою реализацию класса для генерации SQL запросов по сравнению с прошлой версией. Однако прежде чем писать о них, хотелось сразу прояснить некоторые вопросы которые в первом посте остались, на мой взгляд, не раскрыты:Читать полностью »
Рубрика «sql» - 41
SQL-запрос на PHP (Версия 0.2)
2017-04-24 в 5:39, admin, рубрики: php, sql, web, Разработка веб-сайтовTL;DR — реляционные СУБД для тех, кто не смог
2017-04-21 в 23:39, admin, рубрики: sql, tldr, индусский код, Программирование, СУБД, учебникКак-то раз я бродил по интернету и наткнулся на главу «Первичный ключ и интуитивная интерпретация реляционных понятий». Это был толстый нудный учебник для ВУЗов. Недолго думая, я решил написать то же самое, но оставить только самое нужное.
В этом выпуске — таблицы, индексы, ключи, нормальные формы и немного практики. Целевая аудитория — интересующиеся школьники или IT-студенты, прогулявшие лекцию по БД.
Читать полностью »
Выходим на уровень эксперта! 50 оттенков экзамена 1Z0-047 (сертификация Oracle Database SQL Certified Expert)
2017-04-20 в 13:55, admin, рубрики: certifications, oracle, oracle database, oracle sql, sql, Профессиональная литератураВсем привет! В этой статье пойдет речь об одной из базовых сертификаций от ORACLE — Oracle Database SQL Certified Expert.
Чтобы получить сертификат, нужно сдать экзамен 1Z0-047.
Читать полностью »
Как искать в DataGrip
2017-04-20 в 12:53, admin, рубрики: DataGrip, intellij idea, Microsoft SQL Server, mysql, phpstorm, postgresql, pycharm, sql, базы данных, Блог компании JetBrains, метки: DataGrip
В работе с любым инструментом важно легко находить то, что нужно. В DataGrip ищут:
— Объекты базы данных: таблицы, представления, функции, колонки и т. д.
— Сами данные.
— Код, например кусок кода в скрипте или исходнике объекта.
— Другое: настройки, действия, файлы.
Разберемся, как не потеряться в IDE и своих базах данных.
Читать полностью »
Логическая репликация в PostgreSQL 10
2017-04-20 в 11:59, admin, рубрики: databases, postgresql, replication, scalability, sql, Блог компании PG Day'17 Russia, Разработка веб-сайтовPG Day’17 продолжает радовать вас авторскими статьями. Сегодня, наш старый друг и бессменный автор провокационных статей о Web-разработке varanio расскажет о логической репликации.
Сначала я хотел назвать статью "Гарри Поттер и философский камень", потому что много лет при сравнении PostgreSQL с MySQL кто-нибудь всегда появлялся и замечал, что в Посгресе нет логической репликации (можно реплицировать только всю базу целиком, причем реплика read only), а в MySQL их целых два вида: statement based и row based.
И если statement based — это бомба замедленного действия с лазерным прицелом в ногу, то row based действительно очень не хватало в PG. Т.е. вопрос репликации — как философский камень у любителей баз.
Точнее, в посгресе всегда можно было использовать slony для того, чтобы, например, реплицировать только одну-две нужных таблицы. Но slony — это хитрое поделие на триггерах, которое работает по принципу: работает — не трогай. Т.е. например, нельзя просто взять и сделать ALTER TABLE ADD COLUMN, это надо делать через специальные механизмы. Если же всё-таки кто-то случайно это сделал, а потом, что еще хуже, через какое-то время в панике вернул как было, то быстро разрулить эту ситуацию может только чёрный маг 80lvl. Помимо slony, начиная с 9.4 стало возможно писать свои расширения для логической репликации через wal, вроде бы, пример такого расширения — pglogical.
Но это всё не то!
Когда я узнал, что в dev-ветку PostgreSQL 10 упал коммит, который позволяет из коробки, без экстеншенов и плагинов, логически реплицировать отдельные таблицы, я решил посмотреть, а как оно там работает.
Индексы в PostgreSQL — 1
2017-04-19 в 7:52, admin, рубрики: index, indexing, postgres, postgresql, sql, Блог компании Postgres ProfessionalПредисловие
В этой серии статей речь пойдет об индексах в PostgreSQL.
Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы в тайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.
За скобками обсуждения останутся вопросы разработки новых типов индексов. Это требует знания языка Си и относится скорее к компетенции системного программиста, а не прикладного разработчика. По этой же причине мы практически не будем рассматривать программные интерфейсы, а остановимся только на том, что имеет значение для использования уже готовых к употреблению индексов.
В этой части мы поговорим про разделение сфер ответственности между общим механизмом индексирования, относящимся к ядру СУБД, и отдельными методами индексного доступа, которые в PostgreSQL можно добавлять как расширения. В следующей части мы рассмотрим интерфейс метода доступа и такие важные понятия, как классы и семейства операторов. После такого длинного, но необходимого введения мы подробно рассмотрим устройство и применение различных типов индексов: Hash, B-tree, GiST, SP-GiST, GIN и RUM, BRIN, Bloom.
Индексы
Индексы в PostgreSQL — специальные объекты базы данных, предназначенные в основном для ускорения доступа к данным. Это вспомогательные структуры: любой индекс можно удалить и восстановить заново по информации в таблице. Иногда приходится слышать, что СУБД может работать и без индексов, просто медленно. Однако это не так, ведь индексы служат также для поддержки некоторых ограничений целостности.
Сервер приложений на pl-pgsql
2017-04-18 в 10:44, admin, рубрики: pl/pgsql, postgresql, sql, stored procedures, success story, Блог компании PG Day'17 Russia, Разработка веб-сайтовАртем Макаров, руководитель отдела IT компании «Проект 111», на одном из прошлых PG Day рассказал, как бизнес может решиться на такое решение как постройку собственной ERP-системы на Postgres и application-сервер на хранимых процедурах. Какие из этого последовали плохие, хорошие стороны. Стоит отметить, что Артем никогда не был настоящим программистом, хотя и писал довольно много кода. Скорее его можно назвать анти-менеджер и евангелист, и логист для бизнеса IT-решений. Поэтому в его докладе взгляд не только со стороны технического специалиста, но и менеджера. Читать полностью »
Эволюция отказоустойчивости в PostgreSQL: фаза репликации
2017-04-13 в 12:19, admin, рубрики: fault tolerance, internals, postgresql, sql, transactions, Блог компании PG Day'17 Russia, хранение данных, хранилища данныхМы продолжаем публиковать серию переводов Gulcin Yildirim, разработчика компании 2ndQuadrant, об отказоустойчивости PostgreSQL и сегодня предлагаем вашему вниманию второй пост из серии.
Gulcin приедет на PG Day'17 и лично ответит на вопросы участников, а также расскажет более подробно не только о репликации в PG, но и об автоматизации апгрейдов Постгреса в облаке и не только. Готовьте свои вопросы!
PostgreSQL — это потрясающий проект, который развивается с удивительной скоростью. В этой серии статей мы сфокусируемся на эволюции возможностей отказоустойчивости в PostgreSQL на протяжении всех его версий. Это вторая статья серии, в которой мы поговорим о репликации и её значении для отказоустойчивости и надежности Постгреса.
Читать полностью »
Получаем список операторов PostgreSQL
2017-04-13 в 10:30, admin, рубрики: hints, postgresql, sql, system catalog
Intro
Эх, давно я не брал в руки шашечек. Но делать нечего, я заперт в чужом городе до вечера и единственным утешением мне служит безалкогольное пиво в местной пиццерии. А потому, чтобы слегка умерщвлить время, напишу статейку о том, как я решал несложную задачу наших переднеконечников (фронтэндеров).
Они в данный момент создают некий интерфейс, в коем, помимо всего прочего, будет редактор фильтров на возвращаемые данные. Потому меня и спросили:
достаточно ли будет в качестве операторов сравнения использовать стандартные
"<,>,!=,="
? Или есть какие-то операторы, которые стоит добавить?
— Нет, не достаточно, — отвечал я им. — Мало того, что PostgreSQL из коробки поддерживает тьму-тьмущую операторов, так их еще можно определять самому, и вдобавок каждое расширение норовит дополнить систему еще дюжиной.
Читать полностью »
Лекции Технотрека. Проектирование СУБД (осень 2016)
2017-04-12 в 10:42, admin, рубрики: mail.ru, nosql, postgresql, sql, Анализ и проектирование систем, Блог компании Mail.Ru Group, СУБД, технотрек, метки: технотрек
Продолжаем публикацию наших образовательных материалов. Этот курс посвящен изучению основ языка SQL с учетом особенностей объектно-реляционной базы данных PostgreSQL. Программа предусматривает комплексный подход к изучению стандартизованного языка SQL на платформе PostgreSQL, включая некоторые минимальные возможности администрирования пользователей, ролей, схем, базовых таблиц и других объектов базы данных. Мы рассмотрим основы работы с базой данных PostgreSQL и некоторые особенности SQL применительно к ней. Более подробно — под катом.