Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jakie są realne warstwy abstrakcji bazy danych dla Pythona?

Przyjrzyj się uważnie SQLAlchemy.

Możesz testować i programować za pomocą SQLite.

Możesz przejść do środowiska produkcyjnego z MySQL -- zasadniczo nie wprowadzając żadnych zmian w swoich aplikacjach.

DB-API, chociaż jest powszechnie stosowane, ma wystarczającą elastyczność, że (1) nie jesteś odizolowany od wariacji SQL w bazowym RDBMS i (2) nadal istnieją funkcje specyficzne dla sterownika DB, które są trudne do ukrycia.

Inną dobrą warstwą ORM jest ORM, który jest częścią Django . Możesz (przy odrobinie wysiłku) używać tylko ORM Django bez korzystania z reszty frameworka sieciowego Django.

Użyj warstwy ORM (SQLAlchemy lub SQLObject) zamiast DB-API.

Czemu? Twój model powinien być solidnym, przejrzystym, przemyślanym modelem OO. Mapowanie relacyjne powinno zająć drugie miejsce po modelu obiektowym. SQLAlchemy sprawia, że ​​jest to rozsądne podejście.

„Warstwa abstrakcji DB” wystąpi w normalnym toku zdarzeń. Rzeczywiście, z powodu DB-API (używanego przez SQLAlchemy) dałeś dwie warstwy abstrakcji:ORM i DB-API.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grupowanie według kolumny z zależnością od innej kolumny

  2. Utworzyć, jeśli wpis nie istnieje, w przeciwnym razie zaktualizować?

  3. Obsługuje transakcje, blokowanie na poziomie wiersza i klucze obce

  4. Wydajność wkładania wsadowego JDBC

  5. Ciąg do znacznika czasu w MySQL