Você está na página 1de 29

Programao e Sistemas de Informao Modelao de Dados

Mdulo 13
Modelo Relacional I
Uma viso de princpios
A anlise no modelo relacional tem por base trs princpios simples:
Dependncia funcional
Controlo da redundncia
Evitar nulos
Ver Modelo Relacional Princpios (ModeloRelacionalEstrutural_1.pps)
Biblioteca Escolar
Anlise de um Problema
Ver Biblioteca (Biblioteca.pps)
Ver Relacionamento de Entidades (Relacionamento.pps)
Modelo Relacional II
Nomenclatura
Ver Modelo Relacional Nomenclatura e Definies (ModeloRelacional_Nomenclatura&Definicoes.pps)
1 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 1
Farmcia
Enunciado
Uma farmcia pretende informatizar o seu negcio. Os dados relevantes so:
Medicamentos:
cdigo de barras (13 caracteres)
nome do medicamento (30 caracteres)
preo (nmero real)
Clientes:
cdigo do cliente (nmero inteiro)
nome (50 caracteres)
localidade da residncia (50 caracteres)
A venda traduz-se na produo de uma fatura que contm:
n de fatura (nmero inteiro)
data
cdigo de barras dos medicamentos
custo total
dados do cliente
Ex. 1
a) Construa o modelo conceptual (diagrama entidade-relao) do problema.
b) Construa o modelo relacional.
c) Especifique as dependncias funcionais
2 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Ex. 2
Pretende-se expandir a base de dados de forma a incluir as notas de fornecimento dos medicamentos aos laboratrios farmacuticos.
Os dados relevantes so:
Farmacutica:
cdigo
Nome da empresa
Nota de encomenda:
n da nota (nmero inteiro)
data
cdigo de barras dos medicamentos
custo total
dados da farmacutica
a) Construa o modelo relacional usando.
b) Especifique as dependncias funcionais
3 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 2
Loja de Ferramentas
Enunciado
Uma loja de ferramentas pretende informatizar o seu negcio. Para tal, necessrio planear uma base de dados com a seguinte informao:
Clientes:
cdigo do cliente (3 caracteres)
nome do cliente (50 caracteres)
Ferramentas:
cdigo da ferramentas em cdigo de barras (13 caracteres)
nome da ferramenta (20 caracteres)
preo unitrio de venda (moeda)
Fatura de venda ao cliente:
nmero da fatura (nmero inteiro)
data
dados do cliente
lista das ferramentas
preo total
Ex 1
a) Construa o modelo conceptual usando o modelo entidade-relao.
4 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
b) Construa a base de dados relacional.
c) Especifique as dependncias funcionais
Ex 2
A loja pretende expandir a informatizao do negcio de modo a incluir o processo de encomenda aos seus fornecedores fabricantes de ferramentas.
Sabe-se que cada ferramenta pode ser fornecida por vrios fabricantes. Os dados relevantes so:
Fabricantes:
cdigo do fabricante (3 caracteres)
nome da empresa (30 caracteres)
Nota de encomenda:
nmero da encomenda (nmero inteiro)
data
dados do fabricante
lista de ferramentas.
a) Construa a base de dados relacional.
b) Especifique as dependncias funcionais
Ex 3
A imposio de uma procura mais eficiente dos custos mais favorveis para a loja, leva necessidade de registar na base de dados o preo mais
barato e o respetivo fabricante.
a) Construa a base de dados relacional.
b) Especifique as dependncias funcionais
5 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 3
Empresa de Computadores
Enunciado
Uma empresa de montagem e manuteno de computadores pretende informatizar o seu negcio.
A empresa est organizada em dois departamentos: o de vendas e o de manuteno que tm sistema de faturao independente.
Para tal, necessrio planear uma base de dados com a seguinte informao:
Clientes:
cdigo do cliente (3 caracteres)
nome do cliente (50 caracteres)
Peas ou Computador:
cdigo da pea em cdigo de barras (13 caracteres)
tipo (computador, placa de rede, memria, etc.) (20 caracteres)
preo unitrio de venda (moeda)
Fatura de venda ao cliente:
nmero da fatura (nmero inteiro)
data
dados do cliente
lista de aquisies
preo total
6 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Fatura de manuteno ao cliente:
nmero da fatura (nmero inteiro)
data
dados do cliente
descrio da manuteno (texto descritivo da manuteno)
preo total
Ex 1
a) Construa o modelo conceptual usando o modelo entidade-relao.
b) Construa a base de dados relacional.
c) Especifique as dependncias funcionais
Ex 2
A empresa pretende expandir a informatizao do negcio de modo a incluir o processo de encomenda aos seus fornecedores de peas. Sabe-se que
cada pea pode ser fornecida por vrios fornecedores. Os dados relevantes so:
Fornecedores:
cdigo (3 caracteres)
nome da empresa (30 caracteres)
Nota de encomenda:
nmero da encomenda (nmero inteiro)
data
7 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
dados do fornecedor
lista de peas.
b) Construa a base de dados relacional.
c) Especifique as dependncias funcionais
Ex 3
A imposio de uma procura mais eficiente dos custos mais favorveis para a empresa, leva necessidade de registar na base de dados o preo mais
barato e o respetivo fornecedor.
a) Construa a base de dados relacional.
b) Especifique as dependncias funcionais
8 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 4
Gesto de Proprietrios e Utilizadores de Imveis
Enunciado
Pretende-se uma base de dados que permita gerir os utilizadores e proprietrios de imveis. Sabe-se que um imvel pode ter um ou mais proprietrios,
mas nem todas as pessoas so proprietrias. No entanto o imvel pode ser alugado a outras pessoas que o usaro e no so proprietrios.
Os dados relevantes so:
Pessoas:
- Bilhete de Identidade (10 caracteres)
- N de Identificao Fiscal (9 caracteres)
- Nome (50 caracteres)
Imveis:
- Cdigo da matriz de registo predial (5 caracteres)
- Tipo (urbano ou rstico)
- Valor matricial (moeda)
Aluguer:
- Cdigo do arrendamento (5 caracteres)
- Mensalidade contratada (moeda)
- Identificao do proprietrio
9 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
- Identificao do arrendatrio
Ex 1
a) Construa a base de dados relacional.
b) Especifique as dependncias funcionais
10 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Modelo Relacional III
Normalizao
Ver Modelo Relacional Normalizao (ModeloRelacionalEstrutural_2.pps)
11 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 5
Gesto de Professores de uma Escola
Enunciado
Pretende-se construir uma base de dados para a gesto dos professores de uma escola. Sabe-se que cada professor est, obrigatoriamente, integrado
num s departamento curricular. Por sua vez, a cada professor est atribuda uma ou mais disciplinas do seu departamento, podendo no estar atribuda
qualquer disciplina por estar dispensado de servio letivo.
As disciplinas esto integradas nos departamentos curriculares, tendo estes vrias disciplinas, mas cada disciplina pertence, obrigatoriamente, a um s
departamento.
Os dados relevantes so:
Professor:
- Bilhete de Identidade (10 caracteres)
- N de Identificao (inteiro)
- Nome (50 caracteres)
Departamento:
- Cdigo do departamento (4 caracteres)
- Designao (Cincias, Informtica, Artes, Letras)
Disciplina:
- Cdigo da disciplina (4 caracteres)
- Designao (Matemtica, Fsica, Qumica, Programao, Tecn. da Inf. e Comunicao, Desenho, Pintura, Portugus, etc.)
12 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Ex 1
a) Construa a base de dados relacional.
b) Especifique as dependncias funcionais, comprovando que a base de dados se encontra na 3FN.
Ex 2
Pretende-se que a base de dados tenha informao sobre o horrio dos professores. Sabe-se que cada professor s d uma aula por dia. Os dados
relevantes so:
Horrio:
- cdigo do horrio (5 caracteres)
- dia da semana
- hora de incio
- disciplina
a) Construa a base de dados relacional.
b) Especifique as dependncias funcionais, comprovando que a base de dados se encontra na 3FN.
13 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 6
Modelo Relacional
Enunciado 1
Identifique conceitos bsicos associados aos Sistemas de Gesto de Bases de Dados (SGBD) adequados ao preenchimento dos espaos assinalados (C,
).
Uma base de dados num SGBD relacional constituda por vrias tabelas, as quais possuem vrios C____________, sendo que, um ou mais destes
elementos podero formar a C____________ pela qual cada linha da tabela se distingue das demais. As C____________ permitem retirar informao
das tabelas da base de dados que obedeam a uma determinada condio. Quando queremos proceder insero dos dados elaboramos um
C____________ como interface para o utilizador, o qual poder conter um ou mais C____________ por forma a mostrar registos relacionados
noutras tabelas quando o relacionamento do tipo 1-para-n.
Enunciado 2
Elabore um conjunto de tabelas (nomes e respetivos campos) a
incluir numa base de dados que d suporte ao formulrio seguinte
(Fig. 2), respeitando o modelo relacional (tabelas normalizadas).
Fig. 2 - Formulrio para registo de entradas e sadas de
produtos, nos vrios armazns de uma empresa.
14 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Enunciado 3
Considere as seguintes tabelas pertencentes a uma base de dados relativa s divises administrativas portuguesas:
Fig. 3 - Tabelas da base de dados.
Nota:
O campo rea contm a rea do concelho em km
2
.
1. Apresente, para cada uma das tabelas representadas (Fig. 3), o campo ou combinao de campos que devem ser a sua chave primria.
2. Classifique os dois tipos de relacionamentos entre as tabelas representadas.
15 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 7
Modelo Relacional
Enunciado 1
Identifique conceitos bsicos associados aos Sistemas de Gesto de Bases de Dados (SGBD) adequados ao preenchimento dos espaos assinalados (C,
).
Embora os campos do tipoC___________ e os campos do tipo C___________ sejam utilizados para armazenar dados com as mesmas caractersticas,
o primeiro tipo, ao contrrio do segundo, exige que seja especificado um limite mximo de caracteres partida.
Um campo numrico definido como byte permite uma gama de valores de dimenso
C___________ que a gama de valores de um campo definido como inteiro.
Um campo numrico adequado ao armazenamento de valores monetrios deve ser definido
como C___________.
16 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Enunciado 2
Defina um conjunto de tabelas (nomes e respetivos campos) a incluir numa base de dados que d suporte ao formulrio seguinte (Fig. 2), respeitando o
modelo relacional (tabelas normalizadas).
Fig. 2 Formulrio de professores, turmas e disciplinas
17 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Enunciado 3
Considere as seguintes tabelas, relativas gesto de despesas de uma empresa.
Fig. 3 Tabelas da base de dados
Nota:
o N Despesa um nmero sequencial atribudo a cada uma das despesas;
o campo Taxa Cobertura um nmero de 0 a 100 correspondente percentagem da
importncia da despesa paga ao empregado (coberta) pela empresa;
os campos Descrio Despesa, Nome, Categoria e Departamento so de
texto, o campo Data do tipo data/hora e os restantes so numricos.
Apresente, para cada uma das tabelas (Fig. 3), o campo ou combinao de campos que
deve constituir a sua chave primria.
18 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 8
Agenda
Enunciado
Pretende-se implementar uma base de dados para construir uma agenda de contactos.
Pretende-se registar as diversas moradas de cada uma das pessoas registadas (morada da residncia, morada do local de trabalho, morada da casa de
frias, etc.). A cada morada poder haver um contacto telefnico em rede fixa.
H interesse em registar os telemveis associados a cada pessoa e os seus endereos de correio eletrnico e o endereo do seu site pessoal.
Os dados relevantes so:
Pessoa:
Nome
Moradas completas (rua, localidade e cdigo postal)
telefones e outros contactos conforme enunciado.
Data de nascimento
Campo de observaes que poder ser preenchido ou no.
Ex 1
Construa a base de dados relacional.
Ex 2
Especifique, para cada tabela, as dependncias funcionais, comprovando que estas se encontram na 3FN.
19 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 9
Biblioteca
Enunciado
Pretende-se implementar uma base de dados para uma determinada biblioteca.
Requisitos considerados
Publicaes
A biblioteca constituda por publicaes no peridicas, isto , aquilo a que genericamente se designam livros. Estes so classificados por
uma tipologia interna em: livro, manual, tese ou outras e, tambm, por temas: cincias, arte, fico, literatura, etc..
Quando recebido um novo livro, este lanado na base de dados por um departamento da biblioteca ligado h gesto. Note-se que podem
existir vrios exemplares do mesmo livro. Quando obras de vrios volumes, estes so catalogados como livros independentes.
Armazenamento e Classificao dos Exemplares
A biblioteca tem um sistema automatizado de armazenamento das publicaes. O armazm robotizado e os exemplares so referenciados pelo
seu posicionamento no armazm, assim os exemplares e so identificados e registados sob um cdigo de at quatro caracteres: os dois primeiros
so letras que identificam a prateleira e os outros dois so nmeros que identificam a posio na prateleira. Por exemplo, T23 ou AA05.
Leitores
Os leitores desta biblioteca tm que estar inscritos, sendo o processo de inscrio analisado pelo departamento ligado gesto atrs referido.
Fica registado, nos dados do novo leitor, o funcionrio que confirma o processo de inscrio.
Requisio e Devoluo
O leitor para levar um ou mais livros ter de os requisitar. Tanto na requisio como na devoluo, ter que ficar registado o funcionrio que o
receber e a respetiva data. A devoluo dever ser feita para todas as publicaes requisitadas numa determinada requisio.
20 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
A base de dados incluir informao sobre disponibilidade, ou no, do exemplar para ser requisitado.
A base de dados inclui o registo dos funcionrios da biblioteca. Este registo conter a indicao da funo do funcionrio.
Autores e Editoras
O registo de autores inclui a
possibilidade de estes estarem, ou no,
associados a uma editora.
Anlise
Depois da anlise do funcionamento da
biblioteca, chegou-se ao seguinte esquema de
Entidade-Relao (Fig 1).
Tarefas
Implemente a Base de Dados segundo as
indicaes apresentadas
Liste todas as tabelas no formato:
Tabela (campo1, campo2, ...,
campoN)
Os campos (atributos) chave primria ficam a
negrito e os campos chave estrangeira ou
secundria a itlico.
21 Alexandre Alcobia
Fig 1: Modelo conceptual
Programao e Sistemas de Informao Modelao de Dados
Exerccio 10
Companhia Area
Enunciado
Pretende-se uma base de dados para gerir uma companhia area. Esta companhia tem diversos tipos de funcionrios. So funcionrios administrativos,
pessoal de terra que faz os check-in e marcaes de voo; e pessoal de voo: o staff que integra os avies e os pilotos.
Os funcionrios de terra esto distribudos pelos diversos aeroportos.
Pretende-se, tambm, gerir os voos nos diversos aeroportos em que a companhia intervm.
A informao necessria listada a seguir.
Funcionrios:
nome
NIF
cdigo do funcionrio (4 caracteres)
tipo (administrativo, terra, voo e piloto)
Pilotos:
Os pilotos, alm dos dados dos funcionrios tambm tem que haver indicao do nmero de horas de voo que tm no seu currculo profissional.
Voos:
cdigo do voo (caracteres (6))
piloto
aeroporto de partida
22 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
aeroporto de chegada
aeroporto de destino
data
hora de partida
Aeroportos:
nome do aeroporto
cidade
pas
Exerccio
a) Construa a base de dados garantindo que cumpre a 3FN e introduza dados na base de dados.
b) Liste todas as tabelas no formato:
Tabela (campo1, campo2, ..., campoN)
Os campos (atributos) chave primria ficam a sublinhado e os campos chave estrangeira ou secundria a itlico.
23 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 11
Ficha de Exerccios
Nota:
Esta ficha para ser realizada, nica e exclusivamente, no Word.
Exerccio 1
Descreva por palavras suas o que uma Base de Dados.
Exerccio 2
Distinga chave primria de chave externa ou estrangeira. Exemplifique.
Exerccio 3
Identifique conceitos bsicos dos SGBD relacionais preenchendo os espaos assinalados (C,C,...,1).
Cada C___, num SGBD relacional, guarda informao relativa a uma entidade, por exemplo: Clientes, Fornecedores, Produtos, etc..
Cada item de informao (atributo) relativo a uma entidade, corresponde a um C___, e cada ocorrncia dessa entidade, a um C___.
Os campos de uma tabela tm C___ nicos e de preferncia sugestivos.
O C___ caracteriza a informao que o campo ir conter, por exemplo: nmeros, texto, datas, etc..
Numa tabela, a ___ pode ser constituda por um ou mais C___ com ___ iguais ou diferentes.
Um ___ uma estrutura auxiliar que torna a pesquisa auxiliar mais eficiente.
A existncia de duplicaes desnecessrias de itens de informao designa-se por 1___.
24 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Ex. 4
Considere as seguintes Bases de Dados (ver figuras 1 e 2).
1. Base de Dados relativa a informao geogrfica:

