You are on page 1of 97

Interface Com o Usurio - MySQL

Edio n1 - 2007

Francini Reitz Spanceski


Apoio

Gesto e Execuo

Contedo e Tecnologia

Interface Com o Usurio - MySQL

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 aplicabilidade 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 propostas. 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, email 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

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

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 funcionrios, 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 envolvem 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 manipulao 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

Cronograma de Estudos

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

possveis datas de realizao de aprendizagem e avaliaes.


Semanas
1

Horas/aula
5
10
5
10

10
10

20
10

Contedos
Introduo a Banco de Dados
Modelo Entidade Relacionamento
Instalando o Vertrigo
Criando um Banco de Dados no
MySQL
Criando, Alterando e Excluindo
Tabelas no MySQL
Manipulao de Registros em
MySQL
Construindo um Projeto
Utilizando o PhpMyAdmin para
Criar um Banco de Dados

Data/Avaliao

_/_ a _/_

_/_ a _/_

_/_ a _/_

SOCIESC - Sociedade Educacional de Santa Catarina

Interface Com o Usurio - MySQL

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

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. Estudaremos os conceitos bsicos de banco de dados, para
entendermos os demais conceitos envolvidos no relacionamento
entre tabelas e os tipos de relacionamentos. Aplicaremos esse conhecimento no desenvolvimento de um Modelo Entidade Relacionamento, que ser utilizado para a criao de banco de dados durante 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

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 correspondente aos gastos do cliente. Essas informaes devem ser armazenadas e manipuladas 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 respeito ao armazenamento e manipulao das informaes de uma organizao.

SOCIESC - Sociedade Educacional de Santa Catarina

Interface Com o Usurio - MySQL

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, facilitar: 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, possvel 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, chegamos 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 professor 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 registros 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 semana 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 possua 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 precisava 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 inconsistncia, 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, redundncia 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 condio 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 controlada. 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 sistemas, 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 integradas 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 validao 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 relacionadas 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 transformados em informao no necessrio que estejam organizados de maneira ordenada.
c. ( ) Os Dados so a matria prima em um banco de dados, so parte de uma informao.
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 estejam 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

Aula 2

MODELO ENTIDADE RELACIONAMENTO


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 Entidade Relacionamento;
Indentificar os relacionamentos utilizados na criao de um Modelo 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 sobre 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

18

Interface Com o Usurio - MySQL

19

Relacionamento e aplicando os conceitos para a criao do modelo. Desenvolveremos, 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, telefone, 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 informaes 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 detalhes 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 aparecer 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 apresentado 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
Matrcula
20070101
20070102
20070103
20070104

Tabela: Aluno
Nome
Telefone
Beatriz
(47)3422-0000
Camila
(47)3461-0102
Joo Paluo
(47)3465-0501
Luis Fernando (47)3427-0104

SiglaCurso
IN
AT
IN
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 dados. 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 informaes 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, entre 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

EMPREGADO

23

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 nmero 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, auxiliando 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 registro, 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 necessrio 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 determinada 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 ocorrncia 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 muitospara-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 atributo 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 relacionamento 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 utilizado para estabelecer o relacionamento entre duas entidades.
d. ( ) A cardinalidade em um modelo ER diz respeito ao nmero de entidades existentes 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 desenvolvido 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

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 modelagem de um banco de dados. antes, porm, de iniciarmos 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

