mÓdulo 3 banco de dados (parte i)

42
MÓDULO 3 Banco de Dados (Parte I)

Upload: buicong

Post on 08-Jan-2017

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: MÓDULO 3 Banco de Dados (Parte I)

MÓDULO 3Banco de Dados

(Parte I)

Page 2: MÓDULO 3 Banco de Dados (Parte I)

Sobre o Módulo

Referências para leitura:– Heuser, Carlos A. Projeto de Banco de Dados, 4ed.

Porto Alegre: Bookman, 2004.

Page 3: MÓDULO 3 Banco de Dados (Parte I)

Agenda do Módulo

Projeto de Banco de Dados.

– Diagrama de Entidade Relacionamento

– Diagrama de Tabelas Relacionais

– Normalização

Page 4: MÓDULO 3 Banco de Dados (Parte I)

Projeto de Banco de Dados

Modelo conceitual (projeto conceitual)● Modelo de dados abstrato que descreve a estrutura de um banco

de dados independente de um SGBD

Modelo lógico (projeto lógico)● Modelo de dados que representa a estrutura dos dados de um

banco de dados ● Dependente do modelo do SGBD

Modelo físico (projeto físico)● Nível de Implementação ● Depende do SGBD ● Ênfase na eficiência de acesso

Page 5: MÓDULO 3 Banco de Dados (Parte I)

Projeto de Banco de Dados

Diagrama de Entidade Relacionamento (DER)

– Ex: Usando a ferramenta Br Modelo.

Diagrama de Tabelas Relacionais (DTR)

– Ex: Usando a ferramenta DB Design.

Principais conceitos aplicado no DER:

● Entidades,● Atributos,● Relacionamentos e etc.

Principais conceitos aplicados no DTR:

● Tabelas,● Chaves,● Tipos de Dados e etc.

Page 6: MÓDULO 3 Banco de Dados (Parte I)

EntidadesEntidades

• O conceito fundamental da abordagem ER é o

conceito de entidade.

• Entidade = Conjunto de objetos da realidade

modelada sobre os quais deseja-se manter informações modelada sobre os quais deseja-se manter informações

no banco de dados.

• Uma entidade representa, no modelo conceitual, um

conjunto de objetos da realidade modelada.

• Como o objetivo de um modelo ER é modelar de

forma abstrata um BD, interessam-nos somente os

objetos sobre os quais deseja-se manter informações.

Page 7: MÓDULO 3 Banco de Dados (Parte I)

EntidadesEntidades

• Em um DER, uma entidade é representada através de

um retângulo que contém o nome da entidade.

• Como dito acima, cada retângulo representa um

conjunto de objetos sobre os quais deseja-se guardar

informações.

Page 8: MÓDULO 3 Banco de Dados (Parte I)

RelacionamentosRelacionamentos

•Além de especificar os objetos sobre os quais deseja-

se manter informações, o DER deve permitir a

especificação das propriedades dos objetos que serão

armazenadas no BD. armazenadas no BD.

• Uma das propriedades sobre as quais pode ser

desejável manter informações é a associação entre

objetos. Exemplificando, pode ser desejável saber quais

pessoas estão associadas a quais departamentos em

uma organização.

Page 9: MÓDULO 3 Banco de Dados (Parte I)

RelacionamentosRelacionamentos

• Relacionamento = Conjunto de associações entre

entidades.

• Em um DER, um relacionamento é representado

através de um losango, ligado por linhas aos retângulos através de um losango, ligado por linhas aos retângulos

representativos das entidades que participam do

relacionamento.

Page 10: MÓDULO 3 Banco de Dados (Parte I)

Cardinalidade de Relacionamentos

Page 11: MÓDULO 3 Banco de Dados (Parte I)

Cardinalidade de Relacionamentos

Cardinalidade 1 x 1

Cardinalidade 1 x n

Cardinalidade m x n

Page 12: MÓDULO 3 Banco de Dados (Parte I)

Cardinalidade de RelacionamentosCardinalidade de Relacionamentos