a) Apresente para cada uma das tabelas anteriores, o campo ou combinao de campos que devem construir a
chave primria, partindo do princpio que existem cidades com o mesmo cdigo em pases diferentes O
mesmo acontece para as regies.
b) Considerando as definies de tipo de relaes entre tabelas:
1 para 1: a cada registo da primeira tabela corresponde apenas um registo na segunda;
1 para N: a cada registo da primeira tabela correspondem vrios na segunda.
Atendendo ao sentido da relao (1 tabela, 2 tabela) e s definies apresentadas, classifique os tipos de
relao estabelecidas entre as tabelas da Base de Dados da Fig 1:
Pases Pases/Cidades
Pases/Regies Pases.
2. Bases de Dados de consultas efectuadas num posto mdico:
25 Alexandre Alcobia
Fig 2: Relacionamento de tabelas
Fig 3: Relacionamento de tabelas
Programao e Sistemas de Informao Modelao de Dados
Nota: Cada doente pode consultar mais do que um mdico no mesmo dia, mas no pode consultar o mesmo mdico mais do que uma vez por dia.
a) Apresente para cada uma das tabelas anteriores, o campo ou combinao de campos que devem construir a chave primria.
b)Considerando as definies de tipo de relaes entre tabelas:
1 para 1: a cada registo da primeira tabela corresponde apenas um registo na segunda;
1 para N: a cada registo da primeira tabela correspondem vrios na segunda.
Atendendo ao sentido da relao (1 tabela, 2 tabela) e s definies apresentadas, classifique os tipos de relao estabelecidas entre as tabelas da Base
de Dados da Fig 2:
Doentes Consultas
Consultas Mdicos
26 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 12
Ficha de Exerccios
Exerccio 1
a) Para cada uma das tabelas seguintes indique porque razo no esto na 3FN.
b) Corrija e implemente a 3FN para as duas bases de dados.
27 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 2
28 Alexandre Alcobia
Programao e Sistemas de Informao Modelao de Dados
Exerccio 3
29 Alexandre Alcobia