我正在努力使用 postgreSQL,因为我不知道如何将 A 类型的一个实例链接到 B 类型的一组实例。我将举一个简短的例子:
假设我们要建立一个包含音乐专辑和人物的数据库,每个人都有一个他们最喜欢的专辑列表。我们可以这样定义类型:
CREATE TYPE album_t AS (
Artist VARCHAR(50),
Title VARCHAR(50)
);
CREATE TYPE person_t AS (
FirstName VARCHAR(50),
LastName VARCHAR(50),
FavAlbums album_t ARRAY[5]
);
现在我们要创建这些类型的表:
CREATE TABLE Person of person_t WITH OIDS;
CREATE TABLE Album of album_t WITH OIDS;
现在,由于我想让我的数据库尽可能地具有对象现实性,我不想将专辑“对象”嵌套在表 Person 的 FavAlbums 行中,但我想“指向”表专辑中的条目, 这样n 个Person 记录就可以引用同一个 Album 记录,而不会一遍又一遍地复制它。
我阅读了该手册,但似乎缺少一些重要的示例,因为对象关系功能并未经常使用。我也熟悉现实模型,但我想为关系使用额外的表。