Você está na página 1de 97

Interface Com o Usurio - MySQL

Edio n1 - 2007

Francini Reitz Spanceski

Apoio Gesto e Execuo Contedo e Tecnologia


Interface Com o Usurio - MySQL 2

Apresentao

Este livro didtico contm a disciplina de Interface Com o Usurio - MySQL.


Este material tem por objetivo apresentar os conceitos que envolvem o desen-
volvimento de um banco de dados. Procurar mostrar-lhe os conceitos que envolvem
a modelagem de um banco de dados e uma tecnologia de gerenciamento de dados
que lhe permitir criar bancos de dados relacionados, gerenci-los e manipul-los.
Para sua melhor compreenso, o livro est estruturado em duas partes. Na
primeira, so apresentados os conceitos que envolvem a modelagem de dados, a
estrutura, os principais conceitos, sua utilizao para o desenvolvimento de um Banco
de Dados e exerccios que o ajudaro a fixar os conceitos apresentados e a aplica-
bilidade no desenvolvimento de um modelo Entidade Relacionamento. Na segunda
parte, utilizaremos o MySQL para a criao de um banco de dados.
Nossa recomendao que voc verifique as datas importantes dentro do cro-
nograma de estudos e elabore um plano de estudos pessoal. Assim voc poder
aproveitar o curso ao mximo, garantindo o retorno de todo esforo investido. Estude
as aulas virtuais, faa os exerccios, leia o livro-texto e faa todas as atividades pro-
postas. Sempre que possvel tire suas dvidas com o monitor.
Lembre-se de que a sua passagem por esta disciplina ser tambm acompa-
nhada pelo Sistema de Ensino Tupy Virtual ,seja por correio postal, fax, telefone, e-
mail ou Ambiente Virtual de Aprendizagem.
Entre sempre entre em contato conosco quando surgir alguma dvida ou difi-
culdade.
Toda a equipe ter a maior alegria em atend-lo, pois a sua aquisio de co-
nhecimento nessa jornada o nosso maior objetivo. Acredite no seu sucesso e bons
momentos de estudo!

Equipe Tupy Virtual.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 3

SUMRIO

CARTA DO PROFESSOR ............................................................................................. 4


CRONOGRAMA DE ESTUDOS .................................................................................... 5
PLANO DE ESTUDOS ................................................................................................... 6
1. INTRODUO A BANCO DE DADOS .............. ....................................................... 7
2. MODELO ENTIDADE RELACIONAMENTO...........................................................18
3. INSTALANDO O VERTRIGO.................................................................................. 32
4. CRIANDO UM BANCO DE DADOS NO MySQL...................................................... 40
5. CRIANDO, ALTERANDO E EXCLUINDO TABELAS NO MySQL........................... 53
6. MANIPULAO DE REGISTROS EM MySQL...................................................... 65
7. CONSTRUINDO UM PROJETO............................................................................. 78
8. UTILIZANDO O PhpMyAdmin PARA CRIAR UM BANCO DE DADOS................. 89
REFERNCIAS .......................................................................................................... 96

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 4

Carta do Professor

Caro aluno,
Voc j imaginou como, em vrios momentos do nosso dia-a-dia
utilizamos ou acessamos informaes em algum banco de dados?
bem provvel que as empresas, atualmente, no conseguiriam
sobreviver sem armazenar suas informaes em um banco de da-
dos.
Imagine uma empresa com vrias filiais em diversas partes do pas ou at
mesmo em outros pases. necessrio que exista uma ferramenta para auxiliar no
armazenamento das informaes e no acesso a essas informaes. Essa ferramenta
j existe, o banco de dados, que torna possvel o acesso s informaes sobre fun-
cionrios, clientes, produtos e vendas de uma empresa, auxiliando no gerenciamento
de todas as informaes.
Para a criao de um banco de dados, importante que alguns conceitos se-
jam estudados, por isso, durante esta disciplina, conheceremos os conceitos que en-
volvem a criao de um banco de dados, assim como, conheceremos os comandos
utilizados pelo banco de dados MySQL para a criao de um banco de dados e mani-
pulao dos registros nele armazenados.
Iniciaremos compreendendo a importncia de utilizarmos um banco de dados.
Percebemos a utilizao de banco de dados em nosso cotidiano, quando utilizamos
um carto de crdito ou quando consulta nosso saldo na conta bancria, entre tantas
outras tarefas.

Professora Francini Reitz Spanceski

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 5

Cronograma de Estudos

Acompanhem no cronograma abaixo os contedos das aulas, e atualize as


possveis datas de realizao de aprendizagem e avaliaes.

Semanas Horas/aula Contedos Data/Avaliao


1 5 Introduo a Banco de Dados
10 Modelo Entidade Relaciona-
mento
5 Instalando o Vertrigo _/_ a _/_
10 Criando um Banco de Dados no
MySQL
2 10 Criando, Alterando e Excluindo
Tabelas no MySQL _/_ a _/_
10 Manipulao de Registros em
MySQL
3 20 Construindo um Projeto _/_ a _/_
10 Utilizando o PhpMyAdmin para
Criar um Banco de Dados

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 6

Plano de Estudos

Ementa

Conceito de Sistemas Gerenciadores de Banco de Dados. Componentes. Mo-


delos de SGBD. Criao de um banco de dados MySQL. Projetando e criando tabelas.
Gerenciamento do banco de dados MySQL. Consultando o banco de dados MySQL.
Otimizao do banco de dados e segurana do banco de dados MySQL.

Objetivos da Disciplina

Geral

Compreender as vantagens da utilizao de um banco de dados para o desen-


volvimento de aplicaes voltadas para a Internet.

Especficos

- Introduzir os conceitos fundamentais dos sistemas de bancos de dados;


- Desenvolver um modelo entidade relacionamento;
- Manipular as informaes de um banco de dados, usando os recursos do MySQL;
- Demonstrar as melhores prticas para normalizao e modelagem dos dados em um
Projeto de Banco de Dados;
- Planejar solues para aplicaes WEB em internet e intranet;
- Ampliar os conhecimentos sobre o funcionamento e os recursos disponveis pelos
Sistemas Gerenciadores de Banco de Dados, usando os recursos do MySQL.

Carga Horria: 80 horas/aula.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 7

Aula 1
INTRODUO A BANCO DE DADOS

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Conceituar Banco de Dados;


Enumerar as vantagens de se utilizar um Banco de Dados;
Conceituar SGBD e entender seu funcionamento bsico.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

Introduo a Banco de Dados;


Conceitos Bsicos de Banco de Dados;
Vantagens da utilizao de um Banco de Dados;
O que um SGBD?
Exerccios propostos.

Ol! Seja bem-vindo(a) a nossa primeira aula. Estuda-


remos os conceitos bsicos de banco de dados, para
entendermos os demais conceitos envolvidos no relacionamento
entre tabelas e os tipos de relacionamentos. Aplicaremos esse co-
nhecimento no desenvolvimento de um Modelo Entidade Relaciona-
mento, que ser utilizado para a criao de banco de dados duran-
te as aulas desta disciplina. Quando falamos em Banco de Dados
importante lembrar que as informaes armazenadas, em sua
maioria, so extremamente importantes para a organizao a que

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 8

pertencem, sendo assim, estudaremos uma srie de conceitos e tcnicas que visam
ao gerenciamento de Banco de Dados. Iniciaremos pela apresentao dos princpios
dos sistemas de banco de dados.
Boa aula!

1 INTRODUO

Banco de dados um conjunto de informaes relacionadas entre si, sobre um


determinado assunto ou entidade, armazenado por meio magntico.
A principal finalidade da criao de um banco de dados o armazenamento
organizado das informaes, visando otimizao dos sistemas e facilitando: entrada
de dados, alteraes, consultas, gerao de formulrios e relatrios, bem como o uso
adequado dessas informaes.
Para haver um banco de dados, necessitamos armazenar e trabalhar com da-
dos ou com informaes armazenadas nesse banco de dados.

Empresa de carto de crdito: precisar armazenar as informaes de


seus clientes, bem como as informaes de compras efetuadas, gerar fatura corres-
pondente aos gastos do cliente. Essas informaes devem ser armazenadas e mani-
puladas garantindo a integridade e a segurana das informaes.
Bancos: informaes dos clientes e suas transaes bancrias, depsitos,
saques, solicitao de servios, qualquer transao efetuada deve ser registrada de
modo que o cliente possa consultar suas informaes a qualquer momento.
Escola: registros das informaes dos cursos, alunos, notas e informaes
pessoais do aluno.
Empresas: independente da rea de atuao, ter necessidade de gerenciar
as informaes de seus funcionrios referentes a salrio, descontos/benefcios na
folha de pagamento, dependentes e demais informaes.
Nos exemplos mencionados, conseguimos perceber que, atualmente, os Ban-
cos de Dados so extremamente importantes para as organizaes, no que diz res-
peito ao armazenamento e manipulao das informaes de uma organizao.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 9

Segundo Silberschatz, Korth e Sudarshan (2006, p 4), um sistema de banco de


dados uma coleo de dados inter-relacionados e um conjunto de programas que
permitem aos usurios acessar e modificar os dados.
A principal finalidade da criao de um banco de dados o armazenamento
organizado das informaes, visando otimizao dos sistemas e, desse modo, fa-
cilitar: entrada de dados, alteraes, consultas, gerao de formulrios e relatrios,
visando ao uso adequado dessas informaes.
Para existir um banco de dados, precisamos ter a necessidade de armazenar e
trabalhar com dados ou com as informaes armazenadas no bando de dados.
O software usado para gerenciamento de banco de dados gerenciamento de
um conjunto de dados inter-relacionados manipula dados de diversas maneiras. Um
banco de dados pode ser til para qualquer pessoa que precise controlar um grande
nmero de fatos relacionados. Assim que os dados so introduzidos no banco, pos-
svel fazer a manipulao desses dados.
O que so dados?
Veremos esse conceito a seguir.

2 CONCEITOS BSICOS DE BANCO DE DADO

2.1 Dado

uma informao isolada qualquer, sem significado, ou seja, dado parte de


uma informao. Os dados so a matria-prima as notas em uma disciplina, os gols
marcados ou um nome a serem processados por um computador.
Gabriel ou Analista de Sistemas. Cada uma dessas informaes, quando
isoladas, no chega de fato a informar nada, por isso so dados. Quando
os dados so agrupados de forma lgica, temos a informao. No exemplo, chega-
mos ao resultado quando esclarecemos que esses dados so o nome e o cargo.

2.2 Informao

um conjunto lgico de dados com significado. Os dados processados so

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 10

transformados em informao dados que esto organizados de maneira significativa


e til. Na escola, por exemplo, um professor poderia introduzir as notas (dados) de
vrios alunos, que seriam processadas para produzir as notas finais e, talvez, uma
mdia (informao) da classe. Observe que a informao das notas dadas pelo pro-
fessor poderia transformar-se em dados para o sistema de registro dos estudantes da
escola, os quais produziriam relatrios de notas e coeficientes de rendimento como
sua informao. Dados que, por si ss, talvez sejam pouco interessantes, mas de
muita importncia, quando transformados em informao.

2.3 Campo

So os dados agrupados em categorias de informao. Quando iniciarmos a


criao de um banco de dados, criaremos tabelas, cujos campos so as colunas da
tabela.
Exemplo: nome, endereo, cargo, salrio, etc.

2.4 Registro

um conjunto lgico de campos, ou um conjunto lgico de categorias de infor-


mao, que no forma um registro, mas um conjunto lgico de campos,.
Para formarmos um registro, necessrio juntarmos, o nome Gabriel com o
endereo e com o cargo do Gabriel, pois a lgica desse conjunto justamente o fato
de que todos os campos esto mostrando informaes do Gabriel.
So as linhas de uma tabela.

2.5 Entidades

As entidades podem tambm ser conhecidas como Arquivos, cadastro ou tabe-


las. So os conjuntos lgicos de registros. Se juntarmos um conjunto lgico de regis-
tros de clientes com um conjunto de registros de produtos no teremos uma tabela ou
entidade, mas uma mistura de informaes.
A lgica est no fato de que os registros sero informaes de um mesmo

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 11

grupo lgico, ou seja, os registros de clientes formam a entidade ou tabela de clientes,


os registros de produtos formam a entidade ou tabela de produtos e assim por diante.
Veja a figura 1.
Voltando ao conceito de banco de dados, dizemos que um conjunto de tabe-
las ou arquivos relacionados entre si.

Figura 1 Entidades de Banco de Dados

3 POR QUE USAR UM SISTEMA DE BANCO DE DADOS?

Podemos perceber inmeras vantagens na utilizao de um sistema de banco


de dados, em relao aos mtodos tradicionais, baseados em papel, em manuteno
de registros.
Vamos imaginar uma empresa com as informaes de todos os seu funcion-
rios em um arquivo, com vrias fichas de papel, uma para cada funcionrio, imagine a
dificuldade de atualizar as informaes de um funcionrio, ou de fazer uma pesquisa
se, por exemplo, tivssemos interesse de saber os aniversariantes do dia, ou da se-
mana ou do ms.
Encontraramos grande dificuldade para fazer qualquer tipo de manipulao
nas informaes de cada um desses funcionrios, porm, a utilizao de um sistema
de banco de dados proporciona empresa o controle centralizado de seus dados. Tal
situao contrasta com a encontrada em uma empresa que no utiliza um sistema de
banco de dados, de modo que os dados ficam dispersos, sendo dificultando o controle
de forma sistemtica.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 12

Vamos classificar um banco de dados, quanto ao tipo de ambiente, como tradi-


cional (antes da tecnologia de redes se tornar comum) e atual (usando largamente a
tecnologia de redes). Num ambiente tradicional, cada usurio ou departamento pos-
sua os seus prprios cadastros.
O Departamento de RH precisava ter um cadastro dos funcionrios para
gerar uma listagem dos aniversariantes, as informaes de despesas, etc.; l se iam
90 registros digitados de funcionrios. O departamento de almoxarifado tambm pre-
cisava de um cadastro de funcionrios, porque estes solicitavam material de estoque
para desenvolver suas atividades. L se iam, de novo, os mesmos 90 registros dos
funcionrios, ocupando duas vezes memria secundria, e por a afora.
A redundncia alta, mas o que redundncia?
Ocorre redundncia quando os mesmos registros sobre as mesmas informa-
es esto cadastrados em diferentes lugares. Se existe redundncia, existe inconsis-
tncia, que, no ambiente tradicional, tambm alta.
O que inconsistncia?
Ocorre quando os mesmos registros esto cadastrados em diferentes lugares,
com contedos diferentes.
A funcionria Francini est cadastrada no RH como Francini da Silva. A
mesma funcionria Francini est cadastrada de novo (redundncia) no almoxarifado
como Francine da Silva. Existe uma inconsistncia no contedo dos dados um est
com I e ou outro est com E.
No ambiente tradicional,como os dados esto em diferentes lugares, cada um
faz como quer, ocorrendo alta despadronizao e difcil e cara manuteno (quando
necessria) dos programas. Cada um chama os seus campos como bem entende.
Num ambiente de banco de dados atual, os dados esto centralizados em um
s lugar e so acessados via rede de computadores. Dados em um s lugar, redun-
dncia inexistente.
ERRADO.
Por questes de velocidade, performance ou por alguma necessidade espec-
fica, alguns dados podem ser armazenados repetidas vezes. Todo administrador de
banco de dados precisa ter uma boa poltica de backup, portanto, existe a uma con-
dio de redundncia.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 13

