Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi seperti video?
Latar Belakang
Dalam platform media sosial moden, suka ialah cara biasa bagi pengguna untuk menunjukkan kelulusan dan sokongan mereka untuk kandungan yang mereka suka. Untuk platform video, adalah sangat penting untuk melaksanakan fungsi seperti video. Artikel ini akan memperkenalkan cara mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi seperti video dan menyediakan beberapa contoh kod.
Idea Reka Bentuk
Apabila mereka bentuk struktur jadual MySQL, anda perlu mempertimbangkan aspek berikut: kaedah penyimpanan perhubungan antara pengguna, video dan suka, menanyakan bilangan suka, bertanya sama ada pengguna suka, menanyakan video yang pengguna telah suka, dsb.
BUAT JADUAL user
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(255) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE video
(
id
int(11) NOT NULL AUTO_INCREMENT,
title
varchar(255) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE like_relation
(
id
int(11) NOT NULL AUTO_INCREMENT,
user_id
int(11) NOT NULL,
video_id
int(11) NOT NULL,
PRIMARY KEY (id
),
UNIQUE KEY user_video_unique
(user_id
,video_id
),
CONSTRAINT like_user_fk
FOREIGN KEY (user_id
) REFERENCES user
(id
) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT like_video_fk
FOREIGN KEY (video_id
) REFERENCES video
(id
id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
id
)id
int(11) NOT NULL AUTO_INCREMENT,user_id
int(11) NOT NULL,video_id
int(11) NOT NULL, PRIMARY KEY (id
),
UNIQUE KEY user_video_unique
(user_id
,video_id
),
like_user_fk
FOREIGN KUNCI (user_id
) RUJUKAN user
(id
) HIDUP PADAMKAN TATA PADA TATA KEMASKINI,🎜 KEKANGAN id
) PADA PADAM TATA ON UPDATE CASCADE🎜) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;🎜🎜Contoh kod🎜Berikut ialah beberapa pernyataan SQL yang biasa digunakan untuk melaksanakan fungsi seperti video. 🎜🎜🎜Kira bilangan suka pada video🎜PILIH COUNT(*) DARI like_relation DI MANA video_id = 1;🎜🎜Soal sama ada pengguna menyukai video🎜PILIH COUNT(*) DARI like_relation DI MANA user_id = 1 DAN video_id = 1; 🎜 🎜Pertanyaan video yang disukai oleh pengguna🎜PILIH video_id DARI suka_kaitan DIMANA user_id = 1;🎜🎜Pengguna suka video🎜MASUKKAN KE dalam perhubungan_suka (id_pengguna, video_id) NILAI (1, 1);🎜🎜daripada videoTE_sukasuka pengguna🎜Sisipkan lagi suka WELEROM user_id = 1 DAN video_id = 1;🎜🎜🎜Ringkasan🎜Mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi seperti video memerlukan mempertimbangkan reka bentuk jadual pengguna, jadual video dan jadual perhubungan suka, serta beberapa penyataan SQL biasa -operasi berkaitan. Melalui reka bentuk struktur jadual yang munasabah dan pernyataan pertanyaan yang dioptimumkan, prestasi dan kecekapan fungsi seumpamanya boleh dipertingkatkan. 🎜Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi seperti video?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!