-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Хост: localhost:8889
-- Время создания: Апр 15 2026 г., 12:09
-- Версия сервера: 8.0.40
-- Версия PHP: 8.3.14

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- База данных: `exam_audiobooks`
--

-- --------------------------------------------------------

--
-- Структура таблицы `audiobooks`
--

CREATE TABLE `audiobooks` (
  `id` int NOT NULL,
  `title` varchar(200) NOT NULL,
  `author` varchar(200) NOT NULL,
  `narrator` varchar(200) DEFAULT NULL,
  `genre` varchar(100) NOT NULL,
  `description` text NOT NULL,
  `duration` int DEFAULT NULL COMMENT 'Длительность в минутах',
  `year` int DEFAULT NULL,
  `cover_image` varchar(255) DEFAULT NULL,
  `audio_file` varchar(255) DEFAULT NULL,
  `is_active` tinyint DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Дамп данных таблицы `audiobooks`
--

INSERT INTO `audiobooks` (`id`, `title`, `author`, `narrator`, `genre`, `description`, `duration`, `year`, `cover_image`, `audio_file`, `is_active`, `created_at`) VALUES
(1, 'Мастер и Маргарита', 'Михаил Булгаков', 'Константин Хабенский', 'Классика', 'Знаменитый роман о дьяволе, посетившем Москву 1930-х годов. Гениальное произведение о любви, предательстве и вечных ценностях.', 720, 1967, 'img/master.jpg', 'audio/master.mp3', 1, '2026-04-14 12:27:45'),
(2, 'Преступление и наказание', 'Фёдор Достоевский', 'Алексей Багдасаров', 'Классика', 'Роман о студенте Раскольникове, решившемся на убийство. История раскаяния, любви и искупления.', 960, 1866, 'img/crime.jpg', 'audio/crime.mp3', 1, '2026-04-14 12:27:45'),
(3, 'Война и мир (Том 1)', 'Лев Толстой', 'Владимир Левашев', 'Классика', 'Эпопея о жизни русского общества в эпоху наполеоновских войн. Судьбы героев на фоне истории.', 1800, 1869, 'img/war.jpg', 'audio/war.mp3', 1, '2026-04-14 12:27:45'),
(4, '451 градус по Фаренгейту', 'Рэй Брэдбери', 'Иван Литвинов', 'Фантастика', 'Мир будущего, где книги запрещены, а пожарные сжигают их. О силе чтения и свободе мысли.', 480, 1953, 'img/fahrenheit.jpg', 'audio/fahrenheit.mp3', 1, '2026-04-14 12:27:45'),
(5, 'Автостопом по галактике', 'Дуглас Адамс', 'Максим Суханов', 'Юмор', 'Невероятные приключения Артура Дента после уничтожения Земли. Остроумная фантастика.', 360, 1979, 'img/hitchhiker.jpg', 'audio/hitchhiker.mp3', 1, '2026-04-14 12:27:45'),
(6, 'Шерлок Холмс (Сборник)', 'Артур Конан Дойл', 'Александр Бордуков', 'Детектив', 'Классические детективные истории о величайшем сыщике всех времён.', 1200, 1892, 'img/holmes.jpg', 'audio/holmes.mp3', 1, '2026-04-14 12:27:45'),
(7, 'Три товарища', 'Эрих Мария Ремарк', 'Алексей Вертков', 'Проза', 'Трогательная история дружбы и любви на фоне послевоенной Германии.', 540, 1936, 'img/three.jpg', 'audio/three.mp3', 1, '2026-04-14 12:27:45'),
(8, 'Дюна', 'Фрэнк Герберт', 'Александр Клюквин', 'Фантастика', 'Эпическая сага о пустынной планете Арракис и борьбе за власть над ней.', 1200, 1965, 'img/dune.jpg', 'audio/dune.mp3', 1, '2026-04-14 12:27:45'),
(9, 'Гарри Поттер и философский камень', 'Дж.К. Роулинг', 'Алексей Россошанский', 'Фэнтези', 'Мальчик-волшебник узнаёт о своём предназначении и поступает в Хогвартс.', 510, 1997, 'img/harry.jpg', 'audio/harry.mp3', 1, '2026-04-14 12:27:45'),
(10, 'Идиот', 'Фёдор Достоевский', 'Алексей Петренко', 'Классика', 'Роман о князе Мышкине, чья доброта и наивность сталкиваются с жестокостью света.', 840, 1869, 'img/idiot.jpg', 'audio/idiot.mp3', 1, '2026-04-14 12:27:45');

-- --------------------------------------------------------

--
-- Структура таблицы `listen_history`
--

CREATE TABLE `listen_history` (
  `id` int NOT NULL,
  `user_id` int NOT NULL,
  `book_id` int NOT NULL,
  `listened_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------

--
-- Структура таблицы `users`
--

CREATE TABLE `users` (
  `id` int NOT NULL,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password_hash` varchar(255) NOT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `full_name` varchar(100) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Индексы сохранённых таблиц
--

--
-- Индексы таблицы `audiobooks`
--
ALTER TABLE `audiobooks`
  ADD PRIMARY KEY (`id`);

--
-- Индексы таблицы `listen_history`
--
ALTER TABLE `listen_history`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_listen` (`user_id`,`book_id`),
  ADD KEY `book_id` (`book_id`);

--
-- Индексы таблицы `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `username` (`username`),
  ADD UNIQUE KEY `email` (`email`);

--
-- AUTO_INCREMENT для сохранённых таблиц
--

--
-- AUTO_INCREMENT для таблицы `audiobooks`
--
ALTER TABLE `audiobooks`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT для таблицы `listen_history`
--
ALTER TABLE `listen_history`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT для таблицы `users`
--
ALTER TABLE `users`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- Ограничения внешнего ключа сохраненных таблиц
--

--
-- Ограничения внешнего ключа таблицы `listen_history`
--
ALTER TABLE `listen_history`
  ADD CONSTRAINT `listen_history_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `listen_history_ibfk_2` FOREIGN KEY (`book_id`) REFERENCES `audiobooks` (`id`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