32

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 programao), MySQL (Sistema Gerenciador de Base de dados SQL), SQLite (sistema gerenciador 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 desinstalador 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 criado 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 mostra 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 infomaes 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 durante 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 aplicaes Web como, Apache, que o servidor Web HTTP, a linguagem de programao, 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

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 desenvolvimento 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 apresentados nesta aula e vamos criar nosso banco de dados em MySQL.
Boa Aula!!

SOCIESC - Sociedade Educacional de Santa Catarina

40

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 banco 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 servios relacionados ao sistema de gerenciamento de banco de dados MySQL. O site
do MySQL http://www.mysql.com onde podem ser encontradas informaes atualizadas 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. Segundo eles, os diretrios-base e um grande nmero de suas bibliotecas e ferramentas 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 Estruturada) 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 PostgreSQL.

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 qualquer 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 digitarmos 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 permisso 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
TinyInt
Bit ou Bool
SmallInt

MediumInt

Integer, Int
BigInt

Descrio
um nmero inteiro com ou sem sinal. Com
sinal a margem de valores vlidos desde
-128 at 127. Sem sinal, a margem de valores de 0 at 255.
um nmero inteiro que pode ser 0 ou 1.
nmero inteiro com ou sem sinal. Com sinal 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 sinal a margem de valores vlidos desde
-8.388.608 at 8.388.607. Sem sinal, a margem de valores de 0 at 16777215.
nmero inteiro com ou sem sinal. Com sinal a margem de valores vlidos desde
-2147483648 at 2147483647. Sem sinal, a
margem de valores de 0 at 429.496.295
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

Tipo de Dados
Float

xReal, Doubl

Decimal, Dec,
Numeric

48

Descrio
Nmero com casas decimais de preciso
simples. Os valores vlidos vo desde 3.402823466E+38 at -1.175494351E38,0 ou desde 175494351E-38 at
3.402823466E+38.
Nmero com casas decimais de dupla preciso. Os valores permitidos vo
desde 1.7976931348623157E+308 at
-2.2250738585072014E-308, 0 e desde
2.2250738585072014E-308
at
1.7976931348623157E+308
Nmero com casas decimais desempacotado. 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
TINYINT
SMALLINT
MEDIUMINT
INT
INTEGER
BIGINT
FLOAT(X)
FLOAT
DOUBLE
DOUBLE PRECISION
REAL
DECIMAL(M,D)
NUMERIC(M,D)

Tamanho de Armazenamento
1 byte
2 bytes
3 bytes
4 bytes
4 bytes
8 bytes
4 a 8 bytes
4 a 8 bytes
8 bytes
8 bytes
8 bytes
M+2 bytes se D > 0, M+1 bytes se D = 0
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

Verifique os principais tipos data na tabela a seguir.


Tipo de Dados
Date

DateTime

TimeStamp
Time
Year

Descrio
tipo data, armazena uma data. A margem
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
Dezembro de 9999 s 23 horas, 59 minutos e 59 segundos. O formato de armazenamento de ano-mes-dia horas:minutos:
segundos
Combinao de data e hora.
armazena uma hora. O formato de armazenamento HH:MM:SS.
armazena um ano. O campo pode ter tamanho 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
14
12
8
6
4
2

49

Formato
AnoMesDiaHoraMinutoSegundo aaaammddhhmmss
AnoMesDiaHoraMinutoSegundo aammddhhmmss
AnoMesDia aaaammdd
AnoMesDia aammdd
AnoMes aamm
Ano aa

Verifique o tamanho de armazenamento para os campos criados utilizando os

tipos de data:
Tipo de Campo
DATE
DATETIME
TIMESTAMP
TIME
YEAR

Tamanho de Armazenamento
3 bytes
8 bytes
4 bytes
3 bytes
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
Char(n)
VarChar(n)
Blob e Text
MediumBlob e
MediumText
LongBlob e
LongText
Enum
Set

Descrio
armazena valor de caracter de tamanho fixo. Valores inferiores
ao tamanho definido sero deixados em branco. Poder conter
desde 0 at 255 caracteres.
armazena valor de caracter de tamanho varivel. Valores inferiores ao tamanho definido sero suprimidos. Poder conter desde
0 at 255 caracteres.
um texto com um mximo de 65535 caracteres
um texto com um mximo de 16.777.215 caracteres.
um texto com um mximo de caracteres 4.294.967.295.
campo que pode ter um nico valor ou uma lista de valores. O tipo
Enum aceita at 65535 valores diferentes.
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)

