wok-current view python-sqlalchemy/description.txt @ rev 25252
updated python-zfec (1.5.3 -> 1.5.5)
author | Hans-G?nter Theisgen |
---|---|
date | Thu Jul 14 07:44:30 2022 +0100 (2022-07-14) |
parents | |
children |
line source
1 SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
2 gives application developers the full power and flexibility of SQL.
3 SQLAlchemy provides a full suite of well known enterprise-level
4 persistence patterns, designed for efficient and high-performing database
5 access, adapted into a simple and Pythonic domain language.
7 Major SQLAlchemy features include:
9 - An industrial strength ORM, built from the core on the identity map,
10 unit of work, and data mapper patterns.
11 These patterns allow transparent persistence of objects using a
12 declarative configuration system. Domain models can be constructed and
13 manipulated naturally, and changes are synchronized with the current
14 transaction automatically.
15 - A relationally-oriented query system, exposing the full range of SQL's
16 capabilities explicitly, including joins, subqueries, correlation, and
17 most everything else, in terms of the object model.
18 Writing queries with the ORM uses the same techniques of relational
19 composition you use when writing SQL. While you can drop into literal SQL
20 at any time, it's virtually never needed.
21 - A comprehensive and flexible system of eager loading for related collections
22 and objects. Collections are cached within a session, and can be loaded on
23 individual access, all at once using joins, or by query per collection across
24 the full result set.
25 - A Core SQL construction system and DBAPI interaction layer. The SQLAlchemy
26 Core is separate from the ORM and is a full database abstraction layer in its
27 own right, and includes an extensible Python-based SQL expression language,
28 schema metadata, connection pooling, type coercion, and custom types.
29 - All primary and foreign key constraints are assumed to be composite and
30 natural. Surrogate integer primary keys are of course still the norm, but
31 SQLAlchemy never assumes or hardcodes to this model.
32 - Database introspection and generation. Database schemas can be "reflected"
33 in one step into Python structures representing database metadata; those
34 same structures can then generate CREATE statements right back out - all
35 within the Core, independent of the ORM.