این عکس رو یه نگاه بندازید شمای دیتابیس وردپرس هست
https://codex.wordpress.org/images/2/25/WP4.4.2-ERD.png
معمولا برای این کار یه جدول واسط در نظر می گیرن که فقط کلید جدول هایی که با هم رابطه دارن داخلش هستن
مثال ساده:
-- ----------------------------
-- Table structure for cat
-- ----------------------------
DROP TABLE IF EXISTS "cat";
CREATE TABLE "cat" (
"id" INTEGER NOT NULL,
"title" TEXT,
"url" TEXT NOT NULL,
PRIMARY KEY ("id"),
CONSTRAINT "url_uniqe" UNIQUE ("url" ASC)
);
-- ----------------------------
-- Table structure for post
-- ----------------------------
DROP TABLE IF EXISTS "post";
CREATE TABLE "post" (
"id" INTEGER NOT NULL,
"text" TEXT,
"title" TEXT,
PRIMARY KEY ("id")
);
-- ----------------------------
-- Table structure for post_cat_rel
-- ----------------------------
DROP TABLE IF EXISTS "post_cat_rel";
CREATE TABLE "post_cat_rel" (
"id" INTEGER NOT NULL,
"post_id" INTEGER,
"cat_id" INTEGER,
PRIMARY KEY ("id"),
FOREIGN KEY ("post_id") REFERENCES "post" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY ("cat_id") REFERENCES "cat" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);