mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-28 03:26:01 -04:00
9561321d03
and extensions into an external library, and also reorganizes most large documentation pages into many small areas to reduce scrolling and better present the context into a more fine-grained hierarchy.
44 lines
1.7 KiB
ReStructuredText
44 lines
1.7 KiB
ReStructuredText
.. _schema_toplevel:
|
|
|
|
==========================
|
|
Schema Definition Language
|
|
==========================
|
|
|
|
.. module:: sqlalchemy.schema
|
|
|
|
This section references SQLAlchemy **schema metadata**, a comprehensive system of describing and inspecting
|
|
database schemas.
|
|
|
|
The core of SQLAlchemy's query and object mapping operations are supported by
|
|
*database metadata*, which is comprised of Python objects that describe tables
|
|
and other schema-level objects. These objects are at the core of three major
|
|
types of operations - issuing CREATE and DROP statements (known as *DDL*),
|
|
constructing SQL queries, and expressing information about structures that
|
|
already exist within the database.
|
|
|
|
Database metadata can be expressed by explicitly naming the various components
|
|
and their properties, using constructs such as
|
|
:class:`~sqlalchemy.schema.Table`, :class:`~sqlalchemy.schema.Column`,
|
|
:class:`~sqlalchemy.schema.ForeignKey` and
|
|
:class:`~sqlalchemy.schema.Sequence`, all of which are imported from the
|
|
``sqlalchemy.schema`` package. It can also be generated by SQLAlchemy using a
|
|
process called *reflection*, which means you start with a single object such
|
|
as :class:`~sqlalchemy.schema.Table`, assign it a name, and then instruct
|
|
SQLAlchemy to load all the additional information related to that name from a
|
|
particular engine source.
|
|
|
|
A key feature of SQLAlchemy's database metadata constructs is that they are
|
|
designed to be used in a *declarative* style which closely resembles that of
|
|
real DDL. They are therefore most intuitive to those who have some background
|
|
in creating real schema generation scripts.
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
metadata
|
|
reflection
|
|
defaults
|
|
constraints
|
|
ddl
|
|
|