[#] Заметки о SQL и реляционной алгебре
habrabot(difrex,1) — All
2016-01-18 16:00:03


![][1] На Хабре и за его пределами часто [обсуждают][2] реляционную алгебру и SQL, но далеко не так часто акцентируют внимание на связи между этими формализмами. В данной статье мы отправимся к самым корням теории запросов: реляционному исчислению, реляционной алгебре и языку SQL. Мы разберем их на простых примерах, а также увидим, что бывает полезно переключаться между формализмами для анализа и написания запросов. Зачем это может быть нужно сегодня? Не только специалистам по анализу данных и администраторам баз данных приходится работать с данными, фактически мало кому не приходится что-то извлекать из (полу-)структурированных данных или трансформировать уже имеющиеся. Для того, чтобы иметь хорошее представление почему языки запросов устроены определенным образом и осознанно их использовать нужно разобраться с ядром, лежащим в основе. Об этом мы сегодня и поговорим. Большую часть статьи составляют примеры с вкраплениями теории. В конце разделов приведены ссылки на дополнительные материалы, а для заинтересовавшихся и небольшая подборка литературы и курсов в конце. Содержание

* [Реляционная алгебра][3]
* [SQL][4]
* [Реляционное исчисление][5]
* [Равенство формализмов (теорема Кодда)][6]
* [Conjunctive Queries (CQ)][7]
* [Вычислительная сложность][8]
* [Свойства и анализ запросов][9]
* [Пример использования RA для оптимизации запросов][10]
* [Литература, материалы и слайды][11]

[Читать дальше →][12]

[1]: https://habrastorage.org/files/0db/fb4/d0d/0dbfb4d0d4dd40fa9d12e9287e2cdc9a.png
[2]: http://habrahabr.ru/post/145381/
[3]: http://habrahabr.ru/post/275251/#relational_algebra
[4]: http://habrahabr.ru/post/275251/#SQL
[5]: http://habrahabr.ru/post/275251/#relational_calculus
[6]: http://habrahabr.ru/post/275251/#codd_theorem
[7]: http://habrahabr.ru/post/275251/#conjunctive_queries
[8]: http://habrahabr.ru/post/275251/#complexity
[9]: http://habrahabr.ru/post/275251/#query_analysis
[10]: http://habrahabr.ru/post/275251/#query_optimization
[11]: http://habrahabr.ru/post/275251/#literature
[12]: http://habrahabr.ru/post/275251/#habracut