Russian Qt Forum

Qt => Базы данных => Тема начата: gil9red от Ноябрь 16, 2016, 12:25



Название: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 16, 2016, 12:25
Сначала задумывалось для хранения информации по сериалам, но не хотелось загонять себя в рамки.
Хочу сделать базу для хранения видео: фильмы, сериалы, мультфильмы, аниме, порно и т.п. База будет содержать ссылки на файлы видео.

Первоначальные таблицы заставили меня сомневаться в адекватности :D
Конечно, правильно завести отдельные таблицы для жанров и тегов и т.п.
Код
SQL
CREATE TABLE "Serial" (  
   "Id" INTEGER NOT NULL,  
   "OriginalName" VARCHAR,  
   "EnglishName" VARCHAR,  
   "RussianName" VARCHAR,  
   "SeasonNumber" INTEGER,  
   "Genre" VARCHAR,  
   "Tags" VARCHAR,  
   "ReleaseDate" VARCHAR,  
   "Producer" VARCHAR,  
   "Actors" VARCHAR,  
   "AuthorOriginal" VARCHAR,  
   "Annotation" VARCHAR,  
   "Cover" VARCHAR,  
   "Screenshots" VARCHAR,  
   "Count" INTEGER,  
 
   PRIMARY KEY ("Id")  
)
 
CREATE TABLE "SerialVideo" (
   "Id" INTEGER NOT NULL,
   "SerialId" INTEGER,
   "FileName" VARCHAR,
   "Number" INTEGER,
   "Title" VARCHAR,
   "Duration" INTEGER,
 
   PRIMARY KEY ("Id"),
   FOREIGN KEY("SerialId") REFERENCES "Serial" ("Id")
)

я много думал о том как присобачить например фильмы: добавить в таблицу сериала, но с одной серией или сделать отдельную таблицу. А если я сделаю в отдельной фильмы, заведу таблицу тегов, и таблицу связей тегов с таблицами, то делать две таблицы связей, или одну, но завести еще одно поле, определяющее принадлежность: сериал или фильм. Были и другие сомнения из-за которых так ничего путного не получилось придумать.

Помогите придумать таблицы базы и их связи :)


Задачами работы с БД будут:
- Добавление:
-- Сериала
-- Фильма
-- Мультфильма
-- ...

Получение:
-- Информации о сериале
-- Информации о сериях сериала
-- Информации о фильме
-- Информации о мультфильме
-- ...

Поиск по:
-- Тегам
-- Жанрам
-- Категориям (сериал, мультфильм, фильм, и т.п.)
-- Ключевым полям (например название)


Название: Re: Схема базы данных для хранения видео
Отправлено: panAlexey от Ноябрь 16, 2016, 15:54
БД для каких нужд?
Для собственного потребления?
Типовые операции с БД какие?


Название: Re: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 16, 2016, 16:00
Для интереса (может для диплома пойдет).
Типовыми  будут добавление записей и получение из базы. Удаление не предусматривается :)

Напишу простенький вебсервер и через его api буду строить общение в формате json.
типа:
GET http://localhost/api/v1/search?title={title}&count={count}&page={page}
GET http://localhost/api/v1/get_serial?id={id}
GET http://localhost/api/v1/get_serial_video_list?id={id}&page={page}
POST http://localhost/api/v1/add_serial    


Название: Re: Схема базы данных для хранения видео
Отправлено: panAlexey от Ноябрь 16, 2016, 16:03
Понятно.
Я уже отвык работать с созданием БД через SQL.
Ленивый :) Предпочитаю какую-нить ИДЕ, с графическим интерфейсом, что-бы сама таблички мейкала и формочки создавала.
Да и веб интерфейс сама генерила..


Название: Re: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 16, 2016, 16:10
Вот и прошу помощи, т.к. в базах не шарю и придумать подходящую схему не смог :)


Название: Re: Схема базы данных для хранения видео
Отправлено: panAlexey от Ноябрь 16, 2016, 16:47
Вот и прошу помощи, т.к. в базах не шарю и придумать подходящую схему не смог :)
Это зависит от тех задач, с которыми ты будешь обращаться к БД.


