create database db_kiddos_school;

use db_kiddos_school;

create table tb_usuario (
cd_usuario int auto_increment,
nome_usuario varchar(80) not null,
email_usuario varchar(60) not null unique,
senha_usuario varchar(64) not null,
tipo_usuario char(1) not null, /* 1-admin 2-gestão 3-coordenação 4-professor */
status_usuario char(1) not null default "1", /* 0-inativo 1-ativo 2-pendente */
data_registro_usuario datetime not null default current_timestamp,
primary key (cd_usuario)
);

create table tb_dados_contato (
cd_contato int auto_increment,
tipo_contato varchar(20) not null,
info_contato varchar(200) not null,
id_usuario int not null,
primary key (cd_contato),
foreign key (id_usuario) references tb_usuario (cd_usuario)
);

create table tb_carousel(
cd_carousel int auto_increment,
url_carousel varchar(200) not null,
descricao_carousel text not null,
id_usuario int not null,
status_carousel char(1) not null default "1" /*0-inativo 1-ativo */,
active_carousel char(6),
primary key (cd_carousel),
foreign key (id_usuario) references tb_usuario (cd_usuario)
);

create table tb_curso (
cd_curso int auto_increment,
nome_curso varchar(100) not null,
descricao_curso longtext not null,
url_imagem_curso varchar(200) not null,
id_usuario int not null, 
status_curso char(1) not null default "1", /*0-inativo 1-ativo */
data_registro_curso datetime not null default current_timestamp,
primary key (cd_curso),
foreign key (id_usuario) references tb_usuario (cd_usuario)
);

create table tb_noticia (
cd_noticia int auto_increment,
titulo_noticia varchar(150) not null,
descricao_noticia longtext not null,
palavra_chave_noticia varchar(100) not null,
url_imagem_noticia varchar(200) not null,
id_usuario int not null,
data_registro_noticia datetime not null default current_timestamp,
primary key (cd_noticia),
foreign key (id_usuario) references tb_usuario (cd_usuario)
);

create table tb_categoria_noticia (
cd_categoria_noticia int auto_increment,
categoria_noticia varchar(100) not null,
primary key (cd_categoria_noticia)
);

alter table tb_noticia add column id_categoria_noticia int not null;
alter table tb_noticia add foreign key (id_categoria_noticia) 
references tb_categoria_noticia (cd_categoria_noticia);