CREATE TABLE operadores (
  login VARCHAR(255) NOT NULL,
  nome VARCHAR(255) NULL,
  nivel VARCHAR(255) NOT NULL,
  senha VARCHAR(255) NOT NULL,
  PRIMARY KEY(login)
)
TYPE=InnoDB;

CREATE TABLE grupos (
  nome VARCHAR(255) NOT NULL,
  descricao VARCHAR(5000) NULL,
  responsavel VARCHAR(255) NULL,
  classe VARCHAR(255) NULL,
  PRIMARY KEY(nome)
)
TYPE=InnoDB;

CREATE TABLE softwares (
  md5 VARCHAR(32) NOT NULL,
  nome VARCHAR(255) NULL,
  versao VARCHAR(255) NULL,
  tamanho INTEGER UNSIGNED NULL,
  descricao VARCHAR(5000) NULL,
  liberacao VARCHAR(255) NULL,
  plataforma VARCHAR(255) NULL,
  localizacao VARCHAR(255) NULL,
  grupo VARCHAR(255) NULL,
  nomeArquivo VARCHAR(255) NULL,
  PRIMARY KEY(md5)
)
TYPE=InnoDB;

CREATE TABLE agentes (
  mac_address VARCHAR(20) NOT NULL,
  grupos_nome VARCHAR(255) NOT NULL,
  apelido VARCHAR(45) NOT NULL,
  localizacao VARCHAR(255) NULL,
  responsavel VARCHAR(255) NULL,
  setor VARCHAR(45) NULL,
  processador VARCHAR(45) NULL,
  memoria_ram VARCHAR(20) NULL,
  disco_rigido VARCHAR(20) NULL,
  fabricante VARCHAR(20) NULL,
  modelo VARCHAR(20) NULL,
  numero_serial VARCHAR(20) NULL,
  host VARCHAR(20) NOT NULL,
  disquete INT UNSIGNED NULL,
  telefone VARCHAR(20) NULL,
  observacao VARCHAR(5000) NULL,
  drive VARCHAR(1000) NULL,
  rede VARCHAR(1000) NULL,
  ativo VARCHAR(20) NULL,
  PRIMARY KEY(mac_address)
)
TYPE=InnoDB;

CREATE TABLE acoes (
  id INTEGER UNSIGNED NOT NULL DEFAULT '0',
  softwares_md5 VARCHAR(32) NOT NULL,
  agentes_mac_address VARCHAR(20) NOT NULL,
  operadores_login VARCHAR(255) NOT NULL,
  acao VARCHAR(255) NULL,
  data_criacao DATE NULL,
  data_execucao DATE NULL,
  observacao VARCHAR(5000) NULL,
  status_execucao VARCHAR(255) NULL,
  PRIMARY KEY(id)
)
TYPE=InnoDB
AUTO_INCREMENT = 1;

CREATE TABLE agentes_softwares (
  acoes_id INTEGER UNSIGNED NOT NULL,
  softwares_md5 VARCHAR(32) NOT NULL,
  agentes_mac_address VARCHAR(20) NOT NULL
)
TYPE=InnoDB;


