desenho de base de dados relacional normalização orador joão sousa entidades e relacionamento...

29
DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E- R) Orador Miguel laranjeira

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

DESENHO de

BASE de DADOS RELACIONAL

NormalizaçãoOrador João Sousa

ENTIDADES e RELACIONAMENTO (E-R)Orador Miguel laranjeira

Page 2: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

O modelo de Base de Dados Relacional foi desenvolvido pelo matemático Edgar Frank Cood (1924-2003) . Uma Base Dados Relacional é um conceito abstracto que define maneiras de armazenar , manipular e recuperar dados inseridos unicamente em tabelas construindo uma Base Dados.

Em 1985 Cood publicou um artigo onde definiu as 12 regras para um sistemas gerir de base Dados (SGBD) Relacional .

Base de Dados Relacional

SGBDBD

ProgramadoresProgramadores

UtilizadoresUtilizadores

Page 3: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Problema: Na biblioteca do ISEP os livros requisitados são registados

em livros de requisições. Foi pedido ao departamento de Informática para criar uma

base dados para registar as requisições.

Exemplo do livro de requisições :

Desenho de Base de Dados

Reqª 200Leitor nrº 20

Nome : Rui Nova

Morada : rua de cima nº 22 Telefone: 91999909

EstanteBase dados Ruben Faria I.201Engenharia Aplicada Pedro Antunes E.205

Data :11/11/2006 Data_Entrega: 12/12/2006

Biblioteca ISEP

Titulo Autor

Page 4: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Req_Nr Data_Req Data-Entrega Leitor_Nr Nome_Leitor Morada_Leitor Titulo_Livro Autor_Livro Lote1 10-10-2006 10-11-2006 201 António Joaquim Rua de cima nº27 Engenharia Aplicada Ruben Faria I.2011 10-10-2006 10-11-2006 201 António Joaquim Rua de cima nº27 Base Dados Pedro Faria I.2102 11-10-2006 11-11-2006 555 Susana Faria Rua de baixo nº 10 Direito Civil Santana Lopes D.5022 11-10-2006 11-11-2006 555 Susana Faria Rua de baixo nº 10 Direito dos Doentes Lopes Antunes D.504

•Problemas: – redundância da informação – mais espaço em disco, – mais tempo de processamento, – dificuldade de manutenção da integridade dos dados•Solução: – Divisão em várias tabelas relacionadas entre si.

Desenho de Base de DadosSoluçao: Criar uma tabela com os dados das requisões

Page 5: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Duas metodologias para resolver o problema

Normalização

Entidades e relacionamento (E-R)

Desenho de Base de Dados

Page 6: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

A normalização é uma técnica baseada num conjunto de conceitos e regras propostos por Edgar Frank Codd destinados a obter conteúdos de ficheiros de registos (tabelas) adequados à implementação de bases de dados relacionais.

Objectivos principais da normalização

● Visão Relacional dos dados

● Não Redundância da Informação

Normalização

Page 7: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Objectivos principais da normalização

● Visão Relacional dos dados

Qualquer relação entre entidades devem ser vista como um

objecto informacional idêntico às entidades.

Através de linguagens de interrogação relacionais

(tipo SQL) estas relações são facilmente obtidas.

Normalização

•Não Redundância da Informação Cada dado deve ser armazenado uma única vez base de dados .Evita-se a inconsistência dos dados e reduzem-se os recursos para armazenamento da informação.

Page 8: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Normalização1º FORMA NORMAL

Um ficheiro está na 1º forma normal se não tiver

grupos repetidos

#Req_Nr #Livro_ID Titulo_Livro Autor_Livro Lote1 200 Engenharia Aplicada Ruben Faria I.2011 301 Base Dados Pedro Faria I.2102 700 Direito Civil Santana Lopes D.5022 702 Direito dos Doentes Lopes Antunes D.504

No caso do exemplo basta partir o ficheiro em dois :

Requisições

Livros_Requisitados

