Você está na página 1de 10

Introdução às Bases de Dados

Relacionamentos Simples

(Abordagem não Convencional)

Raul Ressano Garcia


Ficha Técnica

EDIÇÃO: Edição do Autor


TÍTULO: Introdução às Bases de Dados - Relacionamentos Simples (Abordagem não convencional)
AUTOR: Raul Ressano Garcia
REVISÃO: Paula Rama da Silva
CAPA: Sítio do Livro, Lda.

1.ª EDIÇÃO
LISBOA, 2010

IMPRESSÃO E ACABAMENTO: Agapex

ISBN: 978-989-96767-0-1
DEPÓSITO LEGAL: 311016/10

© Raul Ressano Garcia

PUBLICAÇÃO E COMERCIALIZAÇÃO
Sítio do Livro, Lda.
Lg. Machado de Assis, lote 2 — 1700-116 Lisboa
www.sitiodolivro.pt
Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

,QWURGX©¥R
O que é uma base de dados?

Uma Base de Dados é um armazém cheio de dados, onde estes são armazenados de uma forma ordenada de modo a podermos aceder a eles com
facilidade quando necessário. Uma base de dados é como um arquivo com fichas de informação, só que o arquivo no lugar de estar cheio de
papel dentro de um cacifo, está cheio de bytes dentro de um computador. Mas a informação que lá está guardada pode ser exactamente a mesma
que teríamos em papel.

Porquê estudar teoria de bases de dados?

É essencial que antes de trabalharmos com um software de bases de dados, tenhamos alguns conhecimentos teóricos. Nos processadores de texto
ou nas folhas de cálculo, os utilizadores acostumaram-se a “ir mexendo” sem ter conhecimentos teóricos, e a “coisa” ia andando. Quanto mais
mexiam, mais conhecimentos tinham e iam avançando pouco a pouco.

Nas bases de dados, ou temos conhecimentos teóricos prévios, ou pura e simplesmente não avançamos para lado nenhum. Este texto pretende dar
os conhecimentos teóricos mínimos, necessários para podermos começar a experimentar “ir mexendo” num software de bases de dados.

Porquê uma abordagem não convencional?

Se lermos um livro teórico qualquer sobre bases de dados, a abordagem convencional é normalmente efectuada de uma forma muito lenta,
explica as coisas de uma forma extremamente metódica, mas sem obrigar as pessoas a raciocinar por elas.

Desenhar uma base de dados é como jogar xadrez. Somos obrigados a pensar em cada jogada, mas sempre visualizando mais à frente. Podemos
atingir um bom nível de xadrez de duas formas, a primeira é estudando as jogadas dos grandes mestres e aplicando-as no tabuleiro. A segunda é
partindo da base, que no xadrez será conhecer a forma como as peças se movimentam, desenvolver os nossos próprios raciocínios e desenhar as
nossas próprias estratégias.

A forma que proponho para aprender a desenhar as bases de dados será mais próxima desta lógica de desenvolvimento do nosso próprio
raciocínio, e das nossas próprias estratégias, evitando estudar livros teóricos maçudos, que nos fazem progredir a passo de caracol.

Raul Ressano Garcia Pag. 5


Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

Como fazer o melhor uso desta obra?

Costuma-se dizer que uma imagem vale por mil palavras, no caso desta obra houve um grande esforço por parte do autor para respeitar essa
máxima e utilizá-la na realidade. Aconselhamos o leitor a dar uma atenção especial às imagens existentes, mas apoiando sempre a sua
compreensão no texto onde estão inseridas.

Há diversas nomenclaturas utilizadas ao longo dos vários capítulos que é necessário ter em atenção. Assim, o negrito será utilizado no nome de
entidades ou tabelas, enquanto o itálico servirá de referência para o nome dos atributos das entidades ou para o nome dos campos das tabelas.

Não é de somenos importância chamar a atenção do leitor para o facto de no nome das entidades, tabelas, atributos ou campos não serem
utilizados acentos. 1

Quando o nome das entidades, tabelas, atributos ou campos for constituído por duas ou mais palavras, estas serão ligadas por underscore ( _ ). 2

1
Esta regra é normalmente utilizada pelos informáticos e decidimos adoptá-la.
2
Esta regra é normalmente utilizada pelos informáticos e decidimos adoptá-la.

Raul Ressano Garcia Pag. 6


Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

QGLFH

