scc0141 - bancos de dados e suas aplicações prof. jose fernando rodrigues junior bancos de dados...

15
SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Upload: internet

Post on 17-Apr-2015

132 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

SCC0141 - Bancos de Dados e Suas Aplicações

Prof. Jose Fernando Rodrigues Junior

Bancos de Dados Web

Page 2: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Introdução

• Considerando interfaces Web, bancos de dados se enquadram em duas frentes:1) o banco de dados é acessado via Web2) o banco de dados dá suporte a sites Web

Alternativamente, há projetos híbridos.

Page 3: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Introdução

1) o banco de dados é acessado via WebNeste caso, as páginas Web servem apenas de um

meio de acesso que provê formulários para leitura e escrita de dados.

Exemplos: sites de vendas online, de cadastro de dados de usuários, sites bancários, sites transacionais em geral.

Page 4: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Introdução

2) o banco de dados dá suporte a sites WebNeste caso, o banco de dados é usado para

armazenar o conteúdo e o formato usados para se construir o site Web.

Exemplos: sites de notícias, sites de variedades, sites de aprendizado eletrônico, sites dinâmicos em geral.

Page 5: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Pacotes de desenvolvimento Web

• O desenvolvimento de sites Web com o auxílio de bancos de dados foi simplificado com pacotes contendo um servidor Web, um banco de dados e uma linguagem de desenvolvimento orientada a Web.

• O exemplo mais conhecido e usado é o pacote Lamp que contém o Servidor Apache, um módulo interpretador da linguagem php e o banco de dados MySQL.

Page 6: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Pacotes de desenvolvimento Web

• A configuração de pacotes como o Lamp é voltados para pequenas aplicações que dependem de projetos simplificados e que exigem poucos recursos do banco.

• As primeiras versões do MySQL, lider do segmento, por exemplo, não possuiam sequer chave estrangeira.

• As versões mais recentes possuem recursos mais abrangentes, mas ainda trata-se de um banco de dados rudimentar, com poucos recursos de otimização por exemplo.

Page 7: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Pacotes de desenvolvimento Web

• Pacotes como o Lamp (e o correspondente Wamp para Windows) facilitaram bastante o desenvolvimento de sites Web.

• No entanto, eles facilitam o desenvolvimento de projetos deficientes no que se refere ao armazenamento de dados.

• Ao abstrair o BD, estes pacotes permitem que o banco seja usado de maneira pouco técnica, permitindo abordagens do tipo: o que eu preciso para armazenar estes dados que tenho aqui, agora?

Page 8: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

Pacotes de desenvolvimento Web

• Desta maneira não são raros bancos de dados Web com baixa integridade, pouco extensíveis, e redundantes.

Web designers não estudam projetos de bancos de dados antes de se aventurar no desenvolvimento.

Page 9: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

PHP e MySQL

• Neste cenário, consolidou-se uma forte integração entre PHP e MySql.

• Uma conexão com um banco de dados MySQL em PHP é feita da seguinte maneira:

<html><body><?php

$db = mysql_connect("localhost", "root", "");mysql_select_db("teste",$db);

?></body></html>

Page 10: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

PHP e MySQL

• Neste cenário, consolidou-se uma forte integração entre PHP e MySql.

• Uma conexão com um banco de dados MySQL em PHP é feita da seguinte maneira:

<html><body><?php

$db = mysql_connect("localhost", "root", "");mysql_select_db("teste",$db);

?></body></html>

Page 11: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

PHP e MySQL <html>

<body><?php

$db = mysql_connect("localhost", "root", "");mysql_select_db("teste",$db);

?></body></html>

• Assim como ilustrado pelo código acima, a linguagem PHP fica embutida dentro do código que define uma página Web.

• A tag especial do HTML <?php ?> informa ao servidor Apache que o bloco que se segue será interpretado pelo módulo PHP

Page 12: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

PHP e MySQL <html><body><?php

$db = mysql_connect("localhost", "root", "");mysql_select_db("teste",$db);$sql = "SELECT * FROM Clientes";$result = mysql_query("$sql");echo "<table border=1>\n";echo "<tr><td>Nome</td><td>Idade</tr>\n";while ($myrow = mysql_fetch_array($result)) {

printf("<tr><td>%s</td><td>%s</td></tr>\n",$myrow['Nome'], $myrow['Idade']);

}echo "</table>\n";

?></body></html>

Page 13: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

PHP e MySQL

• No exemplo anterior, pode-se ver como um código PHP pode recuperar dados do banco para construir dinamicamente a página Web.

• O mesmo princípio é usado para sites construídos dinamicamente, como os grande sites de notícias. Ao invés de se atualizar o site, faz-se uma atualização do banco de dados que serve ao site.

• Este mecanismo levou ao surgimento de pacotes de desenvolvimento de sites dinâmicos, usados em abundância na Web hoje em dia.

Page 14: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

PHP e MySQL• Assim como é possível recuperar dados, também

pode-se inserir dados, como no exemplo abaixo:

<html><body>

<?php// process form$db = mysql_connect("localhost", "root");mysql_select_db("Teste",$db);$sql = "INSERT INTO Clientes VALUES('Antonio','60')";$result = mysql_query($sql);echo "Thank you! Information entered.\n";

?></body></html>

Page 15: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Bancos de Dados Web

PHP e MySQL

• Ilustração com o pacote Wamp.