sexta-feira, setembro 22, 2017
Home » MySql » Aula Banco de dados 16/03/2012 – MySql

Aula Banco de dados 16/03/2012 – MySql

Bom dia alunos,

conforme aula do dia 16/03/2012. Segue correção:

Matéria: Banco de Dados I e Banco de Dados II

Para correção do exercício, estou supondo que vocês já estão com o PhpMyAdmin aberto e pronto para inserir o SQL.

Enunciado:

Criar uma tabela para o campeonato brasileiro com campos para nome do time, pontos do time, jogos do time, vitorias do time, derrotas do time e empates do time. Em seqüência adicionar os dados dos clubes.

Criar banco de dados:

CREATE DATABASE aula;

Criar a tabela com os campos:

CREATE TABLE times (times_cod int auto_increment primary key,
times_nome varchar(20),
times_pontos int(2),
times_jogos int(2),
times_vitorias int(2),
times_derrotas int(2),
times_empates int(2));

 

Agora vamos inserir os dados:

1 Vasco-RJ 40 21 11 7 3
2 Palmeiras-SP 38 21 11 5 5
3 São Paulo-SP 36 21 10 6 5
4 Flamengo-RJ 34 21 9 7 5
5 Internacional-RS 33 19 10 3 6
6 Atlético-MG 33 20 9 6 5
7 Corinthians-SP 32 21 9 5 7
8 Santos-SP 32 21 8 8 5
9 Grêmio-RS 31 21 9 4 8
10 Cruzeiro-MG 28 21 8 4 9
11 Goias-GO 28 20 7 7 6
12 Ceará-CE 27 20 8 3 9
13 Atlético-PR 27 21 8 3 10
14 Bahia-BA 27 21 7 6 8
15 Vitoria-BA 24 21 6 6 9
16 Sport-PE 22 21 6 4 11
17 Nautico-PE 21 21 5 6 10
18 Botafogo-RJ 21 20 4 9 7
19 Fluminense-RJ 16 21 4 4 13
20 Coritiba-PR 16 21 3 7 11

Vamos ao SQL:

INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Vasco-RJ”, 40, 21, 11, 7, 3);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Palmeiras-SP”, 38, 21, 11, 5, 5);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“São Paulo-SP”, 36, 21, 10, 6 ,5);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Flamengo-RJ”, 34, 21, 9, 7, 5);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Internacional-RS”, 33, 19, 10, 3, 6);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Atletico-MG”, 33, 20, 9, 6, 5);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Corinthians-SP”, 32, 21, 9, 5, 7);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Santos-SP”, 32, 21, 8, 8, 5);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Gremio-RS”, 31, 21, 9, 4, 8);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Cruzeiro-MG”, 28, 21, 8, 4, 9);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Goias-GO”, 28, 20, 7, 7, 6);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Ceara-CE”, 28, 20, 8, 3, 9);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Atletico-PR”, 27, 21, 8, 3, 10);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Bahia-BA”, 27, 21, 7, 6, 8);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Vitoria-BA”, 24, 21, 6, 6, 9);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Sport-PE”, 22, 21, 6, 4, 11);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Nautico-PE”, 21, 21, 5, 6, 10);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Botafogo-RJ”, 21, 20, 4, 9, 7);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Fluminensa-RJ”, 16, 21, 4, 4, 13);
INSERT INTO times(times_nome, times_pontos, times_jogos, times_vitorias, times_derrotas, times_empates) VALUES (“Coritiba-PR”, 16, 21, 3, 7, 11);

 

Vamos a parte 2 do projeto:

Incluir um campo novo na tabela times, cod_estado Varchar(2);

Alter table times add estado_cod varchar(2);

 

Criar uma tabela nova ESTADOS, com os campos ESTADO_COD varchar(2), ESTADO_NOME varchar(20), ESTADO_REGIAO varchar(15), a chave primária é o ESTADO_COD

Create table estados (estado_cod varchar(2) not null, estado_nome varchar(20),
estado_regiao varchar(15));

ALTER TABLE estados ADD PRIMARY KEY ( estado_cod )

 

Agora que temos um campo ESTADO_cod na tabela times, Inserir o estado de cada um dos times

