create database modelo_db character set utf8 collate utf8_general_ci;

use modelo_db;

create table perfil_usuario(
	id_perfil_usuario int(5) not null auto_increment primary key,
	descricao_perfil_usuario varchar(60) not null,
	status_perfil_usuario char(1) not null default "S"
) character set utf8 collate utf8_general_ci;

create table usuario(
	id_usuario int(11) not null auto_increment primary key,
	nome_usuario varchar(120) not null,
	login_usuario varchar(60) not null unique,
	email_usuario varchar(255) not null unique,
	senha_usuario varchar(64) not null,
	id_perfil_usuario int(5) not null,
	foreign key (id_perfil_usuario) references perfil_usuario (id_perfil_usuario) on update cascade on delete cascade,
	status_usuario char(1) not null default "S"
) character set utf8 collate utf8_general_ci;

create table historico(
	id_historico bigint(20) not null auto_increment primary key,
	comando_sql text not null,
	data_hora_acao datetime not null default NOW(),
	id_usuario int(11) not null,
	foreign key (id_usuario) references usuario (id_usuario) on update cascade on delete cascade
) character set utf8 collate utf8_general_ci;

create table log(
	id_log bigint(20) not null auto_increment primary key,
	id_usuario int(11) not null,
	foreign key (id_usuario) references usuario (id_usuario) on update cascade on delete cascade,
	id_sessao_usuario varchar(60) not null,
	data_hora_login datetime not null default NOW(),
	http_user_agent varchar(255) not null,
	ip_login varchar(60) not null,
	navegador_login varchar(60) not null,
	plataforma_login varchar(60) not null
) character set utf8 collate utf8_general_ci;