Для СУБДPostgreSQLнужно взять неPyGreSQL,аpsycopg,так как в первом есть 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Для СУБДPostgreSQLнужно взять неPyGreSQL,аpsycopg,так как в первом есть

Поиск

Другие СУБД и Python

 

Модуль sqlite дает прекрасные возможности для построения небольших и быстрых баз данных,однако для полноты изложения предлагается обзор модулей расширенияPythonдля других СУБД.

 

Выше везде импортировался модуль sqlite,с изменением его имени на db.Это было сделано не случайно.Дело в том,что подобные модули,поддерживающиеDB-API 2.0,есть и для других СУБД,и даже не в единственном числе.Согласно информации на сайтеwww.python.org DB-API 2.0-совместимые модули для Python имеют следующие СУБД или протоколы доступа к БД:

 

· zxJDBC Доступ поJDBC.

 

· MySQL Для СУБДMySQL.

 

· mxODBC Доступ поODBC,продается фирмойeGenix (http://www.egenix.com).

· DCOracle2, cx_Oracle Для СУБДOracle.

 

· PyGresQL, psycopg, pyPgSQL Для СУБДPostgreSQL.

· Sybase ДляSybase.

 

· sapdbapi Для СУБДSAP.

· KInterbasDB Для СУБДFirebird (это потомокInterbase).

· PyADO Адаптер кMicrosoft ActiveX Data Objects (только подWindows).

 

Примечание:

 

Для СУБДPostgreSQLнужно взять неPyGreSQL,аpsycopg,так как в первом есть

 

небольшие проблемы с типом для даты и времени при вставке параметров в методе execute().Кроме того,psycopg оптимизирован для скорости и многопоточности

 

(psycopg.threadsafety=2).


 

 


Таким образом,в примерах,используемых в этой лекции,вместо sqlite можно применять,например,psycopg:результат должен быть тем же,если,конечно,соответствующий модуль был установлен.

 

Однако в общем случае при переходе с одной СУБД на другую могут возникать нестыковки,даже,несмотря на поддержку одной версииDB-API.Например,у модулей могут различаться paramstyle.В этом случае придется немного переделать параметры к вызову

 

execute().Могут быть и другие причины,поэтому переход на другую СУБД следует тщательно тестировать.

 

Иметь интерфейсDB-APIмогут не только базы данных.Например,разработчики проекта fssdb стремятся построитьDB-API 2.0интерфейс к...файловой системе.

 

Несмотря на достаточно хорошие теоретические основы и стабильные реализации,реляционная модель-не единственная из успешно используемых сегодня.К примеру,уже рассматривался языкXMLи интерфейсы для работы с ним вPython.Древовидная модель данныхXMLдля многих задач является более естественной,и в настоящее время идут исследования,результаты которых позволят работать сXMLтак же легко и стабильно,как с реляционными СУБД.Язык программированияPython -один из полигонов этих исследований.

 

Решая конкретную задачу,разработчик программного обеспечения должен сделать выбор средств,наиболее подходящих для решения задачи.Очень многие подходят к этому выбору с предвзятостью,выбирая неоптимальную(для данной задачи или подзадачи)модель данных.В результате данные,которые по своей природе легче представить другой моделью,приходится хранить и обрабатывать в выбранной модели,зачастую невольно моделируя более естественные структуры доступа и хранения.Так, XMLможно хранить в реляционной БД,а табличные данные-вXML,однако это неестественно.Из-за этого сложность и подверженность ошибкам программного продукта возрастают,даже если использованные инструменты высокого качества.

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 53; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.007 с.)