material iii-bimestre conceito e aplicação de banco de dados usando php

53
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus 1

Upload: artan

Post on 19-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento. Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira FernandesDisciplina Ferramenta de Desenvolvimento

Material III-Bimestre

Conceito e Aplicação de Banco de Dados Usando PHP

http://www1.univap.br/~wagner

Prof. Responsável

Wagner Santos C. de Jesus

1

Page 2: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Manipulação de Banco de Dados

Usando PHP

2

Page 3: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

3

O que vem a ser um Banco de dados.

Vem a ser a forma como organizamos as informações de origem podendo Relatar, Classificar, Organizar e Adaptar as maneira de se administrar as informações.

Page 4: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

4

Sistemas de Gerenciamento de Banco de Dados

Um SGDB é o software responsável pelo armazenamento, recuperação e atualização dos dados de forma rápida e fácil. Um SGBD

relacional é um software gerenciador de banco que acessa os dados na forma de linhas e colunas.

Page 5: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Estrutura Geral de Sistema

Componentes Funcionais de um SGBD:

• Gerenciador de Arquivos: Gerencia a alocação de espaço e armazenamento em disco e estruturas de dados.

• Gerenciador do Banco de Dados: Proporciona interface entre os dados de baixo nível e os programas de aplicação e consultas.

• Processador de Consultas: Traduz comandos de uma linguagem de consulta em instruções de baixo nível para que o GBD entenda. Tenta otimizar os pedidos de consulta dos usuários.

• Pré-Compilador DML: Compila comandos DML em rotinas da linguagem do host. Precisa interagir com o processador de consultas para gerar código apropriado.

• Compilador DDL: Converte comandos DDL em um conjunto de tabelas contendo metadados, que são armazenados no DD.

5

Page 6: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

6

Diferenças

• Oracle (Muito Alta Performance)

• MS-SQL-Server (Média p/ Alta Performance)

• InterBase (Média)

• MySql (Média)

• Microsoft Access

Page 7: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Autenticação com Banco

Cliente Form. HTML

Servidor

Base de Dados

Servidor, Login e Senha

Banco,Conexão

Libera Procedimento

7

Page 8: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Usando a Linguagem de Manipulação de Dados. (SQL)

A linguagem SQL (Structure Query Language) Linguagem de Estrutura de Consulta. Possibilita uma estrutura única de comandos que podem ser usados em qualquer Banco de Dados do Mercado com maior rapidez e eficiência na escrita de códigos de operações básicas de manipulação de dados.

8

Page 9: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Estudo da DML

• Linguagem de Manipulação de Dados (ou DML, de Data Manipulation Language) é uma família de linguagens de computador utilizadas para a recuperação, inclusão, remoção e modificação de informações em bancos de dados. Pode ser procedural, que especifica como os dados devem ser obtidos do banco; pode também ser declarativa (não procedural), em que os usuários não necessitam especificar o caminho de acesso, isto é, como os dados serão obtidos. O padrão SQL é não procedural. DMLs foram utilizadas inicialmente apenas por programas de computador, porém (com o surgimento da SQL) também têm sido utilizadas por pessoas.

9

Page 10: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Estudo de DDL

Linguagem de definição de dados (LDD ou DDL, do Inglês Data Definition Language) é uma linguagem de computador usada para a definição de estruturas de dados. O termo foi inicialmente introduzido em relação ao modelo de banco de dados Codasyl, onde o esquema de banco de dados era escrito em uma Linguagem de Definição de Dados descrevendo os registros, campos e "conjuntos" que constituíam o Modelo de dados do usuário. Inicialmente referia-se a um subconjunto da SQL, mas hoje é usada em um sentido genérico para referir-se a qualquer linguagem formal para descrição de estruturas de dados ou informação, assim como esquemas.

10

Page 11: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Estrutura da LinguagemSQL

• Select - Consulta de dados

• Insert - Inclusão de dados

• Update - Alteração de dados

• Delete - Remoção de dados

11

Page 12: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Abordagem Prática de uma Query (Consulta)

12

Page 13: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Instrução select permite realizar consultas (filtros emuma ou mais tabelas).

Sintaxe Geral :

Select [* | <campos>|distinct] From <Tabela> [where <condição>] like <mascara>

* - Pega todos os campos de uma tabela.

Distinct - Não permite repetição de registros.

From - Anuncia o nome da tabela que será

usada.

13

Page 14: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Sintaxe Geral :

Where - permite definir a condição para a consulta

like - Define que tipo de consulta será utilizada

através de máscara.

IS Null - Verifica se um campo é nulo, ou seja,

campos em branco.

Between e and - valores em um intervalo

específicado.

