Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi seperti video?

WBOY
Lepaskan: 2023-10-31 12:02:06
asal
954 orang telah melayarinya

Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi seperti video?

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.

  1. Jadual pengguna
    Pertama, anda perlu mencipta jadual pengguna untuk menyimpan maklumat asas pengguna, seperti ID pengguna, nama pengguna, dsb.

BUAT JADUAL pengguna (user (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

  1. 视频表
    其次需要创建一个视频表,用于存储视频的基本信息,如视频ID、视频标题等。

CREATE TABLE video (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

  1. 点赞关系表
    接下来创建一个点赞关系表,用于存储用户对视频的点赞关系。每一条记录表示一个用户对一个视频的点赞操作。这个表需要包含用户ID和视频ID两个外键。

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 int(11) BUKAN NULL AUTO_INCREMENT,
nama pengguna varchar(255) BUKAN NULL,

KUNCI UTAMA (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    Video table
      Kedua, anda perlu mencipta jadual video untuk menyimpan maklumat asas video , seperti ID video, tajuk video, dsb.

    1. BUAT JADUAL video (
    2. id int(11) BUKAN NULL AUTO_INCREMENT,
      tajuk varchar(255) BUKAN NULL,
    3. KUNCI UTAMA (id)
    4. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
      1. Suka jadual perhubungan
      2. Seterusnya, buat jadual perhubungan suka untuk menyimpan komen pengguna pada video Suka perhubungan. Setiap rekod mewakili operasi seperti pengguna pada video. Jadual ini perlu mengandungi dua kunci asing: ID pengguna dan ID video.
      3. BUAT JADUAL like_relation (
        id int(11) NOT NULL AUTO_INCREMENT,
      4. 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 KUNCI (user_id) RUJUKAN user (id) HIDUP PADAMKAN TATA PADA TATA KEMASKINI,🎜 KEKANGAN like_video_fk KUNCI ASING (id_video) RUJUKAN video (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!

    Label berkaitan:
    sumber:php.cn
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!