• Cardinalidade (mínima, máxima) de entidade em

relacionamento = Número (mínimo, máximo) de

ocorrências de entidade associadas a uma ocorrência

da entidade em questão através do relacionamento.da entidade em questão através do relacionamento.

Page 13: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• Para associar informações a ocorrências de entidades

ou de relacionamentos usa-se o conceito de atributo.

• Atributo = Dado que é associado a cada ocorrência de

uma entidade ou de um relacionamento.uma entidade ou de um relacionamento.

Page 14: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• A representação diagramática da cardinalidade de

atributos é derivada da representação da cardinalidade

de entidades em relacionamentos.

Page 15: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• Assim como entidades possuem atributos, também

relacionamentos podem possuir atributos.

Page 16: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• Estes dois atributos poderiam ter sido incluídos na

entidade VENDA.

• Neste caso, seriam atributos opcionais, já que nem

toda venda é à prazo e possui estes atributos. toda venda é à prazo e possui estes atributos.

• Os atributos nº de parcelas e taxa de juros

pertencerem somente a vendas à prazo.

Page 17: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• Cada entidade deve possuir um identificador.

• Um identificador é um conjunto de um ou mais

atributos cujos valores servem para distinguir uma

ocorrência da entidade das demais ocorrências da ocorrência da entidade das demais ocorrências da

mesma entidade.

Page 18: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• A figura abaixo mostra um exemplo no qual o

identificador da entidade é composto por diversos

atributos.

Page 19: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• No DER, o relacionamento usado como identificador é

indicado por uma linha mais densa, conforme mostra a

figura abaixo.

• Nesse caso, alguns autores dizem que a entidade

DEPENDENTE é uma entidade fraca.

Page 20: MÓDULO 3 Banco de Dados (Parte I)

AtributoAtributo

• Identificador de Entidade = Conjunto de atributos e

relacionamentos cujos valores distinguem uma

ocorrência da entidade das demais.

• O identificador de uma entidade, seja ele simples, • O identificador de uma entidade, seja ele simples,

composto por diversos atributos, ou composto por

identificadores externos, deve obedecer duas

propriedades:

• O identificador deve ser mínimo.

• Cada entidade deve possuir um único identificador.

Page 21: MÓDULO 3 Banco de Dados (Parte I)

Exercício 1 – Criar DER

Estudo de Caso: Supermercado

O Supermercado possui vários funcionários. Esses funcionários são identificados por um código. Ainda serão registrados nesses funcionários o nome de cada um, o cargo que eles ocupam, o salário e o telefone.

O Supermercado ainda deseja guardar as informações de seus fornecedores. Eles devem possuir um código para identificá-los, o nome da empresa fornecedora, o endereço e os telefones.

O Supermercado também exige que o sistema em questão guarde as vendas ocorridas. Tal venda deve conter um código de identificação, qual funcionário participou dessa venda, qual o fornecedor do produto, o valor total da venda e a data que a mesma ocorreu.

Page 22: MÓDULO 3 Banco de Dados (Parte I)

Generalização/EspecializaçãoGeneralização/Especialização

• Além de relacionamentos e atributos, propriedades

podem ser atribuídas a entidades através do conceito

de generalização/especialização.

• Através deste conceito é possível atribuir • Através deste conceito é possível atribuir

propriedades particulares a um subconjunto das

ocorrências (especializadas) de uma entidade genérica.

O símbolo para representar

generalização/especialização é um triângulo isósceles,

conforme mostra a figura abaixo.

Page 23: MÓDULO 3 Banco de Dados (Parte I)

Generalização/EspecializaçãoGeneralização/Especialização

Page 24: MÓDULO 3 Banco de Dados (Parte I)

Generalização/EspecializaçãoGeneralização/Especialização

• Uma entidade especializada em uma

generalização/especialização, pode ser entidade

genérica em uma outra generalização/especialização.

Page 25: MÓDULO 3 Banco de Dados (Parte I)

Generalização/EspecializaçãoGeneralização/Especialização

Page 26: MÓDULO 3 Banco de Dados (Parte I)

