我选择了 PostgreSQL,因为它是 ORDMBS 而不是标准的关系 DBMS。我有一个想在数据库中实现的类/对象(如下)。
class User{
int id;
String name;
ArrayList<User> friends;
}
现在,一个用户有很多朋友,所以,从逻辑上讲,表应该这样声明:
CREATE TABLE user_table(
id INT,
name TEXT,
friends TYPEOF(user_table)[]
)
但是,据我所知,不可能将表的一行用作类型(postgreSQL 为 -10 分),因此,我的朋友数组存储为整数:
CREATE TABLE user_table(
id INT,
name TEXT,
friends INT[]
)
这是一个问题,因为数组的元素不能引用——只有数组本身可以。除此之外,似乎没有办法在不进行多次查询的情况下导入整个用户(即用户和用户的所有朋友)。
我使用 postgreSQL 错了吗?在我看来,使用它的唯一有效方法是使用关系方法。
我想要一种类似于 Java 的更简洁的面向对象方法。