You are on page 1of 55

SGBD

Sistemas de Gesto de
Bases de Dados

Aspectos genricos sobre bases


de dados;
Criao de uma base de dados
no Microsoft Access;
Utilizao de uma base de
dados: consultas, formulrios e
relatrios.
Utilizao de uma base de dados

Formulrio

Relatrio
Consulta

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 2


Aspectos genricos sobre

BASES DE DADOS
Dos ficheiros de dados aos
sistemas de gesto de base de
dados;
Modelos de base de dados;
Modelao da informao e
design de uma base de dados.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 3


Dos ficheiros de dados aos sistemas
de gesto de base de dados

BASE DE DADOS:
Estrutura que permite guardar
informao sob a forma de um
ficheiro ou conjunto de ficheiros

FICHEIRO DE DADOS:
Elemento fundamental da base de
dados e que tem um formato tpico:
UM CONJUNTO DE REGISTOS
ESTRUTURADOS EM CAMPOS
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 4
Ficheiro de Dados
UM CONJUNTO DE REGISTOS
ESTRUTURADOS EM CAMPOS

O Excel permite definir ficheiros


que obedecem a esta estrutura

Ex.: guardar informao relativa a


produtos de uma empresa
(Cdigo_Produto, Produto, Modelo,
Preo)

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 5


Estrutura de um ficheiro de dados

CAMPOS

REGISTOS
Cdigo_Produto Produto Modelo Preo
101 Martelo M1 250
111 Alicate A1 400
121 Tesoura T1 500
131 Serra S1 1500

No Excel uma base de dados consiste


simplesmente numa tabela em que as
colunas correspondem aos campos e as
linhas aos registos
Com o Excel ficamos limitados a bases de
dados monotabela ou flat-file (constitudas
apenas por uma tabela)

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 6


SGBD
Sistemas de Gesto de
Bases de Dados
Programas ou conjunto de programas
que possibilitam a criao e
manipulao de Bases de Dados:

ESTRUTURADAS (organizadas em
campos e registos)
INDEPENDENTES (os dados podem ser
manipulados por diversas aplicaes)
Que ultrapassam as limitaes da
utilizao de uma s tabela
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 7
Limitaes de uma base de dados

MONOTABELA

Para lidar com estruturas de informao


complexas as BD monotabela no so de
longe as mais eficazes

Ex.: Uma empresa comercializa um


conjunto de artigos e pretende criar uma
base de dados para registar esses artigos,
assim como as encomendas efectuadas
pelos clientes e os dados habituais
relativos a estes.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 8


Limitaes de uma BD monotabela

Usando apenas uma tabela:


Cliente Endereo Telef/Fax Produto Modelo Preo Data_Enc Quant
Silva Lisboa 665544 Alicate A1 400 4/3/1996 400
Santos Porto 554433 Martelo M1 250 4/3/1996 250
Costa Coimbra 332211 Serra S1 1500 4/3/1996 1500
Castro Faro 443322 Tesoura T1 500 4/3/1996 500
Silva Lisboa 665544 Martelo M1 250 5/3/1996 250
Silva Lisboa 665544 Tesoura T1 500 5/3/1996 500
Costa Coimbra 332211 Alicate A1 400 6/3/1996 400
Costa Coimbra 332211 Serra S1 1500 6/3/1996 1500
Castro Faro 443322 Alicate A1 400 7/3/1996 400
Silva Lisboa 665544 Serra S1 1500 7/3/1996 1500

Qual a grande desvantagem?


A REDUNDNCIA (repetio
desnecessria) de informao

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 9


Soluo para evitar a REDUNDNCIA

A soluo mais adequada neste


caso seria utilizar 3 tabelas:
Uma para registar os dados dos
clientes
Uma para registar os dados dos
produtos
Uma para registar as encomendas
de produtos efectuadas pelos
clientes (relacionamento)

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 10


Soluo para evitar a redundncia - TABELAS

Clientes
Desta forma Cdigo_Cliente Nome_Cliente Endereo Telef/Fax
evitada a 11 Silva Lisboa 665544
redundncia de 12
13
Santos
Costa
Porto
Coimbra
554433
332211
informao visto 14 Castro Faro 443322
que os dados Produtos
relativos a Cdigo_Produto Produto Modelo Preo