ab
ab
abcd
abcd
abcdefgh abcd

Armazenamento
4 bytes
4 bytes
4 bytes
4 bytes

VARCHAR(4)

ab
abcd
abcd

Armazenamento
1 byte
3 bytes
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

Aula 5

CRIANDO, ALTERANDO E EXCLUINDO 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 acrescentar 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 conhecimentos, criando um banco de dados utilizando o MySQL
Console, alm disso, voc conheceu os tipos de dados que utilizaremos 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

53

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 campo 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 haver 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 teste_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 comando 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 alterar 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 Funcionrios e a tabela Departamento.

SOCIESC - Sociedade Educacional de Santa Catarina

Interface Com o Usurio - MySQL

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

64

Interface Com o Usurio - MySQL

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 informaes 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 conhecimentos em MySQL j lhe permitiram criar um banco de dados, criar as tabelas para estes banco de dados, fazer a alterao
nos campos da tabela, excluir tabelas. Chegou o momento de manipular os registros armazenados no banco de dados. Primeiramente ser necessrio inserir registros no banco de dados, desse

SOCIESC - Sociedade Educacional de Santa Catarina

65

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 registros, 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 atualizados.

A clusula WHERE especifica uma condio, mas necessrio que exista uma

condio. O comando UPDATE ser executado normalmente caso no haja a clusula 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 receber 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
codCli
nomeCli
sexoCli
idadeCli
siglaEstado

Estado
siglaEst
descEst

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

c. (

) DELETE FROM Clientes;

d. (

) DELETE FROM Clientes where idadeCli > 45;

77

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

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 conhecemos os comandos necessrios para fazer a
criao de um banco de dados e os comandos utilizados para
manipulao dos registros. Atravs dos conhecimentos adquiridos nas aulas anteriores criaremos um banco de dados em
MySQL com diversas tabelas, onde visualizaremos e realizaremos o relacionamento entre as tabelas, estruturando um banco de

SOCIESC - Sociedade Educacional de Santa Catarina

78

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 seguintes 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 momento em que se cadastrarem os registros na tabela marcas. O comando auto_increment, 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 demonstramos o tipo de dado de cada um dos campos e o campo definido como chave primria.

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 estrangeira, sendo relacionado com o campo mod_cod da tabela modelo atravs do comando 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 mostra 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 estrangeira.


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 destes 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 atravs 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 estas 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 alternativa correta do comando para criao da tabela Cidade:

Dica: lembre-se de que o Estado_siglaEst da tabela Cidade o campo chave estrangeira, 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

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

88

Interface Com o Usurio - MySQL

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 PhpMyAdmin;


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 conhece 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

89

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 especificar 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 Chave 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 desenvolvida 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 importncia.

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 PAULO: Editora Makron Books,2000.
HEUSER, Carlos Alberto; Projeto de Banco de Dados. 4 Ed., PORTO ALEGRE: Editora 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


Rua Albano Schmidt, 3333 Joinville SC 89206-001
Fone: (47)3461-0166
E-mail: ead@sociesc.org.br
Site: www.sociesc.org.br/portalead
Diretor Geral
Sandro Murilo Santos
Diretor de Administrao
Vicente Otvio Martins de Resende
Diretor de Ensino, Pesquisa e Extenso
Roque Antonio Mattei
Diretor do Instituto Superior Tupy
Wesley Masterson Belo de Abreu
Diretor da Escola Tcnica Tupy
Luiz Fernando Bublitz

Equipe Didtico-Pedagcia
Francini Reitz Spanceski

EDIO MATERIAL DIDTICO


Professor Conteudista
Francini Reitz Spanceski
Design Institucional
Thiago Vedoi de Lima
Cristiane Oliveira
Ilustrao Capa
Thiago Vedoi de Lima
Projeto Grfico
Equipe Tupy Virtual
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

You might also like