微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