Introdução..................................................................................................................................................................................................................... 5
Índice ............................................................................................................................................................................................................................ 7
Capítulo I - Tabelas .................................................................................................................................................................................................... 11
Uma ou Várias Tabelas .......................................................................................................................................................................................... 11
Chaves Primárias.................................................................................................................................................................................................... 13
Capítulo II - Relacionamentos entre tabelas .............................................................................................................................................................. 17
Relacionamentos de 1 para N................................................................................................................................................................................. 17
Relacionamentos de 1 para 1.................................................................................................................................................................................. 23
Relacionamentos de N para M ............................................................................................................................................................................... 28
Integridade Referencial .......................................................................................................................................................................................... 38
Capítulo III - Formulários .......................................................................................................................................................................................... 41
Formulários ............................................................................................................................................................................................................ 41
Subformulários ....................................................................................................................................................................................................... 42
Capítulo IV - Consultas ou Vistas.............................................................................................................................................................................. 45
Capítulo V - Relatórios .............................................................................................................................................................................................. 47
Relatórios Tipo Listagem ....................................................................................................................................................................................... 47
Relatórios Agrupados ............................................................................................................................................................................................. 48

Raul Ressano Garcia Pag. 7


Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

Índice de Ilustrações

Ilustração 1 - Tabela Creche....................................................................................................................................................................................... 12


Ilustração 2 - Diagrama Entidade - Relacionamento da Creche ................................................................................................................................ 14
Ilustração 3 - Tabelas Mae e Crianca ......................................................................................................................................................................... 15
Ilustração 4 - Tabela das Crianças.............................................................................................................................................................................. 18
Ilustração 5 - Tabela das Mães ................................................................................................................................................................................... 18
Ilustração 6 - Relacionamento Mae - Crianca (Incorrecto)........................................................................................................................................ 19
Ilustração 7 - Tabela das Crianças.............................................................................................................................................................................. 20
Ilustração 8 - Tabela das Mães ................................................................................................................................................................................... 20
Ilustração 9 - Relacionamento entre Mãe e Criança................................................................................................................................................... 21
Ilustração 10 - Relacionamento de 1 para N (1-N) .................................................................................................................................................... 21
Ilustração 11 - Relacionamento Pai - Mae - Crianca.................................................................................................................................................. 23
Ilustração 12 - Relacionamento de 1 para 1 (1-1) ...................................................................................................................................................... 24
Ilustração 13 - Diagrama Entidade - Relacionamento ............................................................................................................................................... 25
Ilustração 14 - Relacionamento Excursão - Passageiro.............................................................................................................................................. 26
Ilustração 15 - Relacionamento Excursão - Passageiro (1-N).................................................................................................................................... 27
Ilustração 16 - Relacionamento Excursão - Passageiro (Incorrecto) ......................................................................................................................... 29
Ilustração 17 - Relacionamento Excursão - Passageiro (Incorrecto) ......................................................................................................................... 29
Ilustração 18 - Relacionamento Excursão - Passageiro (Incorrecto) ......................................................................................................................... 30
Ilustração 19 - Relacionamento Excursão - Passageiro (Incorrecto) ......................................................................................................................... 31
Ilustração 20 - Relacionamento Excursão - Passageiro (Incorrecto) ......................................................................................................................... 31
Ilustração 21 – Relacionamento Excursão - Passageiro (incorrecto) e violação de regra das formas normais ......................................................... 32
Ilustração 22 – Relacionamento Excursão - Passageiro (incorrecto) e violação de regra das formas normais ......................................................... 32
Ilustração 23 - Diagrama Entidade - Relacionamento ............................................................................................................................................... 33
Ilustração 24 - Relacionamento de N para M (N-M) ................................................................................................................................................. 34
Ilustração 25 - Tabela Excursao ................................................................................................................................................................................. 34
Ilustração 26 - Tabela Passageiro............................................................................................................................................................................... 35
Ilustração 27 - Tabela Linha_Excursao...................................................................................................................................................................... 35
Ilustração 28 - Relacionamento Excursao - Linha_Excursao - Passageiro ................................................................................................................ 36
Ilustração 29 - Relacionamento Excursao - Linha_Excursao - Passageiro ................................................................................................................ 37
Ilustração 30 - Relacionamento Excursao - Linha_Excursao - Passageiro ................................................................................................................ 37
Ilustração 31 - Integridade Referencial - Relacionamento Mae - Crianca ................................................................................................................. 38