Generalização/EspecializaçãoGeneralização/Especialização

Page 27: MÓDULO 3 Banco de Dados (Parte I)

Exercício 2 – Criar DER

Carro, que possui código, marca, modelo e ano de fabricação.

Motor, que possui código, Tipo Motor (flex, gasolina, diesel ou álcool).

Um carro possui somente um motor. Um motor deve pertencer a somente um carro.

Categoria, que possui código e nome.

Produtos, que possui código, nome, Data Validade, Fabricante e Categoria.

Uma categoria pode conter vários produtos. Um produto só deve pertencer a uma categoria.

Aluno, que possui Matricula e nome.

Professores, que possuem SIAPE, nome e especialidade.

Um professor pode dar aulas para vários alunos. Um aluno pode ter vários professores.

Page 28: MÓDULO 3 Banco de Dados (Parte I)

Diagrama de Tabelas Relacionais

Tabela

Page 29: MÓDULO 3 Banco de Dados (Parte I)

Diagrama de Tabelas Relacionais

Chaves● Primárias● Estrangeiras● Alternativas

Page 30: MÓDULO 3 Banco de Dados (Parte I)

Diagrama de Tabelas Relacionais

Tipos de Dados● INT● DATE● CHAR● VARCHAR● etc...

Page 31: MÓDULO 3 Banco de Dados (Parte I)

Exercício 3 – Criar DTR

Exercício● Crie DTRs a partir dos DERs dos

exercícios 1 e 2.

Page 32: MÓDULO 3 Banco de Dados (Parte I)

Normalização

– Normalização: processo de normalização é uma técnica que objetiva eliminar redundâncias de dados de arquivos.

– Formas normais: regras que devem ser obedecidas por uma tabela para que esta seja considerada “bem projetada”.

● Ex: 1FN, 2FN, 3FN...

Page 33: MÓDULO 3 Banco de Dados (Parte I)

Normalização

● Primeira forma normal (1FN) = Diz-se que uma tabela está na primeira forma normal, quando ela não contém tabelas aninhadas.

Page 34: MÓDULO 3 Banco de Dados (Parte I)

Normalização

Page 35: MÓDULO 3 Banco de Dados (Parte I)

Normalização

● Exemplo– Aplicação da 1FN na tabela abaixo

Page 36: MÓDULO 3 Banco de Dados (Parte I)

Normalização

– Exemplo

– Aplicação da 1FN na tabela abaixo● Resposta:

Page 37: MÓDULO 3 Banco de Dados (Parte I)

Normalização

Dependência Funcional: Em uma tabela relacional, diz-se que uma coluna C2 depende funcionalmente de uma coluna C1 (ou que a coluna C1 determina a coluna C2) quando, em todas linhas da tabela, para cada valor de C1 que aparece na tabela, aparece o mesmo valor de C2.

Dependência:

Código → Salário

Page 38: MÓDULO 3 Banco de Dados (Parte I)

Normalização

Segunda forma normal (2FN): quando, além de estar na 1FN, não contém dependências parciais.–

Page 39: MÓDULO 3 Banco de Dados (Parte I)

Normalização

Page 40: MÓDULO 3 Banco de Dados (Parte I)

Normalização

Segunda forma normal (2FN): quando, além de estar na 1FN, não contém dependências parciais.

Page 41: MÓDULO 3 Banco de Dados (Parte I)

Normalização

Terceira forma normal (3FN): Uma tabela encontra-se na terceira forma normal, quando, além de estar na 2FN, não contém dependências transitivas.– Uma dependência transitiva (ou indireta) acontece quando

uma coluna não chave primária depende funcionalmente de outra coluna ou combinação de colunas não chave primária.

– A passagem à 3FN consta em dividir tabelas de forma a eliminar as dependência transitivas.

Page 42: MÓDULO 3 Banco de Dados (Parte I)

Normalização

Terceira forma normal (3FN): Uma tabela encontra-se na terceira forma normal, quando, além de estar na 2FN, não contém dependências transitivas.