mÓdulo 3 banco de dados (parte i)
TRANSCRIPT
![Page 1: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/1.jpg)
MÓDULO 3Banco de Dados
(Parte I)
![Page 2: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/2.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/3.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/4.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/5.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/6.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/7.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/8.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/9.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/10.jpg)
Cardinalidade de Relacionamentos
![Page 11: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/11.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/12.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/13.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/14.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/15.jpg)
AtributoAtributo
• Assim como entidades possuem atributos, também
relacionamentos podem possuir atributos.
![Page 16: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/16.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/17.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/18.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/19.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/20.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/21.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/22.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/23.jpg)
Generalização/EspecializaçãoGeneralização/Especialização
![Page 24: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/24.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/25.jpg)
Generalização/EspecializaçãoGeneralização/Especialização
![Page 26: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/26.jpg)
Generalização/EspecializaçãoGeneralização/Especialização
![Page 27: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/27.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/28.jpg)
Diagrama de Tabelas Relacionais
Tabela
![Page 29: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/29.jpg)
Diagrama de Tabelas Relacionais
Chaves● Primárias● Estrangeiras● Alternativas
![Page 30: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/30.jpg)
Diagrama de Tabelas Relacionais
Tipos de Dados● INT● DATE● CHAR● VARCHAR● etc...
![Page 31: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/31.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/32.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/33.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/34.jpg)
Normalização
![Page 35: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/35.jpg)
Normalização
● Exemplo– Aplicação da 1FN na tabela abaixo
![Page 36: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/36.jpg)
Normalização
– Exemplo
– Aplicação da 1FN na tabela abaixo● Resposta:
![Page 37: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/37.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/38.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/39.jpg)
Normalização
![Page 40: MÓDULO 3 Banco de Dados (Parte I)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/40.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/41.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022052419/5871fd0b1a28abc4378bbdde/html5/thumbnails/42.jpg)
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.