mirror of
https://github.com/simon987/yt-metadata.git
synced 2025-04-04 08:23:00 +00:00
177 lines
3.0 KiB
SQL
177 lines
3.0 KiB
SQL
-- create database "yt-meta"
|
|
-- ;
|
|
|
|
create table uploader
|
|
(
|
|
id text not null
|
|
constraint uploader_id_pk
|
|
primary key,
|
|
url text not null,
|
|
name text not null
|
|
)
|
|
;
|
|
|
|
create unique index uploader_id_uindex
|
|
on uploader (id)
|
|
;
|
|
|
|
create table category
|
|
(
|
|
id serial not null
|
|
constraint category_pkey
|
|
primary key,
|
|
name text not null
|
|
)
|
|
;
|
|
|
|
create table tag
|
|
(
|
|
id serial not null
|
|
constraint tag_pkey
|
|
primary key,
|
|
name text not null
|
|
)
|
|
;
|
|
|
|
create unique index tag_id_uindex
|
|
on tag (id)
|
|
;
|
|
|
|
create table license
|
|
(
|
|
id serial not null
|
|
constraint license_pkey
|
|
primary key,
|
|
name text not null
|
|
)
|
|
;
|
|
|
|
create table video
|
|
(
|
|
id text not null
|
|
constraint video_pkey
|
|
primary key,
|
|
uploader_id text not null
|
|
constraint video_uploader_id_fk
|
|
references uploader,
|
|
creator text,
|
|
upload_date date,
|
|
license_id integer
|
|
constraint video_license_id_fk
|
|
references license,
|
|
title text,
|
|
full_title text,
|
|
alt_title text,
|
|
file_name text,
|
|
description text,
|
|
duration integer default 0,
|
|
age_limit integer default 0,
|
|
annotation text,
|
|
webpage_url text,
|
|
view_count integer,
|
|
like_count integer,
|
|
dislike_count integer,
|
|
display_id text
|
|
)
|
|
;
|
|
|
|
create unique index video_id_uindex
|
|
on video (id)
|
|
;
|
|
|
|
create table format
|
|
(
|
|
name text,
|
|
note text,
|
|
format_id text not null,
|
|
url text,
|
|
player_url text,
|
|
extension text,
|
|
audio_codec text,
|
|
video_codec text,
|
|
audio_bitrate integer,
|
|
total_bitrate integer,
|
|
file_size bigint,
|
|
quality integer,
|
|
width integer,
|
|
height integer,
|
|
fps integer,
|
|
video_id text not null
|
|
constraint format_video_id_fk
|
|
references video,
|
|
constraint format_format_id_video_id_pk
|
|
primary key (format_id, video_id)
|
|
)
|
|
;
|
|
|
|
create table thumbnail
|
|
(
|
|
thumbnail_id text not null,
|
|
url text,
|
|
video_id text not null
|
|
constraint thumbnail_video_id_fk
|
|
references video,
|
|
data bytea,
|
|
constraint thumbnail_thumbnail_id_video_id_pk
|
|
primary key (thumbnail_id, video_id)
|
|
)
|
|
;
|
|
|
|
create table video_in_category
|
|
(
|
|
video_id text not null
|
|
constraint video_in_category_video_id_fk
|
|
references video,
|
|
category_id integer not null
|
|
constraint video_in_category_category_id_fk
|
|
references category
|
|
)
|
|
;
|
|
|
|
create table video_has_tag
|
|
(
|
|
video_id text not null
|
|
constraint video_has_tag_video_id_fk
|
|
references video,
|
|
tag_id integer not null
|
|
constraint video_has_tag_tag_id_fk
|
|
references tag
|
|
)
|
|
;
|
|
|
|
create unique index license_id_uindex
|
|
on license (id)
|
|
;
|
|
|
|
create table subtitles
|
|
(
|
|
language text not null,
|
|
url text,
|
|
data text,
|
|
video_id text not null
|
|
constraint subtitles_video_id_fk
|
|
references video,
|
|
constraint subtitles_language_video_id_pk
|
|
primary key (language, video_id)
|
|
)
|
|
;
|
|
|
|
create table chapter
|
|
(
|
|
id serial not null
|
|
constraint chapter_pkey
|
|
primary key,
|
|
start_time integer not null,
|
|
end_time integer not null,
|
|
title text,
|
|
video_id text not null
|
|
constraint chapter_video_id_fk
|
|
references video
|
|
)
|
|
;
|
|
|
|
create unique index chapter_id_uindex
|
|
on chapter (id)
|
|
;
|
|
|