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 Web
2) o banco de dados dá suporte a sites Web
Alternativamente, há projetos híbridos.
Introdução
1) o banco de dados é acessado via Web
Neste 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 Web
Neste 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.
Download

Aula19_BDsWeb