clientes e
101 Martelo M1 250
111 Alicate A1 400
produtos s so 121 Tesoura T1 500
registados uma 131 Serra S1 1500

vez
Encomendas
Cdigo_Cliente Cdigo_Produto Data_Enc Quantidade
11 111 4/3/1996 5
12 101 4/3/1996 10
Monotabela: 13 131 4/3/1996 2
10x8= 80 clulas 14 121 4/3/1996 6
11 101 5/3/1996 10
11 121 5/3/1996 5
3 tabelas: 13
13
111 6/3/1996
131 6/3/1996
4
1
16+16+40= 72 14 111 7/3/1996 10
clulas 11 131 7/3/1996 4

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 11


Relacionamento entre tabelas

A tabela Encomendas reflecte o


relacionamento entre as outras 2 entidades
(Clientes e Produtos)

O relacionamento estabelecido a partir


dos campos comuns entre as tabelas
Cdigo_Cliente: campo comum entre a tabela
Clientes e a tabela Encomendas
Cdigo_Produto: campo comum entre a tabela
Encomendas e a tabela Produtos

Clientes Encomendas Produtos

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 12


Funes de um SGBD
Operaes sobre os ficheiros e os dados que
eles contm:
inserir novos registos;
procurar a visualizar um registo;
eliminar registos existentes;
seleccionar registos e/ou campos;
ordenar os registos de um ficheiro;
juntar ou intercalar registos de ficheiros diferentes;
fazer cpias ou duplicaes de ficheiros;
alterar a estrutura de campos de um ficheiro;
eliminar ficheiros;
etc.
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 13
SGBD - definio
Um Sistema de Gesto de Base de Dados
(SGBD) uma coleco de ficheiros de
dados inter-relacionados e um conjunto de
programas ou rotinas que permitem aos
utilizadores o acesso informao assim
armazenada, bem como a sua alterao
quando necessrio. Os ficheiros de dados
so guardados em suportes de
armazenamento informtico (discos,
disquetes, bandas magnticas, etc.) e, a partir
da, so manipulados pelos programas ou
rotinas do SGBD em execuo.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 14


Modelos de base de dados

Quando se pretende elaborar uma


base de dados confrontamo-nos
sempre com o seguinte problema:
Como representar uma situao do
mundo real atravs de conceitos
tericos?

Por exemplo:
Como se representa um cliente? (o sr.
Joaquim)
Como se representa um produto? (um martelo)
Como se representa um relacionamento? (o sr.
Joaquim encomenda um martelo)

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 15


Modelizao de BD

Clientes
Cdigo_Cliente Nome_Cliente Endereo Telef/Fax
11 Silva Lisboa 665544

Clientes 12
13
Santos
Costa
Porto
Coimbra
554433
332211
14 Castro Faro 443322

Produtos
Cdigo_Produto Produto Modelo Preo
101 Martelo M1 250

Produtos 111
121
Alicate
Tesoura
A1
T1
400
500
131 Serra S1 1500

Encomendas
Cdigo_Cliente Cdigo_Produto Data_Enc Quantidade
11 111 4/3/1996 5
12 101 4/3/1996 10
13 131 4/3/1996 2
14 121 4/3/1996 6
Encomendas 11
11
101 5/3/1996
121 5/3/1996
10
5
13 111 6/3/1996 4
13 131 6/3/1996 1
14 111 7/3/1996 10
11 131 7/3/1996 4

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 16


Modelo Entidade-Relacionamento

(ou modelo E-R)


Representa a realidade atravs dos
conceitos de:
ENTIDADE - podem representar pessoas
(funcionrios, alunos, etc.), organizaes
(empresas, escolas, etc.), coisas
(produtos, livros, etc.)

RELACIONAMENTO - procura traduzir as


relaes entre as entidades
consideradas (relao entre funcionrios
e empresas, entre produtos de uma
empresa e encomendas dos clientes,
etc.)
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 17
Modelo E-R
ENTIDADES E ATRIBUTOS
ATRIBUTOS elementos ou propriedades
que caracterizam as entidades

Ex.:

