122
Módulo 13 – Técnicas de Modelação de Dados Programação e Sistemas de Informação

Psi-mod-13

Embed Size (px)

Citation preview

Módulo 13 – Técnicas de Modelação de Dados

Programação e Sistemas de Informação

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

Tabelas

11

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

Índices

16

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

19

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 Externa

28

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

Ficha de trabalho 1

31

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

Ficha de trabalho 2

43

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

Ficha de trabalho 3

49

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

Modelo E-R -> Notações n  Notação Peter Chen

64

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

Modelo E-R -> Software

78

Mód

ulo

13 –

Téc

nica

s de

Mod

elaç

ão d

e D

ados

Ficha de trabalho 4

79

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

Ficha de trabalho nº 5

88

Normalização

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

1ª Forma Normal (1FN)

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

2ª Forma Normal (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)

Mód

ulo

13 –

Téc

nica

s de

Mod

elaç

ão d

e D

ados

Ficha de trabalho nº 6

120

Mód

ulo

13 –

Téc

nica

s de

Mod

elaç

ão d

e D

ados

REVISÕES…

121 FICHA nº 7 FICHA nº 8

Mód

ulo

13 –

Téc

nica

s de

Mod

elaç

ão d

e D

ados

122