Como o backup obrigatrio, a redundncia existe no ambiente atual, mas contro-


lada. A inconsistncia tambm existe no ambiente atual, mas controlada.
Se os dados esto num s lugar, a estrutura dos dados a mesma, portanto,
h forte padronizao dos dados, ou seja, chamamos o campo nome de um cadastro
de alunos de Nm-Aluno. No ambiente tradicional, um poderia chamar de Nm-Aluno,
outro de Nome_Do_Aluno, outro de NomeDoAluno, e assim vai.
A manuteno de um banco de dados atual custa menos e mais fcil, devido
padronizao. No ambiente atual, os mesmos dados so compartilhados ou no
por diversos usurios ao mesmo tempo. Como todos esto compartilhando dados,
veja que nem todos podem acessar todas as informaes. Ocorre no ambiente atual,
o que chamamos de restries de segurana, ou seja, cada usurio ter definido para
si permisses de acesso ou no a um dado cadastrado.
Vamos explicar detalhadamente algumas vantagens da utilizao de um banco
de dados.

3.1 Reduo ou eliminao da Redundncia

Possibilita a eliminao de dados privativos de cada sistema. Os dados, que,


eventualmente, so comuns a mais de um sistema, so compartilhados, permitem
acesso a uma nica informao e pode ser consultados por vrios sistemas.

3.2 Eliminao da inconsistncia

Com o armazenamento da informao em um nico local, com acesso descen-


tralizado e compartilhado vrios sistemas, os usurios utilizaro uma informao
confivel. A inconsistncia ocorre quando um mesmo campo tem valores diferentes
em sistemas diferentes.
O estado civil de uma pessoa solteiro em um sistema e casado em outro.
Isso ocorre porque a pessoa atualizou o campo em um sistema e no o atualizou em
outro. Quando o dado armazenado em um nico local e compartilhado pelos siste-
mas, esse problema no ocorre.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 14

3.3 Compartilhamento de dados

Permite a utilizao simultnea e segura de um dado, por mais de uma aplica-


o ou usurio, independente da operao que esteja sendo realizada.

3.4 Restrio de segurana

Define para cada usurio o nvel de acesso que lhe concedido (leitura, leitura
e gravao, sem acesso) ao arquivo e/ou campo. Esse recurso impede que pessoas
no autorizadas utilizem ou atualizem um determinado arquivo ou campo.

3.5 Padronizao dos dados

Permite que os campos armazenados na base de dados sejam padronizados


segundo um determinado formato de armazenamento e nome dos campos, seguindo
critrios, padres pr-estabelecidos.

3.6 Manuteno da integridade

Impede que um determinado cdigo ou chave de uma tabela tenha correspon-


dncia em outra tabela.
Um cdigo de uma determinada disciplina, na tabela Histrico Escolar ,
sem a sua descrio na tabela Disciplina.

4 SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD

O SGBD Sistema Gerenciador de Banco de Dados o software, a ferramenta


utilizada para acessar, gerenciar e manipular as informaes organizadas e integra-
das de um sistema de banco de dados.
Na figura 2, podemos perceber o papel do SGBD num sistema de banco de
dados, ressaltando que suas funes so:

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 15

Organizao - a estrutura organizacional dos dados deve refletir as mltiplas vises


dos usurios;
Acesso - deve permitir o armazenamento, recuperao e disseminao dos dados;
Controle garantia de integridade quanto segurana, recuperao, edio e vali-
dao dos dados.

Figura 2 Representao do SGBD

Os componentes de um sistema gerenciador de banco de dados so:


DDL (Data Definition Language) - Linguagem de Definio de Dados: conjunto de
operaes primitivas que permite a declarao de dados, reas, etc. o conjunto de
comandos que permitem a definio da estrutura dos dados de um banco.
DCL (Data Control Language) - Linguagem de Controle dos Dados: conjunto de
comandos que permite a definio dos nveis de permisses de acesso aos dados.
DML (Data Managment Language) - Linguagem de Manipulao dos Dados: um
conjunto de comandos que permite a manipulao e/ou manuseio dos dados de um
banco.
Aplicativo Amigvel - No chega a ser um componente de um SGBD, mas a
interface que proporciona facilidade e interao no acesso aos dados do banco pelo
SGBD.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 16

Sntese

Nesta aula voc conheceu os conceitos bsicos de banco de dados, suas ca-
ractersticas e sua importncia na manipulao e gerenciamento das informaes em
uma empresa. Verificamos as vantagens na utilizao de um banco de dados, por
exemplo, a diminuio ou eliminao da redundncia, evitando que a informao seja
armazenada repetidamente. Assim, a informao ser cadastrada apenas uma vez e
o acesso ser compartilhado via banco de dados, permitindo o acesso atualizado e
seguro s informaes.
Apresentamos tambm o conceito de SGBD Sistema Gerenciador de Ban-
co de Dados, cuja principal funo acessar, gerenciar e manipular as informaes
organizadas e integradas de um sistema de banco de dados.
Na nossa prxima aula estudaremos os conceitos de modelagem de dados,
objetivando o desenvolvimento de um Modelo Entidade Relacionamento.

Exerccios Propostos

1) Assinale a Alternativa correta:


a. ( ) Banco de dados um conjunto de informaes que no podem estar relacio-
nadas entre si.
b. ( ) Banco de um conjunto de informaes relacionadas entre si, de modo que as
informaes no sero armazenadas.
c. ( ) Banco de dados um conjunto de informaes relacionadas entre si, sobre um
determinado assunto ou entidade que armazenado por meio magntico.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 17

2) Coloque V Verdadeiro ou F Falso:


a. ( ) Dado uma informao com signficado, cada dado representa uma informao
para o banco de dados.
b. ( ) Informao so os dados no processados, para que os dados sejam transfor-
mados em informao no necessrio que estejam organizados de maneira orde-
nada.
c. ( ) Os Dados so a matria prima em um banco de dados, so parte de uma infor-
mao.
d. ( ) Campos so os dados agrupados em categorias de informao, so as colunas
de uma tabela.
e. ( ) Registros so um conjunto qualquer de campos, no se faz necessrio que es-
tejam organizados de maneira lgica.

3) Quais as vantagens da utilizaco de um Banco de Dados atualmente?


___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
____________________________________________________________________

4) Coloque V Verdadeiro ou F Falso:


a. ( ) Podemos definir redundncia como sendo a falta de repetio de registros com
as mesmas informaes em um banco de dados.
b. ( ) A inconsistncia em um ambiente de banco de dados tradicional alta.
c. ( ) A inconsistncia ocorre quando os mesmo registros esto cadastrados em di-
ferentes lugares com contedos diferentes.
d. ( ) Redundncia acontece quando os mesmos registros sobre as mesmas infor-
maes esto cadastrados em diferentes lugares.
e. ( ) Nos bancos de dados atuais podemos dizer que a inconsistncia foi eliminada
e a redundncia foi controlada ou em alguns casos eliminada.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 18

Aula 2
MODELO ENTIDADE RELACIONA-
MENTO

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Desenvolver de um modelo de Banco de Dados;


Identificar os principais conceitos que envolvem o Modelo Entida-
de Relacionamento;
Indentificar os relacionamentos utilizados na criao de um Mode-
lo Entidade Relacionamento.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

Modelo Entidade Relacionamento;


Definindo Entidades/Tabelas;
Cardinalidade;
Relacionamento entre Tabelas;
Tipos de Relacionamentos;
Exerccios propostos.

Seja bem-vindo(a) a nossa segunda aula!


Voc j conheceu os conceitos de Banco de Dados,
assim como a importncia de sua utilizao no gerenciamento
das informaes de uma instituio. Nesta aula estudaremos so-
bre a utilizao da Modelagem de Dados no desenvolvimento de
um Banco de Dados, apresentado o que um Modelo Entidade

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 19

Relacionamento e aplicando os conceitos para a criao do modelo. Desenvolvere-


mos, com o auxlio dos conceitos, o relacionamento entre as entidades/tabelas do
banco de dados e a representao dessas informaes.
Boa aula!

1 Modelos de Banco de Dados

Segundo Heuser (2002, p. 5), um modelo de (banco de) dados uma descrio
dos tipos de informaes que esto armazenadas em um banco de dados.
A modelagem de dados uma tcnica que visa facilitar a comunicao entre
o usurio e o analista de sistemas e que modela os dados de uma empresa, usando
tcnicas afins (Modelo Entidade Relacionamento), procurando refletir as atividades
dessa empresa.
Imaginemos um banco de dados que armazene informaes sobre os Alunos.
O modelo de dados poderia informar que o banco de dados armazena informaes
sobre alunos e, para cada aluno, so armazenados matrcula, nome, endereo, tele-
fone, data de nascimento, entre outras informaes.
necessrio observar que o modelo de dados no informa quais alunos sero
armazenados no banco de dados, mas apenas que o banco de dados contm infor-
maes sobre Alunos.
Para construir um modelo de dados, usa-se uma linguagem de modelagem de
dados. Um mesmo modelo pode ser apresentado de vrias formas e utilizando vrios
nveis de abstrao.
Um modelo de dados utilizado para explicar a um usurio leigo sobre um
determinado banco de dados, no deve conter detalhes sobre a representao em
meio fsico das informaes, j que, provavelmente, essas informaes no seriam
compreendidas por esse usurio.
Vamos imaginar, porm, um modelo de dados utilizado por um tcnico para
otimizar a performance de acesso ao banco de dados. Certamente haver mais deta-
lhes de como as informaes esto organizadas internamente, de modo a auxiliar na
tarefa a ser desenvolvida.
Quando falamos em modelos de banco de dados normalmente consideramos

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 20

dois nveis de abstrao: o modelo conceitual e o modelo lgico.

1.1 Modelo Conceitual

Um modelo conceitual uma descrio do banco de dados, independente de


implementao em um SGBD. O modelo conceitual registra que dados podem apare-
cer no banco de dados, mas no registra como esses dados esto armazenados no
SGBD.
Para a representao do modelo conceitual, visualizado na figura 3, a tcnica
mais difundida o Modelo Entidade Relacionamento.

Figura 3 Exemplo de Modelo Conceitual

2 Modelo lgico

Um modelo lgico a descrio do banco de dados, que dever definir ou


apresentar quais as tabelas contidas no banco e, para cada tabela deve ser apresen-
tado o nome das colunas os campos.
O modelo lgico representa a estrutura do Banco de Dados, conforme o usu-
rio do SGBD o v. Tambm define como o banco de dados ser implementado.
A tabela 1 mostra a juno das tabelas curso e aluno.
Tabela: Curso
SiglaCurso DescCurso
AT Automao Industrial
IN Informtica
MA Materiais
TL Telecomunicaes

Tabela: Aluno
Matrcula Nome Telefone SiglaCurso
20070101 Beatriz (47)3422-0000 IN
20070102 Camila (47)3461-0102 AT
20070103 Joo Paluo (47)3465-0501 IN
20070104 Luis Fernando (47)3427-0104 TL

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 21

O modelo lgico das tabelas relacionadas acima :


Curso(SiglaCurso, DescCurso)
Aluno(Matricula, Nome, Telefone, SiglaCurso)

Quando desenvolvemos um projeto de Banco de Dados, primeiramente de-


senvolvemos o modelo conceitual, na forma de diagrama entidade relacionamento.
A partir desse modelo, desenvolvemos o projeto lgico, objetivando transformar o
modelo conceitual desenvolvido em uma definio de como o banco de dados ser
implementado.
Esse processo adequado para o desenvolvimento de um novo projeto de
Banco de Dados. Caso j exista um banco de dados e se pretenda construir um novo,
o processo acima precisar incorporar a etapa de engenharia reversa de banco de da-
dos. No momento no trataremos dessa etapa. A seguir apresentaremos os conceitos
para o desenvolvimento de um modelo Entidade Relacionamento.

3 Abordagem ou Modelo Entidade Relacionamento

O modelo entidade relacionamento usa um conjunto de tabelas para represen-


tar tanto os dados quanto as relaes (relacionamentos) entre eles. Esse conceito
permite ampla utilizao do modelo, fazendo com que a grande maioria dos produtos
de banco de dados tenha como base o modelo relacional.
Segundo Silberschatz, Korth e Sudarshan (2006, p. 25), o modelo relacional
hoje o principal modelo de dados para aplicaes comerciais de processamento de
dados.
O modelo entidade relacionamento foi desenvolvido em 1976, por Peter Chen,
podendo ser considerado um padro para a modelagem conceitual.
Na figura, podemos visualizar os principais conceitos que envolvem o modelo
Entidade Relacionamento, estes conceitos sero detalhados nos captulos a seguir,
objetivando o desenvolvimento da abordagem entidade relacionamento.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 22

Figura 04 Modelo Entidade Relacionamento

Seguem alguns conceitos que envolvem esse modelo, assim como uma nota-
o grfica para os diagramas ER.

3.1 Entidade

Segundo Heuser (2001, p.12) o conceito fundamental da abordagem ER o


conceito de entidade.
Uma entidade pode ser conhecida tambm como tabela, representando um
conjunto de atributos da realidade modelada, sobre os quais se deseja manter infor-
maes no banco de dados, composta de campos e registros. Uma entidade sempre
representa um assunto especfico, que pode ser tanto um objeto como um evento.
Quando uma tabela representa um objeto, est representando alguma coisa
tangvel, como uma pessoa, lugar ou coisa. Este objeto possui vrias caractersticas
que podem ser os campos da tabela. Exemplos de objetos: produtos, clientes, alunos,
pacientes, materiais, empregados, departamento, entre outros.
Quando uma tabela representa um evento, representar algo que ocorre em
determinado espao de tempo. Assim, os fatos de um evento podem ser os campos
de uma tabela. Exemplos de eventos: entrevistas, vendas, visitas, transferncias, en-
tre outros.
Uma entidade ou tabela representada em um modelo ER, por um retngulo
que contm o nome da entidade. Veja a figura 5.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 23

