ホームページ  >  記事  >  データベース  >  オーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計するにはどうすればよいですか?

オーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計するにはどうすればよいですか?

王林
王林オリジナル
2023-10-31 09:36:39776ブラウズ

オーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計するにはどうすればよいですか?

オーディオ再生機能を実装するための効率的な MySQL テーブル構造を設計するにはどうすればよいでしょうか?

オーディオ再生機能を開発する場合、効率的な MySQL テーブル構造の設計が非常に重要です。適切に設計されたテーブル構造により、データ格納の効率とデータ取得の速度が保証されます。この記事では、オーディオ再生機能を実装するための効率的な MySQL テーブル構造の設計方法と、具体的なコード例を紹介します。

  1. テーブル構造の設計

まず、オーディオ情報を保存するテーブルを作成する必要があります。これは、オーディオ ID、オーディオ名などの基本的なオーディオ情報を保存するために使用されます。 、オーディオパス、継続時間など。このテーブルは、次のステートメントを使用して作成できます:

CREATE TABLE audio (
  `id` INT PRIMARY KEY AUTO_INCREMENT,
  `name` VARCHAR(100) NOT NULL,
  `path` VARCHAR(255) NOT NULL,
  `duration` INT NOT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

次に、ユーザー ID、オーディオ ID、再生時間などのユーザーのオーディオ再生動作を記録するオーディオ再生レコードを保存するテーブルを作成する必要があります。 。このテーブルは、次のステートメントを使用して作成できます。

CREATE TABLE playback_record (
  `id` INT PRIMARY KEY AUTO_INCREMENT,
  `user_id` INT NOT NULL,
  `audio_id` INT NOT NULL,
  `played_duration` INT NOT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (`user_id`) REFERENCES `user`(`id`),
  FOREIGN KEY (`audio_id`) REFERENCES `audio`(`id`)
);
  1. Insert data

オーディオ再生関数では、オーディオ情報とユーザーの再生記録をファイルに保存する必要があります。データベース。次のステートメントを使用して、サンプル データをテーブルに挿入できます。

-- 插入音频信息
INSERT INTO audio (`name`, `path`, `duration`) VALUES ('音频1', '/path/audio1.mp3', 120);
INSERT INTO audio (`name`, `path`, `duration`) VALUES ('音频2', '/path/audio2.mp3', 180);
INSERT INTO audio (`name`, `path`, `duration`) VALUES ('音频3', '/path/audio3.mp3', 240);

-- 插入播放记录
INSERT INTO playback_record (`user_id`, `audio_id`, `played_duration`) VALUES (1, 1, 60);
INSERT INTO playback_record (`user_id`, `audio_id`, `played_duration`) VALUES (1, 2, 90);
INSERT INTO playback_record (`user_id`, `audio_id`, `played_duration`) VALUES (2, 1, 30);
  1. Query data

オーディオ再生関数では、その再生記録と再生をクエリする必要があります。ユーザー ID に基づく期間。次のステートメントを使用して、特定のユーザーの再生レコードをクエリできます:

SELECT `audio`.`name`, `played_duration`
FROM `playback_record`
INNER JOIN `audio` ON `playback_record`.`audio_id` = `audio`.`id`
WHERE `user_id` = 1;

上記のステートメントは、ユーザー ID 1 の再生レコードと再生時間を返します。

  1. データの更新

オーディオ再生機能では、ユーザーの再生記録と再生時間を更新する必要があります。次のステートメントを使用して、ユーザーの再生レコードを更新できます。

UPDATE `playback_record`
SET `played_duration` = 120
WHERE `user_id` = 1 AND `audio_id` = 1;

上記のステートメントは、ユーザー ID 1 とオーディオ ID 1 の再生レコードの再生時間を 120 秒に更新します。

概要:

オーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計すると、データの保存と取得の効率を向上させることができます。テーブル構造を設計するときは、音声情報と再生レコードの関係を考慮し、外部キーを使用して関連付けを確立する必要があります。データを挿入してクエリを実行することで、オーディオ情報と再生レコードを追加、削除、変更、クエリできます。上記は基本的なテーブル構造の設計例であり、特定のビジネス ニーズに応じて設計をさらに最適化できます。

以上がオーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。