programaÇÃo web ii · instituto federal de educaÇÃo, ciÊncia e tecnologia do parÁ programa...
Post on 17-Jul-2020
3 Views
Preview:
TRANSCRIPT
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
2012
PROGRAMAÇÃO WEB II
Autora: LIVIANE PONTE RÊGO
Supervisor: Cláudio Alex Rocha
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 2
Capítulo 1 - Conceito de Banco de Dados 1.1 Definição Com a evolução do sistema financeiro e o consequente progresso técnico, a
administração das organizações e do Estado tornou-se mais complexa. As empresas
por exemplo, demandavam maior controle da atividade produtiva, envolvendo o
gerenciamento de estoques, recursos humanos e financeiros. O grande volume de
informações registradas em papel dificultava consideravelmente seu gerenciamento e
atualização. Então, com os primeiros migraram-se essas informações para dispositivos
eletrônicos.
De início, essa migração para meios eletrônicos de armazenamento foi implementada
de maneira pouco organizada, fazendo uso de sistemas de arquivos tradicionais. Cada
aplicação do sistema de informações era tratada isoladamente pela equipe de
desenvolvedores. Em consequência, cada aplicação tinha seus próprios arquivos e a
redundância de informações era mais do que normal. Uma aplicação para o controle
da frequência dos funcionários, por exemplo, tinha seu próprio arquivos com dados
dos empregados em atividade. Esse arquivo podia não ser compartilhado com a
aplicação de controle das férias desses mesmos empregados.
Por isso, dados como nome, número de matrícula e departamento de trabalho podiam
facilmente estar duplicados nos diferentes arquivos. Com a multiplicação de
aplicações e assim de arquivos com redundância de dados, o risco de inconsistências
de dados entre eles crescia exponencialmente. Considere, por exemplo, uma
funcionária que se casou e mudou de nome. Uma eventual falha humana podia levar a
uma situação em que seu nome fosse alterado apenas e alguns destes arquivos, mas
não em todos eles.
Os primeiros bancos de dados surgiram no mercado como uma resposta a problemas
como esse. Um sistemas de gerência de banco de dados surgiram no início da década
de 70 com o objetivo de facilitar a programação de aplicações de banco de dados. Um
SGBD consiste em um conjunto de arquivos estruturados e de programas que
respondem pelo acesso e manipulação de tais arquivos. Diferente dos sistemas de
arquivos tradicionais, o banco de dados favorece o inter-relacionamento dos arquivos,
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 3
portanto, podem ser definidos como “uma coleção de dados inter-relacionados e um
conjunto de programas para acessá-los”.
Em termos mais simples, podemos definir um SGBD como um software desenvolvido
especificamente para o gerenciamento de grandes volumes de informações. Seu
objetivo principal reside na superação de problemas comuns aos sistemas de arquivos
tradicionais. Tais problemas ou desvantagens, são:
1. Redundância e inconsistência de dados. No processamento tradicional de
arquivos, muitos grupos de usuários mantêm seus próprios arquivos para
manipular suas aplicações de processamento, que pode provocar o
armazenamento de informações redundantes. Sob tais circunstâncias, dados
distintos podem ser duplicados em arquivos diferentes. Essa redundância
conduz a altos custos de armazenamento e crescente dificuldade de
atualização das informações. Problemas que podem ocorrer:
a. Duplicação de esforços;
b. Desperdício de espaço;
c. Inconsistência: alteração em alguns arquivos e em outros não, ou em
todos os arquivos, porém, de maneira independente;
2. Dificuldade no acesso aos dados. Os dados espalhados em diferentes
arquivos isolados não apresentam as facilidades de acesso e processamento
das informações dos bancos de dados. Há pouca flexibilidade em relação a
demandas que não tenham sido antecipadas quando o sistema foi projetado.
Por exemplo, uma vez que o sistema esteja desenvolvido, caso haja a
necessidade de se gerar relatórios com os nomes de todos os empregados do
Um banco de dados (BD) é um conjunto de dados integrados reunidos com o
intuito de suportar o funcionamento de sistemas de informação.
Um sistema gerenciador de banco de dados (SGBD) é um software de caráter
geral para a manipulação eficiente de grandes coleções de informações
estruturadas e armazenadas de uma forma consistente e integrada.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 4
sexo masculino e com idade igual ou superior a 40 anos, a ausência de uma
aplicação específica para esse objetivo traz sérios inconvenientes.
3. Isolamento de dados. A existência de dados espalhados em diferentes
arquivos, que podem apresentar diferentes formatos, dificulta a criação de
novos programas aplicativos para a recuperação desses dados.
4. Compartilhamento de Dados. Sistemas multiusuários devem fornecer
controle de concorrência para assegurar que atualizações simultâneas resultem
em modificações corretas. Utilizando um SGBD, um outro mecanismo que
permite a noção de compartilhamento de dados em é a facilidade de definir
visões de usuário, que é usada para especificar a porção da base de dados que
é de interesse para um grupo particular de usuários;
5. Problemas de segurança. O acesso a determinados dados deve ser restritos
para alguns usuários do sistema de informações. Os dados financeiros são
frequentemente considerados confidenciais e, desse modo, somente pessoas
autorizadas devem ter acesso. Além disso, pode ser permitido a alguns
usuários, apenas a recuperação dos dados. Já, para outros, são permitidas a
recuperação e a modificação. Assim, o tipo de operação de acesso -
recuperação ou modificação - pode também ser controlado.
Essas cinco dificuldades listadas levaram ao desenvolvimento dos SGBDs, que além
de implementarem soluções para esses problemas, possuem as seguintes capacidades:
Fornecimento de Múltiplas Interfaces: devido aos vários tipos de usuários,
com variados níveis de conhecimento técnico, um SGBD deve fornecer uma
variedade de interfaces atendê-los. Os tipos de interfaces incluem linguagens
de consulta para usuários ocasionais, interfaces de linguagem de programação
para programadores de aplicações, formulários e interfaces dirigidas por
menus para usuários comuns;
Reforçar Restrições de Integridade: muitas aplicações de base de dados
terão certas restrições de integridade de dados. A forma mais elementar de
restrição de integridade é a especificação do tipo de dado de cada item.
Fornecer Backup e Restauração: Um SGBD deve fornecer recursos para
restauração caso ocorram falhas de hardware ou software. O subsistema de
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 5
backup e restauração do SGBD é o responsável pela restauração. Por exemplo,
se o sistema de computador falhar no meio da execução de um programa que
esteja realizando uma alteração complexa na base de dados, o subsistema de
restauração é responsável por assegurar que a base de dados seja restaurada ao
estado anterior ao início da execução do programa. Alternativamente, o
subsistema de restauração poderia assegurar que o programa seja reexecutado
a partir do ponto em que havia sido interrompido.
1.2 Vantagens adicionais dos Bancos de Dados
Além das capacidades exposta até aqui, a utilização de Banco de Dados oferecem as
seguintes vantagens:
Potencial para obrigar a Padronização: a abordagem de base de dados
permite que o DBA defina e obrigue a padronização entre os usuários da base
de dados em grandes organizações. Isso facilita a comunicação e a cooperação
entre vários departamentos, projetos e usuários. Padrões podem ser definidos
para formatos de nomes, elementos de dados, telas, relatórios, terminologias,
etc.
Flexibilidade: mudanças na estrutura de uma base de dados podem ser
necessárias devido a mudanças nos requisitos. Por exemplo, um novo grupo de
usuários pode surgir com necessidade de informações adicionais, ainda não
disponíveis na base de dados. Alguns SGBD’s permitem que tais mudanças na
estrutura da base de dados sejam realizadas sem afetar a maioria dos
programas de aplicações existentes;
Redução do Tempo de Desenvolvimento de Aplicações: tempo reduzido
para o desenvolvimento de novas aplicações, como a recuperação de certos
dados da base de dados para a impressão de novos relatórios.
Disponibilidade de Informações Atualizadas: tão logo um usuário
modifique uma base de dados, todos os outros usuários “sentem”
imediatamente esta modificação. Esta disponibilidade de informações
atualizadas é essencial para muitas aplicações, tais como sistemas de reservas
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 6
de passagens aéreas ou bases de dados bancárias. Isso somente é possível
devido ao subsistema de controle de concorrência e restauração do SGBD;
1.3 Tipos de Usuários
Basicamente, os sistemas de banco de dados possuem quatro tipo de usuários:
Administrador da Base de Dados (DBA): é o usuário mais especializado de
um banco de dados. A administração dos recursos do banco de dados é de
responsabilidade do DBA (“Database Administrator ”). O DBA é responsável
por autorizar acesso à base de dados e coordenar e monitorar seu uso. O DBA
é responsável por problemas, tais como, quebra de segurança ou baixo
desempenho. Em grandes organizações, o DBA é auxiliado por técnicos;
Projetistas da Base de Dados: os projetistas de base de dados têm a
responsabilidade de identificar os dados a serem armazenados na Base de
Dados e escolher estruturas apropriadas para representar e armazenar tais
dados. Estas tarefas são geralmente executadas antes que a base de dados seja
utilizada. É responsabilidade destes projetistas obter os requisitos necessários
dos futuros usuários da base.
Analistas de Sistemas e Programadores de Aplicação:
o analistas de sistemas determinam os requisitos de usuários finais,
especialmente dos usuários comuns, e desenvolvem especificações das
transações para atender a estes requisitos;
o programadores de aplicações implementam estas especificações
produzindo programas e, então, testam, depuram, documentam e
mantêm estes programas.
Usuários Finais: existem profissionais que precisam ter acesso à base de
dados para consultar, modificar e gerar relatórios. Existem algumas categorias
de usuários finais:
o usuários ocasionais: ocasionalmente fazem acesso à base de dados,
mas eles podem necessitar de diferentes informações a cada vez que
fazem acesso. Eles podem usar uma linguagem de consulta sofisticada
para especificar suas requisições e são, tipicamente, gerentes de médio
ou alto-nível;
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 7
usuários comuns: estes usuários realizam operações padrões de consultas e
atualizações, chamadas TRANSAÇÕES PERMITIDAS , que foram
cuidadosamente programadas e testadas. Estes usuários constantemente realizam
recuperações e modificações na base de dados;
1.4 Modelos de Bancos de Dados
Com o tempo, os SGBD’s passaram a utilizar diferentes formas de representação, ou
modelos de bancos de dados, para descrever a estrutura das informações contidas
neles. Atualmente, os seguintes modelos de dados são normalmente utilizados pelos
SGBD’s: modelo hierárquico, modelo em redes, modelo relacional (amplamente
usado) e o modelo orientado a objetos.
1.4.1 Modelo em Rede
Um banco de dados em rede consiste em uma coleção e registros concatenados uns
aos outros por meio de ligações. Este modelo permite que várias tabelas sejam usadas
simultaneamente através do uso de apontadores (ou referências). Algumas colunas
contêm apontadores para outras tabelas ao invés de dados. Assim, as tabelas são
ligadas por referências, o que pode ser visto como uma rede.
O diagrama que representa os conceitos do modelo em redes consiste em dois
componentes básicos: Caixas, que correspondem aos registros e Linhas, que
correspondem às associações. A Figura 1 ilustra um exemplo de diagrama do modelo
em rede. Esse exemplo, possui dois diferentes tipos de registros: cliente e conta. O
registro cliente apresenta três atributos ou subdivisões: nome, rua e cidade. Por sua
vez, o registro conta possui apenas dois atributos: número da conta corrente e saldo.
José R4 Belém 22458 1.250
Nome Rua Cidade
Maria R1 São Paulo
Pedro R3 Jundiaí
Num_CC Saldo
20578 2.000
20552 2.500
21784 300
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 8
Figura 1 – Exemplo de Modelo em Rede
Ligações associam registros de clientes a registros de contas. Então, sabemos que o
cliente Maria tem uma conta de número 20578 e saldo de R$ 2.000,00; e o cliente
Pedro tem duas contas: as de número 20552 e 21784, com saldo de R$ 2.500,00 e R$
300,00, respectivamente.
Atividade 01 Seguindo o modelo da Figura 1 acima, elabore um exemplo de banco de dados no
Modelo em Rede envolvendo a seguinte coleção de dados: Aluno {matrícula, nome,
idade, série, turma} e Unidade {Cidade, Bairro, Rua}. O objetivo desta coleção de
dados é armazenar informações sobre todos os alunos de um escola e de suas
unidades espalhadas em diversas localidades no país. Por meio dessa coleção deve ser
possível determinar as unidades em que cada aluno está lotado. Esse exemplo deverá
conter no mínimo 3 unidades com 5 alunos distribuídos pelas unidades. Lembre-se de
que um aluno poderá pertencer somente a uma unidade.
1.4.2 Modelo Hierárquico
Este modelo difere do modelo em rede na forma de organizar seus registros. Enquanto
no modelo em rede os registros estão distribuídos conforme a lógica de grafos
arbitrários, no hierárquico esses mesmos registros são conectados numa estrutura de
dados em árvore através de ligações de tal modo que cada tipo de registo tenha apenas
um possuidor, conforme veremos adiante.
Um diagrama de estrutura de árvore descreve o esquema de um banco de dados
hierárquico. Tal diagrama consiste em dois componentes básicos: Caixas, as quais
correspondem aos tipos de registros e linhas, que correspondem às ligações entre os
tipos de registros. Como exemplo do modelo hierárquico, considere a Figura 2 abaixo.
A Figura 2 traduz para o Modelo Hierárquico o exemplo anterior do banco com
registros de clientes e contas.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 9
Figura 2 – Exemplo do Modelo Hierárquico.
Um registro isolado no topo da Figura 2 encontra-se associado a todos os registros de
clientes. Esse é o registro do tipo “raiz”, o ponto de partida da árvore de registros. Ele
está no nível mais elevado da estrutura de dados e pode ser ligado a nenhum, um ou
vários registros no nível inferior. Em nosso exemplo, os registros conectados ao
registro “raiz” são sempre registros de clientes que, por sua vez, estão sempre
interligados a registros de contas no nível imediatamente abaixo.
Um banco de dados com estrutura em árvore apresenta camadas, níveis ou hierarquias
diferentes. Os registros de um dado nível sempre se associam aos registros do nível
imediatamente inferior e nunca com registros do mesmo nível, ou seja, em nosso
exemplo do banco, um cliente nunca se associa a outro cliente (pertencem ao mesmo
nível), um cliente apenas se associa com sua conta (pertencem a níveis diferentes).
Qualquer busca a um registro específico sempre começa pela raiz até o nível
correspondente ao tipo procurado.
Em uma árvore, um registro de nível N pode estar associado a, no máximo, um
registro do nível imediatamente acima (N-1). Contudo, um registro do nível superior
pode estar associado a mais de um registro do nível imediatamente abaixo.
Exemplificando, se os clientes Maria e Pedro tivessem uma conta conjunta de número
22458, essa conta, de acordo com a regra do modelo hierárquico, não poderia estar
ligado a dois clientes ao mesmo tempo, devendo dessa forma, ser duplicada, conforme
pode ser visto na Figura 3.
Nome
Rua
Cidade
Num_CC Saldo
José R4 Belém
22458 1.250
Maria R1 São Paulo
20578 2.000
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 10
Figura 3 – Modelo Hierárquico
Atividade 02 Converta o exemplo de banco de dados no Modelo Rede da Atividade 01 em um
exemplo equivalente no Modelo Hierárquico.
1.4.3 Modelo Relacional
O modelo relacional foi proposto por Edgar Codd em 1970, como uma nova maneira
de representação de dados. Este modelo, por suas características e por sua
completitude, mostrou ser uma excelente opção, superando os modelos mais usados
àquela época: o de redes e o hierárquico. A maior vantagem do modelo relacional
sobre seus antecessores é a representação simples dos dados e a facilidade com que
consultas complexas podem ser expressas.
A estrutura fundamental do modelo relacional é a relação (tabela). Uma relação é
constituída por um ou mais atributos (campos) que traduzem o tipo de dados a
armazenar. O modelo relacional não tem caminhos pré-definidos para se fazer acesso
aos dados como nos modelos que o precederam. Cada linha representa uma relação
Nome Rua Cidade
Pedro A São Paulo
Maria B Jundiaí
Pedro R3 Jundiaía
Mariaa
R1 São Paulo
22458 1250 20121 550 20552 2500 22458 1250
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 11
entre os valores armazenados em diferentes colunas. No exemplo do banco, na tabela
Clientes temos três colunas: nome, rua e cidade, formando uma linha, onde cada uma
representa um cliente em particular, conforme podemos ver na Figura 4.
Figura 4 – Exemplo do Modelo Relacional
Assim, sabemos que o cliente “Pedro” mora na rua “A” na cidade de “São Paulo”,
pois esses dados estão na mesma linha da tabela.
Além do relacionamento entre colunas, no modelo relacional é possível também
estabelecer um relacionamento entre tabelas. Para isso, deve-se relacionar registros de
uma tabela com registros de outra duplicando uma ou mais colunas em uma tabela
distinta daquela a que pertence originalmente. Voltando ao nosso exemplo do banco,
sua representação conforme o modelo relacional pode ser vista na Figura 5.
Figura 5 – Exemplo do Modelo Relacional
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 12
É possível perceber na Figura 5 a presença da tabela “Conta-Cliente”, que precisou
ser criada para que fosse possível o relacionamento entre as tabelas “Conta” e
“Cliente”. É importante salientar que a tabela “Conta-Cliente” possui apenas atributos
vindos de outras tabelas, sendo um atributo vindo da tabela “Conta” (CodCliente) e o
outro vindo da tabela “Cliente” (NumCC), que são justamente os atributos que
diferenciam os registros em suas tabelas de origem.
Atividade 03 Converta o exemplo de banco de dados das Atividades 01 e 02 em um exemplo
equivalente no Modelo Relacional.
1.4.4 Modelo Objeto-Relacional
A área de atuação dos sistemas Objeto-Relacional tenta suprir a dificuldade dos
sistemas relacionais convencionais, que é o de representar e manipular dados
complexos, visando ser mais representativos em semântica e construções de
modelagens. A solução proposta é a adição de facilidades para manusear tais dados
utilizando-se das facilidades SQL (Structured Query Language) existentes. Para isso,
foi necessário adicionar: extensões dos tipos básicos no contexto SQL; representações
para objetos complexos no contexto SQL; herança no contexto SQL e sistema para
produção de regras.
1.4.5 Modelo Orientado a Objetos
Os bancos de dados orientados a objeto começaram a se tornar comercialmente
viáveis em meados de 1980. A motivação para seu surgimento está em função dos
limites de armazenamento e representação semântica impostas no modelo relacional.
Alguns exemplos são os sistemas de informações geográficas (SIG), os sistemas CAD
e CAM, que são mais facilmente construídos usando tipos complexos de dados. A
habilidade para criar os tipos de dados necessários é uma característica das linguagens
de programação orientadas a objetos.
Contudo, estes sistemas necessitam guardar representações das estruturas de dados
que utilizam no armazenamento permanente. O termo Modelo Orientado a Objetos é
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 13
usado para documentar o padrão que contém a descrição geral das facilidades de um
conjunto de linguagens de programação orientadas a objetos e a biblioteca de classes
que pode formar a base para o Sistema de Banco de Dados. Quando os bancos de
dados orientados a objetos foram introduzidos, algumas das falhas perceptíveis do
modelo relacional pareceram ter sido solucionadas com esta tecnologia e acreditava-
se que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porém,
acredita-se que os Bancos de Dados Orientados a Objetos serão usados em aplicações
especializadas, enquanto os sistemas relacionais continuarão a sustentar os negócios
tradicionais, onde as estruturas de dados baseadas em relações são suficientes.
Exercício de Fixação Abaixo temos o modelo relacional de um banco de dados de uma locadora de vídeo.
Converta esses dados para:
a) modelo de redes;
b) modelo hierárquico;
1.5 Modelagem de Dados
Um modelo de (banco de) dados é uma descrição dos tipos de informações que estão
armazenadas em um banco de dados. Por exemplo, no caso de uma indústria, o
modelo de dados poderia informar que o banco de dados armazena informações sobre
produtos e que, para cada produto, são armazenados seu código, preço e descrição.
Observe que o modelo de dados não informa quais os produtos que estão
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 14
armazenados no banco de dados, mas apenas que o banco de dados contém
informações sobre produtos.
Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados.
Linguagens de modelagem de dados podem ser classificadas de acordo com a forma
de apresentar modelos, em linguagens textuais ou linguagens gráficas. Como veremos
adiante, um mesmo modelo de dados pode ser apresentado de várias formas, podendo
conter ou não alguns detalhes acerca da organização interna dos dados no banco.
No projeto de banco de dados, normalmente são considerados dois níveis de abstração
de modelo de dados, o do modelo conceitual e o do modelo lógico, vistas a seguir.
1.5.1 Modelo Conceitual
Um modelo conceitual é uma descrição do banco de dados de forma independente de
implementação em um SGBD. O modelo conceitual registra que dados podem
aparecer no banco de dados, mas não registra como estes dados estão armazenados a
nível de SGBD.
A técnica mais difundida de modelagem conceitual é a abordagem entidade-
relacionamento (ER). Nesta técnica, um modelo conceitual é usualmente representado
através de um diagrama, chamado diagrama entidade-relacionamento (DER). A
modelo conceitual
=
modelo de dados abstrato, que descreve a estrutura de um banco
de dados de forma independente de um SGBD particular
Modelo de Dados
=
descrição formal da estrutura de um banco de
dados
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 15
Figura 6 apresenta um DER parcial para o problema da fábrica.
Figura 6 – Exemplo de um modelo conceitual
Entre outras coisas, este modelo informa que o banco de dados contém dados sobre
produtos e sobre tipos de produtos. Para cada produto, o banco de dados armazena o
código, a descrição, o preço, bem como o tipo de produto ao qual está associado. Para
cada tipo de produto, o banco de dados armazena o código, a descrição, bem como os
produtos daquele tipo.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 16
Capítulo 2 – Sistemas Gerenciadores de Banco de Dados 2.1 Introdução
Todo Sistema Gerenciador de Banco de Dados (SGBD) deve oferecer aos seus
usuários e administradores meios de criar definições de dados, bem como manipular
esses dados armazenados em suas bases. Desse modo, a linguagem SQL, sigla em
inglês para Structured Query Language, ou Linguagem de Consulta Estruturada, é
uma espécie de padrão adotado por diferentes SGBDs de modo a facilitar a
comunicação e a integração dos sistemas. O SQL tem o objetivo de acessar, de forma
estruturada e declarativa, elementos de tabelas de bancos de dados. Sua principal
tarefa é, portanto, criar e manter objetos, manipular e recuperar dados do banco de
dados, administrar dados e manter a segurança.
SQL é uma linguagem de pesquisa para uso em Banco de Dados Relacional, podendo
ser utilizada como linguagem de construção, modificação e acesso a Banco de Dados.
Cabe ressaltar que essa linguagem tem um caráter diferenciado das linguagens de
programação, pois é uma linguagem declarativa, ou seja, não é necessário que você
programe qualquer algoritmo para acessar o conteúdo das tabelas.
O SQL foi desenvolvido originalmente no início dos anos 1970 nos laboratórios da
IBM em San Jose, dentro do projeto System R. O nome original da linguagem era
SEQUEL, acrônimo para Structured English Query Language (Linguagem de
Consulta Estruturada em Inglês). Embora o SQL tenha sido originalmente criado
pela IBM, rapidamente surgiram vários "dialetos" produzidos por outros
desenvolvedores. Essa expansão levou à necessidade de ser criado e adaptado um
padrão para a linguagem. Esta tarefa foi realizada pela American National Standards
Institute (ANSI) em 1986 e International Organization for Standardization (ISO) em
1987. O SQL foi revisto em 1992 e a essa versão foi dado o nome de SQL-92. Foi
revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003,
respectivamente.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 17
Embora SQL seja a linguagem de banco de dados mais influente do mercado, ela não
é a única, existindo outras, como exemplo:
QBE (Query-by-Example) – Integra o sistema de banco de dados QBE que foi
desenvolvido pela IBM no início de 1970;
Quel – Linguagem de consulta lançada para o banco de dados Ingres,
desenvolvido na Universidade da Califórnia em Berkeley;
Datalog – Linguagem de consulta baseada na lógica de programação Prolog.
SQL é caracterizada pela utilização de palavras-chaves que podem ser classificadas,
de acordo com sua função, nos seguintes tipos:
DML – Linguagem de Manipulação de Dados, subconjunto da linguagem
usado para inserir, atualizar e apagar dados. Ex.: INSERT, UPDATE,
DELETE;
DDL – Linguagem de Definição de Dados, permite ao utilizador definir
tabelas novas e elementos associados. Ex.: CREATE, DROP;
DCL – Linguagem de Controle de Dados, controla quem tem acesso para ver
ou manipular dados dentro do banco de dados. Ex.: GRANT, REVOKE;
DTL – Linguagem de Transação de Dados, usado para o controle de
transações no banco de dados. Ex.: START TRANSACTION;
DQL – Linguagem de Consulta de Dados, permite ao usuário especificar uma
consulta (query) como uma descrição do resultado desejado. Ex.: SELECT.
Todos esses termos estranhos, escritos em letra maiúscula, citados como exemplo,
fazem parte da linguagem SQL.
2.2 Sistemas Gerenciadores de Banco de Dados (SGBDs)
Os SGBDs são conjuntos de programas de computador (softwares) responsáveis pelo
gerenciamento de um banco de dados. O principal objetivo é retirar da aplicação em
desenvolvimento a responsabilidade de gerenciar o acesso, manipulação e
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 18
organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes
possam incluir, alterar ou consultar dados.
Qualquer empresa que pretenda garantir um controle efetivo sobre o seu negócio tem
obrigatoriamente que recorrer a SGBDs. A planilha eletrônica é uma ferramenta de
controle usada para operacionalizar os dados e assim criar informação útil ao
planejamento diário das empresas. Contudo, existem outros tipos de ferramentas, mais
completas e com funcionalidades extras que elevam a capacidade operacional de
gerenciar informação de valor para a organização.
Um SGBD permite armazenar, modificar e extrair informação de um banco de dados.
Há diferentes tipos de SGBD, desde pequenos sistemas que funcionam em
computadores pessoais a sistemas complexos associados a servidores de grandes
empresas.
Os SGBDs mais populares que utilizam linguagem SQL estão listados a seguir.
Oracle – Surgiu no fim dos anos 70, sendo desenvolvido pela empresa de
mesmo nome, que é líder de mercado no segmento de banco de dados, sendo
pioneira no lançamento de novas soluções de banco de dados para diversos
segmentos, sobretudo, no campo das aplicações corporativas. Atualmente,
encontra-se na versão Oracle 11g.
SQL Server – Criado pela Microsoft em 1989, surgiu de uma parceria entre a
Sybase, Ashton-Tate e Microsoft. Atualmente, encontra-se na versão Microsoft
SQL Server 2008, sendo considerada uma plataforma de dados confiável,
produtiva e inteligente.
PostgreSQL – SGBD de código aberto do tipo objeto relacional lançado em
1995, resultante de uma evolução do projeto Ingres desenvolvido na
Universidade da Califórnia em Berkeley, encontra-se atualmente na versão 8.
Firebird – SGBD de código aberto criado a partir do InterBase da Borland,
quando da abertura de seu código em Julho de 2000, encontra-se atualmente
na versão 2.1.3.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 19
MySQL – SGBD de código aberto, criado na década de 1980 na Suécia, sendo
considerado o SGBD open source mais popular no mundo atualmente, sendo
utilizado por grandes corporações, como NASA, Banco Bradesco, Dataprev,
HP, Nokia, Sony, Cisco Systems, Google e outros. O MySQL foi comprado em
2008 pela SUN Microsystems que posteriormente foi comprada pela Oracle.
Ou seja, o MySQL atualmente é um produto da Oracle. O seu sucesso é
atribuído a sua fácil integração com PHP presente na maioria das ferramentas
de desenvolvimento para Internet.
Considerando o resumo apresentado na lista anterior, escolhemos o MySQL como
exemplo de SGBD a ser utilizado em nosso curso. A partir de agora, vamos ensinar a
você como instalar e configurar o ambiente e após isso você já estará apto a entrar no
mundo maravilhoso da linguagem SQL.
Antes de falarmos um pouco sobre o MySQL, a seguir, discutiremos sobre os
softwares que serão utilizados ao longo desse curso.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 20
Capítulo 3 – Manipulando Banco de Dados
3.1 Requisitos e instalações de softwares
Neste curso, para trabalharmos com o MySQL utilizaremos a ferramenta
chamada XAMPP. Esta ferramenta instala e configura o MySQL (banco de dados), o
Apache (servidor web) e o PhpMyAdmin (Software de gerenciamento do MySQL)
automaticamente. Trabalharemos com a versão XAMPP 1.7.7 que está disponível
em http://www.apachefriends.org/ptbr/xampp-windows.html. Essa versão do XAMPP
instalará e configurará as seguintes versões desses softwares:
Apache 2.2.21
PHP 5.3.8
PHPMyAdmin 3.2.4
Após o download do XAMPP, o aluno deverá executar o instalador e clicar
nos botões “próximo” até a finalização da instalação.
Após a instalação do XAMPP, aparecerá a tela de execução conforme
mostrado mostrado na Figura 1. É importante ressaltar que para iniciar manipulação
do MySQL através do PHPMyAdmin, o aluno primeiramente deverá executar o
Apache e o MySQL (aparecerá “Running” ao lado de cada programa).
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 21
Figura 1 – Tela de execução do XAMPP.
3.2 MySQL
Em um mundo onde a globalização está cada vez mais presente, os processos cada
vez mais automatizados e as barreiras de distância sendo quebradas pelo aumento da
popularização da internet, a necessidade de armazenamento de dados e informações
de cada mercado torna-se o primeiro passo para a migração de seu negócio para a
internet. É visando a suprir essa necessidade que se utiliza o MySQL.
O MySQL é um servidor e gerenciador de banco de dados (SGBD) relacional, de
licença dupla (sendo uma delas de software livre), projetado inicialmente para
trabalhar com aplicações de pequeno e médio portes, mas hoje atendendo a aplicações
de grande porte e com mais vantagens do que seus concorrentes. Possui todas as
características que um banco de dados de grande porte precisa, sendo reconhecido por
algumas entidades como o banco de dados open source com maior capacidade para
concorrer com programas similares de código fechado, tais como SQL Server (da
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 22
Microsoft) e Oracle.
Como dito anteriormente, o MySQL é desenvolvido e distribuído por meio de duas
licenças que irão depender do tipo de uso da ferramenta. Na maioria dos casos, seu
uso é livre e gratuito. Contudo, vale a pena conhecer as duas possíveis licenças do
MySQL.
A primeira, software livre estabelece o que se pode ou não fazer com a ferramenta e
demais recursos. Além do programa, o seu código-fonte também é disponibilizado
para que qualquer pessoa possa adaptá-lo às suas necessidades; contudo, todas essas
situações serão tratadas e detalhadas na licença GNU-GPL.
Basicamente, a licença do tipo GNU-GPL baseia-se nos seguintes princípios:
Utilização: Permite utilizar o software para qualquer propósito.
Distribuição: Permite a livre distribuição do software entre todas as pessoas.
Didática: Permite que seu funcionamento seja estudado a partir de seu código-
fonte.
Colaboração: Permite que seu código-fonte seja alterado para evoluir a
ferramenta, desde que seu novo código-fonte continue sendo livre seguindo
essa licença.
A segunda licença é comercial. Para algumas situações sobre como embutir o MySQL
dentro de suas aplicações comerciais (ou seja, fora dos termos da GNU-GPL), obter
suporte diferenciado, ou obter pacotes com mais ferramentas, essa licença pode ser
mais apropriada.
A seguir, algumas das principais características existentes no MySQL.
1. SGBD: O MySQL, além de banco de dados, contém todas as características de
um SGBD (Sistema Gerenciador de Banco de Dados), que é o MySQL Server.
Além de armazenar os dados, o MySQL Server provê todas as características
de multiacesso a estes, entre outras funcionalidades de um SGBD, como, por
exemplo, gerenciamento de acesso, integridade dos dados, concorrência,
transações, entre outros.
2. Portabilidade: O MySQL é uma aplicação altamente portável entre diferentes
sistemas, plataformas e compiladores.
3. Formas de armazenamento: O MySQL disponibiliza vários tipos de tabelas
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 23
para armazenamento de dados, tendo cada tipo suas próprias características. A
vantagem dessa variedade de tabelas é a possibilidade de escolher o tipo em
cada situação diferente. Enquanto um tipo prioriza velocidade, outro prioriza
volume de dados, entre outras características.
4. Velocidade: Maior velocidade no acesso aos dados em razão de vários fatores
em seu desenvolvimento.
5. Segurança: Sistema gerenciador de conexões que trabalha com criptografia no
tráfego de senhas. Ainda, em complemento ao uso de autenticação baseado em
senhas, é possível habilitar uma espécie de firewall de autenticação,
responsável por habilitar as devidas conexões somente para estações e
domínios especificados em sua lista de acesso.
6. SQL: O SQL utilizado pelo MySQL é altamente veloz. Isto se deve ao fato de
a linguagem ter sido implementada por meio de códigos e funções altamente
otimizadas pelos seus desenvolvedores.
7. Capacidades: O MySQL tem um alto poder de execução e de armazenamento.
O MySQL é um banco de dados extremamente poderoso, pronto para executar
mais de um bilhão de consultas por dia de um site, ou até mesmo processar
milhares de transações por minuto, conforme os próprios papers e artigos do
MySQL AB.
8. Compatibilidade: A maioria dos sistemas operacionais existentes no mercado
suporta a execução do MySQL. Dentre as principais, pode-se destacar: Linux
(Fedora Core, Debian, SuSE, RedHat), Mac OS X Server, Windows (2000,
2003, XP), entre outros.
3.3 PhpMyAdmin
Neste curso, utilizaremos o PhpMyAdmin que é uma excelente ferramenta para
manipulação do MySQL, muito útil principalmente para desenvolvedores web. Ele
dispõe de uma série de recursos interessantes para administração do banco de dados.
Com essa ferramenta é possível fazer desde atividades básicas de administração como
criar, alterar, renomear tabelas, ou ainda fazer consultas usando SQL, como também
gerenciar as conexões com o banco.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 24
Depois de instalado o XAMPP, o PhpMyAdmin poderá ser executado através do
navegador, digitando o seguinte endereço: http://localhost/phpmyadmin. A tela inicial
do PhpMyAdmin é demonstrado na Figura 2.
Basicamente, um banco é composto por tabelas que são formadas por campos. Cada
tabela precisa ter um campo chave primária que faz referência a sua tabela em outras
tabelas. Sendo assim, o PHPMyAdmin será utilizado para criar nossos Banco de
Dados e Tabelas.
Figura 2 – Tela inicial do PhpMyAdmin
Na página principal do PHPMyAdmin, mostrada na Figura 2, encontramos do lado
esquerdo um menu superior com os botões: Home (para voltar a página principal do
PHPMyAdmin), SQL - Query Window (para escrever um script SQL ou importá-lo
de algum arquivo texto), PHPMyAdmin Documentation (para visualizar a
documentação do seu PHPMyAdmin) e Documentation (para acessar a documentação
do SQL). Logo embaixo você pode visualizar todos os bancos de dados criados.
Clicando sobre eles pode visualizar as tabelas de cada banco e clicando sobre elas
pode visualizar os seus campos. Com mais um clique sobre Browser, poderá
visualizar os dados armazenados nela.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 25
Figura 3 – Tela de Menu do PhpMyAdmin
Criando um banco de dados
Botão Principal
Botão Janela de Consulta
Botão Documentação do PHPMyAdmin
Botão Documentação
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 26
Figura 4 – Tela Para Criação de um Banco de Dados.
Primeiro criamos o banco de dados com o com o comando SQL “CREATE
DATABASE nomedobanco”, neste caso ficaria: “CREATE DATABASE
CURSOMYSQL”.
Pronto, nosso banco de dados CURSOMYSQL está criado. Note que aparecerá no seu
navegador uma coluna à esquerda com o nome do seu banco e um zero entre
parêntesis indicando que ele não possui nenhuma tabela.
Do lado direito do botão “Document” do PHPMyAdmin você verá além do menu
superior do PHPMyAdmin, a mensagem “Nenhuma tabela encontrada no Banco de
Dados” e logo abaixo “Criar nova tabela no Banco de Dados CURSOMYSQL”,
Então no campo indicado como “Nome” digite “informacoes” que é o nome da nossa
tabela. Em “Numero de arquivos” digite 3, isso significa que nossa tabela terá 3
campos. Agora clique em “Executar”. Agora temos a tela de inserção dos 3 campos
da nossa tabela “informacoes”.
Figura 5 – Tela para Criação de uma Nova Tabela.
Digite o nome do banco de dados e clique no
botão Criar.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 27
Figura 6 – Tela para Criação dos Campos de uma Tabela.
Na tela seguinte, conforme Figura XY, na primeira coluna escreva no Campo
“idcontato”, Tipo INT, marque a opção “AUTOINCREMENT” e o selecione a opção
“PRIMARY” no campo “Índice”.
Com isso você está dizendo que o campo “idcontato” é uma chave primária, ou seja, é
o índice da tabela que pode fazer referência dela em outras tabelas do mesmo banco.
Nesse primeiro exemplo só temos uma tabela. O argumento autoincrement diz que ao
adicionar um registro na tabela esse campo é automaticamente incrementado de 1.
Nas duas últimas colunas insira respectivamente os atributos “nome” e “telefone” e
escolha o tipo dos campos como TEXT. Agora clique em “Salvar” e nossa tabela
informacoes está pronta. Clicando em “informacoes” no lado esquerdo podemos ver
todos os campos da nossa tabela.
Com a criação dessa tabela, podemos perceber que existem certos parâmetros que
precisamos definir nesse momento. Como por exemplo a definição para cada atributo
o seu respectivo tipo. Os tipos mais comuns de dados são:
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 28
CHAR (tamanho) – sequência de caracteres (string) de comprimento fixo. O
tamanho é especificado entre parênteses. O tamanho máximo permitido é de
255 caracteres.
VARCHAR (tamanho) - sequência de caracteres (string) com tamanho
variável. O tamanho máximo, ou seja, a quantidade máxima de caracteres que
poderá ser armazenada no campo é especificada entre parênteses.
INT – tipo numérico que aceita valores inteiros. Podemos representar com
esse tipo qualquer valor inteiro na faixa entre -2.147.483.648 e 2.147.483.647.
NUMERIC(n,d) – tipo numérico que aceita valores reais (n indica a
quantidade total de números e d indica a quantidade do total que corresponde a
casas decimais). Exemplo: NUMERIC(5,2) corresponde a números com 5
dígitos com até duas casas decimais, como 256,12.
TIME – tipo tempo no formato hora:minuto:segundo.
DATE – tipo data no formato ano-mês-dia.
Outro conhecimento interessante nesse momento é sobre a existência uma ou mais
colunas com restrições que lhes estão associadas. Restrição é basicamente uma regra
associada a uma coluna que diz quais as limitações dos dados inseridos nessa coluna.
Por exemplo, a restrição UNIQUE especifica que dois registros não podem ter o
mesmo valor em uma determinada coluna. Eles devem ser todos originais. As
restrições mais populares são NOT NULL e PRIMARY KEY. A restrição NOT
NULL especifica que uma coluna não pode ser deixada em branco. E a restrição
PRIMARY KEY (chave primária) define uma identificação única de cada registro (ou
linha) em uma tabela. Iremos aprender mais sobre restrições no decorrer da disciplina.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 29
Figura 7 –Tabela de Banco de Dados.
Veja que clicando em “Inserir” no menu superior do PHPMyAdmin é possível inserir
dados nos campos da nossa tabela.
Outra alternativa para criarmos e manipularmos nosso banco de dados seria escrever
nossos códigos em SQL. Para isso, clique no botão “Janela de Consulta”, localizado
no canto superior esquerdo, escreva seus códigos SQL e clique no botão “Executar”.
Veja como ficaria o código para criar o banco CURSOMYSQL e a tabela
informacoes com seus campos:
No código SQL, o atributo NOT NULL significa que o campo não pode ser nulo. Isso
é especificado pelo programador.
Inserir, deletar e selecionar com MySQL
Agora que temos nosso banco CURSOMYSQL criado, podemos inserir, deletar e
selecionar dados nele. Nesta parte da apostila veremos como fazer isso em código
SQL.
Antes de prosseguirmos nosso curso, é importante uma consideração acerca da
manipulação dos valores em uma base de dados: os dados do tipo CHAR,
VARCHAR, DATE, TIME (texto em geral, ainda que seja apenas um caractere como
A ou B) devem ser representados entre aspas simples (‘’). Os dados do tipo INT ou
NUMERIC não são representados por aspas simples. Observe ainda que as casas
decimais dos números devem ser separadas por pontos ao invés de vírgulas, e os
valores do tipo VARCHAR podem conter acentos e espaços em branco.
Inserir valores
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 30
Suponha que você queira adicionar um contato na sua tabela “informacoes”. Veja o
exemplo abaixo de como fazer:
O código acima significa: Insira no banco 'CURSOMYSQL', na tabela 'informacoes'
que possui os campos 'idcontato', 'nome' e 'telefone', os valores '1', 'Daniel Moreira
dos Santos', '9999-0000' respectivamente.
Deletar valores
Percebemos que o código é bem sugestivo. Delete de 'informacoes', onde 'idcontato' =
1. Lembre que idcontato é nossa chave primária.
Selecionar valores
Através do código SQL podemos selecionar um registro ou grupo de registros que
satisfazem à uma condição estabelecida. Como exemplo, suponha que temos os
seguintes registros na tabela
”informacoes”:
E queremos selecionar os registros que possuem 9 no número de telefone. Nosso
código ficaria assim:
O asterisco (*) no código acima faz referência a todos os campos da tabela
informacoes. Então temos, “Selecione todos os campos da tabela informações onde
telefone parece com 9999 e ordene por idcontato”.
Atualizar
Suponha que queremos atualizar o telefone de um dos contatos registrados. Para isso,
1 Lucas Gabriel do Reis 3333-0000
2 Manoel Olivar da Costa 1111-9999
3 Francisco Jr. 5555-7777
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 31
usamos o comando UPDATE. Veja o exemplo:
Note que só será atualizado o telefone do registro com idcontato igual a 2, que por sua
vez é único.
Destruir
O comando DROP exclui definitivamente a nossa tabela com todos os seus registros.
É bom tomar certo cuidado com este comando.
Comandos Adicionais
Vimos até agora alguns comandos principais, ainda existem outros comando que
adicionado nos comandos SELECT, UPDATE, DELETE forma uma conjunto de
manipulações.
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
Programa Nacional de Acesso ao Ensino Técnico e Emprego – PRONATEC
CAMPUS BELÉM
Programação Web II 32
3.4 Funções do MySQL
O MySQL possui algumas funções muito úteis para manipulação dos registros de um
banco de dados. Seguem algumas importantes:
A seguir, temos um exemplo do SQL que irá retornar o número de registros da tabela
informações. Caso esta tabela contenha informações de 4 usuários, a saída dessa
consulta retornará 4.
avg(coluna) - Retorna a média dos valores da coluna.
count(item) - Se item for uma coluna, será retornado o número de valores
não nulos(NULL) nesta coluna. Se a palavra-chave DISTINCT for colocada
na frente do nome da coluna, será retornado o número de valores distintos
nesta coluna. Se for passado count(*), será retornado o número total de
registros independente de quantos tenham valor NULL.
min(coluna) - Retorna o valor mínimo da coluna.
max(coluna) - Retorna o valor máximo da coluna.
sum(coluna) - Retorna a soma dos valores da coluna.
top related