Raul Ressano Garcia Pag. 8


Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

Ilustração 32 - Formulário.......................................................................................................................................................................................... 41
Ilustração 33 - Formulário com Subformulário.......................................................................................................................................................... 43
Ilustração 34 - Consulta.............................................................................................................................................................................................. 45
Ilustração 35 - Relatório tipo Listagem...................................................................................................................................................................... 47
Ilustração 36 - Relatório Agrupado ............................................................................................................................................................................ 49



Raul Ressano Garcia Pag. 9


Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

Raul Ressano Garcia Pag. 10


Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

&DS¯WXOR,7DEHODV

8PDRX9£ULDV7DEHODV
Quando equacionamos a hipótese de construir uma base de dados assente em várias tabelas, surge-nos frequentemente uma questão. Porque não
faço uma tabela gigante e não ponho a informação toda lá dentro?

A primeira pergunta que as pessoas fazem quando se iniciam nas bases de dados e começam a ouvir falar de várias tabelas é exactamente esta.
Porque não faço uma tabela gigante e não ponho a informação toda lá dentro? Estou habituado a trabalhar na minha folha de cálculo e costumo
fazer uma só tabela com a informação toda lá dentro e a coisa funciona muito bem.

A resposta a esta questão tem duas razões com vertentes diferenciadas, a primeira vertente prende-se com a dimensão, a segunda vertente está
relacionada com a reintrodução de dados que já tinham sido introduzidos.
3
A primeira razão e mais simples de entender prende-se com a dimensão da folha de cálculo e com a dimensão da RAM do computador. A
dimensão da folha de cálculo limita o tamanho da minha tabela apenas a uns pequenos milhares de registos (linhas).

A RAM do computador por sua vez também irá limitar a dimensão da minha tabela, uma vez que se a tabela ultrapassar a dimensão da RAM, o
computador irá fornecer-me erros de falta de memória.

A segunda vertente está relacionada com a reintrodução de dados que já tinham sido introduzidos. O que isto significa é que o utilizador que
utilizar esta tabela terá muito mais trabalho a introduzir os dados, pois terá que introduzir repetidamente a mesma informação várias vezes.

Exemplo: Creche

Imagine que tem uma creche e que necessita guardar informação sobre as crianças e as respectivas mães.

3
RAM - Random Access Memory

Raul Ressano Garcia Pag. 11


Introdução às Bases de Dados – Relacionamentos Simples (Abordagem não Convencional)

Quer guardar informação sobre o nome da criança, a data de nascimento da criança, as alergias da criança, o nome da mãe, a morada da mãe, o
código postal da mãe e o telefone da mãe.

Resolve colocar tudo na mesma tabela na sua folha de cálculo. No entanto repare que quando existe uma mãe que tem mais que um filho, o
utilizador é obrigado a introduzir várias vezes os dados da mesma mãe, tantas vezes quantos filhos ela tenha.

Foi o caso da Joana e da Marta que têm dois filhos cada.

Ilustração 1 - Tabela Creche

Este pequeno exemplo mostra que tivemos que introduzir duas vezes informação sobre a Joana e a Marta, o que à partida não parece
preocupante, mas se pensarmos em utilizar esta tabela para milhares e milhares de registos, então vamos ter de repetir milhares de vezes a
introdução de dados das mães que têm mais que um filho. Isto iria obrigar a um enorme esforço totalmente desnecessário por parte do utilizador.

Esta situação iria ainda, obrigar o computador a guardar informação duplicada. Este facto iria obrigar à utilização de mais espaço em disco, que
teria ser de utilizado para guardar informação repetida. Isto ia obrigar-nos a ter um computador com um disco maior do que aquilo que na
verdade necessitávamos.

Se dividirmos esta tabela grande em duas tabelas mais pequenas, uma com informação sobre a criança e outra com informação sobre a mãe, já
evitamos esta reintrodução de informação. Este é o principal motivo porque nas bases de dados utilizamos várias tabelas no lugar de apenas uma.

Mais à frente vamos verificar como é feita essa divisão da informação em duas tabelas, a tabela com informação sobre as crianças e a tabela com
informação sobre as mães, e vamos verificar igualmente como é feito o relacionamento entre as duas tabelas.

Raul Ressano Garcia Pag. 12

Você também pode gostar