Название: Re: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 16, 2016, 18:10
Вот и прошу помощи, т.к. в базах не шарю и придумать подходящую схему не смог :)
Это зависит от тех задач, с которыми ты будешь обращаться к БД.

Добавил к вопросу


Название: Re: Схема базы данных для хранения видео
Отправлено: qate от Ноябрь 17, 2016, 08:53
я бы посмотрел что есть уже сделанного, например http://stackoverflow.com/questions/2787808/is-there-any-online-free-movie-information-apis


Название: Re: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 17, 2016, 09:24
я бы посмотрел что есть уже сделанного, например http://stackoverflow.com/questions/2787808/is-there-any-online-free-movie-information-apis

The Movie Database (TMDb)? :)
Интересно, надо будет посмотреть, спасибо :)

UPD.
Интересно, конечно, есть api, но не совсем то, что нужно было :)


Название: Re: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 18, 2016, 14:06
Попробовал накидать схему (пока без связей между таблицами) и получилось следующее:


Название: Re: Схема базы данных для хранения видео
Отправлено: qate от Ноябрь 21, 2016, 15:11
Попробовал накидать схему (пока без связей между таблицами) и получилось следующее:

has_many_series это пять )
бывают фильмы из 2+ серий, и это не сериал
я бы стащил по возможности базу и имеющихся баз, там все этом могли учесть
ну и как всегда при реализации и наполнении базы, а также ближе к релизу станет как обычно ясно, что надо все переписать )


Название: Re: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 21, 2016, 16:27
Ну, нужно как-то ведь было отличать сериалы и фильмы, не плодя сущностей :) Хотя, наверное, проще по категории определять.... хз, сам в этом неуверен :)

Спросить, конечно, можно, вот например у The Movie Database и получить ответ:
Цитировать
Hi Ilya,
Unfortunately, I don’t have anything like this available. All of that kind of information is kept private.

Cheers,

Не представляю что такого секретного в схеме базы данных сайта, хранящего информацию о фильмах/сериалах :)


Название: Re: Схема базы данных для хранения видео
Отправлено: DarkHobbit от Ноябрь 25, 2016, 01:03
База будет содержать ссылки на файлы видео
Идея хорошая. А ты, мил-человек, не хочешь сделать свои таблички как дополнение к БД QCat (http://qcat.sourceforge.net/)? Это каталогизатор сменных носителей и файлов на них общего назначения. Писан на Qt, СУБД - SQLite.

Проект, правда, давно не развивается, но по минимальным функциям - просто работает, т.е. найти, на каком диске/ресурсе какой файл лежит не проблема. К нему как раз напрашивается набор расширений - по фильмам, музыке, изображениям и др. В проприетарном WhereIsIt, аналогом которого является QCat, такое делается через плагины, но там не только код закрыт, но и формат данных зашифрован по самые помидоры. А тут - SQLite. Автор - болгарин, Виктор Никифоров.


Название: Re: Схема базы данных для хранения видео
Отправлено: gil9red от Ноябрь 25, 2016, 08:17
База будет содержать ссылки на файлы видео
Идея хорошая. А ты, мил-человек, не хочешь сделать свои таблички как дополнение к БД QCat (http://qcat.sourceforge.net/)? Это каталогизатор сменных носителей и файлов на них общего назначения. Писан на Qt, СУБД - SQLite.

Проект, правда, давно не развивается, но по минимальным функциям - просто работает, т.е. найти, на каком диске/ресурсе какой файл лежит не проблема. К нему как раз напрашивается набор расширений - по фильмам, музыке, изображениям и др. В проприетарном WhereIsIt, аналогом которого является QCat, такое делается через плагины, но там не только код закрыт, но и формат данных зашифрован по самые помидоры. А тут - SQLite. Автор - болгарин, Виктор Никифоров.

Это какое-то приложение с базой внутри?
Просто, я пишу сервер и у сервера будет работа с базой