SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
Modela¸c˜ao de base de Dados
Alberto Sim˜oes
alberto.simoes@eu.ipp.pt
Planeamento de Sistemas de Informa¸c˜ao
Mestrado em Informa¸c˜ao Empresarial
2012/2013
Alberto Sim˜oes Modela¸c˜ao de base de Dados 1/46
Modela¸c˜ao de Dados
A modela¸c˜ao dados ´e um m´etodo que permite modelar a
estrutura de uma base de dados;
Tipicamente ´e apresentado sob a forma de um diagrama;
O Diagrama Entidade-Rela¸c˜ao (Diagrama E-R ou DER) ´e
uma ferramenta gr´afica para facilitar a modela¸c˜ao de dados;
Os DER tˆem como objetivo modelar a semˆantica subjacente `a
estrutura de dados;
No processo de Modela¸c˜ao de Dados:
O primeiro passo corresponde `a abstra¸c˜ao!
Quanto mais tempo se mantiver longe de detalhes e de
implementa¸c˜oes espec´ıficas, mais f´acil ser´a alterar o modelo, e
decidir como ser˜ao armazenados os dados.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 2/46
Diagrama Entidade-Rela¸c˜ao
O DER ´e uma ferramenta de modela¸c˜ao de dados, semˆantica,
que ´e usada para descrever de forma abstrata a estrutura de
dados;
A estrutura descritos de forma abstrata ´e denominada de
Modelo Conceptual.
O Modelo Conceptual ir´a permitir obter um modelo concreto.
Quando o modelo captura a vis˜ao da realidade a armazenar,
poderemos passar `a defini¸c˜ao do modelo concreto.
Um DER tamb´em pode ser usado para documentar uma base
de dados j´a existente, ajudando no processo de reengenharia.
Um DER modela dados como entidades e relacionamentos;
Alberto Sim˜oes Modela¸c˜ao de base de Dados 3/46
Diagrama Entidade-Rela¸c˜ao
Entidades
Uma entidade ´e uma coisa sobre a qual queremos guardar
dados, seja uma pessoa, uma conta banc´aria, um edif´ıcio;
Nas primeiras referˆencias aos DER, Chen (1976) descreveu
uma entidade como“uma coisa que pode ser distintamente
identificada”
O nome para uma entidade deve representar um tipo ou uma
classe de coisas, n˜ao uma instˆancia (tipicamente no singular);
O nome de uma entidade deve ser suficientemente gen´erico
mas, ao mesmo tempo n˜ao pode ser demasiado gen´erico: o
nome deve permitir acomodar altera¸c˜oes ao longo do tempo.
As entidades tˆem atributos;
Um atributo ´e uma propriedade ou carater´ıstica de uma
entidade.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 4/46
Diagrama Entidade-Rela¸c˜ao
Entidades
Exemplos de Entidades:
Pessoas: empregado, veterin´ario, estudante;
Lugares: estado, pa´ıs;
Objeto: edif´ıcio, autom´ovel, produto;
Evento: venda, devolu¸c˜ao;
Conceptual: conta, departamento;
Alberto Sim˜oes Modela¸c˜ao de base de Dados 5/46
Diagramas Entidade-Rela¸c˜ao
Entidades
Os dados particulares sobre determinada entidade s˜ao
referidos como instˆancias;
Uma instˆancia ´e uma ´unica ocorrˆencia de uma entidade.
Cada instˆancia de uma entidade deve ser identificada
unicamente, de modo a que essa instˆancia seja distintivamente
identific´avel de todas as outras instˆancias da mesma entidade.
Por exemplo, numa entidade cliente, poderemos imaginar que
a empresa atribui um n´umero de cliente, ´unico, a cada cliente.
A este identificador ´unico chamamos chave.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 6/46
Diagramas Entidade-Rela¸c˜ao
Entidades e Atributos
Na modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜ao
representadas em retˆangulos.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 7/46
Diagramas Entidade-Rela¸c˜ao
Entidades e Atributos
Na modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜ao
representadas em retˆangulos.
Os atributos s˜ao colocados `a sua volta.
Uma das nota¸c˜oes usadas para atributos representa-os como
c´ırculos ou ovais ligados `a entidade em causa.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 7/46
Diagramas Entidade-Rela¸c˜ao
Atributos
Existem v´arios tipos de atributos:
At´omicos
Atributos que n˜ao podem ser divididos, da´ı a no¸c˜ao de
at´omico;
Compostos
Atributos que s˜ao formados pela combina¸c˜ao ou agrega¸c˜ao de
atributos relacionados;
M´ultiplos
Atributos que podem conter um ou mais valores para
determinada instˆancia;
Derivados
Atributos ´uteis, mas que n˜ao ir˜ao ser armazenados, porque
podem ser calculados a partir de outros dados presentes na
base de dados.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 8/46
Diagramas Entidade-Rela¸c˜ao
Atributos At´omicos
Exemplos de atributos at´omicos:
n´umero de identifica¸c˜ao fiscal;
n´umero de cart˜ao de cidad˜ao;
nome;
telefone;
Note que os mesmos atributos podem ser at´omicos, compostos, ou
m´ultiplos, dependendo do contexto do problema a ser resolvido.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 9/46
Diagramas Entidade-Rela¸c˜ao
Atributos Compostos
Exemplos de atributos compostos:
nome (se for separado em nome e apelido);
c´odigo postal (se o separarem nas suas duas componentes);
data (se for separada em dia, mˆes e ano);
Alberto Sim˜oes Modela¸c˜ao de base de Dados 10/46
Diagramas Entidade-Rela¸c˜ao
Atributos M´ultiplos
Exemplos de atributos m´ultiplos:
telefone (se considerar que um aluno pode ter v´arios);
e-mail (se considerar que pode ter v´arios);
escola (se quiser guardar apenas nomes por onde o aluno
passou);
Alberto Sim˜oes Modela¸c˜ao de base de Dados 11/46
Diagramas Entidade-Rela¸c˜ao
Atributos Derivados
Exemplos de atributos derivados:
idade (calculada com base na data de nascimento);
sal´ario mensal (calculada com base no nr. de dias);
Alberto Sim˜oes Modela¸c˜ao de base de Dados 12/46
Diagramas Entidade-Rela¸c˜ao
Atributos Chave
Atributos especiais, que identificam inequivocamente as
instˆancias de uma entidade;
Uma entidade podem ter mais que um atributo deste tipo;
Este tipo de atributos s˜ao designados de Chaves Candidatas;
Quando deste conjunto de chaves se escolhe uma para servir
de identificador ´unico passa a ser a Chave Prim´aria;
H´a casos em que n˜ao existem atributos deste tipo, o que pode
obrigar a que se crie, artificialmente, um atributo indexador;
Alberto Sim˜oes Modela¸c˜ao de base de Dados 13/46
Diagramas Entidade-Rela¸c˜ao
Documenta¸c˜ao de Entidades
Os DER n˜ao s˜ao propriamente amb´ıguos, mas em muitos
casos ´e relevante explicitar decis˜oes tomadas, que podem n˜ao
ser claras para outras pessoas;
Para cada Entidade documenta-se:
A Entidade: que objetos representa.
Os Atributos: que propriedades devem ser armazenadas sobre a
entidade, e o tipo de cada uma dessas propriedades.
As Chaves: quais s˜ao as chaves candidatas, e qual, e porque
raz˜ao foi escolhida, a chave prim´aria.
Dados Exemplo: uma pequena tabela de dados fict´ıcios que
ajude `a compreens˜ao do ˆambito da entidade.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 14/46
Diagramas Entidade-Rela¸c˜ao
Documenta¸c˜ao de Entidades (exemplo)
Entidade:
a base de dados regista informa¸c˜ao sobre os alunos da escola
de m´usica;
Atributos:
nome – nome completo do aluno;
escola – escola onde o aluno est´a a realizar o ensino
obrigat´orio;
morada – atributo composto pelos atributos rua, localidade e
c´odigo postal que contˆem a morada do aluno para
correspondˆencia;
telefone – atributo m´ultiplo com um ou mais telefones de
contacto dos encarregados de educa¸c˜ao;
data de nascimento – data de nascimento do aluno;
idade – atributo derivado, com idade do aluno, calculada com
base na data de nascimento;
n´umero aluno – n´umero ´unico atribu´ıdo pela escola a cada
aluno;
Alberto Sim˜oes Modela¸c˜ao de base de Dados 15/46
Diagramas Entidade-Rela¸c˜ao
Documenta¸c˜ao de Entidades (exemplo)
Chaves:
S´o existe uma chave candidata, que corresponde ao n´umero de
aluno. Note-se que dados como o nome n˜ao s˜ao
obrigatoriamente ´unicos. Deste modo, a chave prim´aria ser´a o
n´umero de aluno.
Dados Exemplo:
nome escola mor.rua mor.cp mor.local tel data nasc idade nr aluno
Jo˜ao Marques EB23 V˜ao S˜ao Crist´ov˜ao 1234-567 V˜ao 345342312 11.2.1999 14 242
Maria S´a EB23 V˜ao Estreita 1234-765 V˜ao 345123123 20.6.2000 13 245
Rui Roque EB23 Breu Direita 1234-575 V˜ao 933312345 29.2.2000 13 249
Alberto Sim˜oes Modela¸c˜ao de base de Dados 16/46
Diagramas Entidade-Rela¸c˜ao
Rela¸c˜oes
Uma base de dados ter´a, com certeza, mais que uma entidade;
Uma rela¸c˜ao ´e uma liga¸c˜ao ou associa¸c˜ao entre entidades;
Na nota¸c˜ao Chen:
S˜ao habitualmente denotadas por frases verbais;
S˜ao inscritas em losangos;
Devem ser lidas da esquerda para a direita (ou de cima para
baixo);
Alberto Sim˜oes Modela¸c˜ao de base de Dados 17/46
Diagramas Entidade-Rela¸c˜ao
Rela¸c˜oes - Cardinalidades
A rela¸c˜ao entre entidades pode ter diferentes cardinalidades:
Por exemplo:
A quantas turmas pode pertencer um aluno?
Quantos alunos podem pertencer a uma turma?
Esta cardinalidade ´e indicada na rela¸c˜ao usando p´es de
galinha:
Um aluno pertence a uma turma.
Uma turma tem v´arios alunos.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 18/46
Diagramas Entidade-Rela¸c˜ao
Rela¸c˜oes - Cardinalidades
Existem trˆes tipos de cardinalidade:
muitos para muitos — m:n
Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
Diagramas Entidade-Rela¸c˜ao
Rela¸c˜oes - Cardinalidades
Existem trˆes tipos de cardinalidade:
muitos para muitos — m:n
Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares.
um para muitos — 1:n
Uma editora edita v´arios livros. // Um livro ´e editado por uma ´unica editora.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
Diagramas Entidade-Rela¸c˜ao
Rela¸c˜oes - Cardinalidades
Existem trˆes tipos de cardinalidade:
muitos para muitos — m:n
Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares.
um para muitos — 1:n
Uma editora edita v´arios livros. // Um livro ´e editado por uma ´unica editora.
um para um — 1:1
Um funcion´ario ´e respons´avel por um departamento. // Um departamento tem um ´unico respons´avel.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
Diagramas Entidade-Rela¸c˜ao
Atributos nas Rela¸c˜oes
Algumas rela¸c˜oes podem precisar de atributos;
Por exemplo, se um leitor de uma biblioteca requisita um
livro, ser´a necess´ario guardar a data da requisi¸c˜ao.
Existem duas solu¸c˜oes para este problema:
1 anotar a rela¸c˜ao com um atributo:
2 definir uma nova entidade:
Alberto Sim˜oes Modela¸c˜ao de base de Dados 20/46
Diagramas Entidade-Rela¸c˜ao
Relacionamentos M´ultiplos
As rela¸c˜oes n˜ao s˜ao, necessariamente, entre apenas duas
entidades;
´E poss´ıvel definir relacionamentos com mais que duas
entidades.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 21/46
Diagramas Entidade-Rela¸c˜ao
Relacionamento Recursivo
As rela¸c˜oes n˜ao necessitam de ser entre duas entidades
distintas;
´E poss´ıvel definir relacionamentos em que dois ou mais dos
intervenientes s˜ao do mesmo tipo.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 22/46
Exerc´ıcio 1
Um escola pretende criar uma BD que permita gerir toda a
informa¸c˜ao relativa os cursos que disponibiliza e aos alunos que os
frequentam.
Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao,
dura¸c˜ao e pre¸co. Cada curso est´a estruturado em diversos
m´odulos, sendo que deve constar na BD a dura¸c˜ao de cada m´odulo
(em horas), o professor, e a data de in´ıcio de cada m´odulo. Um
m´odulo pode estar associado a diferentes cursos, com datas de
in´ıcio distintas.
Para cada aluno deve ser registado o seu n´umero, nome, morada,
c´odigo postal, localidade, cursos em que se encontra inscrito (pode
inscrever-se em mais que um curso), juntamente com a respetiva
data de inscri¸c˜ao e informa¸c˜ao sobre se o pagamento foi efetuado.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 23/46
Diagramas Entidade-Rela¸c˜ao
Heran¸ca
Em certas circunstˆancias, determinada entidade pode ser uma
especializa¸c˜ao de outra;
Por exemplo, numa empresa de telecomunica¸c˜oes, um tarif´ario
pr´e-pago e um tarif´ario p´os-pago s˜ao especializa¸c˜oes de um
tarif´ario gen´erico.
Existem atributos que s˜ao partilhados por todos os tarif´arios,
sejam eles pr´e ou p´os pagos;
Existem outros atributos que s˜ao espec´ıficos do tipo de
atributo;
Noutro exemplo, numa biblioteca, existem diferentes tipos de
objetos que podem ser requisitados:
livros, DVD e CD tˆem diferentes propriedades;
no entanto, podem partilhar alguma informa¸c˜ao;
Alberto Sim˜oes Modela¸c˜ao de base de Dados 24/46
Diagramas Entidade-Rela¸c˜ao
Heran¸ca
O d indica que a heran¸ca ´e disjunta. Um objeto requisit´avel pode
ser um livro ou DVD mas n˜ao ambos.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 25/46
Diagramas Entidade-Rela¸c˜ao
Heran¸ca
Neste caso o c´ırculo n˜ao tem o d, indicando que a heran¸ca n˜ao ´e
disjunta. Um funcion´ario pode ser ao mesmo tempo caixa e chefe
de caixa.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 26/46
Exerc´ıcio 2
Um restaurante pretende fazer a gest˜ao dos seus clientes de forma
a garantir a sua fideliza¸c˜ao. Para isso, pretende criar um cart˜ao de
cliente que permita acumular pontos. Para adquirir um cart˜ao o
cliente deve fornecer o seu nome, morada, n´umero fiscal e telefone
de contacto. A cada cart˜ao est´a associado um identificador ´unico,
e o n´umero de pontos acumulado.
Associado a cada cart˜ao existe uma conta corrente, onde est˜ao
registados os almo¸cos ou jantares: data, hora, lista de pratos, e
valor total cobrado.
Para os clientes ass´ıduos decidiu-se criar um cart˜ao VIP. Este
cart˜ao tem um saldo associado, e o cliente pode ir realizando
refei¸c˜oes at´e esgotar esse valor.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 27/46
Modelo Relacional
´E um modelo f´ısico, para a gest˜ao de uma base de dados;
´E baseado na l´ogica de predicados e teoria de conjuntos;
´E o modelo mais utilizado na atualidade;
Existem outros modelos (como o baseado em Objetos) mas
que ainda n˜ao atingiram os n´ıveis de utiliza¸c˜ao do modelo
relacional;
Surgiu por volta de 1970, como proposta de Edgar Frank
Codd;
Baseia todo o seu funcionamento em rela¸c˜oes, que s˜ao
representadas por tabelas de dados, e na sua inter-rela¸c˜ao.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 28/46
Modelo Relacional
Esquema
O Esquema de uma base de dados ´e a defini¸c˜ao de um
conjunto de tabelas e de que forma elas se relacionam;
´E poss´ıvel inferir um esquema relacional a partir de um
Diagrama Entidade-Rela¸c˜ao, aplicando um conjunto de regras
simples;
Um esquema relacional pode ser refinado, de forma a diminuir
a ambiguidade e redundˆancia de dados;
Um conjunto de regras permitem transformar um esquema
relacional atrav´es de um conjunto de diferentes formas
normais, processo esse denominado de normaliza¸c˜ao;
Alberto Sim˜oes Modela¸c˜ao de base de Dados 29/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Entidade Simples
Aluno
nome
escola
morada
Alberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Entidade Simples
Aluno
nome
escola
morada
Atributos Compostos
Aluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
Alberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Atributos M´ultiplos
Aluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
telefone
Alberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Atributos M´ultiplos
Aluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
telefone
Atributos Derivados
S˜ao representados como um atributo at´omico normal.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Atributos chave
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
telefone
idade
dataNascimento
Alberto Sim˜oes Modela¸c˜ao de base de Dados 32/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜ao 1-n
Aluno Turma
n´umeroAluno ano
nome letra
telefone diretorTurma
turma.letra
turma.ano
Alberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜ao 1-n
Aluno Turma
n´umeroAluno ano
nome letra
telefone diretorTurma
turma.letra
turma.ano
Aos atributos turma.letra e turma.ano s˜ao chamadas Chaves
Estrangeiras.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜ao n-m
Cliente ClienteConta ContaBanc´aria
n´umero cliente.n´umero n´umero
nome conta.n´umero saldo
. . . . . .
Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜ao n-m
Cliente ClienteConta ContaBanc´aria
n´umero cliente.n´umero n´umero
nome conta.n´umero saldo
. . . . . .
Os atributos cliente.n´umero e conta.n´umero s˜ao Chaves
Estrangeiras.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜ao 1-1
Funcion´ario Respons´aveis Departamento
n´umero funcion´ario.n´umero c´odigo
nome departamento.c´odigo nome
. . . . . .
Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜ao 1-1
Funcion´ario Respons´aveis Departamento
n´umero funcion´ario.n´umero c´odigo
nome departamento.c´odigo nome
. . . . . .
Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao Chaves
Estrangeiras.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜ao 1-1
Funcion´ario Respons´aveis Departamento
n´umero funcion´ario.n´umero c´odigo
nome departamento.c´odigo nome
. . . . . .
Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao Chaves
Estrangeiras.
Para garantir a unicidade da rela¸c˜ao os atributos funcion´ario.n´umero e
departamento.c´odigo devem ser definidos como colunas sem repeti¸c˜oes.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Rela¸c˜oes com Atributos
Ent 1 Ent 2 Ent 3 Rela¸c˜ao
id id id Ent1.id
. . . . . . . . . Ent2.id
Ent3.id
Podem ser definidos ´ındices de unicidade nas attr1
chaves estrangeiras de modo a garantir a attr2
cardinalidade desejada para as rela¸c˜oes. attr3
Alberto Sim˜oes Modela¸c˜ao de base de Dados 36/46
Exerc´ıcio 3
Considerando que um leitor ´e identificado pelo seu n´umero de leitor, e
cada livro identificado pelo seu c´odigo, quais s˜ao as diferen¸cas entra o
modelo relacional obtido a partir das duas rela¸c˜oes apresentadas abaixo?
a)
b)
Alberto Sim˜oes Modela¸c˜ao de base de Dados 37/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Hierarquia Disjunta
Convers˜ao gen´erica para modelo relacional.
ObjetoReq Livro
chave chaveLivro
tipoObjeto ...
chaveEstng
... DVD
chaveDVD
CD ...
chaveCD
...
Alberto Sim˜oes Modela¸c˜ao de base de Dados 38/46
Modelo Relacional
Modelo ER ⇒ Esquema Relacional
Hierarquia
Convers˜ao gen´erica para modelo relacional.
Funcion´ario Caixa
chave chaveCaixa
... c´odigoFunc
...
chefeCaixa
chaveChefe
c´odigoFunc
...
Alberto Sim˜oes Modela¸c˜ao de base de Dados 39/46
Exerc´ıcio 4
Relembre o Exerc´ıcio 1:
Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao
relativa os cursos que disponibiliza e aos alunos que os frequentam.
Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao, dura¸c˜ao e
pre¸co. Cada curso est´a estruturado em diversos m´odulos, sendo que deve
constar na BD a dura¸c˜ao de cada m´odulo (em horas), o professor, e a data
de in´ıcio de cada m´odulo. Um m´odulo pode estar associado a diferentes
cursos, com datas de in´ıcio distintas.
Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo
postal, localidade, cursos em que se encontra inscrito (pode inscrever-se
em mais que um curso), juntamente com a respetiva data de inscri¸c˜ao e
informa¸c˜ao sobre se o pagamento foi efetuado.
Apresente a convers˜ao do modelo conceptual (diagrama E-R) para
o modelo relacional.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 40/46
Normaliza¸c˜ao
O modelo relacional obtido pelas regras anteriores nem sempre
´e pass´ıvel de ser implementado numa base de dados relacional;
Por vezes o modelo relacional obtido ´e amb´ıguo e pode levar `a
falta de qualidade dos dados armazenados;
O processo de Normaliza¸c˜ao tem como objetivo eliminar
redundˆancia e garantir consistˆencia dos dados;
O processo de Normaliza¸c˜ao ´e uma sequˆencia de regras que
permitem iterar sobre diferentes formas normais;
Cada passo da normaliza¸c˜ao trata de diferentes tipos de
problemas;
Existem v´arias formas normais devidamente aceites pela
comunidade (cerca de 5 formas normais), sendo que as trˆes
primeiras s˜ao as mais importantes.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 41/46
Normaliza¸c˜ao
Primeira Forma Normal
Remo¸c˜ao de atributos m´ultiplos.
Antes:
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
telefone
idade
dataNascimento
Alberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
Normaliza¸c˜ao
Primeira Forma Normal
Remo¸c˜ao de atributos m´ultiplos.
Antes:
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
telefone
idade
dataNascimento
Depois:
Aluno Aluno Tels
n´umeroAluno n´umeroAluno
nome telefone
escola
morada.rua
morada.localidade
morada.c´odigoPostal
idade
dataNascimento
Alberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
Normaliza¸c˜ao
Segunda Forma Normal
Remo¸c˜ao de dependˆencias parciais sobre chaves compostas.
Supondo que obtemos a tabela da esquerda:
Aluno Turma
n´umeroAluno
ano
letra
sala
Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
Normaliza¸c˜ao
Segunda Forma Normal
Remo¸c˜ao de dependˆencias parciais sobre chaves compostas.
Supondo que obtemos a tabela da esquerda:
Aluno Turma
n´umeroAluno
ano
letra
sala
Note-se que a sala desta turma ´e espec´ıfica
`a turma (ano e letra) e n˜ao muda de
acordo com o aluno.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
Normaliza¸c˜ao
Segunda Forma Normal
Remo¸c˜ao de dependˆencias parciais sobre chaves compostas.
Supondo que obtemos a tabela da esquerda:
Aluno Turma
n´umeroAluno
ano
letra
sala
Note-se que a sala desta turma ´e espec´ıfica
`a turma (ano e letra) e n˜ao muda de
acordo com o aluno.
Aluno Turma Turma
n´umeroAluno ano
ano letra
letra sala
Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
Normaliza¸c˜ao
Terceira Forma Normal
Remo¸c˜ao de dependˆencias parciais.
Antes:
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
idade
dataNascimento
Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
Normaliza¸c˜ao
Terceira Forma Normal
Remo¸c˜ao de dependˆencias parciais.
Antes:
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
idade
dataNascimento
Repare-se que a localidade e o c´odigo
postal s˜ao interdependentes. Se mudam
a localidade, tˆem de mudar o c´odigo
postal, e vice-versa.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
Normaliza¸c˜ao
Terceira Forma Normal
Remo¸c˜ao de dependˆencias parciais.
Antes:
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
idade
dataNascimento
Repare-se que a localidade e o c´odigo
postal s˜ao interdependentes. Se mudam
a localidade, tˆem de mudar o c´odigo
postal, e vice-versa.
Ou seja, podemos considerar que apenas
um deles depende do n´umero de aluno.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
Normaliza¸c˜ao
Terceira Forma Normal
Remo¸c˜ao de dependˆencias parciais.
Antes:
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
idade
dataNascimento
Repare-se que a localidade e o c´odigo
postal s˜ao interdependentes. Se mudam
a localidade, tˆem de mudar o c´odigo
postal, e vice-versa.
Ou seja, podemos considerar que apenas
um deles depende do n´umero de aluno.
Por exemplo, dizer que o c´odigo postal
depende do aluno, mas que a localidade
n˜ao ir´a depender do aluno, mas do
c´odigo postal que foi introduzido.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
Normaliza¸c˜ao
Terceira Forma Normal
Remo¸c˜ao de dependˆencias parciais.
Antes:
Aluno
n´umeroAluno
nome
escola
morada.rua
morada.localidade
morada.c´odigoPostal
idade
dataNascimento
Depois:
Aluno C´odigoPostal
n´umeroAluno c´odigoPostal
nome localidade
escola
morada.rua
morada.c´odigoPostal
idade
dataNascimento
Alberto Sim˜oes Modela¸c˜ao de base de Dados 45/46
Exerc´ıcio 5
Relembre o Exerc´ıcio 1 e 4:
Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao
relativa os cursos que disponibiliza e aos alunos que os frequentam.
Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao, dura¸c˜ao e
pre¸co. Cada curso est´a estruturado em diversos m´odulos, sendo que deve
constar na BD a dura¸c˜ao de cada m´odulo (em horas), o professor, e a data
de in´ıcio de cada m´odulo. Um m´odulo pode estar associado a diferentes
cursos, com datas de in´ıcio distintas.
Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo
postal, localidade, cursos em que se encontra inscrito (pode inscrever-se
em mais que um curso), juntamente com a respetiva data de inscri¸c˜ao e
informa¸c˜ao sobre se o pagamento foi efetuado.
Apresente a normaliza¸c˜ao do diagrama conceptual obtido
anteriormente.
Alberto Sim˜oes Modela¸c˜ao de base de Dados 46/46

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefRodrigo Kiyoshi Saito
 
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane FidelixCris Fidelix
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dadosmgoberto
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Karoline Tavares
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º anoEste FC Juniores
 
Pesquisa Qualitativa e Quantitativa
Pesquisa Qualitativa e QuantitativaPesquisa Qualitativa e Quantitativa
Pesquisa Qualitativa e Quantitativajlpaesjr
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 

Mais procurados (20)

Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Psi m14
Psi m14Psi m14
Psi m14
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Linguagem C 07 Registros
Linguagem C 07 RegistrosLinguagem C 07 Registros
Linguagem C 07 Registros
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º ano
 
Pesquisa Qualitativa e Quantitativa
Pesquisa Qualitativa e QuantitativaPesquisa Qualitativa e Quantitativa
Pesquisa Qualitativa e Quantitativa
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 

Destaque

Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dadosmlima72
 
Aula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosAula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosLeandro Rezende
 
Organizacao de documentos no pc
Organizacao de documentos no pcOrganizacao de documentos no pc
Organizacao de documentos no pcNalin Ferreira
 
Aulas de banco de dados
Aulas de banco de dadosAulas de banco de dados
Aulas de banco de dadosOseas_Lima
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Miguel Aquino
 
Diagrama de implantação
Diagrama de implantaçãoDiagrama de implantação
Diagrama de implantaçãoelliando dias
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
Modelagem - Aula 1
Modelagem - Aula 1Modelagem - Aula 1
Modelagem - Aula 1Joabe Amaral
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
Bdm   aula 5 - construindo modelos er e mapeamento er-relacionalBdm   aula 5 - construindo modelos er e mapeamento er-relacional
Bdm aula 5 - construindo modelos er e mapeamento er-relacionalTicianne Darin
 
Criação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma bibliotecaCriação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma bibliotecaDavid Canjamba 2D
 

Destaque (20)

Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
Modelagem de Sistemas de Informação 01
Modelagem de Sistemas de Informação 01Modelagem de Sistemas de Informação 01
Modelagem de Sistemas de Informação 01
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Aula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosAula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a Objetos
 
Si modelação dados
Si   modelação dadosSi   modelação dados
Si modelação dados
 
Modelacao de dados
Modelacao de dados  Modelacao de dados
Modelacao de dados
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
Organizacao de documentos no pc
Organizacao de documentos no pcOrganizacao de documentos no pc
Organizacao de documentos no pc
 
Aulas de banco de dados
Aulas de banco de dadosAulas de banco de dados
Aulas de banco de dados
 
Modelagem I
Modelagem IModelagem I
Modelagem I
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
Diagrama de implantação
Diagrama de implantaçãoDiagrama de implantação
Diagrama de implantação
 
Modelagem Matemática
Modelagem MatemáticaModelagem Matemática
Modelagem Matemática
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Modelagem - Aula 1
Modelagem - Aula 1Modelagem - Aula 1
Modelagem - Aula 1
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
Bdm   aula 5 - construindo modelos er e mapeamento er-relacionalBdm   aula 5 - construindo modelos er e mapeamento er-relacional
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
 
SGBD
SGBDSGBD
SGBD
 
Criação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma bibliotecaCriação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma biblioteca
 

Semelhante a Modelação de Bases de Dados

Curso Business Analytics.pdf
Curso Business Analytics.pdfCurso Business Analytics.pdf
Curso Business Analytics.pdfLuiz Alves
 
Modelo Conceitual MER
Modelo Conceitual MERModelo Conceitual MER
Modelo Conceitual MERJoel Santos
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadospadinho
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dadosmlima72
 
Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...
Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...
Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...Horacio Ibrahim
 
Aula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdfAula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdfDanielaJoaoGoularted
 
A07 paper - perfil business intelligence - por onde, como e quando começar ...
A07   paper - perfil business intelligence - por onde, como e quando começar ...A07   paper - perfil business intelligence - por onde, como e quando começar ...
A07 paper - perfil business intelligence - por onde, como e quando começar ...BIBrasil
 
A07 paper - perfil business intelligence - por onde, como e quando começar ...
A07   paper - perfil business intelligence - por onde, como e quando começar ...A07   paper - perfil business intelligence - por onde, como e quando começar ...
A07 paper - perfil business intelligence - por onde, como e quando começar ...Marcelo Krug
 
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfLista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfMárcio Finamor
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfPauloVictor415128
 
Modelo Conceitual Chaves
Modelo Conceitual ChavesModelo Conceitual Chaves
Modelo Conceitual ChavesJoel Santos
 

Semelhante a Modelação de Bases de Dados (20)

Curso Business Analytics.pdf
Curso Business Analytics.pdfCurso Business Analytics.pdf
Curso Business Analytics.pdf
 
CURSO BANCO DADOS
CURSO BANCO DADOSCURSO BANCO DADOS
CURSO BANCO DADOS
 
Diagrama de E-R.pptx
Diagrama de E-R.pptxDiagrama de E-R.pptx
Diagrama de E-R.pptx
 
Modelo Conceitual MER
Modelo Conceitual MERModelo Conceitual MER
Modelo Conceitual MER
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Materia sobre Microsoft excel
Materia sobre Microsoft excelMateria sobre Microsoft excel
Materia sobre Microsoft excel
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...
Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...
Por que as pessoas não gostam de prestar contas, fazer showcases e apresentaç...
 
Aula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdfAula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdf
 
A07 paper - perfil business intelligence - por onde, como e quando começar ...
A07   paper - perfil business intelligence - por onde, como e quando começar ...A07   paper - perfil business intelligence - por onde, como e quando começar ...
A07 paper - perfil business intelligence - por onde, como e quando começar ...
 
A07 paper - perfil business intelligence - por onde, como e quando começar ...
A07   paper - perfil business intelligence - por onde, como e quando começar ...A07   paper - perfil business intelligence - por onde, como e quando começar ...
A07 paper - perfil business intelligence - por onde, como e quando começar ...
 
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfLista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
 
Aula 3 - Sistemas e Modelos de Dados
Aula 3 - Sistemas e Modelos de DadosAula 3 - Sistemas e Modelos de Dados
Aula 3 - Sistemas e Modelos de Dados
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdf
 
Modelo Conceitual Chaves
Modelo Conceitual ChavesModelo Conceitual Chaves
Modelo Conceitual Chaves
 

Mais de Alberto Simões

Language Identification: A neural network approach
Language Identification: A neural network approachLanguage Identification: A neural network approach
Language Identification: A neural network approachAlberto Simões
 
Making the most of a 100-year-old dictionary
Making the most of a 100-year-old dictionaryMaking the most of a 100-year-old dictionary
Making the most of a 100-year-old dictionaryAlberto Simões
 
Dictionary Alignment by Rewrite-based Entry Translation
Dictionary Alignment by Rewrite-based Entry TranslationDictionary Alignment by Rewrite-based Entry Translation
Dictionary Alignment by Rewrite-based Entry TranslationAlberto Simões
 
EMLex-A5: Specialized Dictionaries
EMLex-A5: Specialized DictionariesEMLex-A5: Specialized Dictionaries
EMLex-A5: Specialized DictionariesAlberto Simões
 
Aula 04 - Introdução aos Diagramas de Sequência
Aula 04 - Introdução aos Diagramas de SequênciaAula 04 - Introdução aos Diagramas de Sequência
Aula 04 - Introdução aos Diagramas de SequênciaAlberto Simões
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAlberto Simões
 
Aula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAlberto Simões
 
Aula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de InformaçãoAula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de InformaçãoAlberto Simões
 
Building C and C++ libraries with Perl
Building C and C++ libraries with PerlBuilding C and C++ libraries with Perl
Building C and C++ libraries with PerlAlberto Simões
 
Processing XML: a rewriting system approach
Processing XML: a rewriting system approachProcessing XML: a rewriting system approach
Processing XML: a rewriting system approachAlberto Simões
 
Arquitecturas de Tradução Automática
Arquitecturas de Tradução AutomáticaArquitecturas de Tradução Automática
Arquitecturas de Tradução AutomáticaAlberto Simões
 
Extracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução AutomáticaExtracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução AutomáticaAlberto Simões
 

Mais de Alberto Simões (20)

Source Code Quality
Source Code QualitySource Code Quality
Source Code Quality
 
Language Identification: A neural network approach
Language Identification: A neural network approachLanguage Identification: A neural network approach
Language Identification: A neural network approach
 
Google Maps JS API
Google Maps JS APIGoogle Maps JS API
Google Maps JS API
 
Making the most of a 100-year-old dictionary
Making the most of a 100-year-old dictionaryMaking the most of a 100-year-old dictionary
Making the most of a 100-year-old dictionary
 
Dictionary Alignment by Rewrite-based Entry Translation
Dictionary Alignment by Rewrite-based Entry TranslationDictionary Alignment by Rewrite-based Entry Translation
Dictionary Alignment by Rewrite-based Entry Translation
 
EMLex-A5: Specialized Dictionaries
EMLex-A5: Specialized DictionariesEMLex-A5: Specialized Dictionaries
EMLex-A5: Specialized Dictionaries
 
Aula 04 - Introdução aos Diagramas de Sequência
Aula 04 - Introdução aos Diagramas de SequênciaAula 04 - Introdução aos Diagramas de Sequência
Aula 04 - Introdução aos Diagramas de Sequência
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Aula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de Requisitos
 
Aula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de InformaçãoAula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de Informação
 
Building C and C++ libraries with Perl
Building C and C++ libraries with PerlBuilding C and C++ libraries with Perl
Building C and C++ libraries with Perl
 
PLN em Perl
PLN em PerlPLN em Perl
PLN em Perl
 
Classification Systems
Classification SystemsClassification Systems
Classification Systems
 
Redes de Pert
Redes de PertRedes de Pert
Redes de Pert
 
Dancing Tutorial
Dancing TutorialDancing Tutorial
Dancing Tutorial
 
Processing XML: a rewriting system approach
Processing XML: a rewriting system approachProcessing XML: a rewriting system approach
Processing XML: a rewriting system approach
 
Sistemas de Numeração
Sistemas de NumeraçãoSistemas de Numeração
Sistemas de Numeração
 
Álgebra de Boole
Álgebra de BooleÁlgebra de Boole
Álgebra de Boole
 
Arquitecturas de Tradução Automática
Arquitecturas de Tradução AutomáticaArquitecturas de Tradução Automática
Arquitecturas de Tradução Automática
 
Extracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução AutomáticaExtracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução Automática
 

Modelação de Bases de Dados

  • 1. Modela¸c˜ao de base de Dados Alberto Sim˜oes alberto.simoes@eu.ipp.pt Planeamento de Sistemas de Informa¸c˜ao Mestrado em Informa¸c˜ao Empresarial 2012/2013 Alberto Sim˜oes Modela¸c˜ao de base de Dados 1/46
  • 2. Modela¸c˜ao de Dados A modela¸c˜ao dados ´e um m´etodo que permite modelar a estrutura de uma base de dados; Tipicamente ´e apresentado sob a forma de um diagrama; O Diagrama Entidade-Rela¸c˜ao (Diagrama E-R ou DER) ´e uma ferramenta gr´afica para facilitar a modela¸c˜ao de dados; Os DER tˆem como objetivo modelar a semˆantica subjacente `a estrutura de dados; No processo de Modela¸c˜ao de Dados: O primeiro passo corresponde `a abstra¸c˜ao! Quanto mais tempo se mantiver longe de detalhes e de implementa¸c˜oes espec´ıficas, mais f´acil ser´a alterar o modelo, e decidir como ser˜ao armazenados os dados. Alberto Sim˜oes Modela¸c˜ao de base de Dados 2/46
  • 3. Diagrama Entidade-Rela¸c˜ao O DER ´e uma ferramenta de modela¸c˜ao de dados, semˆantica, que ´e usada para descrever de forma abstrata a estrutura de dados; A estrutura descritos de forma abstrata ´e denominada de Modelo Conceptual. O Modelo Conceptual ir´a permitir obter um modelo concreto. Quando o modelo captura a vis˜ao da realidade a armazenar, poderemos passar `a defini¸c˜ao do modelo concreto. Um DER tamb´em pode ser usado para documentar uma base de dados j´a existente, ajudando no processo de reengenharia. Um DER modela dados como entidades e relacionamentos; Alberto Sim˜oes Modela¸c˜ao de base de Dados 3/46
  • 4. Diagrama Entidade-Rela¸c˜ao Entidades Uma entidade ´e uma coisa sobre a qual queremos guardar dados, seja uma pessoa, uma conta banc´aria, um edif´ıcio; Nas primeiras referˆencias aos DER, Chen (1976) descreveu uma entidade como“uma coisa que pode ser distintamente identificada” O nome para uma entidade deve representar um tipo ou uma classe de coisas, n˜ao uma instˆancia (tipicamente no singular); O nome de uma entidade deve ser suficientemente gen´erico mas, ao mesmo tempo n˜ao pode ser demasiado gen´erico: o nome deve permitir acomodar altera¸c˜oes ao longo do tempo. As entidades tˆem atributos; Um atributo ´e uma propriedade ou carater´ıstica de uma entidade. Alberto Sim˜oes Modela¸c˜ao de base de Dados 4/46
  • 5. Diagrama Entidade-Rela¸c˜ao Entidades Exemplos de Entidades: Pessoas: empregado, veterin´ario, estudante; Lugares: estado, pa´ıs; Objeto: edif´ıcio, autom´ovel, produto; Evento: venda, devolu¸c˜ao; Conceptual: conta, departamento; Alberto Sim˜oes Modela¸c˜ao de base de Dados 5/46
  • 6. Diagramas Entidade-Rela¸c˜ao Entidades Os dados particulares sobre determinada entidade s˜ao referidos como instˆancias; Uma instˆancia ´e uma ´unica ocorrˆencia de uma entidade. Cada instˆancia de uma entidade deve ser identificada unicamente, de modo a que essa instˆancia seja distintivamente identific´avel de todas as outras instˆancias da mesma entidade. Por exemplo, numa entidade cliente, poderemos imaginar que a empresa atribui um n´umero de cliente, ´unico, a cada cliente. A este identificador ´unico chamamos chave. Alberto Sim˜oes Modela¸c˜ao de base de Dados 6/46
  • 7. Diagramas Entidade-Rela¸c˜ao Entidades e Atributos Na modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜ao representadas em retˆangulos. Alberto Sim˜oes Modela¸c˜ao de base de Dados 7/46
  • 8. Diagramas Entidade-Rela¸c˜ao Entidades e Atributos Na modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜ao representadas em retˆangulos. Os atributos s˜ao colocados `a sua volta. Uma das nota¸c˜oes usadas para atributos representa-os como c´ırculos ou ovais ligados `a entidade em causa. Alberto Sim˜oes Modela¸c˜ao de base de Dados 7/46
  • 9. Diagramas Entidade-Rela¸c˜ao Atributos Existem v´arios tipos de atributos: At´omicos Atributos que n˜ao podem ser divididos, da´ı a no¸c˜ao de at´omico; Compostos Atributos que s˜ao formados pela combina¸c˜ao ou agrega¸c˜ao de atributos relacionados; M´ultiplos Atributos que podem conter um ou mais valores para determinada instˆancia; Derivados Atributos ´uteis, mas que n˜ao ir˜ao ser armazenados, porque podem ser calculados a partir de outros dados presentes na base de dados. Alberto Sim˜oes Modela¸c˜ao de base de Dados 8/46
  • 10. Diagramas Entidade-Rela¸c˜ao Atributos At´omicos Exemplos de atributos at´omicos: n´umero de identifica¸c˜ao fiscal; n´umero de cart˜ao de cidad˜ao; nome; telefone; Note que os mesmos atributos podem ser at´omicos, compostos, ou m´ultiplos, dependendo do contexto do problema a ser resolvido. Alberto Sim˜oes Modela¸c˜ao de base de Dados 9/46
  • 11. Diagramas Entidade-Rela¸c˜ao Atributos Compostos Exemplos de atributos compostos: nome (se for separado em nome e apelido); c´odigo postal (se o separarem nas suas duas componentes); data (se for separada em dia, mˆes e ano); Alberto Sim˜oes Modela¸c˜ao de base de Dados 10/46
  • 12. Diagramas Entidade-Rela¸c˜ao Atributos M´ultiplos Exemplos de atributos m´ultiplos: telefone (se considerar que um aluno pode ter v´arios); e-mail (se considerar que pode ter v´arios); escola (se quiser guardar apenas nomes por onde o aluno passou); Alberto Sim˜oes Modela¸c˜ao de base de Dados 11/46
  • 13. Diagramas Entidade-Rela¸c˜ao Atributos Derivados Exemplos de atributos derivados: idade (calculada com base na data de nascimento); sal´ario mensal (calculada com base no nr. de dias); Alberto Sim˜oes Modela¸c˜ao de base de Dados 12/46
  • 14. Diagramas Entidade-Rela¸c˜ao Atributos Chave Atributos especiais, que identificam inequivocamente as instˆancias de uma entidade; Uma entidade podem ter mais que um atributo deste tipo; Este tipo de atributos s˜ao designados de Chaves Candidatas; Quando deste conjunto de chaves se escolhe uma para servir de identificador ´unico passa a ser a Chave Prim´aria; H´a casos em que n˜ao existem atributos deste tipo, o que pode obrigar a que se crie, artificialmente, um atributo indexador; Alberto Sim˜oes Modela¸c˜ao de base de Dados 13/46
  • 15. Diagramas Entidade-Rela¸c˜ao Documenta¸c˜ao de Entidades Os DER n˜ao s˜ao propriamente amb´ıguos, mas em muitos casos ´e relevante explicitar decis˜oes tomadas, que podem n˜ao ser claras para outras pessoas; Para cada Entidade documenta-se: A Entidade: que objetos representa. Os Atributos: que propriedades devem ser armazenadas sobre a entidade, e o tipo de cada uma dessas propriedades. As Chaves: quais s˜ao as chaves candidatas, e qual, e porque raz˜ao foi escolhida, a chave prim´aria. Dados Exemplo: uma pequena tabela de dados fict´ıcios que ajude `a compreens˜ao do ˆambito da entidade. Alberto Sim˜oes Modela¸c˜ao de base de Dados 14/46
  • 16. Diagramas Entidade-Rela¸c˜ao Documenta¸c˜ao de Entidades (exemplo) Entidade: a base de dados regista informa¸c˜ao sobre os alunos da escola de m´usica; Atributos: nome – nome completo do aluno; escola – escola onde o aluno est´a a realizar o ensino obrigat´orio; morada – atributo composto pelos atributos rua, localidade e c´odigo postal que contˆem a morada do aluno para correspondˆencia; telefone – atributo m´ultiplo com um ou mais telefones de contacto dos encarregados de educa¸c˜ao; data de nascimento – data de nascimento do aluno; idade – atributo derivado, com idade do aluno, calculada com base na data de nascimento; n´umero aluno – n´umero ´unico atribu´ıdo pela escola a cada aluno; Alberto Sim˜oes Modela¸c˜ao de base de Dados 15/46
  • 17. Diagramas Entidade-Rela¸c˜ao Documenta¸c˜ao de Entidades (exemplo) Chaves: S´o existe uma chave candidata, que corresponde ao n´umero de aluno. Note-se que dados como o nome n˜ao s˜ao obrigatoriamente ´unicos. Deste modo, a chave prim´aria ser´a o n´umero de aluno. Dados Exemplo: nome escola mor.rua mor.cp mor.local tel data nasc idade nr aluno Jo˜ao Marques EB23 V˜ao S˜ao Crist´ov˜ao 1234-567 V˜ao 345342312 11.2.1999 14 242 Maria S´a EB23 V˜ao Estreita 1234-765 V˜ao 345123123 20.6.2000 13 245 Rui Roque EB23 Breu Direita 1234-575 V˜ao 933312345 29.2.2000 13 249 Alberto Sim˜oes Modela¸c˜ao de base de Dados 16/46
  • 18. Diagramas Entidade-Rela¸c˜ao Rela¸c˜oes Uma base de dados ter´a, com certeza, mais que uma entidade; Uma rela¸c˜ao ´e uma liga¸c˜ao ou associa¸c˜ao entre entidades; Na nota¸c˜ao Chen: S˜ao habitualmente denotadas por frases verbais; S˜ao inscritas em losangos; Devem ser lidas da esquerda para a direita (ou de cima para baixo); Alberto Sim˜oes Modela¸c˜ao de base de Dados 17/46
  • 19. Diagramas Entidade-Rela¸c˜ao Rela¸c˜oes - Cardinalidades A rela¸c˜ao entre entidades pode ter diferentes cardinalidades: Por exemplo: A quantas turmas pode pertencer um aluno? Quantos alunos podem pertencer a uma turma? Esta cardinalidade ´e indicada na rela¸c˜ao usando p´es de galinha: Um aluno pertence a uma turma. Uma turma tem v´arios alunos. Alberto Sim˜oes Modela¸c˜ao de base de Dados 18/46
  • 20. Diagramas Entidade-Rela¸c˜ao Rela¸c˜oes - Cardinalidades Existem trˆes tipos de cardinalidade: muitos para muitos — m:n Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares. Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
  • 21. Diagramas Entidade-Rela¸c˜ao Rela¸c˜oes - Cardinalidades Existem trˆes tipos de cardinalidade: muitos para muitos — m:n Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares. um para muitos — 1:n Uma editora edita v´arios livros. // Um livro ´e editado por uma ´unica editora. Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
  • 22. Diagramas Entidade-Rela¸c˜ao Rela¸c˜oes - Cardinalidades Existem trˆes tipos de cardinalidade: muitos para muitos — m:n Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares. um para muitos — 1:n Uma editora edita v´arios livros. // Um livro ´e editado por uma ´unica editora. um para um — 1:1 Um funcion´ario ´e respons´avel por um departamento. // Um departamento tem um ´unico respons´avel. Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
  • 23. Diagramas Entidade-Rela¸c˜ao Atributos nas Rela¸c˜oes Algumas rela¸c˜oes podem precisar de atributos; Por exemplo, se um leitor de uma biblioteca requisita um livro, ser´a necess´ario guardar a data da requisi¸c˜ao. Existem duas solu¸c˜oes para este problema: 1 anotar a rela¸c˜ao com um atributo: 2 definir uma nova entidade: Alberto Sim˜oes Modela¸c˜ao de base de Dados 20/46
  • 24. Diagramas Entidade-Rela¸c˜ao Relacionamentos M´ultiplos As rela¸c˜oes n˜ao s˜ao, necessariamente, entre apenas duas entidades; ´E poss´ıvel definir relacionamentos com mais que duas entidades. Alberto Sim˜oes Modela¸c˜ao de base de Dados 21/46
  • 25. Diagramas Entidade-Rela¸c˜ao Relacionamento Recursivo As rela¸c˜oes n˜ao necessitam de ser entre duas entidades distintas; ´E poss´ıvel definir relacionamentos em que dois ou mais dos intervenientes s˜ao do mesmo tipo. Alberto Sim˜oes Modela¸c˜ao de base de Dados 22/46
  • 26. Exerc´ıcio 1 Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao relativa os cursos que disponibiliza e aos alunos que os frequentam. Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao, dura¸c˜ao e pre¸co. Cada curso est´a estruturado em diversos m´odulos, sendo que deve constar na BD a dura¸c˜ao de cada m´odulo (em horas), o professor, e a data de in´ıcio de cada m´odulo. Um m´odulo pode estar associado a diferentes cursos, com datas de in´ıcio distintas. Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo postal, localidade, cursos em que se encontra inscrito (pode inscrever-se em mais que um curso), juntamente com a respetiva data de inscri¸c˜ao e informa¸c˜ao sobre se o pagamento foi efetuado. Alberto Sim˜oes Modela¸c˜ao de base de Dados 23/46
  • 27. Diagramas Entidade-Rela¸c˜ao Heran¸ca Em certas circunstˆancias, determinada entidade pode ser uma especializa¸c˜ao de outra; Por exemplo, numa empresa de telecomunica¸c˜oes, um tarif´ario pr´e-pago e um tarif´ario p´os-pago s˜ao especializa¸c˜oes de um tarif´ario gen´erico. Existem atributos que s˜ao partilhados por todos os tarif´arios, sejam eles pr´e ou p´os pagos; Existem outros atributos que s˜ao espec´ıficos do tipo de atributo; Noutro exemplo, numa biblioteca, existem diferentes tipos de objetos que podem ser requisitados: livros, DVD e CD tˆem diferentes propriedades; no entanto, podem partilhar alguma informa¸c˜ao; Alberto Sim˜oes Modela¸c˜ao de base de Dados 24/46
  • 28. Diagramas Entidade-Rela¸c˜ao Heran¸ca O d indica que a heran¸ca ´e disjunta. Um objeto requisit´avel pode ser um livro ou DVD mas n˜ao ambos. Alberto Sim˜oes Modela¸c˜ao de base de Dados 25/46
  • 29. Diagramas Entidade-Rela¸c˜ao Heran¸ca Neste caso o c´ırculo n˜ao tem o d, indicando que a heran¸ca n˜ao ´e disjunta. Um funcion´ario pode ser ao mesmo tempo caixa e chefe de caixa. Alberto Sim˜oes Modela¸c˜ao de base de Dados 26/46
  • 30. Exerc´ıcio 2 Um restaurante pretende fazer a gest˜ao dos seus clientes de forma a garantir a sua fideliza¸c˜ao. Para isso, pretende criar um cart˜ao de cliente que permita acumular pontos. Para adquirir um cart˜ao o cliente deve fornecer o seu nome, morada, n´umero fiscal e telefone de contacto. A cada cart˜ao est´a associado um identificador ´unico, e o n´umero de pontos acumulado. Associado a cada cart˜ao existe uma conta corrente, onde est˜ao registados os almo¸cos ou jantares: data, hora, lista de pratos, e valor total cobrado. Para os clientes ass´ıduos decidiu-se criar um cart˜ao VIP. Este cart˜ao tem um saldo associado, e o cliente pode ir realizando refei¸c˜oes at´e esgotar esse valor. Alberto Sim˜oes Modela¸c˜ao de base de Dados 27/46
  • 31. Modelo Relacional ´E um modelo f´ısico, para a gest˜ao de uma base de dados; ´E baseado na l´ogica de predicados e teoria de conjuntos; ´E o modelo mais utilizado na atualidade; Existem outros modelos (como o baseado em Objetos) mas que ainda n˜ao atingiram os n´ıveis de utiliza¸c˜ao do modelo relacional; Surgiu por volta de 1970, como proposta de Edgar Frank Codd; Baseia todo o seu funcionamento em rela¸c˜oes, que s˜ao representadas por tabelas de dados, e na sua inter-rela¸c˜ao. Alberto Sim˜oes Modela¸c˜ao de base de Dados 28/46
  • 32. Modelo Relacional Esquema O Esquema de uma base de dados ´e a defini¸c˜ao de um conjunto de tabelas e de que forma elas se relacionam; ´E poss´ıvel inferir um esquema relacional a partir de um Diagrama Entidade-Rela¸c˜ao, aplicando um conjunto de regras simples; Um esquema relacional pode ser refinado, de forma a diminuir a ambiguidade e redundˆancia de dados; Um conjunto de regras permitem transformar um esquema relacional atrav´es de um conjunto de diferentes formas normais, processo esse denominado de normaliza¸c˜ao; Alberto Sim˜oes Modela¸c˜ao de base de Dados 29/46
  • 33. Modelo Relacional Modelo ER ⇒ Esquema Relacional Entidade Simples Aluno nome escola morada Alberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  • 34. Modelo Relacional Modelo ER ⇒ Esquema Relacional Entidade Simples Aluno nome escola morada Atributos Compostos Aluno nome escola morada.rua morada.localidade morada.c´odigoPostal Alberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  • 35. Modelo Relacional Modelo ER ⇒ Esquema Relacional Atributos M´ultiplos Aluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone Alberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
  • 36. Modelo Relacional Modelo ER ⇒ Esquema Relacional Atributos M´ultiplos Aluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone Atributos Derivados S˜ao representados como um atributo at´omico normal. Alberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
  • 37. Modelo Relacional Modelo ER ⇒ Esquema Relacional Atributos chave Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 32/46
  • 38. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-n Aluno Turma n´umeroAluno ano nome letra telefone diretorTurma turma.letra turma.ano Alberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
  • 39. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-n Aluno Turma n´umeroAluno ano nome letra telefone diretorTurma turma.letra turma.ano Aos atributos turma.letra e turma.ano s˜ao chamadas Chaves Estrangeiras. Alberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
  • 40. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao n-m Cliente ClienteConta ContaBanc´aria n´umero cliente.n´umero n´umero nome conta.n´umero saldo . . . . . . Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
  • 41. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao n-m Cliente ClienteConta ContaBanc´aria n´umero cliente.n´umero n´umero nome conta.n´umero saldo . . . . . . Os atributos cliente.n´umero e conta.n´umero s˜ao Chaves Estrangeiras. Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
  • 42. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-1 Funcion´ario Respons´aveis Departamento n´umero funcion´ario.n´umero c´odigo nome departamento.c´odigo nome . . . . . . Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  • 43. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-1 Funcion´ario Respons´aveis Departamento n´umero funcion´ario.n´umero c´odigo nome departamento.c´odigo nome . . . . . . Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao Chaves Estrangeiras. Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  • 44. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-1 Funcion´ario Respons´aveis Departamento n´umero funcion´ario.n´umero c´odigo nome departamento.c´odigo nome . . . . . . Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao Chaves Estrangeiras. Para garantir a unicidade da rela¸c˜ao os atributos funcion´ario.n´umero e departamento.c´odigo devem ser definidos como colunas sem repeti¸c˜oes. Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  • 45. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜oes com Atributos Ent 1 Ent 2 Ent 3 Rela¸c˜ao id id id Ent1.id . . . . . . . . . Ent2.id Ent3.id Podem ser definidos ´ındices de unicidade nas attr1 chaves estrangeiras de modo a garantir a attr2 cardinalidade desejada para as rela¸c˜oes. attr3 Alberto Sim˜oes Modela¸c˜ao de base de Dados 36/46
  • 46. Exerc´ıcio 3 Considerando que um leitor ´e identificado pelo seu n´umero de leitor, e cada livro identificado pelo seu c´odigo, quais s˜ao as diferen¸cas entra o modelo relacional obtido a partir das duas rela¸c˜oes apresentadas abaixo? a) b) Alberto Sim˜oes Modela¸c˜ao de base de Dados 37/46
  • 47. Modelo Relacional Modelo ER ⇒ Esquema Relacional Hierarquia Disjunta Convers˜ao gen´erica para modelo relacional. ObjetoReq Livro chave chaveLivro tipoObjeto ... chaveEstng ... DVD chaveDVD CD ... chaveCD ... Alberto Sim˜oes Modela¸c˜ao de base de Dados 38/46
  • 48. Modelo Relacional Modelo ER ⇒ Esquema Relacional Hierarquia Convers˜ao gen´erica para modelo relacional. Funcion´ario Caixa chave chaveCaixa ... c´odigoFunc ... chefeCaixa chaveChefe c´odigoFunc ... Alberto Sim˜oes Modela¸c˜ao de base de Dados 39/46
  • 49. Exerc´ıcio 4 Relembre o Exerc´ıcio 1: Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao relativa os cursos que disponibiliza e aos alunos que os frequentam. Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao, dura¸c˜ao e pre¸co. Cada curso est´a estruturado em diversos m´odulos, sendo que deve constar na BD a dura¸c˜ao de cada m´odulo (em horas), o professor, e a data de in´ıcio de cada m´odulo. Um m´odulo pode estar associado a diferentes cursos, com datas de in´ıcio distintas. Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo postal, localidade, cursos em que se encontra inscrito (pode inscrever-se em mais que um curso), juntamente com a respetiva data de inscri¸c˜ao e informa¸c˜ao sobre se o pagamento foi efetuado. Apresente a convers˜ao do modelo conceptual (diagrama E-R) para o modelo relacional. Alberto Sim˜oes Modela¸c˜ao de base de Dados 40/46
  • 50. Normaliza¸c˜ao O modelo relacional obtido pelas regras anteriores nem sempre ´e pass´ıvel de ser implementado numa base de dados relacional; Por vezes o modelo relacional obtido ´e amb´ıguo e pode levar `a falta de qualidade dos dados armazenados; O processo de Normaliza¸c˜ao tem como objetivo eliminar redundˆancia e garantir consistˆencia dos dados; O processo de Normaliza¸c˜ao ´e uma sequˆencia de regras que permitem iterar sobre diferentes formas normais; Cada passo da normaliza¸c˜ao trata de diferentes tipos de problemas; Existem v´arias formas normais devidamente aceites pela comunidade (cerca de 5 formas normais), sendo que as trˆes primeiras s˜ao as mais importantes. Alberto Sim˜oes Modela¸c˜ao de base de Dados 41/46
  • 51. Normaliza¸c˜ao Primeira Forma Normal Remo¸c˜ao de atributos m´ultiplos. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
  • 52. Normaliza¸c˜ao Primeira Forma Normal Remo¸c˜ao de atributos m´ultiplos. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone idade dataNascimento Depois: Aluno Aluno Tels n´umeroAluno n´umeroAluno nome telefone escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
  • 53. Normaliza¸c˜ao Segunda Forma Normal Remo¸c˜ao de dependˆencias parciais sobre chaves compostas. Supondo que obtemos a tabela da esquerda: Aluno Turma n´umeroAluno ano letra sala Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  • 54. Normaliza¸c˜ao Segunda Forma Normal Remo¸c˜ao de dependˆencias parciais sobre chaves compostas. Supondo que obtemos a tabela da esquerda: Aluno Turma n´umeroAluno ano letra sala Note-se que a sala desta turma ´e espec´ıfica `a turma (ano e letra) e n˜ao muda de acordo com o aluno. Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  • 55. Normaliza¸c˜ao Segunda Forma Normal Remo¸c˜ao de dependˆencias parciais sobre chaves compostas. Supondo que obtemos a tabela da esquerda: Aluno Turma n´umeroAluno ano letra sala Note-se que a sala desta turma ´e espec´ıfica `a turma (ano e letra) e n˜ao muda de acordo com o aluno. Aluno Turma Turma n´umeroAluno ano ano letra letra sala Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  • 56. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 57. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Repare-se que a localidade e o c´odigo postal s˜ao interdependentes. Se mudam a localidade, tˆem de mudar o c´odigo postal, e vice-versa. Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 58. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Repare-se que a localidade e o c´odigo postal s˜ao interdependentes. Se mudam a localidade, tˆem de mudar o c´odigo postal, e vice-versa. Ou seja, podemos considerar que apenas um deles depende do n´umero de aluno. Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 59. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Repare-se que a localidade e o c´odigo postal s˜ao interdependentes. Se mudam a localidade, tˆem de mudar o c´odigo postal, e vice-versa. Ou seja, podemos considerar que apenas um deles depende do n´umero de aluno. Por exemplo, dizer que o c´odigo postal depende do aluno, mas que a localidade n˜ao ir´a depender do aluno, mas do c´odigo postal que foi introduzido. Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 60. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Depois: Aluno C´odigoPostal n´umeroAluno c´odigoPostal nome localidade escola morada.rua morada.c´odigoPostal idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 45/46
  • 61. Exerc´ıcio 5 Relembre o Exerc´ıcio 1 e 4: Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao relativa os cursos que disponibiliza e aos alunos que os frequentam. Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao, dura¸c˜ao e pre¸co. Cada curso est´a estruturado em diversos m´odulos, sendo que deve constar na BD a dura¸c˜ao de cada m´odulo (em horas), o professor, e a data de in´ıcio de cada m´odulo. Um m´odulo pode estar associado a diferentes cursos, com datas de in´ıcio distintas. Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo postal, localidade, cursos em que se encontra inscrito (pode inscrever-se em mais que um curso), juntamente com a respetiva data de inscri¸c˜ao e informa¸c˜ao sobre se o pagamento foi efetuado. Apresente a normaliza¸c˜ao do diagrama conceptual obtido anteriormente. Alberto Sim˜oes Modela¸c˜ao de base de Dados 46/46