Análise de diagrama de dados (Simples)
Olá, gostaria de saber se esse diagrama de um banco para controle de funcionarios está correto, as relações e tals, vocês poderiam analisar? é para um trabalho. Obrigado pela ajuda pessoal.
[URL=http://www.sharepdfbooks.com/SOVWUBWTRWU2/Banco_RH.pdf.html]Banco_RH.pdf - 67.1 Kb[/URL]
[URL=http://www.sharepdfbooks.com/SOVWUBWTRWU2/Banco_RH.pdf.html]Banco_RH.pdf - 67.1 Kb[/URL]
Fabricio Sousa
Curtidas 0
Respostas
Fabricio Sousa
18/04/2011
Desculpem, não estou conseguindo upar o arquivo pdf, porém caso queiram analisar o script.. segue:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `DBRH` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `DBRH` ;
-- -----------------------------------------------------
-- Table `DBRH`.`Cargo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Cargo` (
`idCargo` INT NOT NULL AUTO_INCREMENT ,
`Setor` VARCHAR(255) NOT NULL COMMENT ' ' ,
`Cargo` VARCHAR(45) NOT NULL ,
`Remuneracao` DECIMAL(10,2) NULL ,
PRIMARY KEY (`idCargo`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Folha`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Folha` (
`idFolha` INT NOT NULL AUTO_INCREMENT ,
`Ano` VARCHAR(45) NOT NULL ,
`Mes` VARCHAR(45) NOT NULL ,
`INSS` DECIMAL(10,2) NOT NULL ,
`Desc_Adicionais` DECIMAL(10,2) NOT NULL ,
`Sal_Bruto` DECIMAL(10,2) NOT NULL ,
`Sal_Liq` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idFolha`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Historico`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Historico` (
`idHist` INT NOT NULL AUTO_INCREMENT ,
`Cargo_inicial` VARCHAR(45) NOT NULL ,
`Cargo_Atual` VARCHAR(45) NOT NULL ,
`Situação` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idHist`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Admissao`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Admissao` (
`idAdm` INT NOT NULL AUTO_INCREMENT ,
`Empresa` VARCHAR(255) NULL ,
`Tipo_Contrato` VARCHAR(45) NULL ,
`Data_Admissao` TIMESTAMP NOT NULL ,
`Data_Demissao` TIMESTAMP NULL ,
PRIMARY KEY (`idAdm`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Funcionarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Funcionarios` (
`idFuncionario` INT NOT NULL AUTO_INCREMENT ,
`Nome` VARCHAR(255) NOT NULL ,
`DataNasc` TIMESTAMP NOT NULL ,
`Sexo` CHAR(1) NULL ,
`Endereco` VARCHAR(255) NULL ,
`Contato` VARCHAR(255) NULL ,
`Email` VARCHAR(45) NULL ,
`Cargo_idCargo` INT NOT NULL ,
`Folha_idFolha` INT NOT NULL ,
`Historico_idHist` INT NOT NULL ,
`Admissao_idAdm` INT NOT NULL ,
PRIMARY KEY (`idFuncionario`) ,
INDEX `fk_Funcionarios_Cargo1` (`Cargo_idCargo` ASC) ,
INDEX `fk_Funcionarios_Folha1` (`Folha_idFolha` ASC) ,
INDEX `fk_Funcionarios_Historico1` (`Historico_idHist` ASC) ,
INDEX `fk_Funcionarios_Admissao1` (`Admissao_idAdm` ASC) ,
CONSTRAINT `fk_Funcionarios_Cargo1`
FOREIGN KEY (`Cargo_idCargo` )
REFERENCES `DBRH`.`Cargo` (`idCargo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Funcionarios_Folha1`
FOREIGN KEY (`Folha_idFolha` )
REFERENCES `DBRH`.`Folha` (`idFolha` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Funcionarios_Historico1`
FOREIGN KEY (`Historico_idHist` )
REFERENCES `DBRH`.`Historico` (`idHist` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Funcionarios_Admissao1`
FOREIGN KEY (`Admissao_idAdm` )
REFERENCES `DBRH`.`Admissao` (`idAdm` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `DBRH` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `DBRH` ;
-- -----------------------------------------------------
-- Table `DBRH`.`Cargo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Cargo` (
`idCargo` INT NOT NULL AUTO_INCREMENT ,
`Setor` VARCHAR(255) NOT NULL COMMENT ' ' ,
`Cargo` VARCHAR(45) NOT NULL ,
`Remuneracao` DECIMAL(10,2) NULL ,
PRIMARY KEY (`idCargo`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Folha`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Folha` (
`idFolha` INT NOT NULL AUTO_INCREMENT ,
`Ano` VARCHAR(45) NOT NULL ,
`Mes` VARCHAR(45) NOT NULL ,
`INSS` DECIMAL(10,2) NOT NULL ,
`Desc_Adicionais` DECIMAL(10,2) NOT NULL ,
`Sal_Bruto` DECIMAL(10,2) NOT NULL ,
`Sal_Liq` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idFolha`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Historico`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Historico` (
`idHist` INT NOT NULL AUTO_INCREMENT ,
`Cargo_inicial` VARCHAR(45) NOT NULL ,
`Cargo_Atual` VARCHAR(45) NOT NULL ,
`Situação` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idHist`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Admissao`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Admissao` (
`idAdm` INT NOT NULL AUTO_INCREMENT ,
`Empresa` VARCHAR(255) NULL ,
`Tipo_Contrato` VARCHAR(45) NULL ,
`Data_Admissao` TIMESTAMP NOT NULL ,
`Data_Demissao` TIMESTAMP NULL ,
PRIMARY KEY (`idAdm`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `DBRH`.`Funcionarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBRH`.`Funcionarios` (
`idFuncionario` INT NOT NULL AUTO_INCREMENT ,
`Nome` VARCHAR(255) NOT NULL ,
`DataNasc` TIMESTAMP NOT NULL ,
`Sexo` CHAR(1) NULL ,
`Endereco` VARCHAR(255) NULL ,
`Contato` VARCHAR(255) NULL ,
`Email` VARCHAR(45) NULL ,
`Cargo_idCargo` INT NOT NULL ,
`Folha_idFolha` INT NOT NULL ,
`Historico_idHist` INT NOT NULL ,
`Admissao_idAdm` INT NOT NULL ,
PRIMARY KEY (`idFuncionario`) ,
INDEX `fk_Funcionarios_Cargo1` (`Cargo_idCargo` ASC) ,
INDEX `fk_Funcionarios_Folha1` (`Folha_idFolha` ASC) ,
INDEX `fk_Funcionarios_Historico1` (`Historico_idHist` ASC) ,
INDEX `fk_Funcionarios_Admissao1` (`Admissao_idAdm` ASC) ,
CONSTRAINT `fk_Funcionarios_Cargo1`
FOREIGN KEY (`Cargo_idCargo` )
REFERENCES `DBRH`.`Cargo` (`idCargo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Funcionarios_Folha1`
FOREIGN KEY (`Folha_idFolha` )
REFERENCES `DBRH`.`Folha` (`idFolha` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Funcionarios_Historico1`
FOREIGN KEY (`Historico_idHist` )
REFERENCES `DBRH`.`Historico` (`idHist` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Funcionarios_Admissao1`
FOREIGN KEY (`Admissao_idAdm` )
REFERENCES `DBRH`.`Admissao` (`idAdm` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
GOSTEI 0