EMPREGADO DEPARTAMENTO
Figura 05 Exemplo de Entidades

Na figura acima, o primeiro retngulo representa o conjunto de todos os empre-


gados sobre os quais se deseja manter informaes no banco de dados, enquanto o
segundo representa o conjunto de todos os departamentos sobre os quais se deseja
manter informaes.

3.2 Atributo

O conceito de atributo serve para associar informaes a ocorrncias de enti-


dades ou de relacionamentos. Um atributo o dado associado a cada ocorrncia de
uma entidade ou de um relacionamento. No desenvolvimento de um modelo entidade
relacionamento, utilizaremos o termo atributo quando estivermos desenvolvendo o
banco de dados. Os atributos sero os campos de uma tabela no banco de dados.
Na prtica, os atributos no so representados graficamente, para no sobre-
carregar os diagramas, j que algumas vezes as entidades possuem um grande n-
mero de atributos. Utiliza-se uma representao textual que aparece separadamente
do modelo ER.

3.3 Chaves

As chaves so fundamentais no desenvolvimento de um banco de dados. Ga-


rantem que cada registro de uma tabela possa ser corretamente identificado. So
usadas para que seja possvel desenvolver o relacionamento entre as entidades, au-
xiliando a impor a integridade no desenvolvimento de um banco de dados.
necessrio ter um a maneira de especificar como as entidades, dentro de um
determinado conjunto de entidades, se distinguem, ou seja, preciso que cada regis-
tro, dentro de um banco de dados seja identificado como nico.
Vamos imaginar uma entidade aluno, onde so armazenadas as informaes:
nome, endereo, telefone, curso, entre outras. preciso que cada aluno cadastrado

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 24

no banco de dados possa ser identificado como um registro nico, para isso, ser ne-
cessrio armazenar a matrcula do aluno, podendo ser um nmero, porm no poder
existir no banco de dados dois alunos com a mesma matrcula. O atributo matrcula
ser a chave primria dentro da entidade aluno.
Desse modo, a chave primria ser um atributo ou campo que ir identificar
cada registro, unicamente. Outro tipo de chave a chave estrangeira, cujo atributo ou
campo utilizado para estabelecer o relacionamento entre duas entidades.

3.3.1 Chave Primria

A chave primria identifica a tabela em toda a estrutura do banco de dados. Os


dados armazenados no campo chave primria devem ser nicos para cada registro
do banco de dados. Essa chave usada para impor integridade tabela, para ajudar
a estabelecer relacionamentos com outras tabelas e para identificar precisamente e
fazer referncia a um registro especfico dentro da tabela.

3.3.2 Chave Estrangeira

Utilizaremos uma chave estrangeira para estabelecer o relacionamento entre


duas entidades ou tabelas. (O conceito de relacionamento ser apresentado a seguir).
Sempre que houver relacionamento do registro de uma entidade qualquer para muitos
(N registros) de outra entidade qualquer, o campo que estiver definido como chave
primria no lado um do relacionamento, ser armazenado como chave estrangeira no
lado N desse relacionamento.
Imaginemos um relacionamento entre uma entidade Produto e Tipo de Produ-
to. Para cada Tipo de Produto pode haver vrios (muitos ou N) registros de Produtos,
porm, para cada produto haver apenas um Tipo de produto, desse modo, o campo
que for definido como chave primria, na entidade Tipo Produto, ser definido como
Chave Estrangeira na entidade Produto.
Trabalharemos com esse conceito quando definirmos os relacionamentos en-
tre as entidades para o desenvolvimento do modelo Entidade Relacionamento.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 25

3.4 Cardinalidade

A cardinalidade de um relacionamento, segundo Heuser (2001, p. 16), pode ser


definida pelas ocorrncias de uma entidade. Podem estar associadas a uma determi-
nada ocorrncia atravs de um relacionamento.
As cardinalidades dizem respeito s ocorrncias do registro de uma entidade
associada a outra. Podemos ter cardinalidade mnima ocorrncia do registro de uma
entidade associado ao registro de outra entidade ou cardinalidade mxima ocor-
rncia de muitos (N) registros de uma entidade associados a uma outra entidade.

3.5 Relacionamento

Segundo Hernandez (2000, p.44), a conexo estabelecida entre duas tabelas


conhecida como relacionamento.
Um relacionamento existe quando as tabelas ou entidades so conectadas
por uma chave primria e uma chave estrangeira. A maneira pela qual as tabelas so
conectadas depende do tipo de relacionamento que ocorre entre elas.
Um relacionamento parte fundamental em um banco de dados, porm, para
aproveitar as vantagens de um banco de dados relacional, muito importante que os
relacionamentos entre as entidades sejam estabelecidos de maneira correta. O erro
no relacionamento entre as entidades pode dificultar o desenvolvimento e a utilizao
do banco de dados, de modo a dificultar a insero, consulta, atualizao e excluso
dos registros nas tabelas relacionadas.
importante conhecermos quais os tipos de relacionamentos que podemos
estabelecer entre as tabelas. A inter-relao de tabelas gerar um tipo especfico de
relacionamento. Saber reconhecer corretamente esses tipos de relacionamentos
fundamental para o desenvolvimento de um banco de dados. Veremos trs tipos de
relacionamentos possveis entre as tabelas: um-para-um, um-para-muitos e muitos-
para-muitos.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 26

3.5.1 Relacionamento Um-para-Um (1-1)

Cada ocorrncia de entidade corresponde a uma e somente uma ocorrncia


na outra entidade.
Desse modo, reconhecemos um relacionamento desse tipo quando um regis-
tro na primeira tabela estiver relacionado a um e somente um registro na segunda
tabela e um registro na segunda tabela estiver relacionado a um e somente um na
primeira tabela.

No exemplo acima podemos verificar um relacionamento um-para-um entre as


entidades Gerente e Departamento, podemos concluir que UM Gerente gerencia UM
e apenas UM Departamento, do mesmo modo que UM Departamento Gerenciado
por UM e apenas UM Gerente, reconhecemos ento um relacionamento um-para-um
entre estas duas entidades.
Para estabelecer um relacionamento desse tipo, deve-se pegar uma cpia da
chave primria da tabela principal e inseri-la na tabela subordinada, para que se torne
uma chave estrangeira, pois a tabela subordinada possui sua prpria chave primria.
No relacionamento entre Gerente e Departamento, a tabela Gerente a tabela
principal, sendo assim, a tabela Departamento dever receber um novo campo ou atri-
buto que ser uma cpia da chave primria da tabela Gerente. Verifique a figura 6.

Figura 06 Relacionamento um-para-um

O campo cod_Ger, chave primria na tabela Gerentes, inserido na tabela


Departamentos como chave estrangeira.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 27

3.5.2 Relacionamento Um-para-Muitos (1 N)

A cada ocorrncia de uma entidade corresponde uma ou mais ocorrncias na


outra entidade.
Sendo assim, um relacionamento desse tipo ocorre quando um registro na pri-
meira tabela se relaciona a um ou mais registros na segunda tabela, mas um registro
na segunda tabela pode estar relacionado a apenas um registro na primeira tabela.

No exemplo, verificamos um relacionamento um-para-muitos entre as entida-


des Cliente e Pedido. Podemos concluir que UM Cliente faz UM ou MUITOS Pedidos,
porm UM Pedido feito por UM e apenas UM Cliente, reconhecemos ento um rela-
cionamento um-para-muitos entre essas duas entidades.
Para desenvolver um relacionamento desse tipo, necessrio fazer uma cpia
do campo ou atributo que chave primria no lado UM do relacionamento e inseri-lo
na tabela do lado N (muitos), onde esse campo ser chave estrangeira.
No relacionamento entre Cliente e Pedido, a tabela do lado UM a tabela
Cliente, desse modo, o campo chave primria nesta tabela ser inserido na tabela
Pedido (lado N) como chave estrangeira, verifique a figura 7.

Figura 07 Relacionamento um-para-muitos

O campo cod_Cli, chave primria na tabela Clientes (lado 1 do relacionamen-


to), inserido na tabela Pedido (lado N do relacionamento) como chave estrangeira.

3.5.3 Relacionamento Muitos-para-Muitos (N N)

A cada ocorrncia de uma entidade corresponde uma ou mais ocorrncias na


outra entidade e cada ocorrncia dessa outra pode ocorrer uma ou mais ocorrncias

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 28

na outra entidade e cada ocorrncia dessa outra pode ocorrer uma ou mais ocorrncias
na primeira.
Um relacionamento desse tipo ocorre quando um registro na primeira tabela
pode ser relacionado a um ou mais registros na segunda tabela e um registro na
segunda tabela pode ser relacionado a um ou mais registros na primeira tabela.

No exemplo acima cada Paciente pode consultar com UM ou MUITOS (N)


mdicos e cada Mdico pode consultar UM ou MUITOS Pacientes, desse modo, temos
um relacionamento muitos-para-muitos (N N).
Quando existir um relacionamento desse tipo entre duas entidades, necessrio
utilizar uma terceira entidade, denominada entidade associativa, para que se torne
possvel a existncia do relacionamento. Neste caso necessrio:
Eliminar o relacionamento N-N;
Criar uma entidade associativa (losango) entre as entidades para substituir o
relacionamento N-N;
Criar relacionamentos 1-N entre as entidades bsicas (retngulo) e a entidade
associativa (losango). As entidades bsicas sempre sero o lado 1 e a entidade
associativa ser o lado N. Vamos verificar como ficaria nosso exemplo, veja a figura
8.

Figura 08 Criao da tabela associativa Consulta

Podemos observar que o relacionamento N N foi quebrado, desse modo,


para estabelecer o vnculo entre esse relacionamento, necessrio que uma cpia
das chaves primrias das entidades bsicas (Paciente e Mdico) sejam inseridas na
tabela associativa como chave estrangeira. A chave primria da tabela associativa
pode ser formada pela juno das duas chaves estrangeiras ou pela criao de um
novo campo como chave primria da tabela associativa. Quando houver necessidade,
a tabela associativa pode receber outros campos que possam trazer informaes

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 29

trazer informaes importantes para esse relacionamento. Veja a figura 9.

Figura 09 Relacionamento muitos-para-muitos

Sntese

Nesta aula voc estudou sobre o desenvolvimento de um Modelo Entidade


Relacionamento. Voc definiu o modelo de banco de dados utilizando os conceitos
de modelagem de dados, estabelecendo quais Entidades/Tabelas faro parte desse
modelo, assim como os relacionamentos entre as entidades.
Verificamos os tipos de relacionamentos que podem existir entre duas tabelas
e como ser estabelecido esse relacionamento, com o uso do campo chave primria
em uma das tabelas e campo chave estrangeira na outra tabela.
Vimos tambm o conceito de cardinalidade, que permite observarmos quantas
ocorrncias de uma entidade podem estar associadas a uma determinada ocorrncia
da outra entidade.
Na prxima aula instalaremos o Vertrigo para que, em seguida, possamos ini-
ciar o desenvolvimento de banco de dados utilizando o MySQL.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 30

Exerccios Propostos

Aps uma excelente leitura desta aula, voc estar apto a responder as questes
seguintes.

1) Assinale a Alternativa correta:


a. ( ) A modelagem de dados uma tcnica que dificultou a comunicao entre o
usurio e o analista de sistemas.
b. ( ) Para construir um modelo de dados, usa-se uma linguagem de modelagem de
dados. Um mesmo modelo pode ser apresentado de vrias formas e utilizando vrios
nveis de abstrao.
c. ( ) Quando falamos em modelo de dados podemos utilizar apenas um modelo que
chamado de modelo lgico.

2) Coloque V Verdadeiro ou F Falso:


a. ( ) O modelo entidade relacionamento foi desenvolvido em 1976 por Peter Chen,
podendo ser considerado um padro para a modelagem conceitual.
b. ( ) As entidades so representadas em um modelo entidade relacionamento pela
figura de um retngulo, porm o conceito de entidade no de grande importncia
para o desenvolvimetno de um modelo ER.
c. ( ) A chave primria ser um atributo ou campo que ir identificar unicamente cada
registro. Outro tipo de chave a chave estrangeira que um atributo ou campo utili-
zado para estabelecer o relacionamento entre duas entidades.
d. ( ) A cardinalidade em um modelo ER diz respeito ao nmero de entidades existen-
tes no modelo a ser desenvolvido.
e. ( ) Um relacionamento existe quando as tabelas ou entidades so conectadas por
uma chave primria e uma chave estrangeira.

3) Quais os trs tipos de relacionamentos possveis entre duas entidades?


___________________________________________________________________
____________________________________________________________________

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 31

4) Coloque V Verdadeiro ou F Falso:


a. ( ) O modelo conceitual registra que dados podem aparecer no banco de dados,
mas no registra como estes dados esto armazenados no SGBD.
b. ( ) Para a representao do modelo Lgico a tcnica mais difundida o Modelo
Entidade Relacionamento
c. ( ) Um modelo lgico descrio do banco de dados, que dever definir ou apre-
sentar quais as tabelas que o banco contm, e para cada tabela no necessrio
apresentar os campos.
d. ( ) Quando desenvolvemos um projeto de Banco de Dados primeiramente de-
senvolvido o modelo conceitual, na forma de diagrama entidade relacionamento.
e. ( ) O projeto lgico desenvolvido baseando-se no desenvolvimento de outros
projetos, no sendo necessrio que seja desenvolvido a partir do modelo conceitual
do banco de dados a ser desenvolvido.

5) Faa o modelo entidade relacionamento e identifique os relacionamentos


existentes entre as seguintes entidades:
a. Correntista - Conta Corrente
b. Departamento - Empregado
c. Aluno - Curso
d. Funcionrio - Dependente
e. Turma - Aluno

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 32

Aula 3
INSTALANDO O VERTRIGO

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Instalar adequadamente Vertrigo;


Identificar os componentes do Vertrigo.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

O que o Vertrigo;
Instalando o Vertrigo;
Exerccios Propostos.

Ol! Seja bem-vindo(a) a nossa terceira aula. Na aula


anterior conhecemos os conceitos que envolvem a mo-
delagem de um banco de dados. antes, porm, de ini-
ciarmos a criao de um banco de dados na prtica, precisamos
instalar a ferramenta que utilizaremos. Assim, faremos a instalao
do VertrigoServ. Acompanhe os passos apresentados nesta aula e
vamos instalar o MySQL para que possamos criar nosso banco de
dados em MySQL nas prximas aulas.
Boa Aula!!

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 33

1 O que o Vertrigo

