弱实体和泛化的建表该怎么做?

问题遇到的现象和发生背景

img


图是这样的,客户,开发者和principal都是person的拓展。
问题有两个一个是弱实体的建表应该怎么写?

我的解答思路和尝试过的方法

我找了一些资料是这样写的
CREATE TABLE primary_entity (
id numeric PRIMARY KEY,
-- some data fields
);

CREATE TABLE weak_entity (
id numeric PRIMARY KEY
REFERENCES primary_entity(id)
ON DELETE CASCADE,
-- some data fields
);
但是他是两个id作为主键我这个图里的game的名字和发布者的名字不应该是参考关系?payment那里也是搞不懂。
第二个问题是客户,开发者和principal该怎么写?

img


是否是像这样?

我想要达到的结果

弱实体和泛化下找到相对强实体,然后构建对应关系,可以多对应
A表 AID→B表 AID→C表 AID
A表 AID→B表 AID→C表 AID BID