Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSO DE AUTOMAÇÃO INDUSTRIAL Programação em Automação – Banco de Dados 2 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa I. Conceitos Conceito de Banco de Dados. “Um banco de dados é uma coleção de dados organizados, que podem ser facilmente acessível e gerenciável. Bancos de dados podem conter coleções de registros ou arquivos, como transações comerciais, inventários, catálogos, perfis de consumidores, pesquisas... “ Gerenciadores de banco de dados são softwares que disponibilizam aos usuários a capacidade de entrar e excluir dados, assim como gerar relatórios e analisar as informações armazenadas. Banco de dados relacional No banco de dados relacional as informações ou dados são organizados em várias tabelas, que podem ser acessadas e modificadas sem que se tenha que redefinir toda a base de dados. A linguagem padrão de construção de bancos de dados relacionais é o SQL – Structured Query Language que é usado tanto para fazer consultas interativas, quanto para colecionar dados para gerar relatórios. Banco de dados MySQL Uma das bases de dados mais utilizada no mundo é o MySQL. Trata-se de um robusto Servidor Banco de Dados, multiusuário, multitarefa que opera com a linguagem SQL. A conexão do cliente com o MySQL é feita por TCP/IP. Seu avançado sistema de segurança criptografa as senhas dos usuários através de um algoritmo semelhante ao processo de autenticação de login do Unix. O MySQL é um sistema de gerência da base de dados relacional, rápido, confiável e fácil de usar. Suas principais características são: - Possui um sofisticado sistema de senhas criptografadas, flexível e seguro. - Suporta diferentes plataformas: Windows, Linux, FreeBSD, Unix, etc. - Suporta as API’s de diversas linguagens de programação, tais como: PHP, Perl, C, C++, Java, etc. - Suporte a múltiplos processadores - Suporte à ODBC, permitindo conectar qualquer aplicação a um banco de dados do MySQL - Suporta até 16 (dezesseis) índices por tabela - Código fonte escrito em C e C++ testado com uma variedade de diferentes compiladores Software de fonte aberta. A melhor opção é um pacote integrado como o WampServer que pode ser baixado gratuitamente. 3 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Obs.: Pesquisar : Tipos de Bancos de Dados. Linguagem SQL. A linguagem SQL é a linguagem padrão para gerenciar e manipular banco de dados relacionais e é utilizada pala maioria dos sistemas gerenciadores de bancos de dados disponíveis no mercado. A linguagem SQL foi definida por D. D. Chamberlin e outros, nos laboratórios de pesquisa da IBM em San Jose, Califórnia, em 1974. Teve seus fundamentos no modelo relacional de E. F. Codd, criado em 1970. Sua primeira versão recebeu o nome de SEQUEL - Structured English Query Language . Órgãos como ANSI e ISO adotaram a SQL como o padrão oficial de linguagem em ambiente relacional. Existem vários dialetos SQL que adotam o padrão ANSI com extensões proprietárias de cada fabricante. As instruções da linguagem podem ser divididas em 2 ou 3 grupos: - Instruções DDL (Data Definition Language) são as instruções (ou comandos) para criar banco de dados e tabelas, alterar e excluir tabelas de um banco de dados, etc. Create database nome_do_banco_de_dados; Use nome_do_banco_de_dados; Create table nome_da_tabela (campo1 tipo, campo2 tipo,.....); Alter table nome_da_tabela [ADD – Change – Drop]...; Drop table nome_da_tabela; - Instruções DML (Data Manipulation Language) :permitem consultar e modificar dados – INSERT, UPDATE, DELETE, SELECT - Instruções DCL (Data Control Language), que permitem definir privilégios aos usuários. - GRANT e REVOKE Obs.: Pesquisar: ANSI e ISO. 4 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa II. Prática Para ter acesso ao banco de dados vamos fazer uso de um software integrado que oferece o MySQL, o PHP e um servidor Apache. Esses dois últimos serão úteis no desenvolvimento de páginas web. Para isso, procure o ícone do Wampserver para ativá-lo, caso ainda não o tenha feito. Uma vez carregado o wampserver, o ícone surgirá na barra de tarefas, indicando que o serviço está ativo. A partir desse momento, o MySQL e os outros serviços estarão disponível para o uso. Clicando do ícone, abre-se uma pequena janela, também chamada “menu de cortina”. Nessa janela, escolheremos a opção MySQL e depois console MySQL. 5 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Na nova janela que se abre, não precisamos digitar a senha, pois a instalação padrão está sem a senha do administrador. Nesse caso, basta teclar ENTER e já podemos usar o monitor do MySQL. Para iniciar, vamos verificar se existem bancos de dados já criados na máquina em uso, com o comando: SHOW DATABASES; Observe que todos os comandos terminam com ponto e vírgula. A partir desse comando, o MySQL mostrará uma listagem dos bancos de dados existentes : O próximo passo é criar um banco de dados. Para isso, no prompt de comandos, digite: CREATE DATABASE escola; Para se certificar que o banco de dados foi criado, repita o comando SHOW DATABASES; 6 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Uma nova listagem exibirá o nome do novo banco criado. Mas o banco ALUNOS não está disponível para ser usado ainda. Para isso, digite o comando: USE escola; O MySQL emitirá a mensagem DATABASE CHANGED e o banco está pronto para ser usado. Considerando que um banco de dados só pode conter tabelas, vamos verificar se existem tabelas nesse banco: SHOW TABLES; Como nenhuma tabela foi criada ainda, a resposta será EMPTY SET, ou seja, conjunto vazio. Antes de criar uma tabela, é preciso conhecer os tipos de dados existentes no MySQL. Vamos atentar para os principais tipos : Int números inteiros Float(n,d) Números reais Varchar(n) Alfa-numéricos Char(n) Alfa-numéricos Date Específico para datas Existem muitos outros tipos, que são variações desses tipos mostrados acima. Conhecendo os tipos disponíveis, podemos criar nossa primeira tabela. Criaremos uma tabela para armazenar a Matrícula, o Nome do aluno, a data de nascimento e a sigla do curso. Create table alunos(numero int, nome varchar(60),curso varchar(10), nascimento date); Nunca, mas NUNCA MESMO utilize acentos, espaços e outros caracteres especiais em nome de tabelas e nos campos das tabelas. 7 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Armazenando dados em uma tabela – INSERT Criado o banco de dados e a(s) tabela(s), é hora de armazenar os dados na(s) tabela(s). A instrução SQL usada é INSERT e tem a seguinte sintaxe : Insert into nome_da_tabela (lista_dos_campos_que_serão_preenchidos) Values (lista_dos_valores_que_serão_colocados_em_cada_campo); Considerandoo exemplo da tabela DadosPessoais , vamos inserir valores nesses campos: Insert into DadosPessoais(numero,nome,curso,nascimento) Values (123,‟Joanilza‟,‟Edificações‟,‟2009/08/15‟); A partir da execução do comando, a tabela ficará assim: Numero Nome Curso Nascimento 123-4 Joanilza Edificações 2009/08/15 Realizando consultas a um banco de dados – SELECT Sintaxe: SELECT lista_de_campos FROM nome_da_tabela; Exemplo: utilizando o comando Select para recuperar dados da tabela DadosPessoais: SELECT numero, nome FROM Dadospessoais; - numero e nome são as colunas (campos) cujos dados queremos ver. - DADOSPESSOAIS é o nome da tabela de origem, ou seja, de onde vêm os dados. Podemos solicitar somente um dos campos (colunas) da tabela: Select nome from dadospessoais; 8 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Obs.: Quando desejamos ver os dados de todas as colunas (campos) de uma tabela, podemos substituir o nome das colunas por *. Ex.: Select * FROM dadospessoais; É o mesmo que... SELECT numero, nome, curso, nascimento FROM dadospessoais; - Filtrando os dados – WHERE. Para escolher somente alguns dos dados da tabela, utilizamos a clausula WHERE sempre ao final do comando. Select * From Alunos WHERE Nome = „Maria Bonita‟; Nesse exemplo, queremos ver somente a(s) linha(s) que atenda(m) à restrição escolhida, ou seja, que contenha o Nome „MARIA BONITA‟. Select * From Alunos Where IDADE < 100; Agora queremos recuperar da tabela somente as linhas em que a IDADE seja menor que 100. Podemos utilizar todos os operadores relacionais: <. >, <>, etc. - Ordenando os dados – Order By. A clausula ORDER BY tem a função de mostrar as linhas que serão exibidas em ordem alfabética ou numérica, dependendo do tipo de campo. Select * from Alunos ORDER BY Nome; A listagem mostrada estará em ordem alfabética de nomes. Select * from Alunos ORDER BY Idade; Nesse caso, a listagem exibida estará em ordem crescente de Idade. 9 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa FAZENDO ALTERAÇÕES NA TABELA - ALTER TABLE Com a instrução ALTER TABLE podemos modificar as colunas da tabela!!!!!!! Para ACRESCENTAR uma coluna (campo). ALTER table tabela ADD nome_do_campo tipo_de_dado; Para ALTER uma coluna (campo) que já existe. ALTER Table tabela CHANGE nome_do_campo nome_do_campo_modificado tipo_do_campo_modificado; Exemplos: Acrescenta o campo EMAIL à tabela ALUNOS. Alter table Alunos ADD Email varchar(50); Alunos Matricula NomeAluno Email Altera o campo NomeAluno, mudando seu tamanho. Alter table Alunos Change NomeAluno NomeAluno Varchar(100); (observe a repetição da coluna!!!) Alunos Matricula NomeAluno Email Alunos Matricula NomeAluno Email 10 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Alterando o CONTEÚDO de um campo. UPDATE Update tabela SET Campo = Valor Where Condição; A instrução UPDATE permite modificar algum dado. Na nossa tabela exemplo, poderíamos modificar a matrícula, a idade, modificar o Nome ou o EMAIL. Exemplo: Supondo o exemplo anterior, em que um campo EMAIL foi acrescentado à tabela, mas não está preenchido. Para isso, utilizaremos o comando Update para armazenar somente o valor da coluna EMAIL: Matricula Idade Nome Email 123-4 99 Zeca Tatu Update alunos Set Email = „zecatatu@hotmail.com‟ where matricula = „123-4‟; - O aluno „Zeca Tatu‟ já existia na tabela, mas a coluna EMAIL, que acabou de ser acrescentada, estava vazia e foi preenchida com um novo valor. Matricula Idade Nome Email 123-4 99 Zeca Tatu zecatatu@hotmail.com Update Alunos set Idade = 110 where Nome = „Zeca Tatu‟; - Nesse caso, alteramos a idade do aluno já cadastrado. Matricula Idade Nome Email 123-4 110 Zeca Tatu zecatatu@hotmail.com 11 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Consulta a várias tabelas - JOIN Sintaxe: SELECT lista_de_campos FROM nome_da_tabela AS Alias where Condição; Exemplo: utilizando o comando Select para recuperar dados da tabela ALUNOS e da tabela NOTAS: ALUNOS Matricula Nome Idade 123-4 Zeca Tatu 105 432-1 Maria Bonita 99 NOTAS Matricula Nota 123-4 4.4 432-1 4.5 1ª forma Select A.Nome, N.Nota From Alunos AS A, Notas AS N where A.Matricula = N.Matricula; . No exemplo acima, foram selecionados os campos NOME da tabela ALUNOS, e o campo NOTA na tabela NOTAS. . Após o FROM, foram criados os aliases(apelidos) das tabelas. . Após WHERE, a condição a ser atendida: Que o valor da Matricula na tabela ALUNOS(apelido A) seja igual ao valor da Matricula na tabela NOTAS(apelido N). 2ª forma Select A.Nome, N.Nota From Alunos A JOIN Notas N ON A.Matricula = N.Matricula; Aqui, usamos a palavra JOIN !!!!! 12 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Laboratório – Atividade 1 Criar um banco de dados com o nome de Livraria. Criar a tabela segundo os campos abaixo: Tabela: Livro CodLivro Titulo CodEditora Edicao Publicacao 25897 Poeira em Alto Mar BC4471 3ª. 1989 85241 A volta dos que não foram PQ6321 2ª. 2005 75757 O Sol da meia noite RT7777 5ª. 1922 Inserir os dados de acordo com o exemplo. Acrescentar à tabela Livros, a coluna mostrada abaixo: Preencher a coluna adicionada com os valores demonstrados na figura. Criar a tabela a seguir e inserir os dados conforme a figura: Tabela Autor CodAutor NomeAutor País_Origem NJR456 Pedro Alvares Cabral Portugal WRT454 Ferdinando Colorido Brasil QAZ852 James Goldman EUA CodLivro Titulo CodEditora Edicao Publicacao 25897 Poeira em Alto Mar BC4471 3ª. 1989 85241 A volta dos que não foram PQ6321 2ª. 2005 75757 O Sol da meia noite RT7777 5ª. 1922 CodAutor NJR456 WRT454 QAZ852 13 Ouro Preto, 2017/18 Coordenadoria de Automação Industrial Introdução a Banco de Dados Prof. Pedro Luis Almeida de Oliveira Costa Utilizando a interface gráfica phpMyAdmin Voltemos ao MENU do Wampserver, mas dessa vez para ter acesso à interface gráfica que permite as mesmas operações que executamos anteriormente. O que dará acesso à tela mostrada a seguir!!!!
Compartilhar