VertrigoServ foi desenvolvido para disponibilizar um pacote altamente profissio-


nal e de fcil instalao do Apache (servidor web HTTP), PHP (linguagem de progra-
mao), MySQL (Sistema Gerenciador de Base de dados SQL), SQLite (sistema ge-
renciador de base de dados relacional ACID-compliant), SQLiteManager (ferramenta
web multi-linguagem para gerenciar base de dados SQLite), PhpMyAdmin (ferramenta
escrita em PHP que objetiva manusear a administrao do MySQL) e Zend Optimizer
(para aumentar o desempenho do runtime at 40%) para plataforma Windows.
Possui um instalador, tornando o processo de instalao dos componentes ci-
tados muito simples, todos os componentes so instalados em um nico diretrio e
podem ser usados imediatamente ao trmino do processo de instalao. Um desins-
talador permite remover o VertrigoServ do disco rgido.

2 Instalando o Vertrigo

Para instalar o Vertrigo, voc pode fazer o download no site http://vertrigo.


sourceforge.net/?lang=br em seguida, vamos detalhar o processo de instalao.
Aps o download, d um duplo clique no arquivo para iniciar a instalao. ne-
cessrio escolher o idioma para continuar a instalao. Selecione o idioma Portugus
(do Brasil) e clique no boto OK, conforme mostra a figura 10.

Figura 10 Selecionando o idioma para instalao do Vertrigo

A tela de boas-vindas ser apresentada ao assistente, que auxiliar durante

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 34

todo o processo de instalao. Nessa tela, voc deve apenas verificar as informaes
apresentadas e clicar no boto Avanar, conforme mostra a figura 11.

Figura 11 Tela de Boas Vindas ao assistente de instalao do Vertrigo

A prxima tela apresentar o contrato de licena para que possa ser feita a
leitura das informaes.
Clique no boto Concordo para continuar a instalao.
Verifique a tela que ser apresentada na figura 12.

Figura 12 Tela do Contrato de Licena

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 35

A prxima etapa para escolhermos os componentes que sero instalados.


Com a seleo na opo VertrigoServ, todos os itens que foram detalhados no incio
desse captulo sero intalados, com a seleo na opo Desktop Shortcut ser cria-
do um cone do VertrigoServ, na rea de trabalho. Verifique que nessa tela tambm
apresentado o espao necessrio em disco para a instalao dos itens selecionados.
Selecione os componentes para instalo e clique no boto Avanar,conforme mos-
tra a figura 13.

Figura 13 Escolha dos Componentes para instalao

Em seguida, devemos escolher o local onde os arquivos do VertrigoServ se-


ro gravados em seu computador. Ser mostrada a sugesto de Pasta de Destino,
para alterar o local de instalao. Clique no boto Procurar e selecione a pasta onde
deseja que as informaes sejam salvas. Nessa tela tambm so mostradas outras
duas informaes importantes, o espao necessrio para a instalao e o espao
disponvel no computador onde o VertrigoServ ser instalado. Verifique essas info-
maes para garantir que existe espao disponvel suficiente para que a instalao
possa acontecer. Aps definir a pasta de destino e verificar as infomaes de espao
para a instalao, clique no boto Avanar, conforme mostra a figura 14.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 36

Figura 14 Escolha do Local de Instalao

Agora necessrio definir uma pasta do Menu Iniciar para criar um atalho
para o VertrigoServ. Voc poder selecionar uma pasta existente ou digitar o nome da
pasta que deseja criar. Se a opo No Criar Atalhos for selecionada no ser criado
um atalho do VertrigoServer no Menu Iniciar. Defina o nome da pasta a ser criada e,
em seguida, clique no boto Instalar. Verifique esses itens na figura 15.

Figura 15 Definir pasta do Menu Iniciar para os atalhos do VertrigoServ

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 37

Em seguida, ser apresentada uma tela de acompanhamento da instalao,


que fechar sozinha quando a instalao for concluda, verifique a figura 16.

Figura 16 Acompanhamento da instalao

A instalao do VertrigoServ foi concluda. Nesta tela voc pode selecionar


uma opo para executar o VertrigoServ, alm de poder selecionar outra opo para
Mostrar Leiame, arquivo com algumas informaes bastante importantes em relao
ao VertrigoServ, principalmente em relao s senhas defaults que so definidas du-
rante a instalo. Verifique essas informaes, selecionando a opo para executar
Leiame. Selecione as opes e clique no boto Terminar. Verifique as informaes na
figura 17.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 38

Figura 17 Finalizando a instalao

Ainda ser apresentada uma tela antes de iniciar o VertrigoServ. Clique no bo-
to Hide this Window and start server, para que a janela mostrada seja fechada e o
VertrigoServer possa ser iniciado. Verifique o procedimento na figura 18.

Figura 18 Inicializando o VertrigoServer

Neste momento o VertrigoServer foi iniciado, podemos ento utilizar o Banco


de Dados MySQL que foi instalado para criar nossos banco de dados na prtica.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 39

Sntese

Nesta aula instalamos o VertrigoServ, que servir para a instalao do banco


de dados MySQL, alm de outras ferramentas utilizadas no desenvolvimento de apli-
caes Web como, Apache, que o servidor Web HTTP, a linguagem de programa-
o, entre outras ferramentas comentadas anteriormente.
Para cada uma das etapas do processo de instalao do VertrigoServ, detalha-
mos os passos que devemos seguir de modo a permitir a criao de nosso Banco de
Dados.
Na prxima aula utilizaremos o banco de dados MySQL.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 40

Aula 4
CRIANDO UM BANCO DE DADOS NO
MySQL

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Analisar as caractersticas do Banco de Dados MySQL;


Identificar os comandos para criao e excluso de um Banco de
Dados;
Utilizar as principais instrues do MySQL.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

Banco de Dados MySQL;


Criando um Banco de Dados;
Excluindo um Bando de Dados;
Criando Tabelas;
Excluindo Tabelas;
Exerccios Propostos.
Ol! Seja bem- vindo(a) a nossa quarta aula. Voc j
tomou conhecimento dos conceitos de Banco de Dados
e Modelagem de Dados. Agora j podemos iniciar o de-
senvolvimento de um Banco de Dados na prtica. Primeiramente,
nos familiarizaremos com o MySQL e, a partir da, criaremos tabelas
para este novo banco de dados. Acompanhe os conceitos apresen-
tados nesta aula e vamos criar nosso banco de dados em MySQL.
Boa Aula!!

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 41

1 Histrico do MySQL

O MySQL foi criado na Sucia por dois suecos: David Axmark, Allan Larsson,
e um finlands: Michael Monty Widenius, que trabalham juntos desde a dcada de
1980.
O MySQL se tornou o mais popular banco de dados open source (cdigo aber-
to) do mundo, porque possui consistncia, alta performance, confiabilidade e fcil de
usar. um srio competidor para os maiores sistemas de banco de dados existentes
para aplicaes de pequeno e mdio porte.
O MySQL comeou como uma ferramenta para atender a uma necessidade in-
terna. Quando surgiu, era apenas um substituto para o ultrapassado sistema de ban-
co de dados mSQL. Ao relacionarem tabelas usando rotinas ISAM por sinal muito
rpidas - no mSQL, os autores conseguiram uma verso atualizada a que chamaram
MySQL.

ISAM a abreviatura de Indexed Sequential Access Method (mtodo de


acesso seqencial indexado) cujos dados, segundo Buyens (2002, p.36), so
armazenados seqencialmente em um arquivo de disco.
Desse modo, a recuperao dos dados feita por meio de um ndice que espe-
cifica o deslocamento no arquivo de dados, tornando as rotinas de leitura dos dados
mais rpidas.
Atualmente, o MySQL usado em mais de 6 milhes de instalaes, em todos
os continentes. Alm disso, o MySQL se tornou a escolha de uma nova gerao de
aplicaes, que utiliza o modelo LAMP (Linux, Apache, MySQL, PHP). Funciona em
mais de 20 plataformas, incluindo Linux, Windows, HP-UX, AIX, Netware, permitindo
que exista flexibilidade e controle.
O MySQL desenvolvido, distribudo e tem suporte da MySQL AB, empresa
comercial, fundada pelos desenvolvedores do MySQL, cujos negcios fornecer ser-
vios relacionados ao sistema de gerenciamento de banco de dados MySQL. O site
do MySQL http://www.mysql.com onde podem ser encontradas informaes atua-
lizadas sobre o MySQL e a empresa desenvolvedora a MySQL AB.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 42

A origem do nome MySQL um mistrio at mesmo para os autores. Se-


gundo eles, os diretrios-base e um grande nmero de suas bibliotecas e ferra-
mentas sempre tiveram o prefixo my, pelo menos por 10 anos. A filha de Monty
tambm ganhou o nome My. Qual das duas originou o nome do MySQL continua
sendo uma incgnita.
O golfinho foi escolhido como um smbolo para o banco de dados MySQL j
que ele esperto, rpido e um animal gil, se esforando em navegar pelos oceanos
de dados. O nome do golfinho do MySQL (logo do MySQL) Sakila, escolhido pelos
fundadores da MySQL AB, a partir de uma enorme lista de nomes sugeridos pelos
usurios em um concurso Name the Dolphin. De acordo com o vencedor, o nome
Sakila tem as suas razes em SiSwati, a lngua local de Swaziland. Sakila tambm
o nome de uma cidade em Arusha, Tanzania, prxima ao pas de origem do vencedor
do concurso, Uganda.

2 O que o MySQL?

O MySQL um sistema de gerenciamento de banco de dados (SGBD), que


utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estru-
turada) como interface. A SQL um padro de comunicao com banco de dados de
qualquer tipo.
Vamos verificar algumas caractersticas do MySQL, segundo o WIKIPDIA:
Portabilidade (suporta praticamente qualquer plataforma atual)
Compatibilidade (existem drivers ODBC, JDBC e .NET e mdulos de interface para
diversas linguagens de programao, como Delphi, Java, C/C++, Python, Perl, PHP
e Ruby)
Excelente desempenho e estabilidade;
Pouco exigente quanto a recursos de hardware;
Facilidade de uso;
um Software Livre;
Suporte a vrios tipos de tabelas (como MyISAM e InnoDB), cada um especfico para
um fim;

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 43

Faltam alguns recursos quando comparados a outros banco de dados, como o Pos-
tgreSQL.
De acordo com as caractersticas apresentadas, podemos perceber algumas
vantagens na utilizao desse banco de dados, principalmente no que diz respeito
compatibilidade com interfaces para vrias linguagens, portabilidade de utilizar qual-
quer plataforma para desenvolvimento. importante tambm percebermos que um
banco de dados que exige poucos recursos de hardware e tem grande facilidade de
uso, tendo como base a linguagem SQL.

3 Criando um Banco de Bados

Na aula anterior, instalamos o servidor Apache, o PHP e o MySQL. Agora inicia-


remos a criao de um banco de dados utilizando o MySQL, que como qualquer outro
SGBD, permite a criao de vrios bancos.
H duas maneiras de administrarmos os bancos de dados criados: pelo console do
MySQL ou utilizando a ferramnta mysqladmin. Utilizaremos o console do MySQL para
criao do Banco de Dados.
Para acessar o console do MySQL voc deve clicar no cone do VertigoServ, que se
encontra na barra de tarefas. A figura 19 mostra o cone do Vertrigo.

Figura 19 cone do Vertrigo na barra de tarefas

Em seguida, escolha a opo Tools e clique em MySQL Console (for root).


Verifique a figura 20.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 44

Figura 20 Abrindo o MySQL Console

Ao se abrir a tela do MySQL Console, necessrio digitar a senha de acesso,


nesse caso, o usurio o root (administrador), a senha padro aps a intalao
vertrigo. Digite a senha e ser permitido o acesso para que possamos iniciar a criao
de um banco de dados. Observe na figura 21a tela inicial do MySQL Console aps o
login.

Figura 21 Tela inicial do MySQL Console

Primeiramente, criaremos o banco de dados (figura 22), em seguida, adiciona-


remos as tabelas ao banco (figura 23). Com o MySQL Console iniciado, basta digi-
tarmos o comando responsvel por criar um banco de dados novo. Observe que, ao
final de cada comando, necessrio colocar o ; (ponto e vrgula) para indicar o final
do comando que pretendemos executar.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 45

CREATE DATABASE nome_do_banco_de_dados;

Figura 22 Criando Banco produto

Agora criaremos o banco produto (figura 23) para podermos acrescentar as


tabelas.
Em algum momento, pode ser que seja necessrio mostrar todos os bancos de dados
criados, para list-los, utilize o comando:
SHOW DATABASES;

Verifique o exemplo de execuo desse comando na figura 23, onde sero


apresentados os nomes de todos os bancos criados.

Figura 23 Mostrando os Bancos de Dados criados

A lista de bancos de dados provavelmente ser diferente na sua mquina, mas


os bancos de dados MySQL e test provavelmente estaro entre eles. O banco de
dados MySQL necessrio porque descreve privilgios de acessos de usurios. O
banco de dados test geralmente fornecido como um espao para que os usurios
possam fazer testes.
Verifique na figura 23 a listagem dos banco de dados existentes, se houver
necessidade de excluir o banco de dados aluno, utilize o comando demonstrado a
seguir:

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 46

DROP DATABASE nome_do_banco_de_dados;

Verifique a execuo desse comando na figura 24. Observe que utilizamos o


comando drop database para fazer a excluso do banco. A seguir, utilize novamente
o comando show databases. Verifique que o banco de dados aluno no mais aparece
na listagem, portanto, confirmamos a excluso deste banco de dados.

Figura 24 Excluido Banco de Dados Aluno

Criado o banco de dados produto, iniciaremos a criao das tabelas que faro
parte do banco.
Acesse o banco de dados produto (figura 24), executando o comando:
USE nome_do_banco_de_dados


Figura 25 Acessando o Banco de Dados produto

Perceba que o USE no necessita de um ponto e vrgula. (Voc pode terminar


tais declaraes com um ponto e vrgula, se preferir; isso no ir ocasionar nenhum
tipo de erro). A instruo USE especial em outra maneira, tambm: deve ser usada
em uma nica linha. Para conseguir utilizar um banco de dados, necessrio ter per-
misso de acesso a este banco, neste caso, utilizaremos o usurio root, para termos
acesso a todos os bancos.
Para iniciar a criao das tabelas para o banco de dados produto, necessrio
conhecer os tipos de dados que poderemos utilizar para a definio dos campos de
cada tabela.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 47

4 Tipos de Dados no MySQL

O MySQL suporta vrios tipos de dados e podemos agrup-los em trs grandes


grupos:
Tipos Numricos;
Tipos de Data;
Tipos de Cadeia.

