Banco de Dados - Módulo 2 - Aula 3 - DML - Linguagem de Manipulação de Dados

4,264 views

Published on

Curso Técnico Programação SENAI São José - SC
2011 - Segundo Semestre

Disciplina: Banco de Dados I
Professor: Kaléu Caminha

Módulo 2

Aula 3
Saber utilizar os recursos básicos da DML

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,264
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
88
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Banco de Dados - Módulo 2 - Aula 3 - DML - Linguagem de Manipulação de Dados

  1. 1. Módulo 2 – Aula 2 DDL Objetivo da Aula Saber utilizar os recursos básicos da DML. Introdução•DML - Linguagem de Manipulação de Dados;•Nesta aula exploraremos:4.Importação de dados;5.Consultas SQL Básicas;6.Inclusão de registros;7.Alteração de registros;8.Exclusão de registros; Relembrando...•Módulo 1:•Módulo 2:Relembrando com um pouco de SQL.... create database exemplo; use exemplo; create table cliente ( id int not null primary key, nome varchar(80) not null, email varchar(40) );Atividade 1 Para exercitar, encontre os 8 erros nos comandos “create table” abaixo: create table produto ( id not null auto_increment primary key, nome varchar(80) not null valor not null, text, quantidade_disponivel int default 100 ); create tabela cliente_produto { id int not null auto_increment primary key, id_cliente int not null, id_produto int not null, quantidade_comprada int, valor_total float, foreign key(id_cliente) reference cliente(id), foreign key(id_produto) references produto(codigo) ); 4. Importação de Dados;•SGBDs nos permitem importar dados de diversasmaneiras;•Uma das formas mais comuns é utilizando arquivos detexto simples com conteúdo SQL;•Nestes arquivos escrevemos nosso código SQLseparando os comandos por “;”, depois, basta importá-lospara o banco de dados•Este processo pode ser feito via linha de comando ou poralgum programa específico.•Para os exemplos utilizaremos um arquivo de textochamado dados.sql com o seguinte conteúdo: create database exemplo; use exemplo; create table cliente ( id int not null primary key, nome varchar(80) not null, email varchar(40) ); create table produto ( id int not null auto_increment primary key, nome varchar(80) not null, valor float not null, descricao text, quantidade_disponivel int default 100 ); create table cliente_produto ( id int not null auto_increment primary key, id_cliente int not null, id_produto int not null, quantidade_comprada int, valor_total float, foreign key(id_cliente) references cliente(id), foreign key(id_produto) references produto(id) );Linha de Comando•Na linha de comando basta executar o comando padrãode acesso ao MySQL acrescentando ao final o símbolo “<”mais o endereço do arquivo que se deseja carregar: mysql -uroot -psenai2011 < c:dados.sql•Neste caso o arquivo SQL foi colocado na pasta c: com onome dados.sql;•Não é exibida nenhuma mensagem de sucesso, apenasos erros são informados;•Após executar o comando, você pode acessar o mysqlnormalmente para verificar se tudo ocorreu bem.Usando o PHPMyAdmin•Outra forma de importar dados é utilizando algumaferramenta;•Nós utilizaremos o PHPMyAdmin;•Para importar os dados apenas clique no link “import” napágina principal, informe o arquivo para o upload,selecione o conjunto de caracteres que irá utilizar e cliqueem executar;•Atenção: em ambientes linux o conjunto padrão decaracteres será utf8, em windows, geralmente utilizaremoslatin1;•Após a importação uma mensagem de sucesso seráexibida na tela.Atividade 2 Crie um arquivo de texto com o bloco de notas e adicione 3 comandos, respectivamente; 1 – Cria uma base de dados “teste_importacao”; 2 – Utiliza esta base de dados; 3 – Cria uma tabela chamada aluno contendo nome (varchar(80)) e matricula (int primary key); Após, realize a importação pelo PHPMyAdmin;Atividade 3 Na página da disciplina, logo abaixo do material desta aula, baixe o arquivo “atividade3.sql”. Este arquivo contém o código de criação de tabelas e mais algumas inserções de dados. Ele não irá funcionar na primeira tentativa. Foram injetados 3 erros neste arquivo, tente localizá-los, corrigí-los e só então, envie o arquivo. Se forem necessárias mais de uma tentativa, exclua a base de dados criada com o comando “drop database atividade3;”. Se você tentar executar repetidas vezes sem apagar a base de dados ocorrerá um erro informando que a base de dados já existe. Esta tarefa é essencial para as próximas atividades. 5. Consultas SQL Básicas•A atividade 3 inseriu alguns dados nas tabelas cliente,produto e cliente_produto;•Agora veremos como ver estes dados e selecioná-los;•O comando básico de Seleção de dados é chamado“select”;•Para o visualizarmos, acesse o mysql pela linha decomando, execute “use atividade3;” e o código abaixo: select * from cliente;•Este comando irá retornar os dados inseridos para atabela cliente.Explicando o Select•A estrutura do select básica é a seguinte: select <campos> from <nome-tabela>;•<campos> pode ser substituído por uma lista dos camposque desejamos ver da tabela ou pelo asterisco quandoqueremos ver todos;•<nome-tabela> pode ser substituído pelo nome dequalquer tabela que exista em nossa base de dados;•Exemplo: select nome, e-mail from cliente;Atividade 4 Faça uma consulta que retorne somente o nome e a quantidade disponível da tabela produto.Atividade 5 Gere dois erros propositadamente: 1º – Faça uma seleção de uma tabela que não existe nesta base de dados;
  2. 2. 2º – Faça uma seleção na tabela cliente exibindo o campo (que não existe) “idade”.Atividade 6 Faça uma consulta na tabela cliente_produto exibindo, id_cliente e valor_total.•Veremos mais sobre o select na próxima aula, semdúvida, ele é o principal comando do SQL e merece umaaula especial. Agora, vamos ver como inserir mais dados;•Sempre que precisar testar seus inserts, volte nestecapítulo. 6. Inclusão de Registros•Como você deve ter reparado na atividade 3, o comandopara inclusão de registros é o insert;•Este comando é usado para inserir uma linha por vez emuma tabela de banco de dados;•Exemplo, inclusão do cliente “Kaléu”: insert into cliente (id, nome, email) values (1, "Kaléu", "kaleu@gmail.com");Explicando o Insert•A estrutura do insert é: insert into <nome-tabela> (<campos>) values (<valores>);•<campos> pode ser substituído pela lista de camposcujos valores serão inseridos na tabela;•<valores> pode ser substituído pelos valores que serãoincluídos, na mesma ordem da lista de campos.◦Lembrando: textos devem estar entre aspas e floats tema separação das casas decimais feitas pelo caracter “.”Campos obrigatórios e campos opcionais•Na lista de campos, nem sempre precisamos informartodos os campos da tabela:◦Default: Campos com um valor default associado podemser ignorados, assim, o banco assumirá aquele valorpadrão para a inserção;•Exemplo: “quantidade_disponivel” na tabela produto;◦Null: Campos que permitem valores nulos;•Exemplo: “descricao” da tabela produto;◦Auto-increment: Campos com auto_increment serãogerados automaticamente.•Exemplo: “id” da tabela produto;•Isto facilita a inserção de alguns registros,como nopróprio caso da tabela produto, na qual, três campos nãoprecisam estar no insert. insert into produto (nome, valor) values (“CPU”, 600);Atividade 7 Faça a inclusão de 10 registros na tabela de cliente. Esta tabela exige que os três campos sejam informados no insert. Salve tudo em um arquivo SQL.Atividade 8 Faça a inclusão de 10 registros na tabela produto. Pelo menos 5 itens deverão ter quantidade_disponível diferente de 100 e algum texto na sua descrição. O id é gerado automaticamente, você não precisará executá- lo. Salve tudo em um arquivo SQL.Atividade 9 Faça a inclusão de 10 registros na tabela cliente_produto. Os campos id_cliente e id_produto são referências para as tabelas cliente e produto. Lembre que o valor destes campos deve ter um correspondente na tabela produto, caso contrário, uma mensagem de erro será exibida; Salve tudo em um arquivo SQL.Atividade 10 Crie um arquivo de texto atividadade10.sql. Este arquivo deverá conter a criação de uma base de dados “atividade10”, a seleção desta base de dados com o comando “use”, a criação das tabelas cliente, produto e cliente_produto que você poderá copiar da atividade3 e todos os comandos de inserção que você criou. Por fim, importe este arquivo pelo PHPMyAdmin. 7. Alteração de Registros•Com os registros na base de dados, pode ser necessáriorealizar alterações como:◦Alterar o e-mail do cliente;◦Mudar a quantidade de itens disponíveis em estoque;◦etc...•O comando que realiza estas operações é o comando“update”;•Segue abaixo o comando update para alterar o e-mail deum cliente: update cliente set email=”caminha@xx.com” where id = 1;•Outro exemplo para alterar nome e valor de um produto: update produto set nome=”CPU X4”,valor=800 where id = 2;Explicando o update•A estrutura do comando é: update <nome-tabela> set <campos-valor> where <condicao>;•<campos-valor> é um conjunto de pares campo=valorseparados por vírgula.•<condicao> Condição que informa quais registros databela serão alterados. Se não informamos a cláusulawhere, todos os registros da tabela serão alterados.◦O mais comum é alterarmos os itens pelo id, porém, acondição pode ser feita para qualquer campo da tabela:•Exemplo: where nome = “Monitor”Atividade 11 Atualize 5 linhas de cada tabela para praticar este comando. Pratique a alteração de mais de um campo de cada registro.Atividade 12 Execute o comando “update produto set quantidade_disponivel = 200”. Após, visualize os dados da tabela com o comando SQL. O que aconteceu? 8. Exclusão de Registros•Para fechar este capítulo, a exclusão de registros.•O comando que realiza este trabalho é o comando“delete”;•Podemos utilizá-lo da seguinte forma para excluir umacompra: delete from cliente_produto where id = 1;•Assim como o comando update ele também tem acláusula where e podemos utilizá-la para excluir registrosde diversas formas, por exemplo, excluir todos osprodutos em falta no estoque: delete from produto where quantidade_disponivel = 0;•O delete tem uma estrutura muito semelhante ao update,com exceção do conjunto de campos que não precisa serinformado,a final, todos os campos da linha serãoexcluídos;Atividade 13 Tente excluir algum registro da tabela de cliente que possua um registro também na tabela cliente_produto. O que acontece? Por que você acha que isso acontece?Atividade 14 Exclua todos os registros da tabela produto que tenham estoque menor que 50;Atividade 15 Exclua os registros 1, 2 e 3 da tabela cliente. Atividade FinalCriaremos uma base de dados para locação de filmes.Esta base terá três tabelas, cliente, filme e locação.A tabela cliente deve conter id, nome, e-mail e um campopara armazenar crédito em reais do cliente.A tabela filme deve ter id, titulo do filme, ano delançamento, descrição e valor da locação.A tabela locação deve ter id, id do filme, id do cliente,numero de dias para devolução, data da locação, data dadevolução e valor total da locação. Lembre-se dasreferências à chave estrangeira para as tabelas filme ecliente.Para campos de data os valores devem ser inseridos noformato “aaaa-mm-dd”. Exemplo: “2011-12-30”.Insira pelo menos 10 registros em cada tabela.Depois, altere alguns registros de locação, alterando adata de devolução.Por fim, exclua todos os filmes que não foram alugados.Salve todos os seus comandos em um arquivo .sql e osenvie para kaleu.caminha@gmail.com com assunto[atividadefinal31-08].Obs: Se você terminar antes do final da aula, chame oprofessor para avaliar o trabalho no mesmo momento,assim, o e-mail não precisará ser enviado.

×