ENTIDADES ATRIBUTOS
Nome, n. de contribuinte, endereo,
Empresas telefone, fax, etc.
Data de nascimento, naturalidade,
Pessoas estado civil, etc.
Cdigo de identificao, modelo,
Produtos designao, quantidade, etc.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 18


Modelo E-R
Representao grfica

Exemplos de representaes
grficas utilizadas para entidades e
respectivos atributos:

Designao Preo
Empregado
Referncia Quantidade
Nome
Idade
Cargo
Vencimento Produto

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 19


Modelo E-R
No modelo E-R:
Uma entidade corresponde a uma tabela;
Os atributos das entidades correspondem
aos campos (colunas das tabelas);
Os vrios elementos da entidade
correspondem aos registos (linhas das
tabelas).

ENTIDADE <=> TABELA


ATRIBUTOS <=> CAMPOS
Empregado
Nome Idade Cargo Vencimento
Albano Silva 35 Chefe de Vendas 200
ELEMENTOS Ana Teixeira 30 Contabilista 150
<=> Rui Fonseca 45 Electricista 100
REGISTOS Carla Pinto 25 Directora de Produo 200

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 20


Modelo E-R
Valores e domnios dos atributos
Domnio do atributo conjunto de todos valores
possveis que o atributo pode tomar

Ex., na entidade Empregado:


Nome, tem como domnio todos os nomes que os
empregados podem ter
Idade, tem como domnio um subconjunto dos nmeros
inteiros

Num SGBD, a definio do domnio de cada atributo


tem vantagens, na validao de dados (ex.: texto,
nmero, data/hora , etc.)

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 21


Modelo E-R
Tipo de atributos
Atributos atmicos tm uma forma
elementar, no so passveis de
decomposio numa forma mais simples
Ex., Idade, Vencimento, etc.

Atributos compostos so passveis de


decomposio numa forma mais simples
Ex., Nome (de uma pessoa) que pode ser
decomposto em 1 nome, apelido

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 22


Modelo E-R
Tipo de atributos
Os atributos devem, na medida do possvel,
corresponder a valores elementares
Ex.: Aluno (Nome, Idade, Disciplinas); Disciplinas no
deve ser considerado um atributo da entidade aluno,
mas sim uma entidade parte

Atributo identificador (chave) - entre os diversos


atributos deve haver um que identifique sem
ambiguidade cada elemento da entidade
Ex.: no exemplo Empregado (Nome, Idade, Cargo,
Vencimento) no existe nenhum. Em casos como este
deve-se acrescentar um novo atributo, por ex.,
Cdigo_Empregado

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 23


Modelo E-R
Relacionamento entre entidades
Aps identificar as entidades e os respectivos
atributos relevantes para a base de dados, devem-
se definir os relacionamentos

Tipos de relacionamentos quanto ao nmero de


entidades:
Unrias entre elementos da mesma entidade
Binrias entre elementos de duas entidades
Ternrias relaes que envolvem simultaneamente
elementos de 3 entidades distintas

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 24


Relacionamento entre entidades

RELAES UNRIAS
Ex.:
relao superior e subordinado que pode existir entre
todos os empregados de uma empresa; a entidade
nica, Empregados e a relao envolve apenas
elementos dessa entidade.

Empregados

R
Empregado
Nome Idade Cargo Superior
Albano Silva 35 Chefe de Vendas Directora de Produo
Ana Teixeira 30 Contabilista Directora de Produo
Rui Fonseca 45 Electricista Chefe de Vendas
Carla Pinto 25 Directora de Produo Director Geral

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 25


Relacionamento entre entidades

RELAES BINRIAS
Este tipo de relacionamento o mais comum
Ex.:
Fornecedores de uma empresa e produtos fornecidos;
Produtos vendidos por uma empresa e respectivos clientes;
Alunos de um curso e disciplinas escolhidas;
Etc.

Muitas vezes as relaes binrias


Fornecedores R so estabelecidas
Produtos
atravs de um 3 tabela que tem campos em comum com
as das entidades relacionadas

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 26


Relacionamento entre entidades

RELAES TERNRIAS
Relaes mais complexas que retractam situaes
subjacentes a perguntas como estas:
Quais os clientes que compraram produtos fornecidos por um
determinado fornecedor?
Quais os produtos do fornecedor X que foram comprados pelo
cliente Y?

Clientes