4.1 Tipos numricos

Os tipos de dados numricos podem ser divididos em nmeros com casas deci-
mais ou nmeros que no tem casas decimais. Verifique os principais tipos numricos
na tabela a seguir.

Tipo de Dados Descrio


um nmero inteiro com ou sem sinal. Com
TinyInt sinal a margem de valores vlidos desde
-128 at 127. Sem sinal, a margem de valo-
res de 0 at 255.
Bit ou Bool um nmero inteiro que pode ser 0 ou 1.
nmero inteiro com ou sem sinal. Com si-
SmallInt nal a margem de valores vlidos desde
-32768 at 32767. Sem sinal, a margem de
valores de 0 at 65535.
nmero inteiro com ou sem sinal. Com si-
MediumInt nal a margem de valores vlidos desde
-8.388.608 at 8.388.607. Sem sinal, a mar-
gem de valores de 0 at 16777215.
nmero inteiro com ou sem sinal. Com si-
Integer, Int nal a margem de valores vlidos desde
-2147483648 at 2147483647. Sem sinal, a
margem de valores de 0 at 429.496.295
BigInt nmero inteiro com ou sem sinal. Com sinal
a margem de valores vlidos desde -9.223
.372.036.854.775.808 at 9.223.372.036.85
4.775.807. Sem sinal, a margem de valores
de 0 at 18.446.744.073.709.551.615.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 48

Tipo de Dados Descrio


Nmero com casas decimais de preciso
simples. Os valores vlidos vo desde -
Float 3.402823466E+38 at -1.175494351E-
38,0 ou desde 175494351E-38 at
3.402823466E+38.
Nmero com casas decimais de du-
pla preciso. Os valores permitidos vo
xReal, Doubl desde 1.7976931348623157E+308 at
-2.2250738585072014E-308, 0 e des-
de 2.2250738585072014E-308 at
1.7976931348623157E+308
Decimal, Dec, Nmero com casas decimais desempaco-
Numeric tado. O nmero armazenado como uma
cadeia.

Observe na tabela abaixo o tamanho de armazenamento necessrio para cria-


o de um campo utilizando os tipos de dados listados:

Tipo de Campo Tamanho de Armazenamento


TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
INT 4 bytes
INTEGER 4 bytes
BIGINT 8 bytes
FLOAT(X) 4 a 8 bytes
FLOAT 4 a 8 bytes
DOUBLE 8 bytes
DOUBLE PRECISION 8 bytes
REAL 8 bytes
DECIMAL(M,D) M+2 bytes se D > 0, M+1 bytes se D = 0
NUMERIC(M,D) M+2 bytes se D > 0, M+1 bytes se D = 0

4.2 Tipos Data

Quando existir a necessidade de armazenar datas, porm o MySQL no verifica


se a data que foi armazenada vlida ou no. Simplesmente comprova que o ms
est compreendido entre 0 e 12 e que o dia est compreendido entre 0 e 31.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 49

Verifique os principais tipos data na tabela a seguir.

Tipo de Dados Descrio


tipo data, armazena uma data. A margem
Date de valores vai desde o 1 de Janeiro de 1001
ao 31 de dezembro de 9999. O formato de
armazenamento de ano-mes-dia.
Combinao de data e hora. A margem de
valores vai desde o 1 de Janeiro de 1001 s
0 horas, 0 minutos e 0 segundos ao 31 de
DateTime Dezembro de 9999 s 23 horas, 59 minu-
tos e 59 segundos. O formato de armaze-
namento de ano-mes-dia horas:minutos:
segundos
TimeStamp Combinao de data e hora.
Time armazena uma hora. O formato de armaze-
namento HH:MM:SS.
armazena um ano. O campo pode ter ta-
Year manho dois ou tamanho 4 dependendo de
se queremos armazenar o ano com dois ou
quatro algarismos.

O formato de armazenamento depende do tamanho do campo:

Tamanho Formato
14 AnoMesDiaHoraMinutoSegundo aaaammddhhmmss
12 AnoMesDiaHoraMinutoSegundo aammddhhmmss
8 AnoMesDia aaaammdd
6 AnoMesDia aammdd
4 AnoMes aamm
2 Ano aa

Verifique o tamanho de armazenamento para os campos criados utilizando os


tipos de data:

Tipo de Campo Tamanho de Armazenamento


DATE 3 bytes
DATETIME 8 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 50

4.3 Tipos de Cadeia

Para armazenar valores de cadeia de caracteres, podemos utilizar os tipos de


dados apresentados na tabela a seguir.

Tipo de Dados Descrio


Char(n) armazena valor de caracter de tamanho fixo. Valores inferiores
ao tamanho definido sero deixados em branco. Poder conter
desde 0 at 255 caracteres.
VarChar(n) armazena valor de caracter de tamanho varivel. Valores inferio-
res ao tamanho definido sero suprimidos. Poder conter desde
0 at 255 caracteres.
Blob e Text um texto com um mximo de 65535 caracteres
MediumBlob e um texto com um mximo de 16.777.215 caracteres.
MediumText
LongBlob e um texto com um mximo de caracteres 4.294.967.295.
LongText
Enum campo que pode ter um nico valor ou uma lista de valores. O tipo
Enum aceita at 65535 valores diferentes.
Set um campo que pode conter nenhum, um ou vrios valores de uma
lista. A lista pode ter um mximo de 64 valores.

Dentro dos tipos de cadeia, podem-se distinguir dois subtipos, o tipo Test e
o tipo Blob (Binary Large Object) A diferena entre um tipo e outro o tratamento
que recebem na hora de orden-los e compar-los. No tipo test ordenam-se, sem ter
importncia, as maisculas e as minsculas, e no tipo blob, ordenam-se tendo em
conta as maisculas e minsculas.
Diferena de armazenamento entre os tipos Char e VarChar

Valor CHAR(4) Armazenamento VARCHAR(4) Armazenamento


4 bytes 1 byte
ab ab 4 bytes ab 3 bytes
abcd abcd 4 bytes abcd
abcdefgh abcd 4 bytes abcd 5 bytes

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 51

Sntese

Nesta aula voc conheceu o histrico do banco de dados MySQL, principais


caractersticas, utilizao para o gerenciamento de aplicaes que necessitem da
utilizao de um banco de dados de grande capacidade.
Utilizamos os recursos do VertigoServ, instalado anteriormente para a criao
de um banco de dados. Tambm conhecemos os comandos necessrios para a
criao de um banco de dados, objetivando a criao de tabelas.
Finalmente, aprendemos como utilizar os comandos MySQL para excluir um
banco de dados existente, alm de conhecer os principais tipos de dados que sero
utilizados para a criao das tabelas.
Na prxima aula adicionaremos as tabelas ao banco de dados, assim como,
alteraremos e excluiremos tabelas, usando os comandos MySQL.

Exerccios Propostos

1) Assinale a Alternativa incorreta:


a. ( ) O MySQL tornou-se o mais popular banco de dados open source do mundo e
um srio competidor para os maiores sistemas de banco de dados para aplicaes
de pequeno e mdio porte.
b. ( ) Quando surgiu o MySQL era um substituto para o sistema de banco de dados
mSQL.
c. ( ) O MySQL desenvolvido por um conjunto de empresas, sendo administradas
pelos desenvolvedores do MySQL, com o objetivo de fornecer servios relacionados
ao MySQL.
d. ( ) O smbolo do MySQL um golfinho, o nome do golfinho foi escolhido atravs

2) Coloque V Verdadeiro ou F Falso em relao as caractersticas do


MySQL:
a. ( ) um banco de dados desenvolvido apenas para a plataforma Windows.
b. ( ) Excelente desempenho e estabilidade alm de ser pouco exigente quanto a

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 52

recursos de hardware.
c. ( ) Facilidade de uso.
d. ( ) necessrio comprar uma licena de uso para gerenciamento de um servidor
de banco de dados.
e. ( ) Suporte a vrios tipos de tabelas (como MyISAM e InnoDB), cada um especfico
para um fim.

3) Coloque V Verdadeiro ou F Falso:


a. ( ) O comando show databases; utilizado para visualizar os bancos de dados
existentes, ser apresentada uma listagem com os bancos criados.
b. ( ) Para iniciar a utilizao de um banco de dados em MySQL necessrio
apenas utizar o comando create database e logo em seguida iniciar a criao das
tabelas para este banco.
c. ( ) O comando drop database nome_do_banco; utilizado para alterar o nome
de um banco de dados j criado anteriormente.
d. ( ) O comando use nome_do_banco; deve ser utilizado aps a criao do
banco de dados, deste modo estamos mostrando ao MySQL qual o banco de dados
estaremos utlizando.
e. ( ) Para excluir um banco de dados MySQL utlizamos o comando delete.

4) Assinale a(s) Alternativa(s) correta(s) em relao a utilizao dos comandos


MySQL:
a. ( ) Para criar um novo banco de dados chamado exercicio utilizamos o comando:
create new database exercicio;
b. ( ) Para visualizar os bancos de dados criados utilizamos o comando: show
databases nome_do_banco;
c. ( ) Para excluir um banco de dados necessrio utilizar o comando drop associado
ao nome do banco de dados a ser excluido utilizando o comando a seguir para excluir
o banco exercicio: drop database exercicio;
d. ( ) Aps utiizar o comando create database para criar o banco de dados, utizamos
o comando use para iniciar a utilizao do banco, para o banco criar o banco exercicio
e utiliza-lo usamos os comandos: create database exercicio; e use exercicio.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 53

Aula 5
CRIANDO, ALTERANDO E EXCLUIN-
DO TABELAS NO MySQL

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Identificar os comandos utilizados para a criao de tabelas em


um banco de dados MySQL;
Identificar os comandos utilizados para excluso de tabelas;
Identificar os comandos utilizados para alterar, excluir ou acres-
centar campos em uma tabela.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

Criando tabelas;
Visualizando tabelas e os campos;
Alterando tabelas;
Excluindo tabelas;
Utilizando ndices;
Exerccios propostos.

Ol! Voc aprimorou um pouco mais seus conhecimen-


tos, criando um banco de dados utilizando o MySQL
Console, alm disso, voc conheceu os tipos de dados que utiliza-
remos para definir o tipo de cada um dos campos da tabelas que
criaremos. Neste momento, adicionaremos as tabelas ao banco

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 54

de dados criado, alm de verificar os comandos utilizados para visualizar e excluir as


tabelas. Vamos continuar nosso estudo do banco de dados MySQL com a criao da
tabelas.
Boa Aula!

1 Criando Tabelas

J criamos um banco de dados, porm necessrio criar as tabelas para esse


banco. Criaremos duas tabelas para o banco produto com os campos descritos a
seguir. Criaremos a tabela produto e a tabela tipo_prod.

Tabela tipo_prod
Campos Tipos de Dados
Cod_tipo int(5)
Desc_tipo varchar(50)

Para a tabela tipo_prod criaremos dois campos, um para armazenar o cdigo


e outro a descrio do tipo de produto.

Tabela Produto
Campos Tipos de Dados
cod_prod int(5)
cod_tipo int(5)
desc_tipo varchar(50)
preco_prod decimal(16,2)
quant_prod int(4)

Para a tabela produto, criaremos cinco campos, conforme descrito na tabela


acima, o campo cod_tipo chave estrangeira na tabela produto, o relacionamento
existente entre as duas tabelas um relacionamento 1 N.

Figura 26 Relacionamento entre Produto e Tipo_prod

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 55

Para criar uma tabela no MySQL, utilizaremos o comando CREATE TABLE.


Verifique o exemplo, na figura 27, onde apresentaremos a criao da tabela tipo_
prod.

Figura 27 Criando a tabela tipo_prod

A sintaxe do comando CREATE TABLE :


CREATE TABLE nome_da_tabela(campo tipo(tamanho) null/not null, campo2
tipo(tamanho) null/not null ..., primary key (campo));
Para cada tabela necessrio especificar um nome, em seguida deve ser
detalhado o nome de cada campo a ser criado, assim como o tipo de dado e o tamanho
do campo. A opo null/not null ir indicar se o campo aceita valores nulos ou no. O
item primary key est especificando qual campo ser a chave primria dessa tabela.
Para a criao da tabela produto, verifique o comando na figura 28, onde, do
mesmo modo que na tabela tipo_prod necessrio especificar o nome, tipo de dado
e tamanho para cada campo a ser criado, alm de especificar o campo que ser
chave primria. Verifique que, para o campo cod_tipo (chave estrangeira) foi utilizado
o comando references e mostrado que a referncia para este campo o campo
da tabela tipo_prod o campo cod_tipo. Quando utilizamos esse comando, estamos
fazendo a ligao do campo cod_tipo, da tabela produto, chave estrangeira - com o
campo cod_tipo da tabela tipo_prod - chave primria - no lado 1 do relacionamento
entre produto e tipo_prod. O relacionamento entre as duas tabelas criado nesse
momento. Verifique todas estas informaes na figura 28.

Figura 28 Criando a tabela produto

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 56

A seguir, observe a criao de mais uma tabela, para que possamos aplicar os
comandos de alterao e excluso de tabelas. Crie a tabela teste, conforme mostra a
figura 29. Observe, contudo, que esta tabela no est relacionada com as outras duas
tabelas criadas.

Figura 29 Criando tabela teste

Agora voc j aprendeu a criar tabelas para um banco de dados em MySQL, a


seguir, conheceremos outros comandos para continuarmos trabalhando com tabelas
e aprendendo um pouco mais sobre o MySQL.

2 Visualizando Tabelas e Campos

Primeiramente vamos verificar como visualizar as tabelas de um banco de


dados. Para isso, usaremos o comando SHOW TABLES de duas maneiras, conforme
mostra a figura 30.

Figura 30 Visualizando tabelas do banco produto.

Ao criarmos o banco produto, na aula 4, utilizamos o comando use para


acessarmos o banco criado. Ao utilizarmos apenas o comando SHOW TABLES sero
mostradas as tabelas do banco em uso, ou seja, do banco produto. Porm, podemos

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 57

utilizar este comando especificando de qual banco de dados queremos visualizar as


tabelas, usando a seguinta sintaxe:
SHOW TABLES from nome_do_banco_de_dados;

Para visualizar os campos de uma tabela podemos utilizar o comando describe
ou desc, usando a seguinte sintaxe:
DESCRIBE nome_da_tabela;

Figura 31 Visualizando tabela produto usando comando describe

Na figura 31, apresentamos o resultado da execuo do comando describe


para a tabela produto. Verifique que aparecem: o nome de cada campo, o tipo de
dado. A opo null recebeu o valor NO, pois na criao do campo foi especificado
como not null. No item KEY demonstra-se qual campo a chave primria.
Existe outro comando que mostrar o mesmo resultado do comando describe,
verifique na figura 32.

