Buscar

DS - Artur Nogueira - Banco de Dados II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 001 - 
Revisão de Conceitos e Problematização 
 
O objetivo geral de um banco de dados é organizar os dados, para um problema inicial 
propusemos um cadastro de funcionários, todo cheio de problemas, vamos ter aplicar 
regras de normalização e comandos de banco de dados para permitir que nosso banco de 
dados faça sentido. 
 
Para realizar esse exercício vamos iniciar o XAMPP e em seguida Abrir o Mysql - Utilizando 
o PhpMyAdmin - Abra o painel de controle, inicie o Mysql e em Seguida clique no botão 
Admin 
 
 
ao iniciar corretamente, uma tela parecida com essa surgirá. 
 
 
Para fazer download do arquivo que usamos no exemplo utilize o link a seguir: 
bit.ly/2vDkyIa 
 
Lembre-se que para realizar a importação o primeiro passo a ser realizado é criar o banco 
de dados. 
 
No exemplo abrimos o phpmyadmin e em seguida na aba SQL digitamos o seguinte 
comando: 
 
CREATE DATABASE AULA_DS2POLI; 
 
Uma vez criado o banco de dados, clique no mesmo e em seguida vá na "aba import" 
 
 
 
Após fazer isso clique no botão escolher arquivo, escolha o formato CSV, em COLUNAS 
SEPARADAS COM, troque para " ; " e NÃO se esqueça de marcar que o arquivo contém os 
nomes das colunas. 
 
 
 
Feito isso, você terá importado seu banco de dados 
 
 
 
 
 
 
Aula 002 - 
 
Conhecendo o comando SELECT 
 
O comando usado para manipular e recuperar informações e consequentemente dados em 
um banco é o SELECT ele tem uma sintaxe(estrutura) bem complexa, podendo assim 
executar tarefas simples, e outras bem elaboradas. 
 
o básico do comando é o seguinte: 
 
select​ ​campo1, campo2, campo3,....., campoN 
from​ ​nome_da_minha_tabela 
where​ ​(condições) 
 
Em um exemplo clássico para a tabela que temos, vamos selecionar todos os dados, então 
 
select * from funcionarios; 
 
Neste comando o ​*​ substitui o nome dos campos da tabela e por consequência TODOS os 
campos serão retornados. 
 
Vamos aprender agora o critério para inserção das condições, lembre-se para o dado ser 
retornado ele tem que satisfazer todas as condições: 
 
imagina uma tabela com alguns nomes e idades 
 
 
Nome Idade 
Maria 25 
José 27 
João 36 
Rita 36 
Marcelo 17 
 
imaginado que isto é uma tabela o comando para retornar todos os dados seria: 
 
select nome, idade from funcionarios; 
 
Agora imaginemos que eu queria retornar somente os nomes que tenham a letra "J" no 
início, eu tenho que ser capaz de escrever uma condição que seja verdade somente para 
ela! 
Ou seja sele eu escrevesse um comando assim: 
 
select * from funcionarios where 1=1; 
todos os registros seriam selecionados pois 1 é igual a 1 sempre!! 
 
se eu escrevesse o comando select * from funcionarios where 1=0; 
nenhum dado seria retornado! 
 
então para retornar os dados dos nomes com a letra J eu tenho que escrever uma condição 
somente para isso, antes deste ponto vamos aprender os operadores lógicos em SQL. 
 
= igual igualdade 
> maior maior que 
< menor menor que 
>= maior ou igual maior ou igual que 
<= menor ou igual menor ou igual que 
<> diferente diferente de 
LIKE parecido parecido com 
 este operador trabalha em conjunto com um coringa este 
coringa é representado pelo símbolo % 
 
então exemplos de condições 
 
salario > 1000 
salario >= 1000 
salario = 1000 
salario < 1000 
salario <= 1000 
salario <> 1000 
 
nome like "​%​nome​%​" - vai retornar somente o que tem o nome "entre" os coringas 
%m% - todo nome que tiver a letra M em qualquer posição 
 
nome like "​%​nome" - vai retornar somente o que termina o nome "entre" os coringas 
%m - todo nome que tiver a letra M somente no final 
 
m% - somente o que começa com a letra M 
Para escrever uma condic'ão eu SEMPRE tenho que colocar o nome de um campo aliado 
ao o quê eu estiver escrevendo exemplo 
 
NOME like 'M%' 
 
AULA 003 - TRABALHANDO COM O DESENVOLVIMENTO DE 
CARDINALIDADES 
 
Conforme discutimos em sala há um problema com nosso campo de cardinalidade e vamos 
resolver esse problema nos passos abaixo: 
 
A primeira etapa é verificar quais os valores distintos na tabela. Para isso vamos digitar o 
comando abaixo 
 
SELECT DISTINCT ESPECIALIDADE FROM FUNCIONARIO; 
 
