私はSQLレイアウトで参照を頻繁に使用していて、それが悪い習慣であるかどうか疑問に思っていました。 varchar(20)
で参照を宣言すると、PostgreSQLはストレージの使用量を2倍にするか、隠しIDを使用して値をリンクしますか?参照のPostgreSQLストレージの必要性
例:
回または3回保存distro
値は
create table if not exists distros(
name varchar(20),
primary key(name)
);
create table if not exists releases(
distro varchar(20) references distros(name),
name varchar(20),
primary key(distro, name)
);
create table if not exists targets(
distro varchar(20) references distros(name),
release varchar(20) references releases(name),
name varchar(20),
primary key (distro, release, name)
);
ですか?
ありがとうございました
'targets'テーブルは' targets'の 'distro'カラムと' release'カラムの両方からなる 'releases'への外部キーを持っていなければなりません。 –