模式定义语言

本节参考 SQLAlchemy 模式元数据,它是一个描述和检查数据库模式的综合系统。

SQLAlchemy 的查询和对象映射操作的核心由数据库元数据支持,数据库元数据由描述表和其他模式级对象的 Python 对象组成。这些对象是三种主要类型操作的核心 - 发出 CREATE 和 DROP 语句(称为DDL)、构建 SQL 查询以及表达有关数据库中已存在结构的信息。

数据库元数据可以通过显式命名各种组件及其属性来表达,使用 TableColumnForeignKeySequence 等结构,所有这些都从 sqlalchemy.schema 包中导入。它也可以由 SQLAlchemy 使用称为反射的过程生成,这意味着您从一个对象(如 Table)开始,为它分配一个名称,然后指示 SQLAlchemy 从特定引擎源加载与该名称相关的所有附加信息。

SQLAlchemy 数据库元数据结构的一个关键特性是,它们的设计旨在以声明式风格使用,这与实际 DDL 非常相似。因此,对于那些在创建实际模式生成脚本方面有一定经验的人来说,它们最直观。