Fornecedores R Produtos

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 27


Tipos de relacionamentos binrios

Sendo este o tipo de relacionamento mais comum, podemos ainda


classifica-lo quanto:

Ao nmero de elementos de uma entidade que podem relacionar-se


com os elementos da outra. (grau ou cardinalidade)
Relaes um-
um-para-
para-um
Relaes um-
um-para-
para-vrios (um-
(um-para-
para-n) ou vrios-
vrios-para-
para-um (n-
(n-para-
para-um)
Relaes vrios-
vrios-para-
para-vrios (n-
(n-para-
para-n)
Ao facto de de todos os elementos de uma entidade terem ou no a
obrigao de participar na relao. (obrigatoriedade ou opcionalidade
das entidades)
Participao obrigatria de ambas as entidades
Participao no obrigatria de uma das entidades
Participao no obrigatria de nenhuma das entidades

Mais frente veremos a importncia desta classificao na


determinao do n. de tabelas a incluir na base de dados.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 28


Modelo Relacional

O modelo relacional tornou-se o modelo de base de dados mais


difundido e utilizado pelos, por isso mesmo designados, Sistemas
de Gesto de Base de Dados Relacionais SGBDR

Tabelas elementos fundamentais do modelo. Podem representar


entidades ou relacionamentos entre entidades

Propriedades das tabelas:


A informao estruturada em campos e registos correspondentes,
respectivamente, s colunas e linhas;
Cada tabela designada, dentro da BD, por um nome nico;
As linhas correspondem aos registos (ocorrncias ou elementos) de
uma determinada entidade
As colunas correspondem aos atributos da entidade.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 29


Modelo Relacional

Outras propriedades importantes das tabelas:


A ordem pela qual se dispem as colunas (campos ou
atributos) indiferente, no alterando o significado da
informao;
A ordem pela qual se dispem as linhas (registos)
tambm no altera o significado da informao;

Aluno Aluno
N. Nome Idade Morada Nome Morada Idade N.
101 Abel 17 R. X Rui R. Z 19 220
201 Ana 16 R. Y <=> Ana R. Y 16 201
220 Rui 19 R. Z Sandra R. X 18 310
310 Sandra 18 R. X Abel R. X 17 101

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 30


Modelo Relacional

Outras propriedades importantes das tabelas:


Cada coluna (campo ou atributo) deve ser identificada, dentro
da mesma tabela, de modo nico;
No deve haver campos vazios, especialmente em campos
chave;
O domnio de cada atributo deve ser constitudo por valores
atmicos;
No pode haver registos (linhas) duplicados.

N. Nome Disciplinas
101 Abel Port; Mat
201 Ana Port; Ing; Fran Valor nulo num campo chave
Rui Ing; Mat Valores no atmicos num dos campos
310 Sandra Port; Ing; Mat

N. Nome Disciplinas Disciplinas


101 Abel Port Mat dois campos com o mesmo
201 Ana Port Ing
220 Rui Ing Mat
nome
201 Ana Port Ing 2 registos (linhas) repetidos
310 Sandra Ing Mat
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 31
Modelo Relacional
Chaves de uma tabela
Chave atributo, ou conjunto de atributos, que permite
identificar de forma unvoca cada elemento de uma
entidade.

Tipos de chaves:
Chave simples; constituda apenas por um atributo (neste
caso corresponde ao conceito de atributo identificador)
Chave composta; constituda por mais do que um atributo

Fornecedores
Cdigo_Fornecedor Nome Morada Localidade Telefone
101 Silva R. Nova Lisboa 6633
102 Nunes R. Velha Lisboa 6699
103 Metalin R. Nova Lisboa 9966
104 Silva R. Nova Porto 4488
105 Sousa R. Velha Porto 6699

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 32


Modelo Relacional
Chaves de uma tabela
Chaves candidatas conjunto de todas as chaves
possveis de uma tabela, simples ou compostas.

Chave primria , de entre as chaves candidatas,


aquela mais indicada (ou a escolhida), para identificar de
uma forma unvoca cada registo da entidade.

aconselhvel usar como chave primria uma chave


simples. Caso nenhum dos atributos de uma entidade
possa ser usado como chave primria simples, deve
acrescentar-se um atributo artificial como por ex.,
Cdigo_Fornecedor, Cdigo_Produto, N._Processo, etc.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 33


Modelo Relacional
Chaves de uma tabela
Caractersticas das chaves primrias:

Ser unvoca tem que ter um valor nico para registo

No nula nenhum valor dos atributos que formam a


chave primria pode conter um valor nulo

No redundante para o caso das chaves primrias


compostas, deve conter apenas o n. mnimo de
atributos para identificar os registos de forma unvoca

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 34


Modelo Relacional

Relacionamentos e chaves externas


A caracterstica fundamental do modelo relacional a de
poder estabelecer relaes entre as diversas entidades.

Esses relacionamentos so estabelecidos precisamente


atravs das chaves primrias

Representao de entidades no modelo relacional:

Entidade (ChavePrimria, atributo1, atributo2, ... atributoN)

Por ex.:
Fornecedores (CodForn, Nome, Endereo, Telef)
Produtos (CodProd, Nome, Modelo)

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 35


Modelo Relacional

Relacionamentos e chaves externas


Exemplo de um relacionamento entre duas entidades:
Pretende-
Pretende-se que uma base de dados d respostas a perguntas como estas:
Quais os produtos fornecidos por um fornecedor X?
Quais os fornecedores que podem fornecer um produto Y?

Para tal necessrio estabelecer um relacionamento entre as entidades


Produtos e Fornecedores
Trata-
Trata-se de um relacionamento vrios-
vrios-para-
para-vrios (n-
(n-para-
para-n)
Cada fornecedor pode fornecer mais do que um produto
Cada produto pode ser fornecido por mais do que um fornecedor

Para traduzir este relacionamento so necessrias 3 tabelas, 2


correspondentes s entidades Produtos e Fornecedores e outra onde
sero registadas as relaes entre elas

Fornecedores ForneceProdutos Produtos

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 36


Modelo Relacional

Relacionamentos e chaves externas

Fornecedores ForneceProdutos Produtos


CodForn Nome Localidade CodForn CodProd Preo CodProd Nome Modelo
101 Silva Lisboa 101 T1 10 T1 Torneira TX
102 Nunes Lisboa 101 C1 5 T2 Torneira TW
103 Metalin Lisboa 102 C2 7 C1 Cano CK
104 Silva Porto 103 T2 15 C2 Cano CJ
105 Sousa Porto 103 C2 8
104 T1 11
105 T2 14
105 C1 6

Fornecedores ForneceProdutos Produtos


CodForn CodForn CodProd
Nome CodProd Nome
Localidade Preo Modelo

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 37


Modelo Relacional

Relacionamentos e chaves externas


Neste exemplo temos:
2 tabelas de entidades
1 tabela de relacionamentos
Esta tem entre os seus campos as chaves das
tabelas das entidades que relaciona
Em relao a esta tabela estas chaves designam-se
por chaves externas
A chave primria desta tabela uma chave
composta constituda pelas chaves externas

atravs da incluso de chaves primrias


em outras tabelas (de que so chaves
externas) que se estabelecem os
relacionamentos nas BD relacionais.
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 38
Modelo Relacional

Preservao da integridade da informao


Uma das principais funes de um
SGBD assegurar que perante
operaes de actualizao a
informao se mantenha consistente
(integra)

Uma BD relacional deve assegurar 2


tipos de integridade:
Integridade de entidade
Integridade referencial

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 39


Modelo Relacional
Preservao da integridade da informao
Integridade de entidade os valores atribudos chave
primria de uma entidade no podem ser nulos nem iguais
a outros j existentes.

Integridade referencial um valor de uma chave externa


tem obrigatoriamente que existir como valor da chave
primria da entidade correspondente.
Exemplos de violao desta integridade:
Incluso de uma encomenda em que CodForn = 110
(na tabela ForneceProdutos)
ForneceProdutos)
Eliminar o produto CodProd = C2 (na tabela Produtos)
Alterar o CodProd de T2 para T3 (na tabela Produtos)

O SGBD responsvel por verificar estas situaes


enviando mensagens de erro para o utilizador, evitando
que a informao perca consistncia.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 40


Modelao da informao e design de uma base de dados

Objectivos gerais a atingir num projecto de base de dados:

tornar possvel a incluso de toda a informao relevante


que necessrio ter em conta na base de dados;
evitar a redundncia (repetio desnecessria) de
informao;
procurar assegurar a consistncia e integridade da
informao perante as vrias formas de utilizao da base
de dados;
proporcionar interfaces que apresentem a informao de
uma forma fcil de compreender e manipular por parte dos
utilizadores da base de dados;
proporcionar formas de controlo do acesso informao, em
conformidade com as necessidades dos diferentes tipos de
utilizadores e a eventual necessidade de privacidade da
informao (segurana).

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 41


Modelao da informao e design de uma base de dados

Fases de um projecto de criao de uma base de dados relacional:


anlise da situao para recolha da informao relevante a incluir na BD;
elaborao, no papel, de um primeiro esboo da estrutura geral da base de
dados, descrevendo as entidades a fluxos de relaes entre elas, em
correspondncia com a informao anteriormente recolhida;
definio exacta de cada entidade, atravs da enumerao dos seus atributos,
identificao dos atributos-chave, etc.;
determinao dos relacionamentos entre as diferentes entidades;
eventual reviso da estrutura de entidades, atributos a relacionamentos, atravs
de um processo de normalizao, por forma a que a informao a incluir na base
de dados fique correctamente estruturada, evitando redundncias, falhas de
consistncia, etc.;
derivao das tabelas da base de dados a partir da estrutura de entidades
desenvolvimento do esquema da base de dados num SGBD:
criao das tabelas com as respectivas estruturas de campos;
definio das chaves primrias a respectivos ndices;
estabelecimento das relaes entre as tabelas;
indicaes para validao dos dados a introduzir a para assegurar a integridade da
informao; etc.
criao de programas de aplicao, com interfaces grficos, menus de
comandos, procedimentos de rotina ou de ajuda realizao de certas tarefas,
tudo no sentido de tornar mais fcil a utilizao da base de dados
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 42
Estratgias para a concepo de BD

Existem duas estratgias genricas de


abordagem
Top-down (do geral p/ o particular)
Parte-se da anlise das entidades e dos tipos de
relacionamentos entre elas, segundo o modelo E-R,
determinando-se assim as tabelas a inserir na BD
Bottom-up (do particular p/ o geral)
Comea-se por considerar uma ou mais tabelas que
contenham os atributos relevantes representao
de cada aspecto da situao e, recorrendo a um
processo de normalizao, determinam-se as
tabelas a inserir na BD

Esta diviso terica de estratgias no


impede que na prtica se possam utilizar
em simultneo com claras vantagens
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 43
1 Estratgia abordagem top-down

Derivao das tabelas a partir do modelo E-R


O modelo E-R bastante usado na fase de concepo
de uma BD porque existem regras claras para a
determinao das tabelas necessrias em cada tipo de
relacionamento entre entidades

Como j vimos atrs, existem vrios tipos de


relacionamento entre duas entidades quanto ao seu
grau ou cardinalidade e quanto obrigatoriedade ou
opcionalidade. De acordo com o tipo de
relacionamento assim classificado, iremos ter
diferentes situaes em relao ao nmero de
tabelas e chaves, primrias e externas.

Assim veremos situaes em que so necessrias


uma tabela, duas tabelas ou trs tabelas para
traduzir adequadamente cada situao.
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 44
Situaes em que necessrio uma nica tabela

o relacionamento um-para-um, com participao


obrigatria de ambas as entidades.
Cada scio
Morada desempenha um nico
Nome Telefone Cargo Vencimento cargo e cada cargo
desempenhado por um
1 1 nico scio; alm
Scios Cargos disso todos os scios
tm que desempenhar
um cargo e todos os
Scios Cargos cargos tm que ser
Abel Presidente desempenhados por
Ana Director um scio

Carla Secretria
Uma situao destas
Carlos Contabilista como se tratasse
apenas duma tabela. A
Nome Morada Telefone Cargo Vencimento chave primria dessa
Abel R. Z 6633 Presidente 300 tabela pode ser
qualquer uma das
Ana R. Y 6699 Director 250 chaves primrias das
Carla R. X 9966 Secretria 200 tabelas originais
Carlos R. X 4488 Contabilista 150

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 45


Situaes em que so necessrias apenas duas tabelas

So as duas seguintes situaes:


Relacionamento um-para-um, com participao
obrigatria de uma entidade e no obrigatria da outra
Relacionamento um-para-n ou n-para-um com
participao obrigatria do lado n

Em qualquer dos casos so necessrias apenas


duas tabelas. A chave primria de cada entidade
serve de chave primria das respectivas tabelas e a
chave primria da entidade com participao no
obrigatria tem de ser usada como atributo da
tabela da entidade com participao obrigatria,
onde chave externa.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 46


Situaes em que so necessrias apenas duas tabelas

Relacionamento um-para-um, com participao


obrigatria de uma entidade e no obrigatria da outra

1 1 Neste caso, cada


Scios Cargos scio desempenha,
no mximo, um
cargo, mas no
Scios
Abel
Cargos
Presidente
obrigatrio que
Ana Director desempenhe algum
Carla Contabilista cargo.
Carlos

Scios Cargos So necessrias


duas tabelas, uma
Nome Morada Telefone Cargo Vencimento Nome
Abel R. Z 6633 Presidente 300 Abel
Ana R. Y 6699 Director 250 Ana para cada
Carla R. X 9966 Contabilista 150 Carlos entidade. A tabela
com participao
Carlos R. X 4488

Tabela nica obrigatria tem


Nome Morada Telefone Cargo Vencimento que conter como
Abel
Ana
R. Z
R. Y
6633
6699
Presidente
Director
300
250
campo a chave
Carla R. X 9966 - - primria da outra
Carlos R. X 4488 Contabilista 150 tabela

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 47


Situaes em que so necessrias apenas duas tabelas

Relacionamento um-para-n ou n-para-um com participao


obrigatria do lado n

1 N Neste caso a
Scios Cargos diferena que cada
scio pode
desempenhar mais do
Scios Cargos que um cargo, a
Abel Presidente entidade cargo do
Ana Director tipo n (ou vrios).
Carla Secretria
Carlos Contabilista
Daniel Marketing Basta analisar a
Rel. Pblicas participao da
entidade do lado n,
pois a entidade do
Scios Cargos lado um pode ter
Nome Morada Telefone Cargo Vencimento Nome participao
Abel R. Z 6633 Presidente 300 Abel obrigatria ou no, o
Ana R. Y 6699 Director 250 Ana que no afecta o n.
Carla R. X 9966 Secretria 200 Carla de tabelas. Na tabela
Carlos R. X 4488 Contabilista 150 Carlos
do lado n entra como
Daniel R. M 6622 Marketing 150 Abel
campo a chave
Rel. Pblicas 100 Ana
primria da outra
tabela.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 48


Situaes em que so necessrias trs tabelas

Em todas as outras situaes de relacionamentos binrios so


necessrias trs tabelas: duas correspondentes s duas
entidades a uma terceira correspondente ao relacionamento
entre essas entidades. Temos necessidade de trs tabelas
nos seguintes casos:
em todos os relacionamentos do tipo n-para-n
em relacionamentos do tipo um-para-n ou n-para-um em que se
verifique participao no obrigatria do lado n
nos relacionamentos do tipo um-para-um em que no haja
participao obrigatria de nenhuma das duas entidades

Em todos os casos, a tabela relativa aos relacionamentos ter


de ter nos seus atributos as chaves primrias de cada uma
das outras duas entidades ou tabelas.

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 49


Situaes em que so necessrias trs tabelas

Relacionamentos do tipo n-para-n


Em qualquer relacionamento do tipo n-para-n (ou
vrios-para-vrios), seja qual for o modo de
participao (obrigatria ou no obrigatria) das
duas entidades, so sempre necessrias duas
tabelas para representar a situao.
Ex.:
Fornecedores - Fornecem - Produtos;
Clientes - _Encomendam - Produtos;
Leitores - Requisitam - Livros;
Alunos - Frequentam - Disciplinas.
A tabela correspondente ao relacionamento entre
duas entidades dever conter, entre os seus
atributos, as chaves primrias das duas outras
entidades ou tabelas
ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 50
Situaes em que so necessrias trs tabelas

Relacionamentos do tipo n-para-n


N N
Fornecedores Produtos
Fornecedores Produtos
Silva 1
Nunes 2
Metalin 3
4

Fornecedores ForneceProd Produtos


NomeForn NomeForn CodProd
Endereo CodProd NomeProd
Telefone Preo

Fornecedores ForneceProdutos Produtos


NomeForn Endereo Telefone NomeForn CodProd Preo CodProd NomeProd Modelo
Silva Lisboa 6699 Silva ST1 100 ST1 Torneira TX
Nunes Porto 4488 Silva NC3 30 ST2 Torneira TY
Metalin Lisboa 6644 Silva MT1 40 NC3 Cano CK
Nunes ST1 110 MT1 Torneira CW
Nunes ST2 120
Metalin ST2 125
Metalin NC3 25
Metalin MT1 40

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 51


Situaes em que so necessrias trs tabelas

Relacionamentos do tipo n-para-n

N N
Fornecedores Produtos

A incluso da tabela de relacionamento entre as tabelas relativas s


duas entidades altera o tipo de relacionamento: em vez de um
relacionamento n-para-n, passamos a ter dois relacionamentos do tipo
um-para-n ou n-para-um. Esta transformao importante no
esquema da base de dados porque os SGBD no conseguem lidar
directamente com situaes do tipo n-para-n, tendo estas que ser
convertidas para situaes do tipo um-para-n ou n-para-um.

1 1 N
Fornecedores N ForneceProdutos Produtos

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 52


Situaes em que so necessrias trs tabelas

Relacionamentos do tipo um-para-n com participao


no-obrigatria do lado n
Ex.: Cada cargo s pode ser desempenhado por um scio, um scio pode
desempenhar vrios cargos e pode haver cargos que no sejam desempenhados.

1 N
Scios Cargos
Scios Cargos
Abel Presidente
Ana Director
Carla Secretria
Carlos Contabilista
Daniel Marketing
Rel. Pblicas

Scios Desem penham Cargos


Nome Nome Cargo
Morada Cargo Vencimento
Telefone

Scios Desempenham Cargos


Nome Morada Telefone Nome Cargo Cargo Vencim ento
Abel R. Z 6633 Abel Presidente Presidente 300
Ana R. Y 6699 Abel Marketing Director 250
Carla R. X 9966 Ana Director Secretria 200
Carlos R. X 4488 Ana Marketing Contabilista 150
Daniel R. M 6622 Carlos Contabilista Marketing 150
Rel. Pblicas 100

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 53


Situaes em que so necessrias trs tabelas

Relacionamentos um-para-um sem participao obrigatria de


nenhuma das entidades
Ex.: Cada cargo s pode ser desempenhado por um scio, cada scio s pode
desempenhar um cargo, pode haver cargos que no sejam desempenhados e scios
que no desempenhem nenhum cargo.

1 1
Scios Cargos
Scios Cargos
Abel Presidente
Ana Director
Carla Secretria
Carlos Contabilista
Rel. Pblicas

Scios Desem penham Cargos


Nome Nome Cargo
Morada Cargo Vencimento
Telefone

Scios Desempenham Cargos


Nome Morada Telefone Nome Cargo Cargo Vencim ento
Abel R. Z 6633 Abel Presidente Presidente 300
Ana R. Y 6699 Ana Director Director 250
Carla R. X 9966 Carlos Contabilista Secretria 200
Carlos R. X 4488 Contabilista 150
Daniel R. M 6622 Marketing 150
Rel. Pblicas 100

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 54


Abordagem top-down (resumo)

Nmero de tabelas necessrias para traduzir


adequadamente relacionamentos binrios.

N. DE
TIPO DE RELACIONAMENTO
TABELAS
Relacionamento um-para-um, com participao obrigatria de
ambas as entidades 1
Relacionamento um-para-um, com participao obrigatria de
uma entidade e no obrigatria da outra
Relacionamento um-para-n ou n-para-um com participao
2
obrigatria do lado n

Todos os relacionamentos do tipo n-para-n


Relacionamentos do tipo um-para-n ou n-para-um em que se
verifique participao no obrigatria do lado n 3
Relacionamentos do tipo um-para-um em que no haja
participao obrigatria de nenhuma das duas entidades

ITI 2 Bloco II Sistemas de Gesto de Base de Dados (SGBD) 55