Update times set estado_cod =”RJ” where times_nome = “Vasco-RJ”;
Update times set estado_cod =”SP” where times_nome = “Palmeiras-SP”;
Update times set estado_cod =”SP” where times_nome = “Sao Paulo-SP”;
Update times set estado_cod =”RJ” where times_nome = “Flamengo-RJ”;
Update times set estado_cod =”RS” where times_nome = “Internacional-RS”;
Update times set estado_cod =”MG” where times_nome = “Atletico-MG”;
Update times set estado_cod =”SP” where times_nome = “Corinthians-SP”;
Update times set estado_cod =”SP” where times_nome = “Santos-SP”;
Update times set estado_cod =”RS” where times_nome = “Gremio-RS”;
Update times set estado_cod =”MG” where times_nome = “Cruzeiro-MG”;
Update times set estado_cod =”GO” where times_nome = “Goias-GO”;
Update times set estado_cod =”CE” where times_nome = “Ceara-CE”;
Update times set estado_cod =”PR” where times_nome = “Atletico-PR”;
Update times set estado_cod =”BA” where times_nome = “Bahia-BA”;
Update times set estado_cod =”BA” where times_nome = “Vitoria-BA”;
Update times set estado_cod =”PE” where times_nome = “Sport-PE”;
Update times set estado_cod =”PE” where times_nome = “Nautico-PE”;
Update times set estado_cod =”RJ” where times_nome = “Botafogo-RJ”;
Update times set estado_cod =”RJ” where times_nome = “Fluminense-RJ”;
Update times set estado_cod =”PR” where times_nome = “Coritiba-PR”;

 

Agora vamos preencher a tabela ESTADOS que criamos anteriormente:

INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“BA”,”Bahia”,”Nordeste”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“CE”,”Ceara”,”Nordeste”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“GO”,”Goias”,”Centro-Oeste”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“MG”,”Minas Gerais”,”Sudeste”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“PE”,”Pernambuco”,”Nordeste”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“PR”,”Parana”,”Sul”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“RJ”,”Rio de Janeiro”,”Sudeste”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“RS”,”Rio Grande do Sul”,”Sul”);
INSERT INTO estados(estado_cod, estado_nome, estado_regiao) VALUES (“SP”,”Sao Paulo”,”Sudeste”);

Criar a constraint de chave estrangeira entre a tabela TIMES e a tabela ESTADOS.

 ALTER TABLE times ADD CONSTRAINT fk_cidade FOREIGN KEY (estado_cod) REFERENCES estados (estado_cod);

Montar o comando select que mostrem quais são os times e os pontos ganhos dos times da região SUL.

SELECT times_nome, times_pontos FROM times, estados WHERE estado_regiao = “Sul” AND estados.estado_cod = times.estado_cod;

Quais são os times do estado de MINAS GERAIS

Select * from times, estados where estado_nome = “Minas Gerais” and estados.estado_cod = times.estado_cod;

Delete todos os times do estado do PARANA.

Delete from times WHERE estado_cod = “PR”;

Obs. Não é possível utilizar 2 tabelas no comando delete.

Pronto pessoal, fim do exercício. treinem fazer algumas vezes sem olhar o codigo pronto.

Abraço e até a próxima

Sobre Diego Duarte

Diego Duarte Atua como coordenador de NOC, toca um violãozinho nas horas vagas e tenta eternamente entender o que o fez escolher TI

Veja também!

Resetar senha de root perdida no Mysql – CentOS e Red Hat

RESETAR SENHA DE ROOT PERDIDA NO MYSQL NO CENTOS E RED HAT Essa dica tem …

5 comentários

  1. Reinaldo

    O mysql no padrão ANSI não aceita aspas duplas.
    http://dev.mysql.com/
    Mas até descobrir isso…

  2. Reinaldo

    Um pequeno erro no código:
    /*
    SELECT times_nome, times_pontos FROM times, estados ONDE estado_regiao = “Sul” AND estados.estado_cod = times.estado_cod;
    */
    No lugar de “ONDE” deve-se alterar para WHERE

  3. Reinaldo

    O mysql no padrão ANSI não aceita aspas duplas.
    Mas até descobrir isso…

    • Fiz no note e no pc de casa com aspas duplas, mas não me atentei se tava ANSI ou Collaction bla bla bla.. então fico te devendo por hora.

      Abraço

Este artigo lhe foi útil? comente e ajude outros acrescentando seu ponto de vista!