RSS Telegram YouTube Apple Яндекс Spotify Google Amazon Почта

23. SQL антипаттерны

29.10.2023

Скачать

К списку выпусков

В нашем обсуждении концепций книги, мы касаемся важности разделения данных и метаданных для избежания компликаций в запросах и сохранения целостности информации. В качестве примера приведем EAV-модель, которая часто используется для хранения гетерогенных данных. Эта модель предполагает хранение атрибутов и их значений в отдельных колонках, что приводит к ряду проблем, таких как отсутствие строгой типизации и сложности с обеспечением уникальности данных.

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

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

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

К списку выпусков