Prévia do material em texto
Modelagem de
Dados
Adriana Sicsú
Aula 1
Objetivos da Aula
• Dados x Informação
• Banco de Dados
• Sistema Gerenciador de Banco de Dados
(SGBD)
• Ambiente do SGBD
• Evolução do Banco de Dados
• Usuários do Banco de Dados
2
Conceitos
Dados
3
Informação
Conceitos
Dados
4
Informação
Representam
fatos em sua
forma primária.
Exemplo:
nome do aluno,
idade,
endereço,...
Conceitos
Dados
5
Informação
É um conjunto de fatos organizados
de tal forma que adquirem um valor
adicional, além do valor do fato em si.
Exemplo: Media de idade dos alunos
Banco de Dados
• Banco de dados é uma coleção de dados
relacionados.
[Navathe,2011]
• Propriedades:
– Representa algum aspecto do mundo real, o
que é chamado de “ mini mundo”. As
mudanças no mini mundos são refletidas no
banco de dados.
6
Banco de Dados
• Propriedades:
– É uma coleção logicamente coerente de
dados com algum significado inerente.
– Projetado, construído e populado com
dados para uma finalidade específica.
–Possui um conjunto pré definido de usuários
e aplicações.
7
Sistema Gerenciador de Banco de
Dados - SGBD
• É uma coleção de programas que permite aos
usuários criar e manter um banco de dados.
[Navathe,2011]
• O SGBD é um sistema de software de uso geral
que facilita o processo de definição, construção,
manipulação e compartilhamento de banco de
dados entre diversos usuários e aplicações.
8
Ambiente de um Sistema de Banco de
Dados
9
Sistemas de Gerenciamento de
Arquivos
• Inicialmente, os dados necessários ao
funcionamento das organizações eram
armazenados em Arquivos, que são
agrupamentos de dados armazenados em algum
tipo de dispositivo de armazenamento físico, e
para acessar esses dados e utilizá-los no dia a
dia, eram criadas Aplicações (programas de
Computador).
10
Sistema de Arquivos
• A estrutura do arquivo de dados está
embutida no programa da aplicação, sendo
assim, qualquer mudança na estrutura de
um arquivo pode exigir alterações de todos
os programas que acessam esse arquivo.
11
Sistemas Gerenciadores de Arquivos
Características:
1) Cada usuário define e implementa os
arquivos necessários para uma aplicação
específica, acarretando repetição dos dados e
gerando inconsistência nas informações.
12
Sistemas Gerenciadores de Arquivos
Características:
2) O acesso aos dados está escrito nos
programas que o manipulam, subordinando
aos arquivos. Isto significa que qualquer
alteração na estrutura dos arquivos acarretará
em todos os programas que o acessam.
13
Sistemas Gerenciadores de Arquivos
Características:
3) A manipulação dos dados contidos nos
arquivos pelas aplicações específicas dificulta
o desenvolvimento de novos sistemas e torna
a manutenção dos aplicativos difícil e cara.
14
Ambientes de SGBD
• Um arquivo é definido uma única vez e atende a
várias aplicações, ou seja múltipla visão dos
dados.
• Armazena-se junto com os dados todas as
informações referentes á forma como estes foram
estruturados e onde eles estão armazenados
fisicamente.
15
Ambientes de SGBD
• Há separação ente programas e dados. No SGBD
os acessos são escritos no banco de dados e os
programas enviam comandos, solicitando o
acesso aos dados.
• É permitido acesso simultâneo de vários usuários
ao mesmo dados.
• Procedimentos de backup e recuperação são
automatizados.
16
Evolução dos Bancos de Dados
Neste ambiente, dados,
SGBD e os programas
que o acessam ficam
restritos a uma única
máquina. O acesso se dá
por meio de terminais
burros, ou seja, terminais
com funcionalidades
restritas.
17
Banco de Dados Centralizado
Evolução dos Bancos de Dados
Devido ao surgimento das redes de computadores e a
possibilidade de conexão entre diversas máquinas com
alto poder de processamento, o banco de dados pode
ser deslocado para uma máquina específica, o servidor
de arquivos. Programas e SGBD podem funcionar em
uma ou várias das outras máquinas da rede.
18
Banco de Dados Cliente – Servidor (com
servidor de arquivos)
Evolução dos Bancos de Dados
Os bancos de dados crescem em volume de dados e
as redes se tornam quase ilimitadas em tamanho. Para
garantir a eficiência nestes ambientes, surge a necessidade
de distribuição da própria base de dados. Surgem, então,
os bancos de dados distribuídos. Estes bancos de dados
representam, de forma bastante simplificada, a divisão do
banco de dados por vários servidores de bancos de dados.
19
Banco de Dados Distribuídos
Evolução dos Bancos de Dados
20
Banco de Dados Distribuídos
Novas Arquiteturas
Os datawarehouses, ou armazéns de dados,
representam esta promoção dos bancos de dados.
Eles contém dados como nos bancos
convencionais, só que preparados para atender as
necessidades de informação dos níveis estratégicos
da organização. Eles agora são empregados na
tomada de decisão dentro das empresas, e não
apenas na viabilização do funcionamento destas no
dia a dia.
21
Datawarehouse
Novas Arquiteturas
22
Datawarehouse
Novas Arquiteturas
Com o surgimento da Internet, a possibilidade
de conexão entre estas bases de dados se torna
praticamente ilimitada.
23
Banco de Dados – Via Web
Usuários de Banco de Dados
• Administrador de dados
• Administrador de Banco de Dados
• Analista de Sistema
• Programadores de Aplicação
• Usuários Finais
• Pessoal do Suporte
24
Modelagem de
Dados
Adriana Sicsú
Atividade 1
1)Com relação aos conceitos de dado e informação assinale a
afirmação correta.
( ) Uma lista com a quantidade de produtos vendidos é uma
informação.
( ) Um relatório sobre a produtividade dos funcionários é um
dado.
( ) Produtividade da mão de obra de uma empresa é um dado.
( ) Custo da matéria prima é uma informação.
( ) A capacidade de produção é uma informação
26
Questões de Concurso
[TCE-RS (Auditor Público Externo, 2011)]
1)Com relação aos conceitos de dado e informação assinale a
afirmação correta.
(X ) Uma lista com a quantidade de produtos vendidos é uma
informação.
( ) Um relatório sobre a produtividade dos funcionários é um
dado.
( ) Produtividade da mão de obra de uma empresa é um dado.
( ) Custo da matéria prima é uma informação.
( ) A capacidade de produção é uma informação
27
Questões de Concurso
[TCE-RS (Auditor Público Externo, 2011)]
Questões de Concurso
2) Banco de dados é:
( )uma relação de dependência entre dados que tem por
objetivo atender a uma comunidade de usuários.
( ) um conjunto de dados integrados que tem por objetivo
impedir acessos indevidos a dados armazenados.
( ) um conjunto de dados integrados que tem por objetivo
atender a requisitos do sistema operacional.
( ) um conjunto de dados integrados que tem por objetivo
atender a uma comunidade de usuários.
( ) uma estrutura de máquina virtual que tem por objetivo
atender a necessidades do software de acesso.
28[MF (Analista de Finanças e Controle, 2013)]
Questões de Concurso
2) Banco de dados é:
( )uma relação de dependência entre dados que tem por
objetivo atender a uma comunidade de usuários.
( ) um conjunto de dados integrados que tem por objetivo
impedir acessos indevidos a dados armazenados.
( ) um conjunto de dados integrados que tem por objetivo
atender a requisitos do sistema operacional.
(X ) um conjunto de dados integrados que tem por objetivo
atender a uma comunidade de usuários.
( ) uma estrutura de máquina virtual que tem por objetivo
atender a necessidades do software de acesso.
29[MF (Analista de Finanças e Controle, 2013)]
Questões de Concurso
3) Um administrador de banco de dados (Data Base
Administrator – DBA) é responsável por realizar uma série de
funções sobre um determinado banco de dados. Entre as
funções listadas abaixo, assinale a que NÃO É de competência
específica de um DBA.
( ) Conceder autorizaçãopara acesso a dados a usuários.
( ) Zelar pela integridade do banco de dados e definir
procedimentos para criação e recuperação de backups.
( ) Auxiliar equipes de desenvolvimento e de testes a
maximizar o desempenho e uso do banco de dados.
( ) Planejar, documentar, gerenciar e integrar recursos de
informações corporativas de forma a manter as regras de
negócio coerentes.
( ) Projetar o armazenamento dos dados de forma a atender às
necessidades de acesso.
30[TCE-RS (Auditor Público Externo, 2011)]
Questões de Concurso
3) Um administrador de banco de dados (Data Base
Administrator – DBA) é responsável por realizar uma série de
funções sobre um determinado banco de dados. Entre as
funções listadas abaixo, assinale a que NÃO É de competência
específica de um DBA.
( ) Conceder autorização para acesso a dados a usuários.
( ) Zelar pela integridade do banco de dados e definir
procedimentos para criação e recuperação de backups.
( ) Auxiliar equipes de desenvolvimento e de testes a
maximizar o desempenho e uso do banco de dados.
(X ) Planejar, documentar, gerenciar e integrar recursos de
informações corporativas de forma a manter as regras de
negócio coerentes.
( ) Projetar o armazenamento dos dados de forma a atender às
necessidades de acesso.
31[TCE-RS (Auditor Público Externo, 2011)]
Modelagem de
Dados
Adriana Sicsú
Aula 2
Objetivos da Aula
• Aprender as principais características dos
SGBDs.
• Aprender quando empregar e quando não
empregar banco de dados
• Conhecer conceitos fundamentais de uma
ambiente com SGBD.
2
Sistema Gerenciador de Banco de
Dados - SGBD
• É uma coleção de programas que permite aos
usuários criar e manter um banco de dados.
[Navathe,2011]
• O SGBD é um sistema de software de uso geral
que facilita o processo de definição, construção,
manipulação e compartilhamento de banco de
dados entre diversos usuários e aplicações.
3
Funcionalidades do SGBD
• Independência de Dados
• Controle de Redundância
• Compartilhamento de Dados
• Restrições de Acesso
• Restrições de Integridade
• Mecanismos de Backup e Recuperação
• Múltiplas Interfaces
4
Funcionalidades do SGBD
Independência de Dados
Pode ser definida como a capacidade de
alterar o esquema em um nível do sistema de
banco de dados sem ter de alterar o esquema
no nível mais alto.
– Independência Lógica de Dados
– Independência Física de Dados
5
Funcionalidades do SGBD
- Independência Lógica de Dados
É a capacidade de alterar o esquema conceitual
sem ter que alterar os esquemas externos ou os
programas da aplicação.
6
Funcionalidades do SGBD
- Independência Física de Dados
É a capacidade de alterar o esquema interno sem
ter que alterar os esquemas conceitual. Logo, os
esquemas externos também não precisam ser
alterados.
7
Arquitetura de 3 Esquemas
8
Imagem - http://www.devmedia.com.br/arquitetura-de-um-sgbd/25007
Funcionalidades do SGBD
Controle de Redundância
Redundância é armazenar o mesmo dado
várias vezes, para atender diversas aplicações.
Para manter a consistência do banco de dados,
deve-se armazenar o dado uma única vez e em
apenas um lugar, no banco de dados. Isto
permite manter a consistência, economizar
espaço de armazenamento.”
9
Funcionalidades do SGBD
Compartilhamento de Dados
10
Permitir, a usuários diferentes,
a utilização simultânea de um
mesmo dado.
Funcionalidades do SGBD
Restrições de Acesso
Um SGBD deve prover controles de segurança
e autorização, que são utilizados para criar
contas e seus respectivos direitos de acesso,
quando múltiplos usuários compartilham um
banco de dados.
[Navathe,2011]
11
Funcionalidades do SGBD
Restrições de Acesso
- Segurança e Autorização
1) Senhas para usuários e para grupos de usuários
2) Restrições de acesso a parte do banco de dados;
3) Proibição de executar certas operações;
4) Proibição de uso de software privilegiado, como o
software de criação de contas.
12
Funcionalidades do SGBD
Restrições de Integridade
Um SGBD deve oferecer capacidades para
definir e impor tais restrições.
- Exemplo: Definição de um tipo de dado
para cada item de dado.
- Integridade Referencial
13
Funcionalidades do SGBD
Mecanismo de Backup e Recuperação
“Um SGBD deve prover facilidades para
recuperação de falhas do hardware ou software.”
Estes mecanismos evitam que cada aplicação
tenha que projetar e desenvolver seus próprios
controles contra a perda de dados.
14
Funcionalidades do SGBD
Múltiplas Interfaces
Uma vez que muitos tipos de usuários, com
diversos níveis de conhecimento técnico, utilizam
um banco de dados, um SGBD deve oferecer
uma variedade de interfaces de usuários.
15
Funcionalidades do SGBD
Múltiplas Interfaces
• Linguagens de consulta para usuários casuais;
• Linguagens de programação para programadores
de aplicações;
• Interfaces rárifcas com formulários (telas) e
menus para usuários paramétricos;
• Interfaces para administração de banco de
dados;
• Linguagem natural.
16
Benefícios no Uso de SGBD
– Potencial para o estabelecimento e o
cumprimento de padrões;
– Flexibilidade de mudanças;
– Redução no tempo de desenvolvimento de
novas aplicações;
– Disponibilidade de informação atualizada;
– Economia de escala.
17
Quando NÃO Usar Banco de Dados
• Volume de dados pequeno, aplicações
simples, bem definidas.
• Mudanças não são esperadas.
• Ambientes de sistemas que exijam resposta
em tempo real.
• Acessos múltiplos e concorrentes não são
necessários.
18
Modelagem de
Dados
Adriana Sicsú
Atividade 1
1) A descrição concisa dos requisitos de dados dos
usuários, que inclui descrições detalhadas de tipos
entidades, relacionamentos e restrições, expressos
usando os conceitos fornecidos pelo modelo de
dados de alto nível, é conhecida como esquema:
(A) conceitual.
(B) lógico.
(C) físico.
(D) interno.
( E) externo.
20
Questões de Concurso
1) A descrição concisa dos requisitos de dados dos
usuários, que inclui descrições detalhadas de tipos
entidades, relacionamentos e restrições, expressos
usando os conceitos fornecidos pelo modelo de
dados de alto nível, é conhecida como esquema:
(A) conceitual.
(B) lógico.
(C) físico.
(D) interno.
( E) externo.
21
Questões de Concurso - Resposta
2) Segundo Elmasri & Navathe, a arquitetura de três
esquemas pode ser usada para explicar melhor o
conceito de independência de dados. Com relação a
esse conceito e a arquitetura de três esquemas,
analise os itens a seguir, marcando (V) para o item
verdadeiro e (F) para o item falso.
( ) Independência de dados lógica é a capacidade de
alterar o esquema interno sem mudar o esquema
externo.
22
Questões de Concurso
[TJ-MG (Técnico Judiciário, 2012)]
( ) Independência física de dados é a capacidade de
mudar o esquema interno sem ter de alterar o
esquema conceitual.
( ) Independência de dados é a capacidade de mudar o
esquema em um nível do sistema de banco de dados
sem que ocorram alterações do esquema no próximo
nível mais alto.
( ) Com a independência de dados, mudanças em um
nível não requer mudança no nível superior, pois
somente o mapeamento entre os dois níveis é
modifcado. Esse mapeamento não traz nenhuma
sobrecarga (overhead) durante a compilação ou
execução de uma consulta.
23
Questões de Concurso
[TJ-MG (Técnico Judiciário, 2012)]
Assinale a opção com a sequência CORRETA.
(A) F, V, V, F
(B) V, V, F, V.
(B) F, F, F, V.
(D) V, F, F, V.
24
Questões de Concurso
[TJ-MG (Técnico Judiciário, 2012)]
Assinale a opção com a sequência CORRETA.
(A) F, V, V, F
(B) V, V, F, V.
(B) F, F, F, V.
(D) V, F, F, V.
25
Questões de Concurso - Resposta
[TJ-MG (Técnico Judiciário, 2012)]
Modelagem de
Dados
Adriana Sicsú
Aula 3
Objetivos da Aula
• Conhecer os níveis do Projeto de Banco de
Dados.
• Aprender o conceito e o processo de
abstraçãode dados.
• Identificar os principais objetos conceituais.
• Conhecer as representações básicas destes
objetos conceituais.
2
Projeto de Banco de Dados
3
Abstração
Abstração é o mecanismo através do
qual o ser humano se concentre em
determinadas características de objetos ou
conceitos e “abandona” outras características
“indesejáveis”.
4
Elementos de Abstração
- Minimundo
- Banco de dados
- Modelo Conceitual
- Modelo Lógico
- Modelo Físico
5
Elementos de Abstração
Minimundo
Porção específica da realidade, captada
pelo analista, objeto de observação
detalhada.
6
Elementos de Abstração
Banco de Dados
Coleção de fatos registrados que refletem
certos aspectos de interesse do mundo real.
Cada mudança, em algum item do banco de
dados, reflete uma mudança ocorrida na
realidade.
7
Elementos de Abstração
Modelo Conceitual
Representa e/ou descreve a realidade do
ambiente, constituindo uma visão global dos
principais dados e relacionamentos
(estruturas de informação), independente das
restrições de implementação.
8
Elementos de Abstração
Modelo Lógico
Descreve as estruturas que estarão
contidas no banco de dados, considerando o
modelo de dados do Sistema Gerenciador de
Banco de Dados (SGBD), resultando em um
esquema lógico de dados.
9
Elementos de Abstração
Modelo Físico
Descreve as estruturas físicas de
armazenamento de dados, tais como:
tamanho dos campos, índices, tipo de
preenchimento destes campos, etc...
10
Modelo Entidade Relacionamento
Definição: É um modelo abstrato cuja finalidade
é descrever, de maneira conceitual, os dados a
serem utilizados em Sistema de Informação ou
pertencente a um determinado contexto. A
principal ferramenta do modelo é a sua
representação gráfica, o DER.
11
Modelo Entidade Relacionamento
Objetivo: Facilitar o projeto de banco de dados,
possibilitando especificar a estrutura lógica geral
do banco de dados.
12
Diagrama de Entidade Relacionamento
Componentes:
- Entidade
- Atributos
- Relacionamentos
13
Entidade
É uma representação concreta ou abstrata de
um objeto, com características semelhantes,
do mundo real. Ex.: Fornecedor, Pessoa,
Imóvel, Curso.
EMPREGADO
Entidade Fraca
Não existe se não estiver relacionada a outra,
isto é, ela é logicamente dependente da outra.
Alguns conjuntos entidade não possuem um
conjunto de atributos capaz de identificar
univocamente uma determinada entidade. Neste
caso, sua existência depende da existência de
outra entidade.
Entidade Fraca
Elemento de dado que contém o valor de uma
propriedade de uma entidade.
Atributo
Atributo - Classificação
• Atributo Simples
• Atributo Único
• Atributo Opcional
• Atributo
Monovalorado
• Atributo Composto
• Atributo Não Único
• Atributo Obrigatório
• Atributo
Multivalorado
Atributo - Classificação
- Atributo Identificador
Identifica unicamente cada entidade de um
conjunto-entidade, devem ser obrigatórios e
únicos Ex.: Cod_Func
Atributo - Classificação
- Atributo Derivado
O seu valor pode ser calculado a partir do
valor de outro(s) atributo(s).
Ex.: idade (pode ser calculada a partir da data
de nascimento)
Mais sobre Atributos
- Domínio de um atributo
Descrição de possíveis valores permitidos para
um atributo. Ex.: Sexo {M, F}
- Tipo de um Atributo
Determina a natureza dos valores permitidos
para um atributo. Ex.: inteiro, real, string, etc.
Atributo - Representação de Atributos
Esquema X Instância
• Esquema de um Banco de Dados é a
especificação da estrutura do Banco de Dados.
• Instância é o conjunto de ocorrências dos
objetos de dados de um esquema em um dado
momento do tempo
Codigo Nome Sigla
1 Tecnologia da Informação TI
2 Recursos Humanos RH
Esquema
Instância
Relacionamentos
As entidades são conectadas umas às outras
através de relacionamentos.
Ex.: As pessoas Moram em Apartamentos
Os apartamentos Formam Condomínios
Os condomínios Localizam-se em Ruas ou
Avenidas
As Avenidas e Ruas Estão em uma Cidade
Modelagem de
Dados
Adriana Sicsú
Atividade 1
A partir do cenário abaixo, identifique as entidades,
os atributos e os relacionamentos.
Cenário: Clube da Leitura
Gustavo tem uma coleção grande de revistas em
quadrinhos. Por isso, resolveu emprestar para os
amigos. Assim foi criado o Clube da Leitura. Mas para
não perder nenhuma revista, seu pai lhe fez uma
aplicação que cadastra as revistas e controla o
empréstimo.
26
Exercício de Modelagem
Para cada revista cadastram-se: o tipo da coleção
(por exemplo: Cebolinha, Pato Donald, Batman etc.), o
número da edição, o ano da revista e a caixa onde está
guardada. Cada caixa tem uma cor, uma etiqueta e um
número.
Para cada empréstimo cadastram-se: o
amiguinho que pegou a revista, qual foi a revista, a
data de empréstimo e a data de devolução. Cada
criança só pode pegar uma revista por empréstimo.
O cadastro do amiguinho consiste de: o nome do
amiguinho, o nome da mãe, o telefone e de onde é o
amigo (do prédio ou da escola).
27
Exercício de Modelagem
Entidades: Revista / Coleção / Amigo / Caixa
Atributos:
Revista(numero, nome, ano)
Coleção(nome, gênero)
Amigo(nome, nomeMãe, telefone, local)
Caixa(numero, identEtiqueta, cor)
Relacionamentos:
Revista – Pertence – Coleção
Revista – Guardada – Caixa
Revista – Emprestada – Amigo
28
Exercício de Modelagem - Solução
Modelagem de
Dados
Adriana Sicsú
Aula 4
Objetivos da Aula
• Aprofundar os conhecimentos sobre modelo
Entidade Relacionamento.
2
Abstração
Abstração é o mecanismo através do
qual o ser humano se concentre em
determinadas características de objetos ou
conceitos e “abandona” outras características
“indesejáveis”.
3
Diagrama de Entidade Relacionamento
Entidades
É um conjunto de objetos do mundo real
sobre os quais se deseja manter informações
no banco de dados.
Pode representar:
• objetos concretos (uma pessoa)
• objetos abstratos (um departamento)
4
Atributo - Classificação
• Atributo Simples
• Atributo Único
• Atributo Opcional
• Atributo
Monovalorado
• Atributo Identificador
• Atributo Composto
• Atributo Não Único
• Atributo Obrigatório
• Atributo Multivalorado
• Atributo Derivado
Identificando os Objetos
“João é proprietário de um jipe amarelo”
6
Pessoa:
- nome,
- CPF,
- sexo,
- data de
nascimento
Veículo:
- marca,
- modelo,
- cor,
- ano de fabricação,...
Identificando os Objetos
“João é proprietário de um jipe amarelo”
7
Relacionamentos
As entidades são conectadas umas às outras
através de relacionamentos.
Ex.: As pessoas Moram em Apartamentos
Os apartamentos Formam Condomínios
Os condomínios Localizam-se em Ruas ou
Avenidas
As Avenidas e Ruas Estão em uma Cidade
Identificando os Objetos
“João é proprietário de um jipe amarelo”
9
Caracterizar o relacionamento entre os objetos:
1 - Nem toda PESSOA é proprietária de um VEÍCULO.
2 - Um VEÍCULO pode pertencer a uma PESSOA ou não.
3 - Algumas PESSOA possuem mais de um VEÍCULO.
4 - Se um VEÍCULO pertence a uma PESSOA, ele não
pertence a mais ninguém.
Relacionamentos
Atributo de Relacionamento
10
Data_Consulta ?
Relacionamentos
Atributo de Relacionamento
11
Função no projeto?
Cardinalidade
A Cardinalidade ou Multiplicidade define a
quantidade de elementos de uma entidade
associada com a quantidade de elementos de
outra entidade.
12
Um para Um - 1:1
Um para Muitos - 1:N
Muitos para Muitos - N:N
Cardinalidade 1:1
Marcos
Paulo
Ana
Jurídico
RH
Financeiro
Empregado Gerencia
(0,1)(0,1)
Departamento
Conjunto A
(Empregado)
Conjunto B
(Departamento)
Carla
Cardinalidade 1:N
Marcos
Ana
Paulo
Carla
Jurídico
RH
Financeiro
Departamento Lotação
(0,N)(1,1)
Empregado
Conjunto A
(Departamento)
Conjunto B
(Empregado)
Cardinalidade N:N
Empregado Participa
NN
Projeto
Marcos
Paulo
AnaProj3
Proj1
Proj2
Conjunto A
(Empregado)
Conjunto B
(Projeto)
Carla
Cenário: Clube da Leitura
Entidades: Revista / Coleção / Amigo / Caixa
Atributos:
Revista(numero, nome, ano)
Coleção(nome, gênero)
Amigo(nome, nomeMãe, telefone, local)
Caixa(numero, identEtiqueta, cor)
Relacionamentos:
Revista – Pertence – Coleção
Revista – Guardada – Caixa
Revista – Emprestada – Amigo
16
Exercício de Modelagem - Solução
Cenário: Clube da Leitura
17
Exercício de Modelagem - Solução
Modelagem de
Dados
Adriana Sicsú
Atividade 1
19
Exercício de Modelagem
Um berçário deseja informatizar suas operações.
Quando um bebê nasce, algumas informações são
armazenadas sobre ele, tais como: nome, data do
nascimento, peso do nascimento, altura, a mãe deste
bebê e o médico que fez seu parto. Para as mães, o
berçário também deseja manter um controle, guardando
informações como: nome, endereço, telefone e data de
nascimento. Para os médicos, é importante saber: CRM,
nome, telefone celular e especialidade.
Exercício de Modelagem
20
Exercício de Modelagem
21
Modelagem de
Dados
Adriana Sicsú
Aula 5
Objetivos da Aula
• Relacionamentos
•Grau de um Relacionamento
•Cardinalidade
• Auto Relacionamento
2
Indica o número de conjuntos-entidade
(classes distintas de objetos) cujas instâncias
podem estar associadas umas as outras
através de um relacionamento
Grau de um Relacionamento
Relacionamento Unário
Relacionamento Binário
Relacionamento Ternário
Relacionamento Unário
Marcos
Paulo
Ana
Funcionário
Carla Empregado
Gerencia
É gerenciado
N
É gerente
1
Gerencia
Relacionamento Binário
Funcionário trabalha
NN
Projeto
Marcos
Paulo
Ana
Proj3
Proj1
Proj2
Funcionário
Projeto
Carla
trabalha
Relacionamento Ternário
Forncedor fornece
NN
Projeto
Peça
N
Cardinalidades de um
Relacionamentos
A Cardinalidade ou Multiplicidade define a
quantidade de elementos de uma entidade
associada com a quantidade de elementos de
outra entidade.
7
Um para Um - 1:1
Um para Muitos - 1:N
Muitos para Muitos - N:N
Cardinalidade 1:1
Marcos
Paulo
Ana
Jurídico
RH
Financeiro
Funcionário Gerencia
(1)(1)
Departamento
Conjunto A
(Funcionário)
Conjunto B
(Departamento)
Carla
Cardinalidade 1:N
Marcos
Ana
Paulo
Carla
Jurídico
RH
Financeiro
Departamento Lotação
(N)(1)
Fncionário
Conjunto A
(Departamento)
Conjunto B
(Funcionário)
Cardinalidade N:N
Funcinário Participa
NN
Projeto
Marcos
Paulo
Ana
Proj3
Proj1
Proj2
Conjunto A
(Funcionário)
Conjunto B
(Projeto)
Carla
Participação Opcional:
Quando há um relacionamento entre dois
conjuntos-entidade A e B e alguma instância
de entidade de A pode existir sem se
relacionar com nenhuma instância de entidade
de B.
Cardinalidades de um
Relacionamentos
Funcionário Alocado
(0,1)(0,1)
Departamento
Participação Obrigatória:
Quando todas as instâncias de uma
entidade precisam estar associadas a alguma
instância de outra entidade através de um
relacionamento
Cardinalidades de um
Relacionamentos
Funcionário Gerencia
(1,1)(0,1)
Departamento
Cardinalidade
Limite Mínimo
0
1
13
Limite Máximo
1
N
A cardinalidade é determinada pelas “regras de
negócio” criadas pela organização. São os usuários e
a documentação da organização que determinam a
cardinalidade existente entre entidades e seus
atributos.
14
Cliente realiza
(1,N)(1,1)
Pedido
Cliente compra
(1,N)(0,N)
Produto
Cardinalidade
AUTO RELACIONAMENTO
É quando uma entidade de uma entidade-
tipo se relaciona com outra entidade da mesma
entidade-tipo.
Representam, em grande parte das vezes,
estruturas hierárquicas.
Empregado
Gerencia
É gerenciado
N
É gerente
1
Disciplina
Pré Requisito
(0,N) (0,N)
AUTO RELACIONAMENTO
Exercício
• Um produto tem código, nome e preço.
• Um produto pode ser composto por uma
certa quantidade de vários outros produtos.
• Um produto pode compor vários outros
produtos.
• Um produto pode ser substituído por vários
outros produtos.
• Um produto pode substituir vários outros
produtos.
AUTO RELACIONAMENTO
- SOLUÇÃO -
Modelagem de
Dados
Adriana Sicsú
Atividade 1
Exercício de Modelagem - DER
Cenário: Festas Infantis
Rafaela possui vários temas de festas infantis
para aluguel.
Ela precisa controlar os aluguéis e para isso
quer uma aplicação que permita cadastrar: o nome e
o telefone do cliente, o endereço completo da festa,
o tema escolhido, a data da festa, a hora de início e
término da festa.
19
Exercício de Modelagem - DER
Cenário: Festas Infantis
Além disso, para alguns clientes antigos,
Rafaela oferece descontos. Sendo assim, é preciso
saber o valor realmente cobrado num determinado
aluguel.
Para cada tema, é preciso controlar: a lista de
itens que compõem o tema (ex: castelo, boneca da
Cinderela, bruxa etc.), o valor do aluguel e a cor da
toalha da mesa que deve ser usada com o tema.
20
Exercício de Modelagem
- Resolução -
21
Modelagem de
Dados
Adriana Sicsú
Aula 6
Objetivos da Aula
• Conhecer as extensões do Modelo Entidade
Relacionamento
• Agregação
• Generalização
2
Agregação
O Modelo Entidade Relacionamento não é
capaz de representar relacionamentos entre
relacionamentos. Uma agregação é uma
abstração através da qual os relacionamentos
são tratados como entidades de mais alto
nível.
3
AGREGAÇÃO
Funcionário Alocação
(0,N)(0,N)
Projeto
Utiliza
(0,N)
Máquina
(0,N)
Agregação
Em um hospital, um paciente pode realizar
consultas com vários médicos. Cada consulta
pode ter vários exames realizados. Devem ser
armazenados os dados da consulta (data,
horário e motivo) e os dados dos exames
(descrição e resultado).
5
Agregação
6
Médico Consuta
0,N1,N
Paciente
Realiza
(0,N)
Exame
(1,1)
GENERALIZAÇÃO E ESPECIALIZAÇÃO
• Existem casos em que um conjunto-entidade
pode ser dividido em categorias, cada qual com
atributos específicos.
• Uma generalização é uma entidade que se
subdivide em especializações. Os atributos e
relacionamentos de uma generalização são
herdados por suas especializações.
GENERALIZAÇÃO E ESPECIALIZAÇÃO
• Uma especialização tem que ter seus próprios
atributos e/ou seus próprios relacionamentos.
• Uma especialização que não tenha nem
atributos próprios nem relacionamentos
próprios pode ser uma outra denominação da
entidade generalização, não sendo portanto
uma especialização.
Generalização e Especialização
• Estrutura de Generalização-Especialização
“É um tipo de ” -
9
GENERALIZAÇÃO E ESPECIALIZAÇÃO
Exemplo:
• Conjunto de entidades conta, com atributos
número-conta e saldo.
• Cada conta pode ser classificada como:
– conta-corrente: com atributos adicionais data-
abertura e valor-limite
– conta-poupança: com atributos adicionais taxa-
juros e data-última-movimentação
Generalização e Especialização
11
Conta
Conta PoupançaConta Corrente
número
agência
Data_movimentação
Taxa_juros
saldo
Data_abertura
Valor_limite
TIPOS DE ESPECIALIZAÇÃO
TOTAL
Todos os elementos da entidade pai, deve
obrigatoriamente existir em pelo menos uma
entidade filha.
Pessoa
MulherHomem
(T,E)
TIPOS DE ESPECIALIZAÇÃO
PARCIAL
Quando existir na entidade pai elementos que
não existem nas filhas.
Funcionário
DiretorProfessor
(P,S)
TIPOS DE ESPECIALIZAÇÃO
EXCLUSIVA
Quando um elemento da especialização não
pode existir em outra entidade do mesmo nível.
Pessoa
MulherHomem
(T,E)
TIPOS DE ESPECIALIZAÇÃO
SUPERPOSIÇÃO
Quando um elemento da especialização pode
existir em outra entidade do mesmo nível.
Funcionário
DiretorProfessor
(P,S)
GENERALIZAÇÃO E ESPECIALIZAÇÃO
- EXERCÍCIO -
Os empregados de uma empresa podem ser
classificados como: instrutor treinando, administrativo
e acionista.
Precisa-se cadastrar os seguintes dados:
• para os instrutores: matrícula, nome, endereço,
cursos que pode ministrar.
• para os treinandos: matrícula,nome, endereço,
cursos que frequentou.
• para os acionistas: matrícula, nome, endereço,
quantidade de ações que possui.
• para os administrativos: matrícula, nome,
endereço.
GENERALIZAÇÃO E ESPECIALIZAÇÃO
- EXERCÍCIO -
Modelagem de
Dados
Adriana Sicsú
Atividade 1
Exercício de Modelagem - DER
Em uma biblioteca há vários tipos de materiais
(livros, revistas e audiovisual). Para os livros são
armazenados o autor e a editora; as revistas têm
número, volume e data; os materiais audiovisuais
têm o nome do diretor e o tempo de duração. Um
cliente pode retirar vários materiais e um material
pode ser retirado por vários clientes. Para toda
retirada devem ser armazenadas a data de retirada
e a data de devolução.
19
Exercício de Modelagem
- Resolução -
20
(T,E)
Referência Bibliográfica
• Modelagem Conceitual e Projeto de Banco
de Dados – Autor: Paulo Cougo.
• Material de Aula – Prof. Ventury
21
Modelagem de
Dados
Adriana Sicsú
Aula 7
Objetivos da Aula
• Aprender sobre a modelagem lógica dos
dados.
• Conhecer os modelos lógicos de dados
existentes
• Aprender a base conceitual para Modelo
Relacional.
• Conhecer os conceitos de chave candidata,
primária e estrangeira.
• Compreender as restrições de integridade.
2
Modelagem Lógica de Dados
O Modelo Lógico de Dados Lógico
descreve os componentes do Modelo
Conceitual de Dados, aproximando-o do
ambiente computacional, onde este será
trabalhado.
3
Modelagem Lógica de Dados
- Tipos -
• Modelo de Redes
• Modelo Hierárquico
• Modelo Relacional
• Modelo Orientado a Objetos
• Modelo Relacional Objeto
Modelagem Lógica de Dados
• Modelo de Redes
Os dados são representados por uma
coleção de registros e os relacionamentos
entre os dados são representados por meio
de links.
Modelagem Lógica de Dados
Apresenta a mesma estrutura do modelo
de rede, diferindo apenas na organização dos
registros. Tais registros são organizados com
coleções de árvores em vez de grafos
aleatórios.
• Modelo Hierárquico
Modelagem Lógica de Dados
Os dados são representados através de
tabelas. Por se tratar do modelo mais usual, é o
foco deste curso. Iremos detalhá-lo mais
adiante.
• Modelo Relacional
Modelagem Lógica de Dados
Surgiu em virtude da necessidade de se
acompanhar o aumento na complexidade dos
dados.
De modo geral, no modelo orientado a
objeto as entidades do modelo conceitual são
objetos que encapsulam tanto dados quanto o
código associado a este objeto.
• Modelo Orientado a Objetos
Modelagem Lógica de Dados
Uma extensão do modelo relacional, que
inclui orientação a objeto e permite o tratamento
de dados complexos..
• Modelo Relacional Objeto
Modelo Relacional
• Fundamentado na teoria de conjuntos.
• Combinado com a ideia que não é relevante o
usuário saber onde os dados estão nem como
os dados estão armazenados.
Modelo Relacional
- Conceitos -
11
Modelo Relacional
- Chave-
• Chave Candidata
• Chave Primária
• Chave Estrangeira
Modelo Relacional
- Chave-
Chave Candidata
• Deve ser única
• Deve ser irredutível, nenhum subconjunto da
chave candidata, pode ter sozinho a
propriedade de ser único.
Modelo Relacional
Chave Candidata
Pode ser :
Simples : quando é composta por apenas
um atributo.
Composta : quanto possui mais de um
atributo para formar a chave.
Modelo Relacional
Chave Primária
• Caso especial da chave candidata.
• Escolhida entre as candidatas para identificar
unicamente uma tupla.
Modelo Relacional
Chave Estrangeira
É quando um atributo de uma relação é chave
primária em outra.
Constitui um conceito de vital importância no
modelo relacional: é o elo de ligação lógica entre as
tabelas (relacionamentos).
Garante a Integridade Referencial do banco
de dados.
Regras de Integridade
Integridade de Entidade
Integridade de Chave Primária
Integridade Referencial
Restrições de Integridade
Semântica
Regras de Integridade
Integridade de Entidade
O valor da chave não pode ser vazio.
A chave primária serve como representante na
base de dados de uma entidade – se a chave
primária for vazia, a linha não corresponde a
nenhuma entidade .
Regras de Integridade
Integridade de Chave Primária
A chave primária tem que ser única.
Integridade Referencial
As chaves estrangeiras têm que ser
respeitadas, ou seja, se existe um determinado
valor para o atributo na tabela onde ele é chave
estrangeira, este valor deve existir na tabela onde
ele é chave primária.
Regras de Integridade
Integridade Referencial
Regras de Integridade
Restrições de Integridade Semântica
Todas as demais regras que devem ser
obedecidas por todos os estados válidos da base
de dados.
Modelagem de
Dados
Adriana Sicsú
Atividade 1
Exercícios
1) Assinale a opção correta a respeito de banco
relacional.
( ) A cardinalidade associa-se diretamente aos
atributos, assim, se determinada tabela apresenta sete
atributos, a relação de sua cardinalidade é de 1 : 7.
( ) Na terminologia formal dos modelos relacionais,
tupla corresponde a uma linha, e atributo, ao nome da
coluna.
23
Exercícios
( ) Os modelos relacionais assemelham-se aos
modelos de arquivo, visto que, do mesmo modo que
há ordenamento entre atributos em um arquivo, uma
relação somente é considerada, matematicamente,
como tal, caso nela haja ordenamento de tuplas.
( ) Um banco de dados exclusivamente relacional é
representado por uma coleção de objetos, métodos
e heranças.
24
Exercícios
( ) Uma relação em um banco de dados relacional
é a ligação entre duas chaves (primária e
estrangeira), não podendo ser considerada uma
tabela.
Concurso - TJ-RO, 2012
25
Exercícios
26
2) O entendimento dos modelos de banco de dados
é fundamental para compreender as vantagens e
desvantagens em aspectos de estrutura e
manipulação dos dados. Um destes modelos utiliza
tabelas bidimensionais para o armazenamento dos
dados e a maneira como os dados são armazenados
influencia na facilidade de acesso às informações,
existindo técnicas de normalização para aperfeiçoar
a organização.
Exercícios
Concurso - TST, 2012
27
Trata-se do modelo
( ) hierárquico
( ) em rede.
( ) relacional.
( ) distribuído.
( ) orientado a objetos.
Exercícios
Concurso – TRE-RJ, 2012
28
Com relação ao conceito de banco de dados
relacional, julgue os seguintes itens.
3) Chave primária é um conjunto de um ou mais
atributos que define uma única tupla em uma
relação.
( ) certo ( ) errado
Exercícios
Concurso – TER-RJ, 2012
29
4) Uma tabela não pode ter valores de chaves
estrangeiras nulos, em decorrência da regra de
integridade referencial.
( ) certo ( ) errado
Exercícios
Concurso – TJ-MG, 2012
30
5) Analise as sentenças abaixo, as quais discutem
as principais restrições que podem ser expressas
no modelo de dados relacional.
I. Restrições de domínio são impostas para
garantir que os valores nas colunas sejam
atômicos e que respeitem os tipos de dados das
colunas.
II. Restrição de integridade de entidade diz
respeito à garantia de que toda linha em uma
tabela deve ser única.
Exercícios
Concurso – TJ-MG, 2012
31
III. A restrição de integridade referencial garante
que determinadas colunas em uma tabela sejam
iguais às colunas que compõem a chave primária
de outra tabela ou da própria tabela.
IV. A restrição de chave estabelece que nenhum
valor de chave primária pode ser vazio.
Exercícios
Concurso – TJ-MG, 2012
32
Estão CORRETAS as afrimativas:
( ) I e III.
( ) II e III.
( ) I e IV.
( ) III e IV.
Exercícios
Concurso – TRE,RJ, 2012
33
5) Analise as sentenças abaixo, as quais discutem
as principais restrições que podem ser expressas
no modelo de dados relacional.
I. Restrições de domínio são impostas para
garantir que os valores nas colunas sejam
atômicos e que respeitem ostipos de dados das
colunas.
II. Restrição de integridade de entidade diz
respeito à garantia de que toda linha em uma
tabela deve ser única.
Referência Bibliográfica
• Modelagem Conceitual e Projeto de Banco
de Dados – Autor: Paulo Cougo.
• Material de Aula – Prof. Ventury
34
Modelagem de
Dados
Adriana Sicsú
Aula 8
Objetivos da Aula
• Aprender um método de conversão do modelo
conceitual para o modelo relacional. (Modelo
Lógico)
2
Projeto de Banco de Dados
3
Projeto
Conceitual
Projeto
Lógico
Projeto
Físico
Modelo Entidade Relacionamento
Linguagem
SQL
Modelo Dados
Relacional
Projeto Lógico de Dados
Objetivo
Converter o esquema conceitual de dados
global expresso através do modelo entidade
relacionamento no esquema lógico de dados
global de forma que haja a menor perda
semântica nas transformações ocorridas
durante essa fase.
Derivação do Modelo E-R para o
Relacional - Etapas
1
• Obter o modelo conceitual
2
• Definir o tipo de implementação (Relacional)
3
• Aplicar as regras de derivação
4
• Adaptar o modelo as necessidades.
Derivação do Modelo E-R para o
Relacional
A derivação do Modelo E- R para o Modelo
Relacional é obtida a partir de um modelo
conceitual através da aplicação de regras bem
definidas, através de atividades distintas:
Derivação das entidades e atributos.
Derivação dos relacionamentos.
Derivação das estruturas de agregação,
generalização e especialização.
Derivação do Modelo E-R para o
Relacional
Regras Gerais
.
Toda Entidade (MER) torna-se uma tabela
(lógico)
Todo atributo torna-se um campo (coluna)
Todo atributo determinante torna-se um PK
(chave primária)
Os atributos compostos devem ser
transformados em campos atômicos.
Derivação do Modelo E-R para o
Relacional
Transformação de Entidades
.
EMPREGADO (Matricula, Nome, Sexo, Email,
Data_Admissao)
Derivação do Modelo E-R para o
Relacional
Transformação de Atributo Multivalorado
.
Derivação do Modelo E-R para o
Relacional
Transformação de Atributo Multivalorado
.
EMPREGADO (
Matricula, Nome,
Sexo, Email,
Data_Admissao)
EMAIL(Id_Email,
Matricula, Email)
Derivação do Modelo E-R para o
Relacional
Transformação de Atributo Composto
.
EMPREGADO ( Matricula, Nome, Logradouro,
Numero, Bairro, CEP, Cidade, Estado, Email,
Data_Admissao)
Derivação do Modelo E-R para o
Relacional
Exemplo
.
Derivação do Modelo E-R para o
Relacional
Exemplo
TELEFONE( ID_Telefone, Matricula, Telefone)
EMPREGADO ( Matricula, CPF, Nome,
Dt_Nascimento, Rua, Nr, Complemento, CEP)
EMAIL( ID_Emaill, Matricula, Email)
Derivação do Modelo E-R para o
Relacional
Derivação dos Relacionamentos – 1:1
15
Resolução
Derivação do Modelo E-R para o
Relacional
Resolução
EMPREGADO ( IdEmpregado, Matricula, Nome,
CPF, Endereço, Bairro Telefone)
DEPARTAMENTO( IdDepto, Sigla, Nome,
IdEmpregado)
Derivação do Modelo E-R para o
Relacional
Derivação dos Relacionamentos – 1:N
18
Resolução
Derivação do Modelo E-R para o
Relacional
Resolução
CLIENTE( IdCliente, Nome, CPF, Endereço,
Telefone)
PEDIDO( IdPedido, Nr, Data, Valor_Total,
IdCliente)
Derivação do Modelo E-R para o
Relacional
Derivação dos Relacionamentos – N:N
21
Resolução
Derivação do Modelo E-R para o
Relacional
Resolução
EMPREGADO( IdEmp, Nome, CPF, Endereço,
Telefone)
PROJETO( IdProjeto, Nome, Verba)
ALOCAÇÃO( IdProjeto, IdEmp)
Ou ALOCAÇÃO( IdAlocacao, IdProjeto, IdEmp)
Derivação do Modelo E-R para o
Relacional
24
Resolução
Derivação do Modelo E-R para o
Relacional
Exercício
MEDICO( IdMédico, Nome, CPF, Especialidade)
PACIENTE( IdPaciente, Nome, Endereço,
Telefone)
Consulta( IdMédico, IdPaciente,Data)
Ou Alocação( IdConsulta, IdMédico,
IdPaciente, Data)
Modelagem de
Dados
Adriana Sicsú
Atividade 1
Exercício – Modelo Lógico
27
Exercício – Modelo Lógico
28
Exercício – Modelo Lógico
29
Exercício – Modelo Lógico
30
31
32
Resolução
AMIGO( Id, Nome, Mãe, Telefone, Local)
EMPRESTIMO( Nr, Data_Emprestimo,
Data_Devolução, IdAmigo, NrRevista)
REVISTA( Nr, Nome, Ano, IdColecao, IdCaixa)
COLEÇÃO( Id, Nome, Gênero)
CAIXA( Nr, IdIdent_Etiqueta, Cor)
Referência Bibliográfica
• Modelagem Conceitual e Projeto de Banco
de Dados – Autor: Paulo Cougo.
• Material de Aula – Prof. Ventury
33
Modelagem de
Dados
Adriana Sicsú
Aula 9
Objetivos da Aula
• Aprender um método de conversão do modelo
conceitual para o modelo relacional. (Modelo
Lógico)
– Auto Relacionamento
– Agregação
– Genaralização
2
Derivação do Modelo E-R para o
Relacional - Etapas
1
• Obter o modelo conceitual
2
• Definir o tipo de implementação (Relacional)
3
• Aplicar as regras de derivação
4
• Adaptar o modelo as necessidades.
Derivação do Modelo E-R para o
Relacional
Regras Gerais
Toda Entidade (MER) torna-se uma tabela
(lógico)
Todo atributo torna-se um campo (coluna)
Todo atributo determinante torna-se um PK
(chave primária)
Os atributos compostos devem ser
transformados em campos atômicos.
Modelo Lógico
Transformação – Auto relacionamento (1:1)
EMPREGADO
(Matricula, Nome,
Telefone,
Data_Admissao,
MatCônjugue)
Modelo Lógico
Transformação – Auto relacionamento (1:N)
EMPREGADO
(Matricula, Nome,
Telefone,
Data_Admissao,
MatSupervisor)
Modelo Lógico
Transformação – Auto relacionamento (N:N)
.
DISCIPLINA(Código, Nome,
CargaHorária)
DISC_PREREQUISITO(
CódDisc, CodDiscPreReq )
CONTPROG(IdContProg,
Nome, CódDisc)
Modelo Lógico
Transformação - Agregação
Modelo Lógico
Resolução
MÉDICO( Código, CRM, Nome, Especialidade)
PACIENTE( Código, Nome, Telefone)
CONSULTA(CódConsulta, CodMédico,
CodPaciente, Data)
RECEITA(CódReceita, Descrição,CodConsulta)
Modelo Lógico
Resolução
MÉDICO( Código, CRM, Nome, Especialidade)
PACIENTE( Código, Nome, Telefone)
CONSULTA(CodMédico, CodPaciente, Data)
RECEITA(CódReceita, CodMédico, CodPaciente,
Data, Descrição)
Modelo Lógico
Transformação - Agregação
Modelo Lógico
Resolução
MÉDICO( Código, CRM, Nome, Especialidade)
PACIENTE( Código, Nome, Telefone)
CONSULTA(CódConsulta, CodMédico,
CodPaciente, Data)
MEDICAMENTO(Código, Nome, Laboratório,
PrincipioAtivo)
INDICAÇÃO(CódIndicação, CodConsulta,
CodMedicamento, Dosagem)
Modelo Lógico
Transformação – Generalização / Especialização
1
• Transformação com preservação de todas
as entidades tipo.
2
• Transformação com preservação das
especializações.
3
• Transformação com preservação da
generalização.
4
• Transformação mista
Modelo Lógico
Transformação – Generalização / Especialização
1
• Transformação com preservação de todas
as entidades tipo.
Modelo Lógico
Transformação – Generalização / Especialização
2
• Transformação com preservação das
especializações.
Modelo Lógico
Transformação – Generalização / Especialização
3
• Transformação com preservação da
generalização.
Modelo Lógico
Exemplo
Modelagem de
Dados
Adriana Sicsú
Atividade 1
Exercício – Modelo Lógico
19
20
Resolução
Referência Bibliográfica
• Modelagem Conceitual e Projeto de Banco
de Dados – Autor: Paulo Cougo.
• Material de Aula – Prof. Ventury
21
Modelagem de
Dados
Adriana Sicsú
Aula 10
Objetivos da Aula
• Normalização de Dados
• Trabalhar com as principais normais:
1ª Forma Normal (1FN)
2ª Forma Normal (2FN)
3ª Forma Normal (3FN)
2
Formas Normais
OBJETIVO
Projetar as relações (tabelas) de uma
base de dados relacional, de modo a obter o
máximo de independência de dados,
eliminando redundâncias desnecessárias.
Formas Normais
Princípios Básicos de Banco de Dados
Armazenar cada dado uma única vez em
apenas um local;
Economia de espaço.
O banco de dados relacional teria pouca
utilidade se fossemos usar apenas uma única
tabela.
Processos de Normalização
Uma formanormal é um conjunto de
regras que uma tabela deve obedecer, que
destinam-se a eliminar as redundâncias de
dados.
Processos de Normalização
Relações Não Normalizadas
Relações 1FN
Relações 2FN
Relações 3FN
Relações BCNF
Relações 4FN
Relações 5FN
7
Anomalias
1
• Anomalia de Inclusão
2
• Anomalia de Exclusão
3
• Anomalia de Alteração
8
Tabela PEDIDO (Num_pedido, prazo,
cliente, endereco, cidade, uf,
insc_est,cod_prod, unid, qtde, desc,
val_unit, total_prod, total_pedido,
cod_vendedor, nome_vendedor)
Anomalias
9
Um novo cliente só poderá ser incluído
se estiver relacionado a uma venda.
Anomalias
1
• Anomalia de Inclusão
10
Ao ser excluído um cliente, os dados
referentes às suas compras serão perdidos.
Anomalias
2
• Anomalia de Exclusão
11
Caso algum fabricante de produto
altere o preço de um produto, será
preciso percorrer toda a relação para se
realizar múltiplas alterações.
Anomalias
3
• Anomalia de Alteração
12
Processo de Normalização
Permite identificar a existência de
problemas potenciais (anomalias de
atualização) no projeto de um BD
relacional.
13
Processo de Normalização
Converte progressivamente uma tabela
em tabelas de grau e cardinalidade
menores até que pouca ou nenhuma
redundância de dados exista.
14
Processo de Normalização
Consiste em gradativamente retirar das
relações do esquema as dependências
funcionais indesejáveis. Cada um dos
passos do processo coloca a relação em
uma das formas normais
15
Processo de Normalização
Se a normalização é bem sucedida:
1. O espaço de armazenamento dos
dados diminui.
2. A tabela pode ser atualizada com
maior eficiência.
16
Dependência Funcional
Dada uma relação R, dizemos que uma
coluna ou conjunto de colunas B de R é
dependente funcional de uma coluna ou
conjunto de colunas A de R, denotado por
A B, se a cada valor VA de A existir nas
linhas de R em que aparece VA um único
valor VB.
17
Dependência Funcional
Se VA ocorrer em duas linhas
diferentes, o mesmo VB deve ocorrer em
ambas.
Dependência Funcional
Exemplo: Código Salário
Código ...... Salário
E1 10
E3 10
E1 10
E2 5
E3 10
E2 5
E2 5
19
Tabela não Normalizada
Uma tabela não normalizada (ÑN)
contém valores de atributos não atômicos,
isto é, contém tabelas embutidas (grupos
repetidos).
CodProj TipoProj Descr Emp
NoEmp Nome Cat Sal DataInicio TempoAloc
LSC001 Novo Sistema
Desenv Estoque
2146 João A1 400 01/11/91 24
3145 Silvia A2 400 02/10/91 24
6126 José B1 900 03/10/92 18
1214 Carlos A2 400 04/10/92 18
8191 Mário A1 400 01/15/93 12
4112 João A2 400 04/01/91 24
6126 José B1 90 0 01/11/92 18
PAG02 Manut. Sistema
RH
PROJ(CODPROJ, TIPOPROJ, DESCR, (NOEMP,
NOME, CAT, SAL, DATAINICIO, TEMPOALOC))
8191 Mário A1 400 01/11/92 12
Tabela não Normalizada
21
Uma relação está na Primeira Forma
Normal se todos os atributos que a
compõem são atômicos, ou seja, se todas
as colunas que a compõem são atômicas e
monovaloradas.
Formas Normais
1FN
• Primeira Forma Normal
22
Passagem – 1FN
Para cada tabela embutida inclusive a mais
externa, é criada uma tabela na 1FN que
contém:
- as chaves primárias de cada tabela
externa à tabela embutida
- os atributos da própria tabela
embutida.
São definidas as chaves primárias das
tabelas na 1FN.
Formas Normais – 1FN
23
Formas Normais – 1FN
- Passos -
1º • Subdivisão em tabelas.
2º
• Identificação de Chaves
24
Formas Normais – 1FN
- Passos -
1º • Subdivisão em tabelas.
CodProj Tipo Descr
LSC001 Novo
Desenv.
Sistema de
Estoque
PAG02 Manutenção Sistema de
RH
Proj
CodProj Tipo Descr
25
Formas Normais – 1FN
- Passos -
1º • Subdivisão em tabelas.
Proj
CodProj Tipo Descr
ProjEmp
CodProj CodEmp Nome Cat Sal DataIni TempAl
26
Formas Normais – 1FN
- Passos -
1FN
CodProj Tipo Descr
LSC001 Novo Desenv. Sistema de
Estoque
PAG02 Manutenção Sistema de
RH
Proj
27
Formas Normais – 1FN
- Passos -
ProjEmp
CodProj CodEmp Nome Cat Sal DataIni TempAl
LSC001 2146 Joao A1 400 1/11/91 24
LSC001 3145 Silvio A2 400 2/10/91 24
LSC001 6126 Jose B1 900 3/10/92 18
LSC001 1214 Carlos A2 400 4/10/92 18
LSC001 8191 Mario A1 400 1/11/92 12
PAG02 8191 Mario A1 400 1/05/93 12
PAG02 4112 Joao A2 400 4/01/91 24
PAG02 6126 Jose B1 900 1/11/92 12
28
Formas Normais – 1FN
- Passos -
Proj
CodProj Tipo Descr
ProjEmp
CodProj CodEmp Nome Cat Sal DataIni TempAl
2º
• Identificação de Chaves
29
Formas Normais – 1FN
- Passos -
1FN
CodProj Tipo Descr
LSC001 Novo Desenv. Sistema de
Estoque
PAG02 Manutenção Sistema de
RH
Proj
30
Formas Normais – 1FN
- Passos -
ProjEmp
CodProj CodEmp Nome Cat Sal DataIni TempAl
LSC001 2146 Joao A1 400 1/11/91 24
LSC001 3145 Silvio A2 400 2/10/91 24
LSC001 6126 Jose B1 900 3/10/92 18
LSC001 1214 Carlos A2 400 4/10/92 18
LSC001 8191 Mario A1 400 1/11/92 12
PAG02 8191 Mario A1 400 1/05/93 12
PAG02 4112 Joao A2 400 4/01/91 24
PAG02 6126 Jose B1 900 1/11/92 12
31
Uma relação está na Segunda Forma
Normal se ela está na 1NF e todo atributo
não-chave primária é plenamente
dependente de toda a chave primária e
não de apenas parte dela.
Formas Normais – 2FN
• Segunda Forma Normal
2FN
32
Passagem – 2FN
Toda tabela na 1FN que possui uma chave
primária composta por um único atributo já se
encontra na segunda forma normal
Formas Normais – 2FN
33
Passagem – 2FN
Assim, ao passar para a 2FN é necessário
considerar apenas tabelas que tenham:
• Chave primária composta
• Pelo menos um atributo não chave
Formas Normais – 2FN
34
Passagem – 2FN
• Copiar para a 2FN cada tabela que tenha
chave primária simples ou que não tenha
atributos não chaves.
Formas Normais – 2FN
35
Passagem – 2FN
Para tabelas com chave primária composta
e atributos não chaves:
• Criar na 2FN uma tabela com as
chaves primárias da tabela na 1FN.
Formas Normais – 2FN
36
Passagem – 2FN
• Para cada atributo não chave fazer a
pergunta: “o atributo depende de toda a
chave ou de parte dela?”
– Caso o atributo dependa de toda a
chave:
• copiar o atributo para a 2FN.
Formas Normais – 2FN
37
Passagem – 2FN
– Caso o atributo dependa de parte da
chave:
• criar uma tabela na 2FN que tenha
como chave a parte da chave da qual o
atributo depende
• copiar o atributo dependente para a
tabela criada.
Formas Normais – 2FN
38
Formas Normais – 2FN
- Passos -
Proj
CodProj Tipo Descr
ProjEmp
CodProj CodEmp DataIni TempAl
CodProj CodEmp Nome Cat Sal DataIni TempAl
CodEmp Nome Cat Sal
Emp
39
Formas Normais – 2FN
- Passos -
2FN Emp
CodEmp Nome Cat Sal
2146 Joao A1 400
3145 Silvio A2 400
6126 Jose B1 900
1214 Carlos A2 400
8191 Mario A1 400
4112 Joao A2 400
40
Formas Normais – 2FN
- Passos -
2FN
ProjEmp
CodProj CodEmp DataIni TempAl
LSC001 2146 1/11/91 24
LSC001 3145 2/10/91 24
LSC001 6126 3/10/92 18
LSC001 1214 4/10/92 18
LSC001 8191 1/11/92 12
PAG02 8191 1/05/93 12
PAG02 4112 4/01/91 24
PAG02 6126 1/11/92 12
41
Dependência Transitiva
Ocorre quando Y depende de X e Z
depende de Y.
Logo, Z também depende de X.
X Y Z
No-avião Tipo Capac. Local
42
Uma relação está na Terceira Forma
Normal se ela está na 2NF e nenhum
atributo não-chave é transitivamente
dependente da chave primária.
Formas Normais – 3FN
3FN
• Terceira Forma Normal
43
Passagem – 3FN
• Toda tabela na 2FN que possui menos
que dois atributos não chave encontra-se
na 3FN.
• Na passagem à 3FN basta considerar
tabelas com dois ou mais atributos não
chave.
Formas Normais – 3FN
44
Passagem – 3FN
1) Copiar para a 3FN cada tabela que tenha
menos que dois atributo não chave.
2) Para tabelas com doisou mais atributos
não chaves:
a) criar uma tabela na 3FN com a chave
primária da tabela em questão.
Formas Normais – 3FN
45
Passagem – 3FN
2)
b) para cada atributo não chave fazer a
pergunta: “ o atributo depende de algum
outro atributo não chave?” (dependência
transitiva).
Formas Normais – 3FN
46
Passagem – 3FN
2. Copiar o atributo dependente para a
tabela criada.
3. O atributo do qual há a dependência
deve permanecer também na tabela
criada no passo a)
Formas Normais – 3FN
47
Passagem – 3FN
Caso o atributo dependa apenas da chave:
- copiar o atributo para a tabela na 3FN
Caso o atributo dependa de um outro atributo:
1. Criar, caso ainda não exista, uma tabela
na 3FN que tenha como chave primária o
atributo do qual há uma dependência
indireta.
Formas Normais – 3FN
48
Exemplo
O atributo SAL da tabela EMP depende do
atributo CAT (categoria funcional)
As dependências funcionais nesta tabela
são:
EMP(NOEMP, NOME, CAT, SAL)
Formas Normais – 3FN
49
Na passagem para a 3FN, a tabela EMP é
subdividida:
Emp
CodEmp Nome Cat
Cat
Cat Sal
Formas Normais – 3FN
Revisão
CodProj TipoProj Descr Emp
NoEmp Nome Cat Sal DataInicio TempoAloc
LSC001 Novo Sistema
Desenv Estoque
2146 João A1 400 01/11/91 24
3145 Silvia A2 400 02/10/91 24
6126 José B1 900 03/10/92 18
1214 Carlos A2 400 04/10/92 18
8191 Mário A1 400 01/15/93 12
4112 João A2 400 04/01/91 24
6126 José B1 90 0 01/11/92 18
PAG02 Manut. Sistema
RH
8191 Mário A1 400 01/11/92 12
Revisão
1FN
Projetos
Cod_P Tipo Descricao
LSC001 Novo Des. Sistema
de
Estoque
PAG002 Manutenção Sistema
de RH
Proj_Emp
Cod_P Cod_E Nome Categoria Salario Data_Inicio Tempo_Alocacao
LSC001 2146 João A1 4 01/11/2001 24
LSC001 3145 Silvio A2 4 01/01/2002 24
LSC001 6126 José B1 9 30/01/2002 12
LSC001 1214 Carlos A2 4 15/05/2002 18
LSC001 8191 Mário A1 4 10/02/2002 12
PAG002 8191 Mário A1 4 05/10/2002 12
PAG002 4112 João M. A1 4 10/12/2001 24
PAG002 6126 José B1 9 30/01/2002 12
Revisão
Projetos
Cod_P Tipo Descricao
LSC001 Novo Des. Sistema
de
Estoque
PAG002 Manutenção Sistema
de RH
2FN
Proj_Emp
Cod_P Cod_E Data_Inicio Tempo_Alocacao
LSC001 2146 01/11/2001 24
LSC001 3145 01/01/2002 24
LSC001 6126 30/01/2002 12
LSC001 1214 15/05/2002 18
LSC001 8191 10/02/2002 12
PAG002 8191 05/10/2002 12
PAG002 4112 10/12/2001 24
PAG002 6126 30/01/2002 12
Empregados
Cod_E Nome Categoria Salario
2146 João A1 4
3145 Silvio A2 4
6126 José B1 9
1214 Carlos A2 4
8191 Mário A1 4
8191 Mário A1 4
4112 João M. A1 4
6126 José B1 9
Revisão
3FN
Projetos
Cod_P Tipo Descricao
LSC001 Novo Des. Sistema de
Estoque
PAG002 Manutenção Sistema de
RH
Proj_Emp
Cod_P Cod_E Data_Inicio Tempo_Alocacao
LSC001 2146 01/11/2001 24
LSC001 3145 01/01/2002 24
LSC001 6126 30/01/2002 12
LSC001 1214 15/05/2002 18
LSC001 8191 10/02/2002 12
PAG002 8191 05/10/2002 12
PAG002 4112 10/12/2001 24
PAG002 6126 30/01/2002 12
Empregados
Cod_E Nome Categoria
2146 João A1
3145 Silvio A2
6126 José B1
1214 Carlos A2
8191 Mário A1
8191 Mário A1
4112 João M. A1
6126 José B1
Categorias
Categoria Salario
A1 4
A2 4
B1 9
54
Resumo Geral
• Eliminar
atributos não
atômicos.
1FN
• Eliminar a
Dependência
Funcional
não plenas.
2FN
• Eliminar a
Dependência
Transitiva.
3FN
Modelagem de
Dados
Adriana Sicsú
Atividade 1
Exercício de Modelagem
- Normalização -
Arquivo de Notas Fiscais (Num. NF, Série,
Data emissão, Cod. do Cliente, Nome do cliente,
Endereço do cliente, CGC do cliente, Relação das
mercadorias vendidas (onde para cada mercadoria
temos: Código da Mercadoria, Descrição da
Mercadoria, Quantidade vendida, Preço de venda e
Total da venda desta mercadoria) e Total Geral da
Nota)
56
Exercício de Modelagem
- Normalização -
• Arquivo de Notas Fiscais (Num. NF, Série, Data
emissão, Código do Cliente, Nome do cliente,
Endereço do cliente, CGC do cliente e Total Geral
da Nota)
• Arquivo de Vendas (Num. NF, Código da
Mercadoria, Descrição da Mercadoria, Quantidade
vendida, Preço de venda e Total da venda desta
mercadoria)
57
1FN
Exercício de Modelagem
- Normalização -
• Arquivo de Notas Fiscais (Num. NF, Série, Data
emissão, Código do Cliente, Nome do cliente,
Endereço do cliente, CGC do cliente e Total Geral
da Nota)
• Arquivo de Vendas (Num. NF, Código da
Mercadoria, Quantidade vendida e Total da venda
desta mercadoria)
• Arquivo de Mercadorias (Código da Mercadoria,
Descrição da Mercadoria, Preço de venda)
58
2FN
Exercício de Modelagem
- Normalização -
• Arquivo de Notas Fiscais (Num. NF, Série, Data
emissão, Código do Cliente e Total Geral da Nota)
• Arquivo de Vendas (Num. NF, Código da
Mercadoria, Quantidade vendida e Total da venda
desta mercadoria)
• Arquivo de Mercadorias (Código da Mercadoria,
Descrição da Mercadoria, Preço de venda)
• Arquivo de Clientes (Código do Cliente, Nome do
cliente, Endereço do cliente e CGC do cliente)
59
3FN
Referência Bibliográfica
• Modelagem Conceitual e Projeto de Banco
de Dados – Autor: Paulo Cougo.
• Material de Aula – Prof. Ventury
60
Modelagem de
Dados
Adriana Sicsú
Aula de Revisão
Objetivos da Aula
• Revisão
• Dados x Informação
• Banco de Dados
• SGBD
• Diagrama de Entidade e Relacionamento
2
Conceitos
Dados
3
Informação
Banco de Dados
• Banco de dados é uma coleção de dados
relacionados.
[Navathe,2011]
• Propriedades:
– Representa algum aspecto do mundo real, o
que é chamado de “ mini mundo”. As
mudanças no mini mundos são refletidas no
banco de dados.
4
Banco de Dados
• Propriedades:
– É uma coleção logicamente coerente de
dados com algum significado inerente.
– Projetado, construído e populado com
dados para uma finalidade específica.
–Possui um conjunto pré definido de usuários
e aplicações.
5
Sistema Gerenciador de Banco de
Dados - SGBD
• É uma coleção de programas que permite aos
usuários criar e manter um banco de dados.
[Navathe,2011]
• O SGBD é um sistema de software de uso geral
que facilita o processo de definição, construção,
manipulação e compartilhamento de banco de
dados entre diversos usuários e aplicações.
6
Evolução dos Bancos de Dados
7
• Banco de Dados Centralizado
• Banco de Dados Cliente – Servidor (com servidor
de arquivos)
• Banco de Dados Distribuídos
Novas Arquiteturas
• Datawarehouse
• Banco de Dados – Via Web
Usuários de Banco de Dados
• Administrador de dados
• Administrador de Banco de Dados
• Analista de Sistema
• Programadores de Aplicação
• Usuários Finais
• Pessoal do Suporte
8
Funcionalidades do SGBD
• Independência de Dados
• Controle de Redundância
• Compartilhamento de Dados
• Restrições de Acesso
• Restrições de Integridade
• Mecanismos de Backup e Recuperação
• Múltiplas Interfaces
9
Benefícios no Uso de SGBD
– Potencial para o estabelecimento e o
cumprimento de padrões;
– Flexibilidade de mudanças;
– Redução no tempo de desenvolvimento de
novas aplicações;
– Disponibilidade de informação atualizada;
– Economia de escala.
10
Quando NÃO Usar Banco de Dados
– Volume de dados pequeno, aplicações
simples, bem definidas.
– Mudanças não são esperadas.
– Ambientes de sistemas que exijam resposta
em tempo real.
– Acessos múltiplos e concorrentes não são
necessários.
11
Indica o número de conjuntos-entidade
(classes distintas de objetos) cujas instâncias
podem estar associadas umas as outras
através de um relacionamento
Grau de um Relacionamento
Relacionamento Unário
Relacionamento Binário
Relacionamento Ternário
Projeto de Banco de Dados
13
Diagrama de Entidade Relacionamento
Componentes:
- Entidade
- Atributos
- Relacionamentos
14
Diagramade Entidade Relacionamento
• Entidade
• Entidade Fraca
15
Diagrama de Entidade Relacionamento
• Atributo Simples
• Atributo Único
• Atributo Opcional
• Atributo Monovalorado
• Atributo Identificador
• Atributo Composto
• Atributo Não Único
• Atributo Obrigatório
• Atributo Multivalorado
• Atributo Derivado
Atributo - Classificação
Relacionamento
Diagrama de Entidade Relacionamento
• Cardinalidade
Um para Um - 1:1
Um para Muitos - 1:N
Muitos para Muitos - N:N
Exemplos:
Diagrama de Entidade Relacionamento
1) Eleitor vota em unidade da federação transporta
Eleitor Vota
(1,1)(1,N)
Unidade Federação
2) Aluno cursa disciplina
Aluno Cursa (1,N)(0,N)
Disciplina
AUTO RELACIONAMENTO
É quando uma entidade de uma entidade-
tipo se relaciona com outra entidade da mesma
entidade-tipo.
Representam, em grande parte das vezes,
estruturas hierárquicas.
Empregado
Gerencia
É gerenciado
N
É gerente
1
Disciplina
Pré Requisito
(0,N) (0,N)
Modelagem de
Dados
Adriana Sicsú
Atividade 1
Exercício de Modelagem - DER
Cenário: Venda de Produtos
Uma firma vende produtos de limpeza, e deseja
melhor controlar os produtos que vende seus
clientes e os pedidos. Cada produto é caracterizado
por um código, nome do produto, categoria (ex.
detergente, sabão em pó, sabonete, etc), e seu
preço.
21
Exercício de Modelagem - DER
Cenário: Venda de Produto
A categoria é uma classificação criada pela
própria firma. A firma possui informações sobre
todos seus clientes. Cada cliente é identificado por
um código, nome, endereço, telefone, status ("bom",
"médio", "ruim"), e o seu limite de crédito. Guarda-se
igualmente a informação dos pedidos feitos pelos
clientes. Cada pedido possui um número e guarda-
se a data de elaboração do pedido. Cada pedido
pode envolver de um a vários produtos, e para cada
produto, indica-se a quantidade.
22
Exercício de Modelagem
- Resolução -
23
Exercício de Modelagem
- Resolução -
24
Modelagem de
Dados
Adriana Sicsú
Revisão
Objetivos da Aula
• Modelo Conceitual
• Agregação
• Generalização
• Modelo Lógico
• Normalização de Dados
2
Exercícios
1) Assinale a opção correta a respeito de banco
relacional.
( ) A cardinalidade associa-se diretamente aos
atributos, assim, se determinada tabela apresenta
sete atributos, a relação de sua cardinalidade é de
1 : 7.
( ) Na terminologia formal dos modelos relacionais,
tupla corresponde a uma linha, e atributo, ao nome
da coluna.
[TJ-RO, 2012]
( ) Os modelos relacionais assemelham-se aos
modelos de arquivo, visto que, do mesmo modo
que há ordenamento entre atributos em um
arquivo, uma relação somente é considerada,
matematicamente, como tal, caso nela haja
ordenamento de tuplas.
( ) Um banco de dados exclusivamente relacional
é representado por uma coleção de objetos,
métodos e heranças.
( ) Uma relação em um banco de dados relacional
é a ligação entre duas chaves (primária e
estrangeira), não podendo ser considerada uma
tabela.
[TJ-RO, 2012]
2) Na criação de um banco de dados relacional, por
suas características, podem ser utilizados como
chave primária:
( ) NOME, MATRÍCULA e CÓDIGO_ PEÇA
( ) NOME, SALÁRIO e CARGO_FUNÇÃO
( ) CPF, MATRÍCULA e CÓDIGO_PEÇA
( ) CPF, SALÁRIO e CARGO_FUNÇÃO
[TSE, 2012]
3) Identifique com V as afirmativas verdadeiras e
com F, as falsas.
Os bancos de dados relacionais não suportam
herança. Então, ao mapear objetos para o banco de
dados, deve-se considerar como representar
estruturas de herança, tipo tabelas relacionais.
Nessas condições, pode-se representar uma
hierarquia de herança de classes
[MPE-BA, 2011]
( ) como uma única tabela.
( ) com uma tabela para cada classe.
( ) com uma tabela por classe concreta na
hierarquia.
A alternativa que contém a sequência correta, de
cima para baixo, é a
Parte superior do formulário
( )V F F ( ) V V F
( ) F V F ( ) F F V
( )V V V
[MPE-BA, 2011]
4) Medicamento (Med) e Perfumaria (Per) são duas
entidades que representam uma tipificação da entidade
Produto (Pro). Portanto, Med e Per em relação a Pro
representam
( ) generalizações.
( ) composições.
( ) agregações.
( ) especializações.
( ) dependências.
[TER-CE, 2012]
5) Considerando o modelo E/R, a alocação de
"funcionários" em "projetos", de cardinalidade n:m,
necessita relacionar- se com uma entidade "local de
trabalho". Assim, a alocação deve ser modelada como
( ) entidade fraca.
( ) entidade associativa.
( ) autorrelacionamento.
( ) atributo multivalorado.
( ) identificador de local de trabalho.
[TRT-AL, 2011]
6) Considere uma entidade associativa entre Médico e
Paciente (n:m) intitulada Consulta que, por sua vez, se
relaciona com Medicamento em n:m. No projeto lógico
de banco de dados relacional normalizado, este modelo
de dados completo será derivado para
Parte superior do formulário
( ) três tabelas. ( ) quatro tabelas.
( )cinco tabelas. ( ) seis tabelas.
( ) sete tabelas.
[TRE-RN, 2011]
7) A modelagem de um banco de dados deve considerar
as características de entidades e relacionamentos, que
sejam relevantes para o contexto que está sendo
descrito. Essas características são representadas por
meio dos seus
( ) domínios.
( ) atributos.
( ) relacionamentos.
( ) entidades
[UFG, 2010]
[UFG, 2010]
8) Analise o diagrama a seguir:
A definição de cardinalidade máxima envolve a
quantidade máxima de ocorrências de entidades que
podem estar associadas a uma ocorrência de outra
entidade (1 ou N). Com relação ao diagrama de
relacionamento dado
( ) uma nota fiscal possui N clientes.
( ) um cliente possui 1 nota fiscal.
( ) uma nota fiscal possui no minimo 1 cliente.
( ) um cliente possui até N notas fiscais.
9) No relacionamento 1:n (um para muitos) é correto
( ) criar uma nova tabela com as chaves das entidades
envolvidas no relacionamento.
( ) acrescentar a chave da entidade do lado n, como
chave estrangeira, na tabela no lado 1.
( ) acrescentar ambas as chaves, em todas as tabelas
envolvidas, como chaves estrangeiras.
( ) criar chaves primárias adicionais, em cada uma das
tabelas, para estabelecer o relacionamento entre as
entidades.
( ) acrescentar a chave da entidade do lado 1, como
chave estrangeira, na tabela no lado n.
[FCC, 2010]
10) Em determinada universidade, cada professor
contratado deve, em cada período letivo, ministrar pelo
menos uma disciplina e pode atuar como tutor de outras
disciplinas ofertadas. Cada disciplina tem, geralmente,
diversos alunos matriculados, e todo aluno dessa
universidade deve matricular-se, em cada período letivo,
em pelo menos uma disciplina. Cada disciplina ofertada é
ministrada por um único professor, mas pode ter diversos
professores tutores. Para lidar com essa situação, foi
criado um banco de dados relacional, do qual fazem
parte as entidades ALUNO e DISCIPLINA.
[MPU, 2010]
Considerando a situação hipotética descrita, julgue os
itens a seguir.
A nota final que o aluno obteve em uma disciplina deve
ser modelada como um atributo exclusivo da entidade
ALUNO.
( ) Certo ( ) Errado
[MPU, 2010]
11) Um modelo lógico de dados é
( ) uma representação sucinta da base de dados a ser
implementada.
( )uma representação lógica das informações da área de
negócios.
( ) um modelo que guarda acentuada relação de
dependência com o modelo físico.
( ) dependente da tecnologia implementada em função
das constantes mudanças dos produtos tecnológicos.
( ) um modelo que admite a replicação de atributos
[FCC, 2010]
12) Analise as afirmativas abaixo a respeito da
modelagem relacional e sua implementação em bancos
de dados relacionais.
I - O relacionamento de uma entidade fraca com a
entidade da qual ela depende é sempre um
relacionamentoum para um.
II - A especificação de chaves estrangeiras para atributos
de uma tabela T em relação a ela própria é uma
característica necessária nos bancos de dados para a
tradução de diagramas de entidade-relacionamento que
contêm relacionamentos do tipo autorrelacionamento.
[FCC, 2010]
III - Se uma relação está na segunda forma normal, todo
atributo que não seja chave deve ser totalmente
dependente da chave primária.
Está(ão) correta(s) a(s) afirmativa(s)
( ) I, apenas
( ) II, apenas.
( ) I e II, apenas.
( ) II e III, apenas.
( ) I, II e III.
[IBGE, 2010]
13) Formar novas relações, separando-as a partir de
grupos de repetição antes existentes dentro de uma
relação, é objetivo da
( ) 1FN.
( ) 2FN.
( ) 3FN.
( ) FNBC.
( ) 5FN.
[FCC, 2011]
14) Na normalização de dados, caso exista um ou mais
atributos que dependam de um atributo não-chave, estes
atributos deverão ser extraídos para outra tabela. Trata-
se da condição para que a tabela esteja na
( ) primeira forma normal.
( ) segunda forma normal.
( ) terceira forma normal.
( ) quarta forma normal.
( ) forma normal Boyce/Codd.
[FCC, 2010]
15) Cenário: Restaurante
Um dos restaurantes mais tradicionais do Rio de
Janeiro teve sempre o seu controle realizado
manualmente pelos seus 3 proprietários. A sorte
“lotérica” bateu à porta de um deles, que retornou
imediatamente para sua terra natal. Com o crescimento
do movimento financeiro do restaurante, os outros
sócios passaram a se desentender quanto a melhor
maneira de administra o restaurante, resultado na posse
integral do restaurante por um dos sócios.
[Prof. Ventury]
O restaurante possui atualmente 30 garçons
servindo diariamente mais de 500 refeições e o cardápio
oferece mais de 40 pratos diferentes. O restaurante conta
com uma área de mais de 1000 m2 e dispõe de mesas de
2, 4 e 6 lugares num total geral de 80 mesas. O horário de
funcionamento atual é de 11:00h às 2:00h. Cada garçom
é responsável por atender no mínimo 4 mesas e no
máximo 10, não podem atender nenhuma mesa fora de
sua responsabilidade . A remuneração dos mesmos é um
percentual fixo sobre o consumo das mesas que cada um
atendeu.
[Prof. Ventury]
Ao encerrar a conta, o cliente preenche uma
avaliação sobre o atendimento prestado pelo garçom. Ao
final do mês, os garçons que obtiverem as 3 melhores
médias de desempenho recebem uma gratificação extra.
O restaurante impõem que não pode existir mais de um
garçom atendendo ao mesmo cliente na mesa, e que este
garçom deverá realizar todo o atendimento até o cliente
ir embora, mesmo que ultrapasse seu horário normal de
trabalho. Não é permitido que pessoas ocupem mesas
sem consumir.
[Prof. Ventury]
Periodicamente o dono necessita das seguintes
informações:
a) Relação das mesas que um garçom tem sob sua
responsabilidade.
b) Número de assentos que um garçom tem sob sua
responsabilidade.
c) Lista dos pratos servidos em uma mesa durante um
certo período de tempo.
d) Salário a pagar a cada garçom no final do mês.
[Prof. Ventury]
e) Lista dos pratos mais consumidos por dia da semana.
f) Relação dos garçons que devem receber gratificação ao
final do mês junto com sua respectivas médias.
h) Qual(s) garçom(ns) é(são) responsável(eis) por uma
determinada mesa.
Desenvolva o Modelo Conceitual e o Modelo Lógico
[Prof. Ventury]
[Prof. Ventury]
Modelo Conceitual
[Prof. Ventury]
Modelo Lógico
GARÇON (matricula, nome)
MESA(nrMesa, nrCadeiras
RESPONSÁVEL(id_resp, matricula, nrMesa)
ATENDIMENTO(id_Atend, matricula, nrMesa, avaliação,
dataHoraInicio,data_HoraFim)
ITEM_CARDAPIO(nr_item, valor, descrição)
PEDIDO(id_pedido, id_atendimento, nr_item ,
quantidade)
Referência Bibliográfica
• Modelagem Conceitual e Projeto de Banco
de Dados – Autor: Paulo Cougo.
• Material de Aula – Prof. Ventury
28