Upload
diogoa21
View
51
Download
0
Embed Size (px)
Citation preview
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n Imagine que de cada vez que quer
actualizar a sua lista de contactos utiliza um post-it
2
… muito prático, não é??? Bem, na verdade… Não …
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n Porquê??? Ainda perguntam…. n Ora bem apesar de ser “old fashion”,
imagine o que seria ao fim de algum tempo.
3
Pode agora jogar ao jogo: onde está o seu contacto, baseado no clássico, onde está o
Wally ? ou o Joaquim? ou a Maria? ou a Cátia? por falar nisso, onde é que eles estão?? Eu sei lá, sei lá ….
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n Como poderia organizar melhor esta
informação? n Através de uma Base de Dados
n Mas, antes deve: l Saber os dados que quer guardar l Categorizá-los 4
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n Aqui estão alguns exemplos da informação
guardada para cada um dos contactos.
5
Categorize a informação comum atribuindo-lhe um nome (etiqueta) genérico….
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n Foi dada uma dica no slide anterior… ai sim? Onde?
Onde? n Para os mais distraídos: Interesses… Agora é com
vocês…
6
• Primeiro Nome
Último Nome
Aniversário
Profissão
Estado Civil
Cidade
País
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n Vejamos agora os dados de uma forma diferente… n Rasgue cada um dos dados de um post-it e coloque-os
horizontalmente
7
n Agora, corte outro post-it com as categorias e fica algo como:
n Isto faz lembrar a apresentação dos dados noutro programa. Qual?
n No… No… está mesmo debaixo da língua… ai… no…EXCEL
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n É a mesma informação que tinha, mas disposta em linhas e colunas:
8
n Ou seja, aquilo a que se pode chamar de… dados dispostos (e bem) em linha e colunas… lembram-se… como no Excel, em …
TABELAS
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados
n Antes de continuar a falar de tabelas, é bom relembrar que elas são parte integrante das:
9
n BD (não confundir com Banda Desenhada – Bases de Dados)
• De cada vez que: § Requisita um livro § Pesquisa online § Reserva bilhetes § Faz compras § …. Lembre-se que está a ser utilizada uma BD
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Revisões – Bases de Dados n Onde pode encontrar Bases de Dados??? E para quê????
10 • … e estes são apenas alguns locais… existem muitos mais
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Tabela – Regras de Elaboração
n Não pode haver duas colunas com nome igual n Cada campo deve ser constituído por valores atómicos n Não deve haver campos vazios (o campo considerado
chave tem de ser obrigatoriamente preenchido) n Não pode haver registos duplicados
12
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Tabela - Exemplos
13
Num Num Ano Turma Nome 1 10 10º 9º E João Pedro 2 4 9º D Luís Miguel 3 10 11º F Ana Cristina
10 11º F Ana Cristina 5 5 10º 9º E Carla Sofia
Segundio as regras anteriores, encontre violações às regras de elaboração de Tabelas na tabela que se segue... Agora, e só para lançar a confusão, será que existem???
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Tabela – Terminologia Associada
14
Num Num Ano Turma Nome 1 10 10º 9º E João Pedro 2 4 9º D Luís Miguel 3 10 11º F Ana Cristina
10 11º F Ana Cristina 5 5 10º 9º E Carla Sofia
Aproveitando a tabela anterior tem-se: • Campos – Unidade básica de informação, representada/ disposta em colonas (Nome, Num, Ano…)
• Registos – Agrupamento de campos ou itens, tratados como uma unidade. Dispostos em linhas, por exemplo,: Número 4, 9º Ano, Turma D, Luís Miguel
• Tabela – Conjunto de Registos
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Tabela n São as ________ básicas onde são
___________ todos os dados numa ____ _______ relacional. São estruturas ____________.
15
estruturas armazenados
bidimensionais
base de dados
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Índice n São estruturas de dados auxiliares que
visam minimizar o tempo de acesso a registos em resposta a operações de procura sobre determinados atributos
17
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Índices
18
Nome Morada Cod-Postal João Silva Av. da liberdade nº 144 1100428 Carlos Lopes Av. da liberdade nº 124 1100428 Inês Freitas Av. Gago Coutinho nº 1478 8º Dto. 1200870 Sandro Pereira R. Gomes Sá Nº 321 10ºDto. 2568105 Filipa Pereira R. Gomes Sá Nº 321 10ºDto. 2568105 Cátia Castro R. Gomes Sá Nº 321 10ºDto. 2568105 Pedro Gonçalves R. Palmira Bastos Nº 23 2685266 Paulo Monte R. Palmira Bastos Nº 12 3º Esq. 2685266 André Couto R. Palmira Bastos Nº 54 1º Dto. 2685266 Luís Fonseca R. Palmira Bastos Nº 123 2685266 Ana Rita R. Palmira Bastos Nº 96 5º Ft. 2685266
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chaves
n Candidatas n Primárias n Externas n Compostas
20
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chaves Candidatas n É um atributo ou conjunto de atributos que
poderá ser usado como chave primária para uma dada entidade.
21
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chaves Candidatas
N_Camisola Cod_Jogador Nome Idade Posição 9 1 Lisandro Lopez 25 Avançado 8 2 Lucho Gonzalez 27 Médio 2 3 Bruno Alves 26 Defesa
22
A chave… A chave… Qual ou quais as chaves candidatas na tabela que se segue???
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Primária n É um atributo ou conjunto de atributos que
assume a função de identificar de modo unívoco as entidades ou registos de uma tabela. l Ser unívoca l Não nula l Não redundante
23
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Primária
24
N_Camisola Cod_Jogador Nome Idade Posição 9 1 Jackson 25 Avançado 8 2 Herrera 27 Médio 2 3 Maicon 26 Defesa
• Qual o campo que escolheria para chave primária da tabela seguinte???? • Porquê esse e não… ou mesmo… ou então…
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Exercício n Criar uma tabela para os sócios de um
clube de futebol l Chaves candidatas l Chave primária
25
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Externa Cod_Req Cod_Filme N_Socio Data_Req
1 F121 1475 08-10-2008 2 F002 128 10-10-2008
26
N_Socio Nome Idade Morada 1 João Pedro 24 Porto 2 Carla Maria 31 Gaia
Cod_Filme Titulo Género Duração F001 10 000 AC Aventura 104’ F002 O Jogo Acção 128’
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Externa n É um atributo que é chave primária de uma
tabela e que vai aparecer como atributo de uma outra tabela.
27
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Composta n Corresponde à combinação de duas ou
mais chaves, e pode ser necessária para eliminar a ambiguidade, formando um identificador único.
29
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Composta
Num Nome Turma Ano 1 Ana D 10.º 2 Bruno D 10.º 3 Carlos D 10.º 4 Carina D 10.º
30
Para descontrair, só mesmo uma tabela com uma
chave composta… Onde??? Onde???
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Relações entre tabelas
32
n Os relacionamentos são estabelecidos através de campos comuns entre elas, e são os campos que desempenham o papel de chaves primárias nas respectivas tabelas
n Um relacionamento entre a tabela A e a tabela B faz-se através de um campo que contém informação comum.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Um para Um (1:1) n Cada registo da tabela A só pode
corresponder a um registo na tabela B e cada registo da tabela B só pode corresponder a um registo na tabela A.
33
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Um para Um (1:1)
34
Veículo Matrícula um um
Marca Modelo Num_Matricula Audi A6 29-VV-47 Seat Ibiza 01-CG-25
Num_Matricula Mês Ano 29-GH-47 Setembro 2008 01-AB-25 Maio 2007
Veículo
Matrícula
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Um para Um (1:1) n Ensaiemos uma leitura da relação
anterior… Será que são capazes??? Não estou a duvidar das vossas capacidade.
n Em relação ao veículo… l … cada veiculo possui uma matricula.
n Agora em relação à matricula… l … a uma matricula corresponde um único
veículo (convém). 35
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Um para Muitos n Cada registo da tabela A pode corresponder
a muitos registos da tabela B, mas cada registo da tabela B corresponde apenas a um registo da tabela A.
36
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Um para Muitos (1:N)
37
Cod_Prof Nome Depart 111 Ana Ferreira 1600
121 André Santos 1300
132 João Freitas 1600
145 Manuel Figueiredo 1600
Cod_Dep Nome Coordenador 1600 Matemática Lucas Santos 1300 Expressões Inês Silva
Professor Departamento N 1
Professor
Departamento
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Um para Muitos (1:N) n Que leitura se pode fazer da relação
anterior??? n Peguemos no departamento, se não for
muito pesado… l Um departamento é constituído por vários
professores. n Agora no professor, mas com jeitinho…
l Um professor pertence a um só departamento. 38
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Muitos para Muitos n Num relacionamento muitos para muitos, um registo na Tabela A pode ter muitos registos coincidentes na Tabela B, e um registo na Tabela B pode ter muitos registos coincidentes na Tabela A.
39
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Relações N:M F_REF F_NOME F_FAIXA F_ANO F_ACTOR
73 Mamma Mia! 6 2008 Meryl Streep
581 Die Another Day 12 2003 Pierce Brosnan
623 Burn After Reading 12 2008 George Clooney
581 Die Another Day 12 2003 Halle Berry
73 Mamma Mia! 6 2008 Pierce Brosnan
623 Burn After Reading 12 2008 Brad Pitt
785 Ocean's Thirteen 12 2007 George Clooney
785 Ocean's Thirteen 12 2007 Brad Pitt
A_NOME A_FILME A_IDADE
Meryl Streep Mamma Mia! 59
Pierce Brosnan Die Another Day 55
George Clooney Burn After Reading 47
Halle Berry Die Another Day 42
Pierce Brosnan Mamma Mia! 55
Brad Pitt Burn After Reading 44
George Clooney Ocean's Thirteen 47
Brad Pitt Ocean's Thirteen 44
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Muitos para Muitos n Uma relação deste tipo só é possível definir
recorrendo a uma terceira tabela (tabela de associação) cuja chave primária consiste em duas chaves externas provenientes das Tabelas A e B.
n … “transforma-se” em duas relações de um para muitos.
n Ou seja, vamos pegar no exemplo anterior e transformar em 3 tabelas com duas relações.
n Experimentemos, sem medos… 41
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Relações N:M
F_REF F_NOME F_FAIXA F_ANO
73 Mamma Mia! 6 2008
581 Die Another Day 12 2003
623 Burn After Reading 12 2008
785 Ocean's Thirteen 12 2007
A_NOME A_IDADE A_FOTO
Meryl Streep 59
Pierce Brosnan 55
George Clooney 47
Halle Berry 42
Brad Pitt 44
F_REF F_ACTOR
73 Meryl Streep
581 Pierce Brosnan
623 George Clooney
581 Halle Berry
73 Pierce Brosnan
623 Brad Pitt
785 George Clooney
785 Brad Pitt
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Na Prática… … como pode: n fazer tabelas ??? n estabelecer relacionamentos ???
Por exemplo, recorrendo a um SGDB (Sistema de Gestão de Base de Dados)
Como por exemplo, aquele que deram em TIC no 10ºAno, lembram-se??? xiiii, onde isso já vai mas
é esse mesmo, o……………………….Access 44
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Access - Possibilita n Criar uma tabela n Introduzir dados na tabela n Mudar a vista da tabela n Inserir e apagar campos n Alterar a posição dos campos n Definir Tipos de dados
45
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Tabelas – Tipo de dados
46
TIPO DE DADOS DESCRIÇÃO
Texto Texto (caracteres alfanuméricos), podendo contar até 255 caracteres. Usados para guardar Nome de pessoas, endereços, nº telefone, etc.
Memo Texto longo, ou combinação de texto e números. Limitado a cerca de 65000 caracteres. Utilizado para guardar grandes blocos de texto.
Número Dados numéricos (inteiros ou fraccionários). Utilizado para guardar dados numéricos que podem ser usados em cálculos matemáticos.
Data/Hora Valores de data e hora.
Moeda Valores de moeda e dados numéricos utilizados em cálculos matemáticos (Ex: Preços, facturas, etc) que envolvam dados com uma de quatro casas decimais.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Tabelas – Tipo de dados
47
TIPO DE DADOS DESCRIÇÃO
Numeração automática
Um número sequencial único (por defeito com incrementos de 1) preenchido sempre que se adiciona um novo registo a uma tabela. São campos que não podem ser alterados.
Sim/Não Campo que contêm apenas dois valores: Sim e Não; Verdadeiro e Falso; Ligado e Desligado.
Objecto OLE Permite armazenar um objecto de outras aplicações Windows (gráficos, fotografias, desenhos, folhas de cálculo, etc).
Hiperligação Permite comunicar através da Internet com uma página HTML.
Assistente de pesquisa
Ajuda a inserir dados cujos valores são escolhidos a partir de outra tabela, fazendo com que a entrada de dados se faça mais rapidamente.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Access - Revisão
48
n Revisão Prática Access l Tabelas l Relacionamentos
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Em jeito de resumo…. n
n e de passagem, não para a outra margem, mas para o modelo E –R
n Analise o documento que se encontra em: http://pplware.sapo.pt/tutoriais/estruturacao-de-uma-base-de-dados/
50
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R n É como quem diz, Modelo Entidade – Relacionamento, o que já nos dá mais alguma informação. Sim, que tem entidades e relacionamentos, boa ... Trata-se então de um modelo: n De dados conceptual; n Próximo do modelo relacional; n Descreve os dados como sendo:
l entidades, atributos ou relacionamentos. 51
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R “O Modelo E-R é um modelo baseado na percepção do mundo real, que consiste num conjunto de objectos básicos chamados entidades e nas relações entre esses objectos.”
52
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R -> Entidade n Não se trata da divina, à qual pedem para passar a PSI… n É um objecto ou conceito do mundo real que se consegue isolar de
forma independente n Qualquer coisa, real ou abstracta, sobre a qual guardamos dados
para produzir informação requerida pelo sistema de informação em estudo
n Pode ter uma existência: n Física: Empregado, Carro, Produto, n Conceptual: Empresa, Profissão, Curso,
53
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Dados que são guardados sobre as entidades e que dessa forma as caracterizam.
n Exemplos…Esta é fácil Alguém??? n Atributos para a Entidade Pessoa:
l Nome, Morada, Idade, Telefone, Sexo, Estado Civil, 54
Modelo E-R -> Atributo
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R -> Considerações
55 Uma entidade deve ter pelo menos dois atributos
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Não nos cansamos de repetir … … não existem padrões (entidades padrão), a importância das coisas e a forma como as vemos varia com a natureza e o objectivo do sistema de informação em estudo.
56
Modelo E-R -> Considerações
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
57
Modelo E-R ->Relacionamentos
Aluno _________ Aula
Cliente _________ Encomenda
Doente _________ Cama
Doente _________ Enfermaria
Enfermeira _________ Doente
• Faz
• Assiste à
• Tem
• Pertence
• Trata
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n O que são então relacionamentos???
n Associação entre duas ou mais entidades
n Depois de se definirem as Entidades e respectivos Atributos,
n deve perceber como essas entidades se relacionam entre si.
58
Modelo E-R ->Relacionamentos
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
• Assiste à
Modelo E-R -> Porquê???
n Mostra a essência lógica do sistema de informação em estudo.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
• Assiste à
Modelo E-R -> Porquê???
n Não é um diagrama técnico
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
• Assiste à
Modelo E-R -> Porquê???
n Não faz referência temporal
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Informação do sistema de informação é organizada recorrendo ao conceito de entidade, relação e atributo.
62
Modelo E-R -> Porquê???
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Tanto pode ser usado para representar o modelo da organização ou de um sistema de informação em particular.
Modelo E-R -> Porquê???
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Algumas convenções de Sintaxe: n Entidades escrevem-se em letras maiúsculas;
l ALUNO, EMPREGADO, VEÍCULO n Atributos escrevem-se com a primeira letra maiúscula;
l Nome, Vencimento, BI n Atributos chave são sublinhados;
l NumBI, NumAluno, Matricula n Atributos compostos entre parêntesis
l Morada(Rua, Número, Habitação), Matricula(Ano, Mês, País) 65
Modelo E-R -> Notações
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Vantagens deste tipo de modelos: l Simplicidade l Clareza Gráfica
n Que para muito contribui a utilização de componentes como: l Retângulos; l Elipses; l Losangos; l Linhas; 66
Modelo E-R -> Notações
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n O que representa cada um dos objetos anteriores?
n Temos os genéricos… não confundir com os medicamentos …
Entidades
67
Modelo E-R -> Notações
Atributos
Relacionamentos Atributo Chave Primária
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Os não tão genéricos …
68
Modelo E-R -> Notações
Atributo Composto Atributo Multivalor
Carnidalidade (neste caso 1:N)
Participação Total E2 em R e Participação Parcial de E1 em R
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R -> Notações Deve ser lido da esquerda para a direita e de cima para baixo
69
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R -> Notações n Résumé do modelo anterior…
70
Entidades (e não só - atributos e chaves -)
DEPARTAMENTO(Nome, Num, {Localização})
PROJECTO(Nome, Num, Localização)
EMPREGADO(Nome(Próprio, Família), NumBI, Endereço, Salário, Sexo, DataNasc) Entidade Fraca
DEPENDENTE(Nome,Sexo, DataNasc, GrauParentesco)
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R -> Notações
Relacionamentos Tipo (cardinalidade)
Participação
DIRIGE(EMPREGADO, DEPARTAMENTO, GerenteData) 1:1 Parcial / Total
CONTROLA(DEPARTAMENTO, PROJECTO) 1:N Parcial / Total
SUPERVISIONA(EMPREGADO, EMPREGADO) 1:N Parcial / Parcial
TRABALHA_PARA(EMPREGADO, DEPARTAMENTO) N:1 Total/Total
TRABALHA_EM(EMPREGADO, PROJECTO, Horas) M:N Total/Total
DEPENDE_DE(DEPENDENTE, EMPREGADO) N:1 Total/Parcial
71
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Last but not least … calma, não fiquem tristes, é que depois há mais ... É só mais uma perguntinha:
n Porque é que a participação de DIRIGE(EMPREGADO, DEPARTAMENTO, GerenteData) é Parcial (uma linha) / Total (duas linhas paralelas) ???
n Simples, é só isso ??? Mande outra, por favor … n Só um empregado (ou seja, nem todos) DIRIGE um departamento (Parcial) mas, todos os departamentos são dirigidos por um empregado (Total).
72
Modelo E-R -> Notações
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E- R -> Notações
73
• 1 Um A está associado ______ B.
• 2 Um A está associado com ____________ B’s.
• 3 Um A está associado com ___________ B.
• 4 Um A está associado com _______________ B’s.
• a um
• um ou mais
• zero ou um
• zero, um ou mais
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
• Carro
74
Modelo E- R -> Considerações • Aluno • Disciplina
• Professor • Turma
• Manual
• Cliente
• Como dito anteriormente, uma entidade no diagrama E-R, deve ser algo interessante e que faça sentido para o sistema de informação que se está a tratar. • Quais as Entidades que não fazem sentido no exemplo Acima… nem que seja por maioria, que faz a força.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
75
Modelo E- R -> Considerações A ligação entre entidades é feita através de uma linha
… que devem evitar cruzarem-se
Nota: NUNCA se duplicam Entidades
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Como se faz a leitura do diagrama?
76
Modelo E- R -> Considerações
1 - Para baixo do lado direito da linha 2 - Para cima do lado esquerdo da linha 3 - Da esquerda para a direita do lado de cima da linha 4 - Da direita para a esquerda do lado de baixo da linha
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo E-R -> Dica n Que tal uma lição de bom português???
n Com o alto patrocínio… n Normalmente: Substantivo -> indica uma ENTIDADE… … pode também indicar um Atributo;
Verbo ->indica uma RELAÇÃO. 77
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Integridade n Quando se falou no inicio do módulo xiiiiiii, onde isso já
vai em objectivos dos SGBD (o que é isto???) focaram-se aspetos como:
n Proteger a BD contra atualizações não válidas, o que
… garante a sua consistência n Preservar a integridade
…restrições de integridade
80
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Preservação de Integridade n A preservação (restrição) de integridade… e se há coisa que não se deve perder é a integridade… permite: n Garantir de que alterações realizadas por utilizadores
autorizados não ocasionam a perda de consistência dos dados - “Integrity constraints”
n Protegem a BD de danos acidentais
81
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Preservação de Integridade - domínio n O valor de cada atributo deve ser um valor
atómico dentro do domínio daquele atributo ou um valor nulo
82 • O valor do Salário é do tipo moeda, pelo que, qualquer outro tipo viola este principio.
• Imagine que o valor do salário tem de estar no intervalo entre: 500€ e 5.000€. • O valor 9.100€ viola este principio
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Preservação de Integridade - semântica
n “Business Rules” n Relacionada directamente com a aplicação,
independente da estrutura da BD n Exemplos:
l Uma pessoa não pode ter mais de três contas bancárias l O total de limite de créditos não pode ultrapassar 100.000€ l O salário de um empregado não pode ser superior ao do gerente
83
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Impõe que os valores dos atributos que correspondem à
chave primária de uma entidade não podem ser nulos
nem iguais a outros já existentes na tabela
n Se assim fosse, esse atributo deixaria de ser chave.
n Bem visto, tem lógica e faz sentido.
84
Preservação de Integridade - entidade
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Preservação de Integridade – referencial n Impõe que um valor de uma chave externa tem
obrigatoriamente de existir como elemento constituinte da chave primária da tabela relacionada com aquela chave externa.
n Os valores dos campos que aparecem numa
chave externas devem estar presentes na coluna da chave primária da tabela referenciada
85
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Exemplo:
86
Preservação de Integridade – referencial
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Cod Cliente Nome Morada Ana Porto
C102 Rui Lisboa
C103 Luis Faro
87
Preservação de Integridade – Exemplo
Cod Artigo Artigo Cod Forn 1011 Modem 101
1011 Scanner 101
1033 Tecladi 102
Nº Enc DataEnc CodCli CodArt Quant
1 2014-10-10 C102 1011 1
2 2014-10-10 C103 115 3
3 2014-10-11 C102 1033 x
4 2014-10-12 C113 1011 1
CLIENTES
ARTIGOS
ENCOMENDAS
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Entidade n Objecto acerca do qual se pretende
guardar dados. n Corresponde a uma tabela ou a um
ficheiro. n Exemplos:
l Proprietário. l Cavalo. l Aluno. l Pessoa.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Abstraindo… n Entidade.
l Objecto acerca do qual se guardam os dados. n Relação.
l Associação entre duas entidades; l Campos comuns existentes entre duas
entidades.
• Ent. 1
• Ent. 2
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Atributo n Corresponde ao nome de um campo. n Exemplo:
l Nome; l Morada; l Telefone; l Sexo; l Data nascimento; l Código postal.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo Relacional n A estrutura fundamental do modelo relacional é
a relação, também designada por tabela; n Os dados estão armazenados em tabelas. n Todos os dados devem ser acedidos de uma
forma única (tabela, chave, campo). n Na mesma tabela não podem existir registos
duplicados. n Uma relação é uma estrutura bidimensional
que tem zero ou mais instâncias (ocorrência de uma entidade);
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo Relacional n O esquema de uma relação é constituído por um ou
mais atributos que traduzem o tipo de dados a armazenar.
n A cada instância do esquema de uma relação designa-se por tuplo.
n Para cada atributo define-se o seu domínio. O domínio traduz um conjunto de valores possíveis que um atributo pode tomar.
n Ao número de atributos que constituem o esquema de uma relação dá-se o nome de grau de relação .
n Por sua vez, o número de tuplos de uma relação designa-se por cardinalidade da relação
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Modelo Relacional
Cod_Produto Designação Preço
1234 Monitor 100
4321 Teclado 35
2143 Rato 10
3421 Impressora 60
• TUPLO
• Grau da Relação
• Cardinalidade
• da Relação
• Atributos
• O valor de cada tuplo é atómico. No cruzamento de uma linha com uma coluna só e possível encontrar um valor.
• Os atributos de uma relação devem ter identificadores distintos.
• Os atributos de uma relação devem ser distintos.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
n Desenhar uma base de dados é uma arte que requer criatividade e experiência.
n Abordagem Top-Down – Modelo E-R n Abordagem Bottom-up - Normalização
Como Chegar ao Mod. Relacional?
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Primária n Campo ou conjunto de campos que
identificam de forma única um registo. Aluno
ID Alun Ano Turma Nome Fran Ing ITI
1 12º 4A Ana 12 13 12
2 12º 4A Inês 15 13 12
3 12º 4A João 12 15 17
4 12º 4B Ana 12 13 12
5 11º 4A Ana 12 13 12
n Simples - Um só atributo
n Composta - Mais do que um atributo
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Chave Externa n Chave armazenada num registo para estabelecer a
relação entre os registos. n A chave externa de um registo é chave primária do
registo relacionado. Turma
Id-turm Ano Turma
1 12º 4A
2 12º 4B
3 11º 4A
Aluno
ID- Alun Nome Fra Ing ITI Id-turm
1 Ana 12 13 12 1
2 Inês 15 13 12 1
3 João 12 15 17 1
4 Ana 12 13 12 2
5 Ana 12 12 12 3
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Normalização
Objectivo
Encontrar um esquema de base de dados relacional capaz de suportar os dados relevantes a um determinado universo
Necessidade de organizar os dados de forma a que estes possam ser tratados relacionalmente
Aparecimento do Modelo Relacional
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
O que é a Normalização? Conjunto de normas para uma boa estruturação das bases de dados relacionais
A EVITAR... Redundância ou a perda de integridade da informação
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Problemas de desempenho
Custos de espaço de armazenamento
Problemas de manutenção
Armazenamento repetido dos mesmos dados
Redundância
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
O processo de normalização está traduzido nas dependências existentes entre os dados
• Num_Aluno • Nome_Aluno
• Num_Jogador • Nome_Jogador
• O nome do aluno depende funcionalmente do nº aluno
• O número do aluno identifica o nome do aluno
Dependências
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Processo de Normalização • 1ª Forma Normal (1FN)
• 3ª Forma Normal (3FN)
• 2ª Forma Normal (2FN)
• Inicialmente...
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Processo de Normalização • Forma Normal de Boyce-Codd (FNCB)
• 5ª Forma Normal (5FN)
• 4ª Forma Normal (4FN)
• Posteriormente...
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Processo de Normalização FORMAS NORMAIS
FNCB 1FN
Ponto de Equilíbrio
3FN 5FN 4FN 2FN
û menos relações
û mais redundância
û mais relações
û menos redundância
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Num_Alu Nome Curso Disciplinas
1 Brahimi FCP Port, Mat,TIC
2 Talisca SLB Port, PSI, Ed.Fisica
3 Nani SCP RC, AC, PSI
Esta tabela não respeita a 1FN : o campo DISCIPLINAS permite valores não atómicos
Processo de Normalização
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Num_Alu Nome Curso Disc1 Disc2 Disc3
1 Brahimi FCP Port Mat TIC
2 Talisca SLB Port PSI Ed. Fisica
3 Nani SCP RC AC PSI
Esta tabela também não respeita a 1FN. Embora, neste caso todos os campos sejam atómicos existem campos repetidos para uma mesma categoria.
Processo de Normalização
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Num_Alu Nome Curso Disciplina
1 Brahimi FCP Port
1 Brahimi FCP Mat
1 Brahimi FCP TIC
2 Talisca SLB Port
2 Talisca SLB PSI
2 Talisca SLB Ed. Fisica
3 Nani SCP RC
3 Nani SCP AC
3 Nani SCP PSI
Esta tabela respeita a 1FN. Porém, coloca um problema de redundância de informação: para cada disciplina em que o aluno está inscrito é necessário repetir a informação relativa a esse aluno.
Processo de Normalização
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Dados não normalizados
Aluno Num_Aluno
Nome_Aluno
Curso
Disciplinas * Num_Disc
Nome _Disc
Cod_Prof
Nome_Prof
Nota
Forma Não Normal (FNN)
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
1ª Forma Normal (1FN) Uma entidade está na 1FN quando não contém grupos repetidos
Eliminam-se os grupos repetidos
Determinam-se as chaves
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
• Entidade está na 1FN.
• Cada item da entidade deve ser funcionalmente dependente da chave da entidade, ou seja, de toda a chave.
Chaves e atributos dependem da totalidade da chave
2ª Forma Normal (2FN)
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
2ª Forma Normal (2FN) A chave só tem UM atributo;
A tabela está na 1FN;
2FN Chaves e atributos dependem da totalidade da chave
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
2ª Forma Normal (2FN) A chave é COMPOSTA;
Analisam-se as dependências dos outros atributos
Decomposição da tabela
2FN
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
3ª Forma Normal (3FN) Entidade está na 2FN.
Todos os campos que não são parte da chave primária são mutuamente independentes, ou seja, não existem dependências transitivas.
Os atributos não-chave têm de ser
independentes entre si.
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
• Se não existir nenhuma dependência funcional entre os atributos não-chave
• A tabela está na 2FN;
3FN
• Se existir alguma dependência funcional entre atributos não-chave
• Retirar esse conjunto de atributos da tabela
• Constituir uma tabela à parte
3ª Forma Normal (3FN)
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
• Cod_Prof
• Nome_prof
• Professores
• Num_Disc
• Nome_Disc
• Cod_Prof
• Disciplinas
• Num_Aluno
• Num_Disc
• Nota
• Alunos/ Disciplinas
• Num_Aluno
• Nome
• Curso
• Alunos
3 FN
3ª Forma Normal (3FN)
Mód
ulo
13 –
Téc
nica
s de
Mod
elaç
ão d
e D
ados
Normalização – Formas Normais
119
q O résumé … q Um - 1FN
Todos os campos devem ser atómicos e não deve haver campos repetidos.
q Dois - 2FN
Cada atributo não-chave tem de ser funcionalmente dependente da chave na sua totalidade e não apenas de uma parte dessa chave;
q Três - 3FN
Um atributo não-chave não pode depender funcionalmente de nenhum outro atributo que não seja a chave - (Chave Externa)