Figura 32 Visualizando tabela produto usando comando show columns

As informaes mostradas na figura 32 so as mesmas da figura 31, porm


com o comando SHOW COLUMNS, que deve respeitar a sintaxe.
SHOW COLUMNS from nome_da_tabela;
Para visualizarmos os campos de uma tabela, podemos utilizar ainda o comando

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 58

SHOW FIELDS, respeitando a sintaxe:


SHOW FIELDS from nome_da_tabela;
Verifique o exemplo na figura 33, para visualizar os campos da tabela produto.

Figura 33 Visualizando tabela produto usando comando show fields

Agora que j aprendemos como visualizar as tabelas de um banco de dados e


os campos de cada tabela, vamos verificar como alterar a estrutura de uma tabela.

3 Alterando Tabelas

Quando existir a necessidade de fazer alteraes na estrutura de uma tabela


criada, utilizamos o comando ALTER TABLE. Podemos adicionar um novo campo
utilizando este comando, observe o exemplo na figura 34 e a sintaxe do comando
apresentada a seguir:
ALTER TABLE nome_da_tabela add nome_do_novo_campo tipo_de_
dado(tamanho);

Figura 34 Alterando tabela produto inserindo novo campo

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 59

Para adicionar um novo campo, necessrio informar o nome do novo campo,


o tipo de dado e tamanho. O item add est informando ao comando ALTER TABLE
que ser acrescentado um novo campo. No exemplo da figura 34 foi inserido um cam-
po chamado imp_prod, verifique que logo a seguir foi utilizado o comando describe
para mostrar os campos da tabela produto, mostrando, deste modo, o novo campo
inserido.
Alm de inserir um novo campo, o comando ALTER TABLE, permite alterar as
informaes de um campo j existente. Verifique o exemplo na figura 35 e a sintaxe
do comando:
ALTER TABLE nome_da_tabela change nome_atual_do_campo novo_nome_
do_campo tipo_de_dado(tamanho);

Figura 35 Alterando campo da tabela produto


Para alterar um campo necessrio informar o nome do novo campo, o tipo
de dado e o tamanho. O item change informa ao comando ALTER TABLE que have-
r alterao em um campo. No exemplo da figura 35 foi alterado o campo chamado
imp_prod, o nome do campo foi alterado para imposto_prod e o tamanho do campo
tambm foi alterado, poderamos tambm ter alterado o tipo de dado desse campo.
Verifique que, logo a seguir, foi utilizado o comando describe para mostrar os campos
da tabela produto e alterao feita no campo imp_prod.
Com o comando ALTER TABLE, conseguimos excluir um campo da tabela, an-
tes, porm, utilize o comando ALTER TABLE para inserir um novo campo chamado tes-
te_prod, conforme mostra a figura 36, em seguida faremos a excluso desse campo.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 60

Figura 36 Inserindo campo teste_prod

Verifique na figura 37 como utilizar o comando ALTER TABLE para excluir um


campo. Veja, a seguir, a sintaxe do comando:
ALTER TABLE nome_da_tabela drop nome_do_campo;

Figura 37 Excluindo campo da tabela


Para excluir um campo, necessrio informar o nome do campo que ser
excludo. O item drop informa ao comando ALTER TABLE que ser excludo um
campo. No exemplo da figura 37 foi excludo o campo teste_prod. Verifique que, logo
a seguir, foi utilizado o comando describe, para mostrar os campos da tabela produto
e o campo teste_prod excludo.
Para finalizarmos essa aula, estudaremos o comando para excluir uma tabela
do nosso banco de dados.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 61

4 Excluindo Tabelas

Para excluir uma tabela, utilizamos o comando DROP TABLE, porm necessrio
muito cuidado na utilizao desse comando, pois apagaremos todas as informaes
armazenadas, quando apagamos uma tabela. Verifique o exemplo de utilizao deste
comando na figura 38, a sintaxe do comando apresentada a seguir:
DROP TABLE nome_da_tabela;

Figura 38 Excluindo tabela Teste.

No figura 38 demonstramos o comando utilizado para excluir a tabela teste,


voc poder utilizar o comando SHOW TABLES para mostrar as tabelas do banco e
verificar a excluso da tabela teste.

5 Utilizando ndices

Um ndice um arquivo estruturado que facilita o acesso aos dados armazenados


em um banco de dados. Um ndice, em um campo correto, aumentar a velocidade de
uma consulta, consideravelmente.
O objetivo de um ndice trabalhar da mesma forma que uma pasta com
separadores alfabticos em um arquivo. Se voc estiver procurando por um nome
em um arquivo organizado com separadores alfabticos, poder ir diretamente letra
correspondente ao nome que deseja encontrar, sem ter a necessidade de passar por
todos os nomes que estiverem nas outras letras. Isso tornar sua pesquisa mais fcil
de ser realizada, sem a necessidade de examinar registros desnecessrios.
Os ndices auxiliaro imensamente no momento de desenvolver uma consulta,
porm, se a tarefa for inserir um registro, o processo ser um pouco mais lento do
que a mesma tarefa em uma tabela que no tenha ndices, pois o registro dever ser
iserido na ordem correta, de acordo com o ndice definido. Nesse caso, verificamos

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 62

que a criao de ndices acelera o acesso a dados para consultas de SELECT, mas
tornam lentas as consultas de INSERT, UPDATE e DELETE.
Por padro, o MySQL cria um ndice, quando declaramos uma coluna como
chave primria. Podemos ter at 16 ndices em uma tabela, no sendo aconselhvel
a utilizao de um nmero muito grande de ndices por tabela.
A sintaxe do comando para criar um ndice :
CREATE INDEX nome_do_indice ON nome_da_tabela(lista_de_campos);
Para a criao de um ndice necessrio especificar-lhe o nome, a tabela para
a qual o ndice ser criado e os campos que o formaro, lembrando que um ndice
poder ser formado por mais de um campo.
Para excluir um ndice utilizamos o comando drop. Observe a sintaxe do
comando:
DROP INDEX nome_do_indice ON nome_da_tabela;

Sntese

Nesta aula utilizamos os comandos MySQL para criao, alterao e excluso


de tabelas em um banco de dados.
Utilizamos o comando CREATE TABLE para criar uma tabela para o banco de
dados. Verificamos que essa ao exige que especifiquemos os campos que faro
parte da tabela, alm das definies de chave primria e dos relacionamentos com o
campo chave estrangeira.
Na utilizao do comando ALTER TABLE foi apresentada a possibilidade de
alterar um campo j criado na tabela, alm de adicionar ou excluir um campo. Utilizamos
o comando DROP TABLE para excluir uma tabela existente em nosso banco de dados.
Finalmente abordamos a utilizao e criao de ndices em um banco de dados.
Na prxima aula utilizaremos os comandos MySQL para manipulao dos
registros de um banco de dados.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 63

Exerccios Propostos

1) Coloque V Verdadeiro ou F Falso em relao s caractersticas do


MySQL:
a. ( ) Para criar a tabela aluno, em um banco de dados, utilizamos o comando in-
sert table aluno;
b. ( ) Quando utilizamos o comando show tables, sero listadas as tabelas existen-
tes no banco de dados que estiver em uso.
c. ( ) Atravs do comando alter table podemos somente alterar ou incluir um campo
em uma tabela. Para excluir um campo necessrio excluir a tabela, atravs do co-
mando drop table.
d. ( ) Para visualizar os campos de uma tabela podemos utlizar o comando descri-
be nome_da_tabela;

2) Assinale a alternativa correta para utilizao do comando alter table para alte-
rar o nome do campo valor para valor_final e o tipo de dados para decimal, este
campo pertence a tabela produto:
a. ( ) ALTER TABLE produto change valor decimal (10,2);
b. ( ) ALTER TABLE produto add valor_final decimal (10,2);
c. ( ) ALTER TABLE produto drop valor_final decimal (10,2);
d. ( ) ALTER TABLE produto change valor valor_final decimal (10,2);

3) Assinale a Alternativa correta em relao utilizao do comando create table


para criar uma tabela com os seguintes campos:

Dica: Na tabela Funcionrios o campo codFunc chave primria e o campo codDepto


chave estrangeira, mostrando que existe um relacionamento entre a tabela Funcio-
nrios e a tabela Departamento.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 64

a. ( ) CREATE TABLE Funcinarios(codFunc int(3) not null,


nomeFunc varchar(45) not null, endeFunc varchar(45), codDepto int(3),
primary key(codFunc));
b. ( ) CREATE TABLE Funcinarios(codFunc int(3) not null,
nomeFunc varchar(45) not null, endeFunc varchar(45),
codDepto int(3) not null references Departamento(codDepto),
primary key(codFunc));
c. ( ) CREATE TABLE Funcinarios(codFunc varchar(3) not null,
nomeFunc varchar(45) not null, endeFunc varchar(45),
codDepto int(3) not null references Departamento(codDepto),
primary key(codFunc));
d. ( ) CREATE TABLE Funcinarios(codFunc int(3) not null,
nomeFunc varchar(45) not null, endeFunc varchar(45),
codDepto int(3) not null references Departamento(codDepto),
primary key(codDepto));

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 65

Aula 6
MANIPULAO DE REGISTROS EM
MySQL

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Identificar os comandos utilizados para a manipulao das infor-


maes em uma tabela;
Identificar os comandos utilizados para inserir, alterar, excluir e
mostrar informaes em uma tabela.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

Inserindo registros;
Alterando registros;
Excluindo registros;
Mostrando registros;
Exerccios propostos.

Ol! Chegamos a nossa sexta aula. Seus conhecimen-


tos em MySQL j lhe permitiram criar um banco de da-
dos, criar as tabelas para estes banco de dados, fazer a alterao
nos campos da tabela, excluir tabelas. Chegou o momento de ma-
nipular os registros armazenados no banco de dados. Primeira-
mente ser necessrio inserir registros no banco de dados, desse

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 66

modo, poderemos iniciar a utilizao dos comandos para manipulao dos registros.
Alteraremos um registro, mostrando as informaes, excluindo registros e, deste
modo, aprimorando nossos conhecimentos em MySQL. Vamos manipulao dos
registros.
Boa Aula!

1 Inserindo Registros

Criamos as tabelas para nosso banco de dados na aula anterior, porm


precisamos inserir registros nessas tabelas. Para tanto utilizamos o comando INSERT,
verifique a seguir a sintaxe deste comando:
INSERT INTO nome_da_tabela(campo1, campo2, ... , campoN)
VALUES(valor_campo1, valor_campo2, ..., valor_campoN);
ou
INSERT INTO nome_da_tabela
VALUES(valor_campo1, valor_campo2, ..., valor_campoN);
Para inserir registros em uma tabela podemos utilizar o comando de duas
maneiras: verificando que no necessrio apresentar o nome de todos os campos;
possvel inserir informaes apenas sobre o nome da tabela e os valores que cada
campo dever receber. Podemos suprimir o nome dos campos, quando inserimos
valores para todos os campos da tabela. Se houver a necessida de inserir valores em
apenas alguns campos, ento ser necessrio utilizar o nome dos campos.
Nas figuras 39 e 40 apresentaremos o exemplo da utilizao do comando
INSERT para inserir registros nas tabelas do banco produto, verifique os exemplos.

Figura 39 Inserindo registros na tabela tipo_prod

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 67

Os registros foram inseridos na tabela tipo_prod, conforme mostra a figura 39,


porm precisamos inserir registros na tabela produto. Na figura 40 apresentamos o
comando para inserir registros na tabela produto, verifique o exemplo e insira registros
nas duas tabelas.

Figura 40 Inserindo registros na tabela produto

Agora j conhecemos o comando para inserir registros em um banco de dados


MySQL. Para que se torne possvel a utilizao de comandos de manipulao de re-
gistros, importante inseri-los em cada uma das tabelas, nesse momento.

2 Alterando Registros

Para alterar o valor dos campos em um ou mais registros, usamos o comando


UPDATE. Verifique a sintaxe do comando a seguir:
UPDATE nome_da_tabela SET campo1 = valor1, campo2 = valor2, ... , cam-
poN = valorN WHERE condio1 and condio2 and condioN;
Verificar na sintaxe apresentada, que podemos alterar o valor de um ou mais
campos, especificando o nome da tabela e dos campos, cujos valores sero atualiza-
dos.
A clusula WHERE especifica uma condio, mas necessrio que exista uma
condio. O comando UPDATE ser executado normalmente caso no haja a clu-
sula WHERE. Se no houver uma condio, todos os registros da tabela sofrero a
alterao que estiver descrita no comando UPDATE.
Na figura 41, mostramos um exemplo da utilizao do comando UPDATE. Al-
teramos o campo quan_prod para receber o valor 30 e o campo preco_prod para re-
ceber o valor 4.90, porm respeitamos a condio apresentada na clusula WHERE.
Fazendo essa alterao apenas para os produtos que tiverem cdigo do tipo igual a
3. Verifique a utilizao do comando na figura 41.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 68

Figura 41 Comando Update

3 ExcluiNdo Registros

O comando utilizado para apagar registros o DELETE, responsvel por apagar


um ou mais registros de uma tabela sempre que a condio for satisfeita. A sintaxe do
comando DELETE :
DELETE FROM nome_da_tabela
WHERE condio and condio2 and condioN;
O comando DELETE encontrar a condio que foi definida junto a clusula
WHERE estar testando essa condio. Se a condio for verdadeira executar a
excluso dos registros que atenderam condio. Deste modo, podero ser excludos
um ou mais registros, de acordo com a condio testada.
Na figura 42 mostraremos a utilizao do comando DELETE para excluir apenas
um registro, pois excluiremos o tipo do produto que tenha o cdigo do tipo igual ao
valor 4. Se a condio definida tivesse sido cod_tipo < 4 estaramos excluindo todos
os tipos de produtos que tivessem seu cdigo menor que 4. Verifique o exemplo do
comando DELETE na figura 42.

Figura 42 Excluindo registros

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 69

4 Selecionando e Mostrando Registros

O comando SELECT responsvel por selecionar e mostrar os registros das


