1
create table "users"(
"id" SERIAL PRIMARY KEY NOT NULL,
"full_name" varchar(100) NOT NULL,
"role" integer NOT NULL DEFAULT 0,
"email" varchar(100) NOT NULL
);
create table "devices"(
"id" SERIAL PRIMARY KEY NOT NULL,
"brand_name" varchar(20) NOT NULL
);
create table "users_and_devices"(
"user_id" integer NOT NULL,
"device_id" integer NOT NULL,
foreign key (user_id) references users(id),
foreign key (device_id) references devices(id)
);
如何获得属于user 1
的所有设备的brand_name
?我应该添加索引user_id
和device_id
在users_and_devices
?过滤多对多(PostgreSQL)
谢谢。
您可能应该在'users_and_devices'表上有'PRIMARY KEY(user_id,device_id)'。这不仅可以防止无意义的重复,而且还可以作为索引来加速您正在查找的查询。 – 2013-04-24 02:05:28