ホームページ >データベース >mysql チュートリアル >オーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計するにはどうすればよいですか?
オーディオ再生機能を実装するための効率的な MySQL テーブル構造を設計するにはどうすればよいでしょうか?
オーディオ再生機能を開発する場合、効率的な MySQL テーブル構造の設計が非常に重要です。適切に設計されたテーブル構造により、データ格納の効率とデータ取得の速度が保証されます。この記事では、オーディオ再生機能を実装するための効率的な MySQL テーブル構造の設計方法と、具体的なコード例を紹介します。
まず、オーディオ情報を保存するテーブルを作成する必要があります。これは、オーディオ 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`) );
オーディオ再生関数では、オーディオ情報とユーザーの再生記録をファイルに保存する必要があります。データベース。次のステートメントを使用して、サンプル データをテーブルに挿入できます。
-- 插入音频信息 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);
オーディオ再生関数では、その再生記録と再生をクエリする必要があります。ユーザー 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 の再生レコードと再生時間を返します。
オーディオ再生機能では、ユーザーの再生記録と再生時間を更新する必要があります。次のステートメントを使用して、ユーザーの再生レコードを更新できます。
UPDATE `playback_record` SET `played_duration` = 120 WHERE `user_id` = 1 AND `audio_id` = 1;
上記のステートメントは、ユーザー ID 1 とオーディオ ID 1 の再生レコードの再生時間を 120 秒に更新します。
概要:
オーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計すると、データの保存と取得の効率を向上させることができます。テーブル構造を設計するときは、音声情報と再生レコードの関係を考慮し、外部キーを使用して関連付けを確立する必要があります。データを挿入してクエリを実行することで、オーディオ情報と再生レコードを追加、削除、変更、クエリできます。上記は基本的なテーブル構造の設計例であり、特定のビジネス ニーズに応じて設計をさらに最適化できます。
以上がオーディオ再生機能を実装するために効率的な MySQL テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。