#Req_Nr Data_Req Data-Entrega Leitor_Nr Nome_Leitor Morada_Leitor1 10-10-2006 10-11-2006 201 António Joaquim Rua de cima nº272 11-10-2006 11-11-2006 555 Susana Faria Rua de baixo nº 10

Page 9: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Normalização

2º FORMA NORMAL

Um ficheiro está na 2º forma normal se, para além de estar na 1º forma normal, cada atributo não chave depende

funcionalmente da totalidade da chave.

#Req_Nr #Livro_ID Titulo_Livro Autor_Livro Lote1 200 Engenharia Aplicada Ruben Faria I.2011 301 Base Dados Pedro Faria I.2102 700 Direito Civil Santana Lopes D.5022 702 Direito dos Doentes Lopes Antunes D.504

Neste exemplo : Titulo_Livro + Autor_Livro + Lote só depende do #Livro_ID

Page 10: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Normalização

#Livro_ID Titulo_Livro Autor_Livro Lote200 Engenharia Aplicada Ruben Faria I.201301 Base Dados Pedro Faria I.210700 Direito Civil Santana Lopes D.502702 Direito dos Doentes Lopes Antunes D.504

2º FORMA NORMAL

Um ficheiro está na 2º forma normal se, para além de estar na 1º forma normal, cada atributo não chave depende

funcionalmente da totalidade da chave.

No caso do exemplo temos criar a tabela Livros :

e a tabela Livros_Requisitados fica :#Req_Nr #Livro_ID

1 2001 3012 7002 702

Page 11: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Normalização

3º FORMA NORMAL

Um ficheiro está na 3º forma normal se, para além de estar na 2º forma normal, os atributos não chave não depende

funcionalmente uns dos outros.

#Req_Nr Data_Req Data-Entrega Leitor_Nr Nome_Leitor Morada_Leitor1 10-10-2006 10-11-2006 201 António Joaquim Rua de cima nº272 11-10-2006 11-11-2006 555 Susana Faria Rua de baixo nº 10

Neste exemplo : Nome-Leitor + Morara_Leitor + Telefone_leitor depende do #Leitor_Nr

Page 12: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Normalização

#Leitor_Nr Nome_Leitor Morada_Leitor Telefone_Leitor201 António Joaquim Rua de cima nº27 91999909555 Susana Faria Rua de baixo nº 10 227445577

3º FORMA NORMAL

Um ficheiro está na 3º forma normal se, para além de estar na 2º forma normal, os atributos não chave não depende

funcionalmente uns dos outros.

No caso do exemplo temos criar a tabela Leitores :

e a tabela Requisições fica :

#Req_Nr Data_Req Data-Entrega #Leitor_Nr1 10-10-2006 10-11-2006 2012 11-10-2006 11-11-2006 555

Page 13: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Normalização

#Leitor_Nr Nome_Leitor Morada_Leitor Telefone_Leitor201 António Joaquim Rua de cima nº27 91999909555 Susana Faria Rua de baixo nº 10 227445577

#Req_Nr Data_Req Data-Entrega #Leitor_Nr1 10-10-2006 10-11-2006 2012 11-10-2006 11-11-2006 555

#Livro_ID Titulo_Livro Autor_Livro Lote200 Engenharia Aplicada Ruben Faria I.201301 Base Dados Pedro Faria I.210700 Direito Civil Santana Lopes D.502702 Direito dos Doentes Lopes Antunes D.504

#Req_Nr #Livro_ID1 2001 3012 7002 702

Resultado final

livros

Leitores

RequisiçoesLivros_Requisitados

Page 14: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Abordagem mais intuitiva ao desenho de uma base de dados.

• Partir da situação real

– biblioteca,

– processamento de encomendas,

– empresa,

– etc.

• Pretende-se representar numa BD relacional toda a informação relevante.

• Pretende-se minimizar a redundância na BD.

(E-R)

Page 15: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

• Identificar – ENTIDADES – RELACIONAMENTOS entre entidades

