数据库
MemFire Cloud是建立在Supabase与MemFireDB之上的,其中,MemFireDB是一个极易扩展的关系型数据库。
特征
表视图
您不必是数据库专家就可以开始使用MemFire Cloud。我们的表格视图使MemFireDB与电子表格一样易于使用。
SQL编辑器
MemFire Cloud自带一个SQL编辑器。你还可以保存你最喜欢的查询,以便以后运行!
附加功能
- 每个项目都拥有一个数据库。
- 管理备份 - MemFire Cloud处理你所有的数据库备份。
数据库备份不包括通过存储API存储的对象,因为数据库只包括这些对象的元数据。恢复旧的备份不会恢复此后被删除的对象。
重置密码
当你在 MemFire Cloud 中创建一个新项目时,我们要求你提供一个密码。你可以用这个密码直接连接到你的 MemFireDB数据库。
如果你忘记了你的密码,你可以在MemFire Cloud的账号管理页面重置它。
直接连接
查看数据库的连接方式:
- 进入我的应用页面
- 点击访问的应用的数据库名称,进入该数据库详情页面.
- 点击“连接信息”按钮,如下所示,可以查看该数据库的直连信息
数据表
在MemFireDB中,数据存储在表
中。表格类似于 Excel 电子表格。它们包含数据的列和行。但是,与电子表格有一些主要区别:
- 每列都是严格类型的数据。设置列时,必须定义“数据类型”。
- 表可以“连接”在一起。例如,您可以有一个users表,该表连接到一个teams表(因为用户属于团队)。
例如,此表有 3 个“列”(id、name、description)和 4 个“行”数据:
id |
name |
description |
---|---|---|
1 | 玩具总动员 | 当一个名为“叉子”的新玩具加入伍迪和他们的行列时,与新老朋友一起的公路旅行揭示了玩具的世界有多大。 |
2 | 怪物公司 | 为了给城市供电,怪物必须吓唬孩子们,让他们尖叫。然而,孩子们对怪物有毒。 |
3 | 海底总动员 | 在他的儿子在大堡礁被捕并被带到悉尼后,一条胆小的小丑鱼开始了带他回家的旅程。 |
4 | 瓦力 | 在遥远的未来,一个小型垃圾收集机器人不经意间踏上了最终决定人类命运的太空之旅。 |
设计表
在你可以存储数据之前,你需要 "设计 "和创建你的表。
这与NoSQL数据库不同,在NoSQL数据库中,你可以立即将任何数据放入数据库。
这种方法有一个很大的好处:数据的完整性。MemFireDB保证你的数据符合你指定的规则。
随着你的规模扩大,这一点变得异常重要。
创建表
MemFire Cloud为你提供了多种创建表的选择。你可以使用表编辑器或直接使用SQL来创建它们。
我们在仪表板中提供了一个SQL编辑器,或者你可以连接到数据库并运行SQL查询。
采用SQL语句创建一个新表:
-- Create a table called "todos" with a column to store tasks.
create table todos (
id bigint generated by default as identity primary key,
task text check (char_length(task) > 3)
);
数据类型
每一列都是一个预定义的类型。MemFireDB提供了许多默认类型,你甚至可以设计你自己的(或使用扩展) ,如果默认类型不适合你的需要。
名称 | 别名 | 描述 |
---|---|---|
bigint | int8 | 有符号8字节整数 |
bigserial | serial8 | 自动增长的8字节整数 |
bit | 定长位串 | |
bit varying | varbit | 变长位串 |
boolean | bool | 逻辑布尔值(真/假) |
box | rectangular box on a plane | |
bytea | 二进制数据(“字节数组”) | |
character | char | 定长字符串 |
character varying | varchar | 变长字符串 |
cidr | IPv4或IPv6网络地址 | |
circle | 平面上的圆 | |
date | 日历日期(年、月、日) | |
double precision | float8 | 双精度浮点数(8字节) |
inet | IPv4或IPv6主机地址 | |
integer | int, int4 | 有符号4字节整数 |
interval [ fields ] | 时间段 | |
json | 文本JSON数据 | |
jsonb | 二进制JSON数据,已分解 | |
line | 平面上的无限长的线 | |
lseg | 平面上的线段 | |
macaddr | MAC(Media Access Control)地址 | |
macaddr8 | MAC(Media Access Control)地址(EUI-64格式) | |
money | 货币数量 | |
numeric | decimal | 可选择精度的精确数字 |
path | 平面上的几何路径 | |
pg_lsn | 日志序号 | |
point | 平面上的几何点 | |
polygon | 平面上的封闭几何路径 | |
real | float4 | 单精度浮点数(4字节) |
smallint | int2 | 有符号2字节整数 |
smallserial | serial2 | 自动增长的2字节整数 |
serial | serial4 | 自动增长的4字节整数 |
text | 变长字符串 | |
time [ without time zone ] | 一天中的时间(无时区) | |
time with time zone | timetz | 一天中的时间,包括时区 |
timestamp [ without time zone ] | 日期和时间(无时区) | |
timestamp with time zone | timestamptz | 日期和时间,包括时区 |
tsquery | 文本搜索查询 | |
tsvector | 文本搜索文档 | |
txid_snapshot | 用户级别事务ID快照 | |
uuid | 通用唯一标识码 | |
除了XML
的数据类型,MemFireDB尚不支持外,兼容PostgreSQL的其他所有数据类型;
用户可以使用CREATE TYPE命令为 MemFireDB增加新的数据类型;