tabelas, podendo ou no ter uma condio a ser testada. Esse comando extremamente
importante, pois mostra as informaes cadastradas no banco. Observe a sintaxe
desse comando apresentada a seguir:
SELECT campo1, campo2, ..., campoN
FROM tabela1, tabela2, ..., tabelaN
WHERE condio1 and condio2 and condioN;
Na sintaxe apresentada verificamos que podemos definir vrios campos para
serem mostrados. Se for necessrio mostrar a informao de todos os campos,
substituiremos o nome dos campos e pelo smbolo * (indica que queremos que sejam
mostradas as informaes de todos dos campos).
Verificamos tambm que podemos selecionar as informaes de vrias tabelas,
cujas utilizaes devem ser listadas aps o FROM. Em seguida possvel colocar
uma ou mais condies para serem testadas e ento mostrar as informaes.
Na figura 43 utlizamos o comando SELECT, porm no especificamos
nenhuma condio, desse modo, mostraremos todos os produtos e apresentaremos
as informaes de todos os campos. Verifique o exemplo na figura.

Figura 43 Selecinando e mostrando todos os Produtos

Suponha que no queremos mostrar as informaes de todos os campos da


tabela produto. Assim, aps o comando SELECT, listamos o nome dos campos que
queremos mostrar. Nesse momento ainda no temos nenhuma condio fazendo com
que todos os registros cadastrados na tabela produto sejam mostrados. Veja a figura
44.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 70

Figura 44 Selecionando todos os Produtos

Na figura 45, utilizamos o comando SELECT para mostrar todos os tipos de


produtos, mostrando as informaes de todos os campos da tabela tipo produto.

Figura 45 Mostrando os tipos de produto

Mostramos todos os registros da tabela tipo_prod, pois no foi especificado


nenhuma condio, alm disso, sero apresentadas as informaes de todos os
campos da tabela.
Agora utilizamos a opo GROUP BY que definir a forma como os dados
sero agrupados na hora da visualizao. Desse modo, na Figura 46 apresentamos
o comando para listar as informaes de todos os campos da tabela tipo_prod que
sero agrupadas ou organizadas pela informao do campo desc_tipo. Quando no
utilizamos a opo GROUP BY, as informaes so organizadas pelo campo que
chave primria, nesse caso, seriam organizados pelo campo cod_tipo.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 71

Figura 46 Usando Group By para agrupar os dados

Para a opo GROUP BY necessrio infomar o campo onde queremos agrupar


as informaes. Podemos tambm informar se queremos mostrar as informaes
organizadas, de forma ascendente (asc) ou descendente (desc), permitindo que os
dados sejam organizados em ordem alfabtica de A at Z ou em ordem alfabtica de
Z at A.
Quando utilizamos o comando SELECT podemos utilizar uma condio, para
tanto precisamos da clusula WHERE. No exemplo da figura 47 utilizaremos a clusula
WHERE junto com o comando BETWEEN, para comparar uma informao entre
um intervalo de valores. No exemplo, sero mostrados os produtos cuja quantidade
permanece (quant_prod) entre 5 e 20. Veja:

Figura 47 Utilizando Beteween para definir uma condio

O mesmo exemplo da figura 47 pode ser desenvolvido sem utilizar o comando


BETWEEN, utilizando os operadores relacionais para fazer a comparao, a sintaxe
do comando ser:

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 72

SELECT * from produto WHERE quant_prod > 5 and quant_prod < 20;
Neste exemplo, substitumos o comando BETWEEN pelos operadores > (maior
que) e < (menor que), o resultado ser o mesmo apresentado no comando da figura
47.
Podemos utilizar a funo AVG para retornar a mdia de um conjunto de
valores, junto com o comando SELECT. necessrio especificar o campo onde esto
os valores que desejamos calcular a mdia. Verifique a utlizao da funo AVG na
figura 48.

Figura 48 Utilizando funo AVG para mostrar mdia

No exemplo, utilizamos a funo AVG para mostrar a mdia dos preos dos
produtos, e a clusula AS para definir um rtulo para a coluna onde ser apresentado
o resultado da funo AVG.
A funo SUM utilizada para retornar a soma de um conjunto de valores,
tambm necessrio especificar o campo a ser utlizado para calcular a soma dos
valores, verifique o exemplo de utlizao desta funo na figura:

Figura 49 Utilizando funo SUM para mostrar soma .

A clusula AS est definindo o rtulo Total de Produtos para a coluna onde ser
apresentado o resultado da soma dos valores armazenados no campo quant_prod.
A funo COUNT utlizada para contar e mostrar o total de ocorrncias de
um grupo de registros. No exemplo da figura 50, conta-se o total de ocorrncias do
campo cod_prod, mostrando que existem trs ocorrncias, ou seja, trs produtos
cadastrados.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 73

Figura 50 Utilizando funo COUNT para mostrar a quantidade de registros

A funo MAX mostrar o maior valor entre um grupo de valores. Para utiz-la
necessrio especificar o campo a ser analisado. Verifique o exemplo na figura 51,
onde a funo MAX utilizada para mostrar o maior valor do campo preco_prod, ou
seja, o maior preo entre os produtos cadastrados.

Figura 51 Utilizando funo MAX para mostrar o maior valor

A funo MIN mostrar o menor valor entre um grupo de valores. Para utiliz-
la ser necessrio especificar o campo a ser analisado. No exemplo da figura 52 a
funo MIN mostra o menor preo entre todos os produtos cadastrados.

Figura 52 Utilizando funo MIN para mostrar o menor valor

5 Mostrando Registros de Mltiplas Tabelas: INNER JOIN

Em um banco dos dados, comum dados armazenados em tabelas separadas,


mas relacionados, garantindo, que o banco de dados no armazene dados
redundantes.
No exemplo das tabelas produto e tipo de produto, se as infomaes estivessem
armazenadas em uma mesma tabela para cada produto estaramos armazenando as
informaes do tipo de produto, isso resultaria em um banco de dados armazenando
informaes duplicadas para os tipos que tivessem vrios produtos.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 74

No entanto, em algumas situaes, h necessidade de combinar dados de


mltiplas tabelas em um nico conjunto de dados. Referido como juno (join) das
tabelas, sendo feito por meio da operao INNER JOIN em uma consulta SELECT.
Uma operao INNER JOIN combina os registros de duas ou mais tabelas,
testando os valores correspondentes em um campo que seja comum entre essas
tabelas, ou seja, que fazem parte do relacionamento entre estas tabelas. A sintaxe do
comando SELECT utilizando a clusula INNER JOIN :
SELECT campo1, campo2, ... , campoN
FROM tabela1
INNER JOIN tabela2
ON tabela1.nomeCampo = tabela2.nomeCampo;

Na sintaxe do comando, verificamos que so relacionadas duas tabelas e, em


seguida, os campos comuns entre estas tabelas so comparados, deste modo, sero
apresentados os registros em que a informao no campo correspondente tabela
1 seja igual a informao no campo correspondente tabela 2. Verifique o exemplo
apresentado a seguir para as tabelas produto e tipo produto:
SELECT desc_prod, preco_prod, desc_tipo
FROM produto
INNER JOIN tipo_prod
ON produto.cod_tipo = tipo_prod.cod_tipo;

Mostramos no exemplo informaes de campos da tabela produto e campos da
tabela tipo_prod, desse modo, utilizamos a clusula INNER JOIN para relacionar as
duas tabelas, usando o comando ON para relacionar os campos comuns entre estas
tabelas.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 75


Sntese

Nesta aula utilizamos os comandos do banco de dados MySQL para


manipulao de registros. Utilizamos o comando INSERT para inserirmos nas tabelas
as informaes de acordo com cada um dos campos.
Utilizamos o comando SELECT para visualizar e manipular as informaes
armazenadas em cada tabela.
Agora voc j est apto(a) para criar um banco de dados, usando os recursos
do MySQL, aprendidos nas aulas anteriores.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 76

Exerccios Propostos

Utilize as tabelas apresentadas a seguir para responder os exerccios.

Clientes Estado
codCli siglaEst
nomeCli descEst
sexoCli
idadeCli
siglaEstado

1) Assinale a alternativa correta comando INSERT:


a. ( ) INSERT INTO Estado(siglaEst, descEst);
b. ( ) INSERT Estado(siglaEst, descEst) VALUES(SC, Santa Catarina);
c. ( ) INSERT Estado( SC, Santa Catarina);
d. ( ) INSERT INTO Estado(siglaEst, descEst) VALUES(SC, Santa Catarina);

2) Assinale a alternativa correta UPDATE:


Fazer uma consulta UPDATE que altere para 30, a idade dos clientes que tem a sigla
do Estado igual a SC e o sexo igual a M (masculino).
a. ( ) UPDATE Clientes SET idadeCli = 30 WHERE siglaEstado = SC ;
b. ( ) UPDATE Clientes SET idadeCli = 30 WHERE siglaEstado = SC AND sexoCli
= M ;
c. ( ) UPDATE Clientes idadeCli = 30 WHERE siglaEstado = SC AND
sexoCli = M ;
d. ( ) UPDATE Clientes WHERE siglaEstado = SC AND sexoCli = M ;

3) Assinale a Alternativa correta comando DELETE:


Fazer uma consulta DELETE para excluir todos os Clientes com mais de 45 anos.
a. ( ) DELETE FROM Clientes where idadeCli = 45;
b. ( ) DELETE Clientes where idadeCli = 45;

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 77

c. ( ) DELETE FROM Clientes;


d. ( ) DELETE FROM Clientes where idadeCli > 45;

4) Assinale a Alternativa correta comando SELECT:


Fazer uma consulta SELECT para mostrar o mdia das idades de todos os Clientes
que moram no estado SP.
a. ( ) SELECT SUM(idadeCli) FROM Clientes WHERE siglaEstado=SP;
b. ( ) SELECT COUNT(idadeCli) FROM Clientes WHERE siglaEstado=SP;
c. ( ) SELECT AVG(idadeCli) FROM Clientes WHERE siglaEstado=SP;
d. ( ) SELECT MEDIA(idadeCli) FROM Clientes WHERE siglaEstado=SP;

5) Assinale a Alternativa correta comando SELECT INNER JOIN:


Fazer uma consulta SELECT para mostrar o nome, e descrio do estado e todos os
clientes.
a. ( ) SELECT nomeCli, idadeCli, descEst
FROM Clientes INNER JOIN Estado
ON Cliente.siglaEstado = Estado.siglaEst;

b. ( ) SELECT nomeCli, idadeCli, descEst


FROM Clientes, Estado
ON Cliente.siglaEstado = Estado.siglaEst;

c. ( ) SELECT nomeCli, idadeCli, descEst


Clientes INNER JOIN Estado
ON Cliente.siglaEstado = Estado.siglaEst;

d. ( ) SELECT nomeCli, idadeCli, descEst


FROM Clientes INNER JOIN Estado;

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 78

Aula 7
CONSTRUINDO UM PROJETO

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Aplicar os comandos de criao de banco de dados e tabelas para


a criao de um projeto com diversas tabelas;
Aplicar os comandos de manipulao de registro no banco de
dados criado.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

Apresentando o Modelo Entidade Relacionamento do Projeto;


Criando o Banco de Dados;
Criando as tabelas;
Manipulando registros;
Exerccios propostos.

Ol! Chegamos a nossa stima aula. Agora j co-


nhecemos os comandos necessrios para fazer a
criao de um banco de dados e os comandos utilizados para
manipulao dos registros. Atravs dos conhecimentos ad-
quiridos nas aulas anteriores criaremos um banco de dados em
MySQL com diversas tabelas, onde visualizaremos e realizare-
mos o relacionamento entre as tabelas, estruturando um banco de

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 79

dados para que, futuramente, voc possa desenvolver uma apliacao que use como
base de dados o banco desenvolvido em MySQL.
Boa Aula!

1 Apresentando o Modelo ER do Projeto

Criaremos um banco de dados que contenha seis tabelas, todas relacionadas


entre si. Podemos visualizar o modelo ER do projeto na figura 52, criaremos as se-
guintes tabelas: Funcionrios, Operao, Clientes, Automveis, Modelos e Marca.

Figura 52 Modelo ER do projeto

Vamos iniciar a criao do bando de dados ER. Na figura 53, demonstramos o


login no MySQL Console, em seguida, a criao do banco. Aps criar o banco, utilize
o comando USE para acessar o banco de dados criado e para iniciar a criao das
tabelas. Observe a figura 53.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 80

Figura 53 Criando o banco revenda

Nesse momento, criamos o banco revenda, agora necessrio criar as tabelas


para esse banco. Iniciaremos pela criao da tabela marcas, observe na figura 54 o
comando utilizado para criao da tabela, os campos criados, os tipos de dados para
cada um dos campos, alm do campo definido como chave primria.

Figura 54 Criando tabela marcas

O campo marca_cod est sendo definido como chave primria, o comando not
null est definindo que esses campos no podero ficar sem preenchimento no mo-
mento em que se cadastrarem os registros na tabela marcas. O comando auto_incre-
ment, para o campo marca_cod, e que, para cada novo registro, ser incrementado o
cdigo (somado 1 ao valor do cdigo anterior).
Na tabela modelos, apresentamos o comando utilizado para criao da tabela.
Veja figura 55.

Figura 55 Criando tabela modelos

A tabela modelos est relacionada tabela marcas, e o campo mod_marcacod


o campo chave estrangeira que ser relacionado com o campo marca_cod, chave
primria na tabela marca. O comando responsvel por este relacionamento :
references marcas(marca_cod)

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 81

Para criar a tabela clientes, observe o comando utlizado na figura 56, onde demons-
tramos o tipo de dado de cada um dos campos e o campo definido como chave pri-
mria.

Figura 56 Criando a tabela clientes

Mostramos o comando utilizado para criar a tabela funcinrios na figura 57. O


campo definido como chave primria ser o func_cod (cdigo do funcinrio).

Figura 57 Criando a tabela funcionarios

Para criar a tabela automveis, observe o comando utilizado. Esta tabela est
relacionada com a tabela modelo. O campo aut_modelocod o campo chave estran-
geira, sendo relacionado com o campo mod_cod da tabela modelo atravs do coman-
do references, conforme est detalhado na Figura 58.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 82

Figura 58 Criando a tabela automoveis

A placa do automvel ser o campo chave primria da tabela. Verifique os cam-


pos e tipos de dados na figura 58.
A prxima tabela a ser criada ser a tabela operacao, estar relacionada com
as tabelas automveis, funcionarios e clientes. Para cada um desses relacionamentos
teremos um campo chave estrangeira na tabela operacao. Os relacionamentos sero
feitos ligando a chave estrangeira com o campo chave primria em cada uma destas
tabelas. Observe na figura 59 os relacionamentos entre estas tabelas.

Figura 59 Criando a tabela operao

Aps criar a tabela operao conclumos a criao do banco revenda. Para


visualizar as tabelas criadas, podemos utilizar o comando show tables, conforme mos-
tra a figura 60.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 83

Figura 60 Visualizando as tabelas do banco revenda

Para realizarmos as consultas no banco revenda, necessrio que sejam in-