Dessa forma sou capaz de verificar todas as especialidades disponíveis no sistema, as 
quais mais tarde vou corrigir. 
 
 
Para agilizar esse processo iremos criar uma tabela para guardá-las. 
 
para isso executamos o seguinte comando: 
 
 
Feito isso, a tabela será criada! 
 
 
Vamos agora adicionar um campo chave primária na tabela especialidade 
 
Clique na tabela especialidade 
 
Abaixo da tabela aparece a opção Adicionar 1 Coluna no início da tabela. 
 
Digite o nome cod_especialidade ou digite o seguinte comando na ABA SQL, ele também 
criará a coluna. 
 
ALTER TABLE `ESPECIALIDADE` ADD `COD_ESPECIALIDADE` INT NOT NULL 
AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`COD_ESPECIALIDADE`); 
 
O próximo passo será criamos a coluna cod_especialidade na tabela funcionário, isso 
também será feito de forma parecida! 
 
clique na aba SQL e digite o seguinte comando: 
 
ALTER TABLE FUNCIONARIO ADD COD_ESPECIALIDADE INT NOT NULL AFTER 
ESPECIALIDADE; 
 
este comando irá criar uma coluna vazia (com o valor zero) na tabela funcionário, o próximo 
passo é atualizarmos o valor dela para cada uma das profissões, para tal utilizamos o 
comando UPDATE 
 
O comando update é o comando utilizado para atualização dos valores de dados em uma 
tabela a regra é a seguinte: 
 
UPDATE NOME_DA_TABELA 
SET nome_do_campo = 'novo_valor' 
where nome_do_campo_escolhido = 'Critério' 
 
No nosso Exemplo vamos atualizar o valor do campo criado na tabela funcionários, então o 
comando é: 
 
UPDATE FUNCIONARIO SET COD_ESPECIALIDADE = '99999' where 
ESPECIALIDADE = 'Técnico em Informática' 
 
ONDE 99999 é o código da especialidade Técnico em Informática da SUA TABELA! 
 
Aproveite e atualize os códigos para as seguintes profissões: 
 
Secretaria 
Nutricionista 
Técnico em Enfermagem 
professora 
 
 
UPDATE CADASTRO 
JOIN ESPECIALIDADE ON (CADASTRO.ESPECIALIDADE = 
ESPECIALIDADE.ESPECIALIDADE) 
SET CADASTRO.COD_ESPECIALIDADE = ESPECIALIDADE.COD_ESPECIALIDADE 
 
- CRIAR AS DEMAIS TABELAS, SEPARANDO O CONTEÚDO DE TEXTO E 
SUBSTITUINDO PELO CÓDIGO 
 
1. ENDEREÇO, 
2. ESPECIALIDADE, 
3. SIGNO, 
4. EST_CIVIL, 
5. NACIONALIDADE, 
6. DEPENDENTES, 
7. PAI, MAE, 
8. GENERO, 
9. BENEFICIOS, 
10. PRO_SAUDE, 
11. RACA, 
12. IDIOMAS, 
13. CONDUCAO, 
14. CURRICULO, 
15. CARGO, 
16. TIPO_CONTRATO, 
17. PORTADOR_DEF, 
18. ANT_CRIMINAIS, 
19. TATUAGEM, 
20. PORTIFOLIO, 
21. RELIGIAO, 
22. DROGAS, 
23. NOME_SOCIAL 
PARA CRIAR RELACIONAMENOT DAS TABELAS 
ALTER TABLE CADASTRO ADD CONSTRAINT FOREIGN KEY(COD_SIGNO) 
REFERENCES SIGNO(COD_SIGNO) 
 
 
 
 
-- SELECT DISTINCT ENDERECO FROM ENDERECO 
UPDATE ENDERECO SET LOGRADOURO = ENDERECO 
WHERE ENDERECO LIKE 'RUA%' AND ENDERECO NOT LIKE '%,%' AND ENDERECO 
NOT LIKE '%º%' 
 
 
UPDATE ENDERECO SET LOGRADOURO = 
SUBSTRING(ENDERECO,1,LOCATE(",",ENDERECO)-1) WHERE LOGRADOURO = '' 
AND ENDERECO LIKE '%,%' 
 
 
Para trabalhar com manipulação de Strings na tabela endereços 
 
select locate(onde_quero_encontrar, 'o_que_quero_encontrar' 
Select locate (endereço, 'Nº') from cadastro 
-- isto retornaria a posição da string 'Nº' 
 
select replace 
('onde_quero_subsitituir','o_que_vou_substituir','por_aquilo_que_vou_substituir') 
Select replace ( endereço, 'Artur Nogueira', '') 
-- trocaria a expressão Artur Nogueira por vazio 
 
--lower('VAI FICAR MINÚSCULO') 
--upper('vai ficar maiúsculo') 
 
select ​SUBSTRING(ENDERECO,1,LOCATE(",",ENDERECO)-1) 
substring(de_onde_quero_recordar, posicao_incial, posicao_final)

Outros materiais