scc0141 - bancos de dados e suas aplicações prof. jose fernando rodrigues junior bancos de dados...
TRANSCRIPT
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.
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.
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.
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.
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.
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?
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.
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>
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>
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
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>
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.
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>
PHP e MySQL
• Ilustração com o pacote Wamp.