오디오 재생 기능을 구현하기 위해 효율적인 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?

王林
풀어 주다: 2023-10-31 09:36:39
원래의
784명이 탐색했습니다.

오디오 재생 기능을 구현하기 위해 효율적인 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