• Em que: – Entidade: classe de objectos envolvida na situação que se pretende modelar. – Relacionamento: interacção directas entre as entidades.

Page 16: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Page 17: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Exemplo da biblioteca

• Quais são as classes de objectos relevantes no Funcionamento da biblioteca?

– Queremos guardar informação sobre as requisições de livros feitas por leitores na biblioteca.

• Podemos identificar: – Requisições – Livros – Leitores

Page 18: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Relacionamentos

• Que interacções (relevantes) existem entre estas entidades?

• Podemos identificar: – Um leitor faz requisições – Uma requisição inclui vários livros

• Nota: Não há interacção directa entre leitores e livros.

Page 19: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Tipos de relacionamentos

• 1:1 - a cada objecto da entidade A corresponde no máximo 1 objecto da entidade B.

• 1:N - a cada objecto da entidade A correspondem N objectos da entidade B. A cada objecto de B corresponde 1 de A.

• N:N - a cada objecto da entidade A correspondem vários objectos da entidade B e vice-versa.

Page 20: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Atributos de uma entidade

• Cada entidade pode ser descrita segundo um conjunto de atributos relevantes. – Livros : título, autor, colocação – Leitores: Nº de inscrição, Nome, morada – Requisições : Nº de requisição, data de requisição

• Nota: Nome do leitor não é um atributo da entidade Requisições porque é um atributo da entidade Leitores.

Page 21: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Diagrama de entidades e relacionamentos

• Representam graficamente as relacionamentos e entidades.

Page 22: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Notação de diagramas E-R

Page 23: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)Implementação do modelo E-R

• Para cada relacionamento de N:N entre entidades A e B – Acrescento uma entidade de junção AB e estabeleço • Relacionamento 1:N entre A e AB. • Relacionamento 1:N entre B e AB. – Identifico atributos de AB, se os houver. • Cada entidade A vai dar origem a uma tabela TA – Cada atributo da tabela vai dar origem a um campo. – Determinar qual a chave de cada tabela. • Para cada relacionamento de 1:1 ou de 1:N entre entidades A e B – Acrescentar a chave de TA a TB (exportar as chaves) . – No diagrama de relacionamentos do ACCESS defino um relacionamento entre a chave de TA e os mesmos campos em TB.

Page 24: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Exemplo de implementação

• partimos de

Page 25: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Exemplo: tratar N:N

• O relacionamento N:N entre livros e requisições dá origem a dois relacionamentos e a uma entidade de junção livros_requisitados.

Page 26: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Exemplo: tratar entidades

• As entidades dão origem às tabelas (chaves sublinhadas)

#Req_Nr Data_Req Data-Entrega #Leitor_Nr

#Livro_ID Titulo_Livro Autor_Livro Lote

#Req_Nr #Livro_ID

#Leitor_Nr Nome_Leitor Morada_Leitor Telefone_Leitor

livros

Leitores

Livros_Requisitados

Requisiçoes

Page 27: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Exemplo: tratar 1:N

• O relacionamento entre leitores e requisições faz com que se acrescente o campo N. de inscrição a requisições (com o nome Leitor).• O relacionamento entre requisições e livros requisitados faz com que se acrescente o campo Req. Nr. a livros requisitados.• O relacionamento entre livros e livros requisitados faz com que se acrescente o campo Colocação a livros requisitados (com o nome Livro)

Page 28: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

(E-R)

Exemplo: tratar 1:N – resultado

• Ou seja, obtemos

#Req_Nr Data_Req Data-Entrega #Leitor_Nr

#Livro_ID Titulo_Livro Autor_Livro Lote

#Req_Nr #Livro_ID

#Leitor_Nr Nome_Leitor Morada_Leitor Telefone_Leitor

livros

Leitores

Livros_Requisitados

Requisiçoes

Page 29: DESENHO de BASE de DADOS RELACIONAL Normalização Orador João Sousa ENTIDADES e RELACIONAMENTO (E-R) Orador Miguel laranjeira

Desenho de Base de Dados

Conclusão