Upload
buicong
View
223
Download
4
Embed Size (px)
Citation preview
MÓDULO 3Banco 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.
Agenda do Módulo
Projeto de Banco de Dados.
– Diagrama de Entidade Relacionamento
– Diagrama de Tabelas Relacionais
– Normalização
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
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.
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.
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.
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.
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.
Cardinalidade de Relacionamentos
Cardinalidade de Relacionamentos
Cardinalidade 1 x 1
Cardinalidade 1 x n
Cardinalidade m x n
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.
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.
AtributoAtributo
• A representação diagramática da cardinalidade de
atributos é derivada da representação da cardinalidade
de entidades em relacionamentos.
AtributoAtributo
• Assim como entidades possuem atributos, também
relacionamentos podem possuir atributos.
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.
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.
AtributoAtributo
• A figura abaixo mostra um exemplo no qual o
identificador da entidade é composto por diversos
atributos.
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.
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.
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.
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.
Generalização/EspecializaçãoGeneralização/Especialização
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.
Generalização/EspecializaçãoGeneralização/Especialização
Generalização/EspecializaçãoGeneralização/Especialização
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.
Diagrama de Tabelas Relacionais
Tabela
Diagrama de Tabelas Relacionais
Chaves● Primárias● Estrangeiras● Alternativas
Diagrama de Tabelas Relacionais
Tipos de Dados● INT● DATE● CHAR● VARCHAR● etc...
Exercício 3 – Criar DTR
Exercício● Crie DTRs a partir dos DERs dos
exercícios 1 e 2.
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...
Normalização
● Primeira forma normal (1FN) = Diz-se que uma tabela está na primeira forma normal, quando ela não contém tabelas aninhadas.
Normalização
Normalização
● Exemplo– Aplicação da 1FN na tabela abaixo
Normalização
– Exemplo
– Aplicação da 1FN na tabela abaixo● Resposta:
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
Normalização
Segunda forma normal (2FN): quando, além de estar na 1FN, não contém dependências parciais.–
Normalização
Normalização
Segunda forma normal (2FN): quando, além de estar na 1FN, não contém dependências parciais.
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.
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.