Order By - Ordena o registros da consulta

14

Page 15: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Exemplo de Consulta Correlacionanda

Exemplo

Select nome from funcionario where codfunc in(

select codfunc from vendas where cotas = 10)

15

Page 16: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Sintaxe :

Select [*/All/Distinct][<Campos-Tabela>] From [<Nome-Tabela>] Where [<Condição>][Order by <campo[ASC|DESC]]

Exemplo :

Select Nome,Endereco From Cadastro Where nome = ‘Jorge Mauro’

16

Page 17: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Exemplo de order by

Select * From tabela1 order by nome

Seleciona o valor todos os campos da tabela com nome em ordem Crescente.

17

Page 18: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Select endereco From tabela1 where nome is null

Seleciona os dados do campo endereco que o campo nome da tabela for igual nulo.

18

Page 19: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Select Nome,Fone from Funcionario Where Nome like ‘C%’

Seleciona os dados dos campos nome e

endereço que campo nome comece com letra

“C”.

19

Page 20: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Select Nome fone From tabela1 Where nome like ‘%Henrique%’

Seleciona os dados da tabela1 que o nome

tiver a string Henrique em qualquer posição.

20

Page 21: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Select Nome from funcionario where salario between 1200 and 4000 and (Estado=‘SP’ or Estado=‘RJ’

Seleciona os dados do campo nome que o

salário estiverem em um intervalo entre 1200

4000 e o estado for igual a SP ou RJ.

21

Page 22: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Select Nome, Estado from Tabela1 from funcionario where estado in(‘SP’,’MG’)

Seleciona os dados da tabela1 dos campos

nome e estado que estado for igual SP e MG

22

Page 23: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Funções de uma Query :

Upper - Retorna os dados do campo da tabela

letras maiúsculas.

AVG - Retorna a média dos valore de um

campo.

MIN - Retorna o menor valor do campo de

uma tabela.

MAX - Retorna o maior valor do campo de

uma tabela.

SUM - Retorna a soma dos valores de uma

determinada coluna. 23

Page 24: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Select Upper(nome), fone from tabela1

Select Max(Valor) from tabela1

Select Min(Valor) from Tabela1

Select Avg(Valor) from Tabela1

Select Sum(Valor) From Tabela1

24

Page 25: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Abordagem Prática de Comandos de Modificação

da base de dados.

25

Page 26: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

(Inserir dados) - Sintaxe :

Insert into <Nome-Tabela>[( <Nome-dos-Campos> )] Values(<Lista de Campos>)

Exemplo :

Insert Into CadAlunos (Nome,Endereco) Values( 'Marta Cunha','Rua Siqueira Campos,3' )

26

Page 27: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Remover dados - Sintaxe :

Delete From <Nome-da-Tabela> [Where <Condição>]

Exemplo :

Delete From CadAlunos Where nome = ‘Maria das Coves’

27

Page 28: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Alterar Dados - Sintaxe :

Update <Nome da Tabela> set <nome-do-campo> = <Constante> [Where <Condição>]

Exemplo :

Update CadAlunos set nomeAluno = ‘Maria da Coves’ Where Codigo = ‘001’

28

Page 29: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

mysql_connect

Estabelece conexão com o servidor de dados e retorna verdadeiro se houver sucesso na realização da mesma.

Sintaxe:

<varm> = mysql_connect(<servidor>,<usuario>,<senha>)

29

Page 30: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

mysql_select_db

Estabelece conexão com o banco de dados e retorna verdadeiro se houver sucesso na realização da mesma.

Sintaxe:

<varm> = mysql_select_db(banco,conexao);

30

Page 31: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

mysql_connect() - Abre uma conexão com um servidor MySQL.

Criação de autenticação no banco de dados.

- Servidor;

- Usuário;

- Senha

31

Servidor Banco de Dados

Servidor Web

Autenticação

Servidor, Usuário, Senha

Page 32: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Exemplo prático// Cria conexão com o banco de dados db.php

$servidor = "127.0.0.1";

$usuario = "root";

$senha = "";

$db = "Banco";

if($conexao = mysql_connect($servidor,$usuario,$senha)) {

if(!mysql_select_db($db,$conexao)) {

echo "<Script>Não foi possível efetuar a conexão com o Banco de Dados!!</Script>";

}

} else

echo "<Script>Não foi possível realizar a conexão!!</Script>";

32

Page 33: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

mysql_query()

Envia uma instrução SQL para o banco de dados. Permitindo que sejam realizadas as operações.

• Select (Consulta)

• Insert (Inclusão)

• Update (Alteração)

• Delete (Remoção)33

Page 34: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Abertura de um cursor para localização em arquivo.

Jose

Pedro

Paulo

Roberta

Banco DadosResultSet

Movimentação para um tipo de navegação para

conjunto de resultados.

Realizar a navegação sequencial no registros do banco de dados

Page 35: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Aplicando instruções para a Consulta ao banco de dados

35

Page 36: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

(Fluxo) Procedimentos para consulta em uma tabela

36

Conexão eAutenticação

Envio de comando DML(Consulta)

(S) Verifica se existe registro Exibe

registros

FIM

(N)

Page 37: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

mysql_num_rows()

Retorna o número de linhas em um resultset retorna verdadeiro se existir linhas na consulta.

37

Page 38: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

mysql_fetch_array()

Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante.

38

Page 39: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Consultando dados em uma tabelamysql_num_rows(), mysql_fetch_array()

<?php

include("bd.php");

$result = mysql_query("select * from tabela");

if(mysql_num_rows($result) != 0){

while($linha = mysql_fetch_array($result)){

echo $linha["Nome"]."<br>";

}

}

?>

39

Page 40: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Inserindo dados em uma tabela

include("bd.php");

$vnome = "Carlos Marcelo";

$vcidade = "São José dos Campos";

$sql = "Insert into tabela(nome,cidade) values ('".$vnome."','".$vcidade."')";

$result = mysql_query($sql);

if($result) {

echo "<script>alert('Dados Inserido com sucesso !!')</script>";

}

40

Page 41: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Alterando dados de uma Tabela

include("bd.php");

$vnome = "Carlos Marcelo";

$vcidade = "Campos do Jordão";

$cod = 9;

$sql = "Update tabela set cidade ='".$vcidade."' where codigo = ".$cod;

$result = mysql_query($sql);

if($result) {

echo "<script>alert('Dados atualizados com sucesso !!')</script>";

}

41

Page 42: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Remover dados de uma tabela

include("bd.php");

$cod = 9;

$sql = "Delete from tabela where codigo = ".$cod;

$result = mysql_query($sql);

if($result) {

echo "<script>alert('Dados Removidos com sucesso com sucesso !!')</script>";

}

42

Page 43: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Criando uma Estrutura de Dados para Exibição da

Informação

43

Page 44: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Criação de rotinas de auxilio ao desenvolvimento

Arquivo de cabeçalho que permite que as funções sejam chamadas assim que solicitadas. Em ciência da computação, mais especificamente no contexto da programação, uma sub-rotina (função, procedimento ou mesmo subprograma) consiste em uma porção de código que resolve um problema muito específico, parte de um problema maior (a aplicação final). 44

Page 45: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Algumas das vantagens na utilização de sub-rotinas durante a programação são:

• A redução de código duplicado num programa;• A possibilidade de reutilizar o mesmo código sem

grandes alterações em outros programas;• A decomposição de problemas grandes em

pequenas partes;• Melhorar a interpretação visual de um programa;• Esconder ou regular uma parte de um programa,

mantendo o restante do código alheio às questões internas resolvidas dentro dessa função;

45

Page 46: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Estrutura auxiliar

46

Retorno (saída) de dados na

função

Entrada de dados na função

Conjunto de Funções

MontaTela.php

Page 47: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Estrutura de Programação

47

SubRotinas.php

Gravadados.php MontaTela.php

db.php

listaDados.php

Page 48: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

function strzero($numero)

Retorna com zeros a esquerda de um número informado caso exista posições em branco.

$numero: Número a ser preenchido com zeros a direita.

48

Page 49: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

function faixa_horizontal($corletra,$corfaixa,$texto)

Cria faixa para divisão de dados em tela.

$corletra: Cor dos caracteres a serem apresentados na tela.

$corfaixa: Cor da faixa de divisão da tela.

$texto: Texto a ser exibido na faixa.

49

Page 50: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

function campos_tela($array_campos,$progphp)

Cria tela de cadastramento enviando os campos que serão exibidos.

$array_campos: Array contendo os nomes dos campos que serão exibidos na tela.

$progphp: Nome do arquivo (php) que deverá ser usado pelo formulário.

50

Page 51: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

function listaDados($strQ)

$strQ: Recebe instrução SQL para realização de consulta de campos.

Exemplo:

listaDados(“Select * from tabela”);

51

Page 52: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

function InsereDados($array_campos,$nome_tabela)

$array_campos: Campos a serem inseridos na tabela.

$nome_tabela: Nome da tabela criado na base de dados.

52

Page 53: Material III-Bimestre Conceito e Aplicação de Banco de Dados Usando PHP

Exercício

Escrever um programa que leia o nome o ano de nascimento o ano atual e grave em uma tabela o nome, ano de nascimento, ano atual e a idade da pessoa.

53