seridos registros em cada uma das tabelas, utilize o comando INSERT para inserir
registros para a tabela do banco revenda. Insira vrios registros para cada uma das
tabelas. Se existir alguma dvida em relao utilizao do comando INSERT voc
dever verificar o item Inserindo Registros, na aula 6 deste livro.

2 Manipulando Registros

Vamos desenvolver algumas consultas para o banco revenda utilizando o co-


mando SELECT, devemos lembrar que o banco revenda possui seis tabelas, as quais
foram criadas anteriormente e adicionados registros. Vamos dividir nossas consultas
por tabela.

2.1 Tabela Marcas

A tabela Marcas possui apenas dois campos, onde so armazenados o cdigo


da marca e a descrio, para esta tabela vamos fazer uma consulta que mostre todas
as Marcas Cadastradas, verifique esta consulta na figura 61.

Figura 61 Mostrando todos os registros da tabela Marcas

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 84

2.2 Tabela Modelos

A tabela Modelos possui os campos para armazenar as informaes do cdigo


e da descrio do modelo, alm do cdigo da Marca que um campo chave estran-
geira.
Para esta tabela vamos fazer uma consulta que mostre todos os modelos ca-
dastrados para a marca que possui cdigo igual 1, ou seja, da marca Citroen.

Figura 62 Mostrando todos os Modelos com cdigo da marca igual a 1

Entre as tabelas Marcas e Modelos existe um relacionamento como apresenta-


do no incio dessa aula na figura 52, desse modo, podemos utilizar a clusula INNER
JOIN em conjunto com o comando SELECT. Desse modo, vamos fazer uma consulta
que mostre a descrio do modelo e a descrio da marca para todos os modelos
cadastrados.

Figura 63 Fazendo consulta relacionando as tabelas Marcas e Modelos

2.3 Tabela Automveis

A tabela Automvies possui vrios campos para armazenar as caractersticas


do automvel, alm do cdigo do Modelo que um campo chave estrangeira, pois

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 85

esta tabela est relacionada com a tabela Modelos.


Vamos fazer uma consulta que mostra a descrio do modelo, o ano e o preo
de todos os carros que tm o preo menor que R$ 45000,00, verifique esta consulta
na figura 64.

Figura 64 Mostrando registros da tabela Automovies

Podemos fazer uma consulta UPDATE para alterar o preo de todos os carros
que tm o preo menor que R$ 45000,00 para acrescentar R$ 2500,00 ao preo des-
tes automoveis, verifique esta consulta na figura 65.

Figura 65 Utilizando consulta UPDATE

Na figura 65, observe a utilizao do comando UPDATE, a seguir utilizamos


uma consulta SELECT para mostrar os valores, mostrando as alteraes feitas atra-
vs da consulta UPDATE.

2.4 Tabela Funcionrios e Tabela Clientes

As tabelas Funcionrios e Clientes so tabelas que possuem campos para

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 86

armazenar as informaes referentes aos funcionrios e aos clientes, sendo que es-
tas tabelas esto relacionadas com a tabela Operacao.
Vamos fazer uma consulta que mostre o nome, o endereo e o bairro de todos
os clientes classificando pelo nome do cliente, verifique a figura 66.

Figura 66 Utilizando GROUP BY

Na consulta da figura 66 a clusula GROUP BY agrupou a sada dos dados


pelo campo cli_nome.
Para a tabela funcionrios faa uma consulta que mostre o nome de todos os
funcionrios que nasceram entre 01/01/1980 e 01/01/2007, para fazer esta consulta
estaremos usando a clusula BETWEEN, verifique a consulta na figura 67.

Figura 67 Utilizando clusula BETWEEN

Sntese

Nesta aula voc desenvolveu na prtica um projeto de banco de dados, utili-


zando o MySQL. Primeiramente, apresentamos o modelo entidade relacionamento do
projeto, a seguir, todas as entidades, os relacionamentos e os campos necessrios
para iniciar a criao do banco.
Na prxima aula conheceremos PhpMyAdmin, ferramenta de fcil acesso e
aprendizado, que nos permite criar banco de dados MySQL.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 87

Exerccios Propostos

1) Assinale a alternativa correta para definir um campo codDisc como chave


primria durante a criao da tabela Disciplina:
a. ( ) CREATE TABLE Disciplina(codDisc int(3) not null,
descDisc varchar(30) not null,
PRIMARY KEY());
b. ( ) CREATE TABLE Disciplina(codDisc int(3) not null,
descDisc varchar(30) not null,
PRIMARY KEY(descDisc));
c. ( ) CREATE TABLE Disciplina(codDisc int(3) not null,
descDisc varchar(30) not null,
PRIMARY KEY(codDisc));
d. ( ) CREATE TABLE Disciplina(codDisc int(3) not null,
descDisc varchar(30) not null,
PRIMARY (codDisc));

2) Utilizando o relacionamento entre as tabelas como base, assinale a alternati-


va correta do comando para criao da tabela Cidade:

Dica: lembre-se de que o Estado_siglaEst da tabela Cidade o campo chave estran-


geira, que esta fazendo o relacionamento com o campo siglaEst, que chave primria
na tabela Estado.

a. ( ) CREATE TABLE Cidade(codCid int(3) not null,


Estado_siglaEst varchar(2) not null,
descCid varchar(30) not null,
PRIMARY KEY(codCid));

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 88

b. ( ) CREATE TABLE Cidade(codCid int(3) not null,


Estado_siglaEst varchar(2) not null REFERENCES Cidade(codCid),
descCid varchar(30) not null,
PRIMARY KEY(codCid));
c. ( ) CREATE TABLE Cidade(codCid int(3) not null,
Estado_siglaEst varchar(2) not null REFERENCES Estado(codCid),
descCid varchar(30) not null,
PRIMARY KEY(codCid));
d. ( ) CREATE TABLE Cidade(codCid int(3) not null,
Estado_siglaEst varchar(2) not null REFERENCES Estado(siglaEst),
descCid varchar(30) not null,
PRIMARY KEY(codCid));

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 89

Aula 8
UTILIZANDO O PhpMyAdmin PARA
CRIAR UM BANCO DE DADOS

Objetivos da aula

Ao final desta aula, voc dever ser capaz de:

Criar um novo banco de dados, usando a ferramenta PhpMyAd-


min;
Utilizar o PhpMyAdmin para criar, excluir e alterar tabelas em um
banco de dados.

Contedos da aula

Acompanhe os contedos desta aula. Se voc preferir, assi-
nale-os medida em que for estudando.

Conhecendo o PhpMyAdmin;
Criando o Banco de Dados;
Criando e excluindo tabelas;
Exerccios propostos.

Ol! Chegamos a nossa oitava aula. Agora voc j co-


nhece todos os comandos necessrios para criar um
banco de dados em MySQL e tambm para manipular os registros
utilizando os comandos SQL. Nesse momento, conheceremos o
PhpMyAdmin, ferramenta utilizada para criao de um banco de
dados, sem que seja necessrio utilizar os comandos do MySQL
Console.
Boa Aula!

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 90

1 CONHECENDO O PHPMYADMIN

Para acessar o PhPMyAdmin, voc deve clicar no cone do VertrigoServ, mos-


trado na barra de tarefas, conforme mostra a figura 68.

Figura 68 cone do Vertrigo na barra de tarefas

Em seguida, escolha a opo Tools, e clique em PhpMyAdmin. Veja a figura


69.

Figura 69 Abrindo o PhpMyAdmin

Ao abrir a tela, precisamos digitar o usurio e a senha para acesso ao PhpMyA-


dmin. O usurio para acesso o root, a senha padro vertrigo. Verifique a tela que
ser apresentada na figura 70. Clique no boto OK para acessar o PhpMyAdmin.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 91

Figura 70 Acessando o PhpMyAdmin

Na tela inicial do PhpMyAdmin, apresentada na figura 71, possvel criar um


novo banco de dados, alterar ou excluir um banco de dados j existente. Veja na tela
inicial a utilizao do PhpMyAdminl.

Figura 71 Tela inicial do PhpMyAdmin

1.1 Criando um banco de dados

Digite um nome para criar um novo banco de dados. A seguir, clique no boto
Criar. Veja a figura 72, onde criaremos um novo banco chamado empresa.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 92

Figura 72 - Criando novo Banco de Dados

Agora definiremos as tabelas que faro parte desse novo banco. A figura
73 mostra a tela de consulta SQL com a mensagem: Nenhuma tabela encontrada no
Banco de Dados. Ento criaremos uma tabela para esse banco. Precisamos especi-
ficar o nome da nova tabela e o nmero de campos, em seguida, cliquemos no boto
Executar.

Figura 73 Criando tabelas para o banco

Criaremos a tabela Funcionrios para o banco empresa, contendo 4 campos.


Aps clicar no boto executar, aparecer a tela mostrada na figura 74, para
definirmos os campos da tabela Funcionrios.

Figura 74 Definindo campos para a tabela Funcionarios

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 93

Para cada um dos campos necessrio especificar o nome, o tipo de dados


e o tamanho do campo. Para o campo codFunc, necessrio escolher a opo Cha-
ve Primria. Tambm possvel selecionar a opo nul/not null para cada um dos
campos. Clique no boto Salvar para que os campos sejam acrescentados na tabela
Funcionrios.
A figura 75 mostra a tela com a consulta SQL utilizada e, em seguida, a lista-
gem dos campos criados.

Figura 75 Criando os campos da tabela Funcionarios

Vamos adicionar mais uma tabela ao banco empresa. Ser a tabela Departa-
mentos. Os campos que devem ser definidos so apresentados na figura 76.

Figura 76 Criando tabela Departamentos

Para excluir uma tabela, necessrio selecion-la. Clique no nome da tabela


(aparece no menu, ao lado esquerdo da janela do navegador). Em seguida, clique
no boto eliminar: ser apresentada uma mensagem de confirmao da excluso.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 94

Para confirmar, clique no boto OK. A tabela ser excluda. Observe a figura 77.

Figura 77 Excluindo tabela

Para excluir um banco de dados, o processo semelhante ao de excluso de


tabela. O banco de dados deve ser selecionado, aparecero listadas as tabelas que
pertencem a este banco.
Clique na opo Eliminar, ser apresentada a mensagem de confirmao de
excluso.
Clique no boto OK, o banco selecionado ser excluido. Verifique essas infor-
maes na figura 78.

Figura 78 Excluindo Bando de Dados

Com as opes apresentadas nesta aula, verificamos que possvel criar um


banco de dados utilizando a ferramenta PhpMyAdmin. Lembre-se: para cada ao de-
senvolvida pela ferramenta, executamos um comando SQL. O conhecimento desses
comandos essencial para criao e administrao de um banco de dados MySQL.

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 95

Sntese

Nesta aula voc conheceu a ferramenta PhpMyAdmin para a criao de um


banco de dados MySQL e verificou a possibilidade de criao do banco, das tabelas,
alm da manipulao e cadastro das informaes.
Voc deve ter verificado que, para cada uma das aes executadas na ferra-
menta, foi utilizado o comando SQL.
Com esta aula, terminamos o mdulo Interface com o usurio Utilizando o
banco de dados MySQL.
Continue estudando e se aperfeioando na criao de novos bancos de dados,
pois a aplicao desse recurso para criao de aplicaes Web de extrema impor-
tncia.
Excelente Estudo e Um Grande Abrao!

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 96

REFERNCIAS

BUYENS, Jim.; Aprendendo MySQL e PHP. SO PAULO: Editora Makron Books,


2002.
DATE, C. J.; Introduo a Sistemas de Banco de Dados. 8 Ed., RIO DE JANEIRO:
Editora Campus,2004.
MUTO, Cludio Adonai.; PHP & MySQL Guia Introdutrio. 2 Ed., RIO DE JANEIRO:
Editora Brasport,2004.
HERNANDEZ, MichaeJ; Aprenda a Projetar seu Prprio Banco de Dados. SO PAU-
LO: Editora Makron Books,2000.
HEUSER, Carlos Alberto; Projeto de Banco de Dados. 4 Ed., PORTO ALEGRE: Edi-
tora Sagra Luzzato,2001.
SILBERSCHATZ, Abraham, KORTH, Henry F, SUDARSHAN, S; Sistema de Banco
de Dados. 5 Ed., RIO DE JANEIRO: Editora Campus,2006.
http://www.mysqlbrasil.com.br/porquemysql Acessado em: 24/06/2007
http://www.mysql.com/ Acessado em: 24/06/2007

SOCIESC - Sociedade Educacional de Santa Catarina


Interface Com o Usurio - MySQL 97

Copyright Tupy Virtual 2007


Nenhuma parte desta publicao pode ser reproduzida por qualquer meio sem a prvia autorizao desta instituio.
Autor: Francini Reitz Spanceski

Interface Com o Usurio - MySQL: Material didtico / Francini Reitz Spanceski

Design institucional: Thiago Vedoi de Lima; Cristiane de Oliveira - Joinville: Tupy Virtual, 2007

Ficha catalogrfica elaborada pela Biblioteca Universitria Tupy Virtual

Crditos
SOCIESC Sociedade Educacional de Santa Catarina Design Grfico
Thiago Vedoi de Lima
Tupy Virtual Ensino a Distncia
Equipe Didtico-Pedagcia
Rua Albano Schmidt, 3333 Joinville SC 89206-001 Francini Reitz Spanceski
Fone: (47)3461-0166
E-mail: ead@sociesc.org.br
Site: www.sociesc.org.br/portalead EDIO MATERIAL DIDTICO

Diretor Geral Professor Conteudista


Sandro Murilo Santos Francini Reitz Spanceski

Diretor de Administrao Design Institucional


Vicente Otvio Martins de Resende Thiago Vedoi de Lima
Cristiane Oliveira
Diretor de Ensino, Pesquisa e Extenso
Roque Antonio Mattei Ilustrao Capa
Thiago Vedoi de Lima
Diretor do Instituto Superior Tupy
Wesley Masterson Belo de Abreu Projeto Grfico
Equipe Tupy Virtual
Diretor da Escola Tcnica Tupy
Luiz Fernando Bublitz Reviso Ortogrfica
Ndia Ftima de Oliveira
Coordenador da Escola Tcnica Tupy
Alexssandro Fossile
Alan Marcos Blenke

Coordenador do Curso
Juliano Prim

Coordenador de Projetos
Jos Luiz Schmitt

Revisora Pedaggica
Ndia Ftima de Oliveira

EQUIPE TUPY VIRTUAL

Raimundo Nonato Gonalves Robert


Wilson Jos Mafra
Thiago Vedoi de Lima
Cristiane Oliveira

SOCIESC - Sociedade Educacional de Santa Catarina

Você também pode gostar