Schema 定义语言


本节引用 SQLAlchemy 架构元数据,这是一个描述和检查数据库架构的综合系统。


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


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


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