суббота, 1 января 2011 г.

SQLalchemy:что это?

Вобще вокруг этого класса систем идет много дискуссий.Но в целом мне кажется очень хорошая идея заложена в ORM системы(Object-Relation System ). Основная их идея в том, чтобы создать слой между языком программирования и SQL. При чем этот слой нужен для абстрагирования от SQL и перевод работы с базой от ее создания до удаления в инструменты и понятия родные для конкретного языка, а не SQL. В данном случае python. И естественно,  исходя из названия предположить что там активно используются классы. Итак что же мы имеем? Таблицы связываются с классами, которые их описывают в программе, поля классов это поля таблиц, естественно к классам можно добавлять методы. Такие вещи как запрос и различные типы фильтрации то же представлены как типичный Python-объект, для задания сложных и не очень условий можно использовать операторы и функции Python. Так же при помощи ORM-модели в терминах языка можно описывать соединения таблиц между собой. Системы типа SQLalchemy стараются быть максимально универсальными, чтобы поддерживать независимость от конкретной СУБД, что не дает возможность задействовать некоторые "фичи" различных СУБД. Но это как говорится борьба универсализма и специализированности.    Для Python главной  ORM системой является sqlalchemy-opensource продукт (либеральная лицензия MIT) .Она позволяет в терминах и структурах данных python создавать приложения для работы с БД, начиная от описание структуры таблиц и связей в БД и заканчивая модификацией и извлечением данных.             

Комментариев нет:

Отправить комментарий