O Banco de Dados
Por: leovigildo • 9/9/2015 • Trabalho acadêmico • 834 Palavras (4 Páginas) • 175 Visualizações
/*CREATE DATABASE RecursosHumanos;
USE RecursosHumanos;
drop table funcoes;
-- -----------------------------------------------------
-- Table `Funcoes`
-- -----------------------------------------------------
CREATE TABLE Funcoes (
idFuncao INT NOT NULL ,
descFuncao VARCHAR(50) NOT NULL ,
constraint pk_funcoes PRIMARY KEY (idFuncao)
);
-- -----------------------------------------------------
-- Table `Departamentos`
-- -----------------------------------------------------
CREATE TABLE Departamentos (
idDepto INT NOT NULL ,
descDepto VARCHAR(50) NOT NULL ,
idGerente INT not NULL ,
constraint pk_depto PRIMARY KEY (idDepto),
constraint unq_emp unique (idDepto),
);
-- -----------------------------------------------------
-- Table `Empregados`
-- -----------------------------------------------------
CREATE TABLE Empregados (
idEmp INT NOT NULL ,
nomeEmp VARCHAR(50) NOT NULL ,
cpfEmp VARCHAR(11) NOT NULL ,
cepEmp VARCHAR(8) NULL ,
cidadeEmp VARCHAR(50) NULL ,
salEmp DECIMAL(10,2) NULL ,
idFuncao INT NOT NULL ,
idDepto INT NOT NULL ,
constraint unq_empunq unique (idemp),
constraint pk_emp PRIMARY KEY (idEmp),
constraint fk_emp1 foreign key (idFuncao)
references funcoes (idfuncao),
constraint fk_emp2 foreign key (idDepto)
references Departamentos (idDepto)
);
ALTER TABLE Empregados
ADD CONSTRAINT `fk_Emp_Func`
FOREIGN KEY (`idFuncao` )
REFERENCES `Funcoes` (`idFuncao` )
ON DELETE NO ACTION
ON UPDATE CASCADE;
ALTER TABLE Empregados
ADD CONSTRAINT `fk_Emp_Depto`
FOREIGN KEY (`idDepto` )
REFERENCES `Departamentos` (`idDepto` )
ON DELETE NO ACTION
ON UPDATE CASCADE;
ALTER TABLE Departamentos
ADD CONSTRAINT fk_Depto_Emp_Gerente
FOREIGN KEY (idGerente )
REFERENCES Empregados (idEmp );
--ON DELETE NO ACTION
--ON UPDATE CASCADE;
--CREATE UNIQUE INDEX `idEmp_UNIQUE` ON `Empregados` (`idEmp` ASC) ;
--CREATE INDEX `fk_Emp_Func_idx` ON `Empregados` (`idFuncao` ASC) ;
CREATE INDEX `fk_Emp_Depto_idx` ON `Empregados` (`idDepto` ASC) ;
CREATE UNIQUE INDEX `idFuncao_UNIQUE` ON `Funcoes` (`idFuncao` ASC) ;
CREATE UNIQUE INDEX `idDepto_UNIQUE` ON `Departamentos` (`idDepto` ASC) ;
CREATE INDEX `fk_Depto_EmpGerente_idx` ON `Departamentos` (`idGerente` ASC) ;
INSERT INTO Funcoes (idFuncao, descFuncao) VALUES (1, 'Administrador');
INSERT INTO Funcoes (idFuncao, descFuncao) VALUES (2, 'Analista de Sistemas');
INSERT INTO Funcoes (idFuncao, descFuncao) VALUES (3,'Assistente');
INSERT INTO Funcoes (idFuncao, descFuncao) VALUES (4,'Analista de RH');
INSERT INTO Funcoes (idFuncao, descFuncao) VALUES (5,'Analista de Marketing');
INSERT INTO Funcoes (idFuncao, descFuncao) VALUES (6,'Analista Financeiro');
INSERT INTO Funcoes (idFuncao, descFuncao) VALUES(7,'Assistente Administrativo');
*/
select * from Empregados;
INSERT INTO Departamentos (idDepto, descDepto) VALUES (20, 'Tecnologia da Informação');
INSERT INTO Departamentos (idDepto, descDepto) VALUES (10, 'Financeiro');
INSERT INTO Departamentos (idDepto, descDepto) VALUES (15, 'Marketing');
INSERT INTO Departamentos (idDepto, descDepto) VALUES (16, 'Recursos Humanos');
INSERT INTO Departamentos (idDepto, descDepto) VALUES (1, 'Administração');
INSERT INTO Empregados (idEmp, nomeEmp, cpfEmp, cepEmp, cidadeEmp, salEmp, idFuncao, idDepto) VALUES (1790, 'Camilla', '10908778912', '19800505', 'São Paulo', 3390, 4, 16);
INSERT INTO Empregados (idEmp, nomeEmp, cpfEmp, cepEmp, cidadeEmp, salEmp, idFuncao, idDepto) VALUES (1843, 'Eduarda', '23409878943', '80908910', 'Curitiba', 3589, 5, 15);
INSERT INTO Empregados (idEmp, nomeEmp, cpfEmp, cepEmp, cidadeEmp, salEmp, idFuncao, idDepto) VALUES (1850, 'Joaquim', '04509302198', '19700623', 'São Paulo', 6784, 1, 1);
...