EdgeDB 基于 PostgreSQL 的对象关系数据库

程序名称:EdgeDB

授权协议: Apache-2.0

操作系统: 跨平台

开发语言: Python

EdgeDB 介绍

EdgeDB 是一个基于 Postgresql 的对象关系数据库,其目标是使用户能够以更少的工作量构建安全、高效的软件。

特性:

  • 严格、强类型数据库模式(schema)
  • 强大而富有表现力的查询语言
  • 丰富的标准库
  • 内置支持 schema 迁移
  • 原生 GraphQL 支持

EdgeDB 数据库模型示例:

type User {
    required property name -> str;
}

type Person {
    required property first_name -> str;
    required property last_name -> str;
}

type Review {
    required property body -> str;
    required property rating -> int64 {
        constraint min_value(0);
        constraint max_value(5);
    }

    required link author -> User;
    required link movie -> Movie;

    required property creation_time -> local_datetime;
}

type Movie {
    required property title -> str;
    required property year -> int64;
    required property description -> str;

    multi link directors -> Person;
    multi link cast -> Person;

    property avg_rating := math::mean(.<movie[IS Review].rating);
}

EdgeDB 使用 EdgeQL 查询语言,格式如下:

SELECT User {
    id,
    name,
    image,
    latest_reviews := (
        WITH UserReviews := User.<author
        SELECT UserReviews {
            id,
            body,
            rating,
            movie: {
                id,
                title,
                avg_rating,
            }
        }
        ORDER BY .creation_time DESC
        LIMIT 10
    )
}
FILTER .id = <uuid>$id

EdgeDB 官网

https://edgedb.com/

相关编程语言

SchemaCrawler提供一组用于增强标准JDBC Metadata的...
ER Master 是一个用于设计ER模型图的Eclipse插件。提...
Eclipse下用于画数据库ER图的插件,主要特性如下: ...
PowerDesigner 是Sybase的企业建模和设计解决方案,...
Mogwai ERDesigner NG是一个实体关系建模工具类似于...
Power*Architect 是一个数据建模工具,主要用在数据...