-- COMANDOS DDL (DATA DEFINITION LANGUAGE)
-- CREATE / ALTER / DROP

create database db_empresa;

use db_empresa;
-- apertar ctrl+enter no comando use db_empresa


create table tb_departamento (
cd_departamento int auto_increment primary key,
nm_departamento varchar(60) not null
);

create table tb_funcionario (
cd_funcionario int auto_increment primary key,
nm_funcionario varchar (60) not null,
nm_email varchar(60) not null unique,
dt_nascimento date not null,
id_departamento int not null,
foreign key (id_departamento) 
references tb_departamento (cd_departamento)
);

create table tb_projeto (
cd_projeto int auto_increment primary key,
nm_projeto varchar(100) not null,
ds_projeto longtext,
dt_inicio date not null
);

create table tb_equipe (
cd_equipe int primary key auto_increment,
id_projeto int not null,
id_funcionario int not null,
foreign key (id_projeto) 
references tb_projeto (cd_projeto),
foreign key (id_funcionario) 
references tb_funcionario (cd_funcionario)
);

-- COMANDOS DML

use db_empresa; -- ctrl+enter

select * from tb_departamento;
-- após escrever o comando, apertar CTRL+ENTER

show tables;
-- mostra todas as tables existentes na base de dados

insert into tb_departamento (cd_departamento, nm_departamento) values
(null, "Financeiro");

insert into tb_departamento values
(null, "Comercial");

insert into tb_departamento (nm_departamento) values
("Recursos Humanos");

insert into tb_departamento set
nm_departamento = "TI";

insert into tb_departamento set
nm_departamento = "Vendias";

-- para excluir um registro específico
delete from tb_departamento
where
cd_departamento = 10;

delete from tb_departamento
where
cd_departamento > 1;

-- para alterar um registro
update tb_departamento set
nm_departamento = "Vendas"
where
cd_departamento = 18; 

select * from tb_departamento;

select * from tb_funcionario;

insert into tb_funcionario set
nm_funcionario = "Claudio Lopes Ferrini Garcia",
nm_email = "claudio@mail.com",
dt_nascimento = "1986-10-30",
id_departamento = 17;