SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Aula 3:
Generalização e Especialização
prof. Gustavo Zimmermann
Recomendações
construção de tabelas
prof. Gustavo Zimmermann | contato@gust4vo.com
#FicaDica [1/4]
Banco de Dados II – Aula 3: Generalização e Especialização
Recomendações construção de Tabelas
(1 : 1):
Se houver relacionamento 1:1, verifique se
não é melhor unir as 2 tabelas em uma
única tabela.
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Recomendações construção de Tabelas
(1 : N) ou (N : 1) :
A chave estrangeira é colocada sempre na
tabela do lado N do relacionamento.
#FicaDica [2/4]
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Recomendações construção de Tabelas
(N : N):
Relacionamentos N:N sempre geram uma
terceira tabela, com as chaves primárias das
2 tabelas originais.
#FicaDica [3/4]
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Recomendações construção de Tabelas
Documentação:
Sempre escreva e guarde o esquema
relacional do seu banco de dados antes de
gerar as suas tabelas.
#FicaDica [4/4]
Generalização/Especialização
funcionamento
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Uma Entidade pode possuir propriedade iguais, e outra parte com
propriedades diferentes, por exemplo: Entidade Cliente pode ser
Pessoa Física ou Jurídica. Como pessoa Física Nome, CPF e RG,
como pessoa Jurídica os dados serão Nome, CNPJ e IE. Pessoa
Física e Jurídica tem o Nome em comum, porém CPF, RG, CNPJ e
IE são diferentes para cada subgrupo. A esses subgrupos
chamamos de Especialização, e o símbolo utilizado é o
triangulo.
Definição
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Definição
Cliente
codCliente
Nome
Filial possui
1 N
RG
CPF
Física
CNPJ
IE
Jurídica
Pessoa
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Definição
Cliente
codCliente
Nome
Pessoa Física Pessoa Jurídica
CPF
RG IE
CNPJ
Filial possui
1 N
Generalização
Especializações
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Aplicação : aplicações
codCliente Tipo Endereco Telefone Nome CPF RG CNPJ IE
1 Física Rua dos Bobos, 0 5188745698
Joana Mendes
Oliveira
245548265898 5218796385 0
2 Juridica
R. David Canabarro,
75 - Centro, Novo
Hamburgo - RS
5130660405
Escolas e
Faculdades QI -
Novo Hamburgo
933218260011
05
00212248814
3 Física
Rua Nabulco Morais,
245
5130258962
Roberto Rogerio
Lopes
25014539878 9852347563
Cliente
[1/2] Criar uma única tabela para todas as especializações e incluir um campo diferenciador: Seria
juntar todos os tipos de Cliente, em uma única tabela e acrescentar mais um campo para identificar o
Cliente.
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Aplicação : aplicações
codCliente Nome Endereco Telefone
1
Joana Mendes
Oliveira
Rua dos Bobos,
0
5188745698
2
Escolas e
Faculdades QI -
Novo
Hamburgo
R. David
Canabarro, 75 -
Centro, Novo
Hamburgo - RS
5130660405
3
Roberto
Rogerio Lopes
Rua Nabulco
Morais, 245
5130258962
Cliente
[2/2] Criar uma tabela para cada especialização e definir mais um campo identificador.
codPessoa CPF RG codCliente
1 245548265898 5218796385 1
2 25014539878 9852347563 3
ClienteFisico
codEmpresa CNPJ IE codCliente
1 93321826001105 00212248814 2
ClienteJuridico
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Especialização : total ou parcial
Especialização Total (T) é quando uma entidade possui obrigatoriamente uma
ligação com a entidade genérica, ou seja, para cada ocorrência da entidade
genérica existe sempre ocorrência em uma das entidades especializada.
Cliente
codCliente
Nome
Pessoa Física Pessoa Jurídica
CPF
RG IECNPJ
T
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Especialização : total ou parcial
Especialização Parcial (P) é quando uma entidade não tem obrigatoriamente
uma ligação com a entidade genérica, ou seja, nem toda ocorrência da entidade
genérica corresponde a uma entidade especializada.
Funcionario
codFuncionario
Nome
Engenheiro Medico
CREA Especialidade
CRM
P
prof. Gustavo Zimmermann | contato@gust4vo.com
EXERCÍCIO 1
Construir um banco de dados para agenciamento de empregados Uma
empresa de agenciamento de empregados pretende informatizar o seu
cadastro de profissionais e candidatos a empregos temporários. Seu
objetivo é construir um banco de dados onde possa manter os dados
cadastrais dos profissionais e seus contratos temporários com as
empresas clientes. O profissional é identificado pelo seu CPF e, além dessa
informação, ficam registrados o seu nome, endereço, nascimento e
profissão. Os contratos de empregados temporários são feitos
individualmente (um contrato para cada profissional) com as empresas
clientes. Cada contrato é identificado por um número único e nele são
registrados a empresa contratante, a vigência do contrato (data de início e
de término) e o valor pago por hora trabalhada. As empresas clientes são
identificadas por um CNPJ e possuem um nome e endereço.
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
prof. Gustavo Zimmermann | contato@gust4vo.com
nome
cnpj
EXERCÍCIO 1 : possível resolução
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
Profissional
Empresa
Cliente
pertence
N 1
Contrato
atende
1
1
(0 : N) (0 : 1)
(0 : 1)
(1 : 1)
cpf nome
endereco
dataNasc
numContrato
valorHoravigencia
dataInicio
dataTermino
1
profissao
DER
endereco telefone
prof. Gustavo Zimmermann | contato@gust4vo.com
EXERCÍCIO 1 : possível resolução
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
2
cpf nome profissao endereco dataNasc cnpj
Profissional
TABELAS
cnpj nome endereco telefone
Empresa
numContrato valorHora dataInicio dataTermino cpf
Contrato
prof. Gustavo Zimmermann | contato@gust4vo.com
EXERCÍCIO 2
A fim de gerenciar as vendas em uma loja, os seguintes requisitos devem ser
atendidos:
• Vendas são efetuadas por um vendedor em um determinado momento (indicado por
uma data e um horário). Vendedores recebem um salário base e comissão sobre as
vendas, a qual representa 10% do valor da venda.
• Vendedores possuem matricula, nome, endereço, telefone e CPF. Vendedores podem
possuir mais de um telefone.
• Vendas podem ser à vista ou a prazo. Vendas a prazo possuem parcelas de pagamento,
com sua data de vencimento e valor.
• Vendas podem ou não estar relacionadas a um Cliente. Vendas em dinheiro nem sempre
estão relacionadas a um Cliente.
• Clientes são cadastrados com seu Nome, CPF, Identidade, Endereço e Telefone. Clientes
podem possuir mais de um telefone.
• Vendas envolvem produtos, sendo que para cada venda a quantidade vendida do
produto deve ser registrada.
• Produtos possuem código, descrição, preço e quantidade em estoque.
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
prof. Gustavo Zimmermann | contato@gust4vo.com
EXERCÍCIO 3
Uma vídeo locadora trabalha com o aluguel de DVDs, CDs e cartuchos de jogos.
Todos os 3 tem um código , o titulo que o descreve e a categoria.
Adicionalmente, os DVDs e os CDs possuem a sinopse e os artistas principais. Já
os cartuchos de jogos, possuem adicionalmente apenas o nome do fabricante. A
locadora empresta apenas para os clientes cadastrados. Nome, endereço, data de
nascimento e telefones dos clientes ficam anotados em uma ficha junto com um
código numérico sequencial atribuído ao cliente no momento do cadastro. Cada
cliente pode alugar um ou mais objetos de locação (DVD, CD ou Cartucho), sendo
que cada um destes só pode ser alugado por apenas 1 cliente em um
determinado momento (data). É interesse da locadora, entretanto, manter um
histórico dos aluguéis já realizados, a fim de gerenciar o perfil dos seus clientes.
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
prof. Gustavo Zimmermann | contato@gust4vo.com
EXERCÍCIO 4
A sua empresa de informática foi contatada por um cliente importante para desenvolver um site na
Internet para um gerenciador de conteúdo de eventos culturais. Esta empresa irá centralizar neste website
a informação de diversos eventos que ocorrem em todo o país. Os eventos podem ser a realização de
shows musicais com bandas (ou cantores) nacionais e internacionais; partidas de um campeonato de
algum esporte (futebol, vôlei, basquete, etc); apresentações de grupos de teatros; apresentações de grupos
circenses; realização de convenções de empresas; congressos e simpósios específicos de alguma área do
conhecimento. Para cada evento é necessário manipular informações sobre o local, período, cidade e
estado; a programação do evento (lembre-se que um evento pode ser de três dias e, em cada dia, podem
ocorrer diversas atividades em diferentes horários (ou com colisão de horários)). Neste website deverá ser
possível realizar a inscrição para o evento ou efetuar a compra de ingressos. Os ingressos, quando for o
caso, deverão ter os preços cadastrados de acordo com o local do evento e com as diferentes opções de
acomodações, tais como, cadeiras, arquibancada, mezanino, área VIP, etc. O website deverá permitir a
geração de diversos relatórios específicos para cada evento com as informações gerais, pessoas inscritas,
ingressos vendidos, programação completa, etc
Banco de Dados II – Aula 3: Generalização e Especialização
Generalizações/Especializações
<fim />
bora pra casa!

Mais conteúdo relacionado

Mais procurados

Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de SoftwareMarcelo Yamaguti
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoCursoSENAC
 
Normalização básica
Normalização básicaNormalização básica
Normalização básicaNadia Habu
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalvitorleyva
 
Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018Elaine Cecília Gatto
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosClara Ferreira
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_erWalter Alves Pereira
 
PACT: um framework para o design de sistemas interativos
PACT: um framework para o design de sistemas interativosPACT: um framework para o design de sistemas interativos
PACT: um framework para o design de sistemas interativosWellington Oliveira
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Leinylson Fontinele
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
 

Mais procurados (20)

Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de Software
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de Uso
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de Dados
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
PACT: um framework para o design de sistemas interativos
PACT: um framework para o design de sistemas interativosPACT: um framework para o design de sistemas interativos
PACT: um framework para o design de sistemas interativos
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 

Destaque

Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Gustavo Zimmermann
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Gustavo Zimmermann
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Gustavo Zimmermann
 
Aula 03 generalização e especialização
Aula 03   generalização e especializaçãoAula 03   generalização e especialização
Aula 03 generalização e especializaçãoRoitier Gonçalves
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Gustavo Zimmermann
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Noções de Administração: Gestão por Processos (aula 3)
Noções de Administração: Gestão por Processos (aula 3)Noções de Administração: Gestão por Processos (aula 3)
Noções de Administração: Gestão por Processos (aula 3)Gustavo Zimmermann
 
Noções de Administração: Qualidade Total (aula 2)
Noções de Administração: Qualidade Total (aula 2)Noções de Administração: Qualidade Total (aula 2)
Noções de Administração: Qualidade Total (aula 2)Gustavo Zimmermann
 
Noções de Administração: Gestão de Pessoas (aula 4)
Noções de Administração: Gestão de Pessoas (aula 4)Noções de Administração: Gestão de Pessoas (aula 4)
Noções de Administração: Gestão de Pessoas (aula 4)Gustavo Zimmermann
 
Noções de Administração: Gestão de Projetos (aula 5)
Noções de Administração: Gestão de Projetos  (aula 5)Noções de Administração: Gestão de Projetos  (aula 5)
Noções de Administração: Gestão de Projetos (aula 5)Gustavo Zimmermann
 
Noções de Administração: Funções da Administração (aula 1)
Noções de Administração: Funções da Administração (aula 1)Noções de Administração: Funções da Administração (aula 1)
Noções de Administração: Funções da Administração (aula 1)Gustavo Zimmermann
 
Web Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoWeb Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoGustavo Zimmermann
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dadosOdwald Schreder
 

Destaque (20)

Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
 
Farol: Os 4 ciclos
Farol: Os 4 ciclosFarol: Os 4 ciclos
Farol: Os 4 ciclos
 
Aula 03 generalização e especialização
Aula 03   generalização e especializaçãoAula 03   generalização e especialização
Aula 03 generalização e especialização
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
Farol: Estrutura de Trabalho
Farol: Estrutura de TrabalhoFarol: Estrutura de Trabalho
Farol: Estrutura de Trabalho
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Noções de Administração: Gestão por Processos (aula 3)
Noções de Administração: Gestão por Processos (aula 3)Noções de Administração: Gestão por Processos (aula 3)
Noções de Administração: Gestão por Processos (aula 3)
 
Noções de Administração: Qualidade Total (aula 2)
Noções de Administração: Qualidade Total (aula 2)Noções de Administração: Qualidade Total (aula 2)
Noções de Administração: Qualidade Total (aula 2)
 
Noções de Administração: Gestão de Pessoas (aula 4)
Noções de Administração: Gestão de Pessoas (aula 4)Noções de Administração: Gestão de Pessoas (aula 4)
Noções de Administração: Gestão de Pessoas (aula 4)
 
CSS3: Start (aula 1)
CSS3: Start (aula 1)CSS3: Start (aula 1)
CSS3: Start (aula 1)
 
Noções de Administração: Gestão de Projetos (aula 5)
Noções de Administração: Gestão de Projetos  (aula 5)Noções de Administração: Gestão de Projetos  (aula 5)
Noções de Administração: Gestão de Projetos (aula 5)
 
Noções de Administração: Funções da Administração (aula 1)
Noções de Administração: Funções da Administração (aula 1)Noções de Administração: Funções da Administração (aula 1)
Noções de Administração: Funções da Administração (aula 1)
 
Apresentação projeto
Apresentação projetoApresentação projeto
Apresentação projeto
 
Web Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoWeb Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da Informação
 
Twitter Chat
Twitter ChatTwitter Chat
Twitter Chat
 
Web (design+developer)
Web (design+developer)Web (design+developer)
Web (design+developer)
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dados
 

Semelhante a Banco de Dados II: Generalização e Especialização (aula 3)

E book - feiras e eventos
E book - feiras e eventosE book - feiras e eventos
E book - feiras e eventosSisloc
 
Projeto organização área comercial e de serviços
Projeto   organização área comercial e de serviçosProjeto   organização área comercial e de serviços
Projeto organização área comercial e de serviçoslucasbissoliba
 
Projeto empreendedorismo
Projeto   empreendedorismoProjeto   empreendedorismo
Projeto empreendedorismoVtonetto
 
Aula de Plano de Negócios
Aula de Plano de NegóciosAula de Plano de Negócios
Aula de Plano de NegóciosJhonny Santos
 
Política de Patrocínio - Curso RTS.pptx1
Política de Patrocínio - Curso RTS.pptx1Política de Patrocínio - Curso RTS.pptx1
Política de Patrocínio - Curso RTS.pptx1borgescorado
 
Cv narciso - português
Cv   narciso - portuguêsCv   narciso - português
Cv narciso - portuguêscisosantos1
 
Acertando suas Contas
Acertando suas ContasAcertando suas Contas
Acertando suas ContasMarco Coghi
 
PAP - TÉCNICO DE COMÉRCIO
PAP - TÉCNICO DE COMÉRCIOPAP - TÉCNICO DE COMÉRCIO
PAP - TÉCNICO DE COMÉRCIOisap6661
 
Treinamento Plano de Negócios 2009
Treinamento Plano de Negócios 2009Treinamento Plano de Negócios 2009
Treinamento Plano de Negócios 2009SEBRAE MS
 
82 maneiras de ganhar dinheiro com seu computador
82 maneiras de ganhar dinheiro com seu computador82 maneiras de ganhar dinheiro com seu computador
82 maneiras de ganhar dinheiro com seu computadorEmanuel Francisco
 
[Product Camp 2021] Lições aprendidas de uma transformação digital
[Product Camp 2021] Lições aprendidas de uma transformação digital[Product Camp 2021] Lições aprendidas de uma transformação digital
[Product Camp 2021] Lições aprendidas de uma transformação digitalProduct Camp Brasil
 
Treinamento Job VJ Internacional.pptx
Treinamento Job VJ Internacional.pptxTreinamento Job VJ Internacional.pptx
Treinamento Job VJ Internacional.pptxRafaelNatali4
 
Arq idvol 17-1339725441
Arq idvol 17-1339725441Arq idvol 17-1339725441
Arq idvol 17-1339725441overlima
 
Tabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdf
Tabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdfTabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdf
Tabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdfJovaMatttos
 

Semelhante a Banco de Dados II: Generalização e Especialização (aula 3) (16)

E book - feiras e eventos
E book - feiras e eventosE book - feiras e eventos
E book - feiras e eventos
 
Projeto organização área comercial e de serviços
Projeto   organização área comercial e de serviçosProjeto   organização área comercial e de serviços
Projeto organização área comercial e de serviços
 
Projeto empreendedorismo
Projeto   empreendedorismoProjeto   empreendedorismo
Projeto empreendedorismo
 
Aula de Plano de Negócios
Aula de Plano de NegóciosAula de Plano de Negócios
Aula de Plano de Negócios
 
Elaboração de briefing.pdf
Elaboração de briefing.pdfElaboração de briefing.pdf
Elaboração de briefing.pdf
 
Política de Patrocínio - Curso RTS.pptx1
Política de Patrocínio - Curso RTS.pptx1Política de Patrocínio - Curso RTS.pptx1
Política de Patrocínio - Curso RTS.pptx1
 
Cv narciso - português
Cv   narciso - portuguêsCv   narciso - português
Cv narciso - português
 
Acertando suas Contas
Acertando suas ContasAcertando suas Contas
Acertando suas Contas
 
PAP - TÉCNICO DE COMÉRCIO
PAP - TÉCNICO DE COMÉRCIOPAP - TÉCNICO DE COMÉRCIO
PAP - TÉCNICO DE COMÉRCIO
 
Treinamento Plano de Negócios 2009
Treinamento Plano de Negócios 2009Treinamento Plano de Negócios 2009
Treinamento Plano de Negócios 2009
 
Casos & cases de marketing jurídico
Casos & cases de marketing jurídicoCasos & cases de marketing jurídico
Casos & cases de marketing jurídico
 
82 maneiras de ganhar dinheiro com seu computador
82 maneiras de ganhar dinheiro com seu computador82 maneiras de ganhar dinheiro com seu computador
82 maneiras de ganhar dinheiro com seu computador
 
[Product Camp 2021] Lições aprendidas de uma transformação digital
[Product Camp 2021] Lições aprendidas de uma transformação digital[Product Camp 2021] Lições aprendidas de uma transformação digital
[Product Camp 2021] Lições aprendidas de uma transformação digital
 
Treinamento Job VJ Internacional.pptx
Treinamento Job VJ Internacional.pptxTreinamento Job VJ Internacional.pptx
Treinamento Job VJ Internacional.pptx
 
Arq idvol 17-1339725441
Arq idvol 17-1339725441Arq idvol 17-1339725441
Arq idvol 17-1339725441
 
Tabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdf
Tabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdfTabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdf
Tabela-ADEGRAF-2021-2022-WEB-MAR2021-1.pdf
 

Mais de Gustavo Zimmermann

Aula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoAula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoGustavo Zimmermann
 
Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Gustavo Zimmermann
 
Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Gustavo Zimmermann
 
Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Gustavo Zimmermann
 
Aula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoAula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoGustavo Zimmermann
 
Aula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasAula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasGustavo Zimmermann
 
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Gustavo Zimmermann
 

Mais de Gustavo Zimmermann (20)

Aula 13 - Livros Proféticos
Aula 13 - Livros ProféticosAula 13 - Livros Proféticos
Aula 13 - Livros Proféticos
 
Aula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoAula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-Avaliação
 
Aula 11 - Livros Poéticos
Aula 11 - Livros PoéticosAula 11 - Livros Poéticos
Aula 11 - Livros Poéticos
 
Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)
 
Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)
 
Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)
 
Aula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoAula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-Avaliação
 
Aula 6 - Deuteronômio
Aula 6 - DeuteronômioAula 6 - Deuteronômio
Aula 6 - Deuteronômio
 
Aula 5 - Números
Aula 5 - NúmerosAula 5 - Números
Aula 5 - Números
 
Aula 1 - História da Bíblia
Aula 1 - História da BíbliaAula 1 - História da Bíblia
Aula 1 - História da Bíblia
 
Aula 3 - Êxodo
Aula 3 - ÊxodoAula 3 - Êxodo
Aula 3 - Êxodo
 
Aula 4 - Levíticos
Aula 4 - LevíticosAula 4 - Levíticos
Aula 4 - Levíticos
 
Aula 2 - Gênesis
Aula 2 - GênesisAula 2 - Gênesis
Aula 2 - Gênesis
 
Aula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasAula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas Metodologias
 
Aula 2 - Teologia Natural
Aula 2 - Teologia NaturalAula 2 - Teologia Natural
Aula 2 - Teologia Natural
 
Conciência Política
Conciência PolíticaConciência Política
Conciência Política
 
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)
 
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
 
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
 

Banco de Dados II: Generalização e Especialização (aula 3)

  • 1. Aula 3: Generalização e Especialização prof. Gustavo Zimmermann
  • 3. prof. Gustavo Zimmermann | contato@gust4vo.com #FicaDica [1/4] Banco de Dados II – Aula 3: Generalização e Especialização Recomendações construção de Tabelas (1 : 1): Se houver relacionamento 1:1, verifique se não é melhor unir as 2 tabelas em uma única tabela.
  • 4. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Recomendações construção de Tabelas (1 : N) ou (N : 1) : A chave estrangeira é colocada sempre na tabela do lado N do relacionamento. #FicaDica [2/4]
  • 5. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Recomendações construção de Tabelas (N : N): Relacionamentos N:N sempre geram uma terceira tabela, com as chaves primárias das 2 tabelas originais. #FicaDica [3/4]
  • 6. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Recomendações construção de Tabelas Documentação: Sempre escreva e guarde o esquema relacional do seu banco de dados antes de gerar as suas tabelas. #FicaDica [4/4]
  • 8. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Uma Entidade pode possuir propriedade iguais, e outra parte com propriedades diferentes, por exemplo: Entidade Cliente pode ser Pessoa Física ou Jurídica. Como pessoa Física Nome, CPF e RG, como pessoa Jurídica os dados serão Nome, CNPJ e IE. Pessoa Física e Jurídica tem o Nome em comum, porém CPF, RG, CNPJ e IE são diferentes para cada subgrupo. A esses subgrupos chamamos de Especialização, e o símbolo utilizado é o triangulo. Definição
  • 9. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Definição Cliente codCliente Nome Filial possui 1 N RG CPF Física CNPJ IE Jurídica Pessoa
  • 10. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Definição Cliente codCliente Nome Pessoa Física Pessoa Jurídica CPF RG IE CNPJ Filial possui 1 N Generalização Especializações
  • 11. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Aplicação : aplicações codCliente Tipo Endereco Telefone Nome CPF RG CNPJ IE 1 Física Rua dos Bobos, 0 5188745698 Joana Mendes Oliveira 245548265898 5218796385 0 2 Juridica R. David Canabarro, 75 - Centro, Novo Hamburgo - RS 5130660405 Escolas e Faculdades QI - Novo Hamburgo 933218260011 05 00212248814 3 Física Rua Nabulco Morais, 245 5130258962 Roberto Rogerio Lopes 25014539878 9852347563 Cliente [1/2] Criar uma única tabela para todas as especializações e incluir um campo diferenciador: Seria juntar todos os tipos de Cliente, em uma única tabela e acrescentar mais um campo para identificar o Cliente.
  • 12. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Aplicação : aplicações codCliente Nome Endereco Telefone 1 Joana Mendes Oliveira Rua dos Bobos, 0 5188745698 2 Escolas e Faculdades QI - Novo Hamburgo R. David Canabarro, 75 - Centro, Novo Hamburgo - RS 5130660405 3 Roberto Rogerio Lopes Rua Nabulco Morais, 245 5130258962 Cliente [2/2] Criar uma tabela para cada especialização e definir mais um campo identificador. codPessoa CPF RG codCliente 1 245548265898 5218796385 1 2 25014539878 9852347563 3 ClienteFisico codEmpresa CNPJ IE codCliente 1 93321826001105 00212248814 2 ClienteJuridico
  • 13. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Especialização : total ou parcial Especialização Total (T) é quando uma entidade possui obrigatoriamente uma ligação com a entidade genérica, ou seja, para cada ocorrência da entidade genérica existe sempre ocorrência em uma das entidades especializada. Cliente codCliente Nome Pessoa Física Pessoa Jurídica CPF RG IECNPJ T
  • 14. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Especialização : total ou parcial Especialização Parcial (P) é quando uma entidade não tem obrigatoriamente uma ligação com a entidade genérica, ou seja, nem toda ocorrência da entidade genérica corresponde a uma entidade especializada. Funcionario codFuncionario Nome Engenheiro Medico CREA Especialidade CRM P
  • 15. prof. Gustavo Zimmermann | contato@gust4vo.com EXERCÍCIO 1 Construir um banco de dados para agenciamento de empregados Uma empresa de agenciamento de empregados pretende informatizar o seu cadastro de profissionais e candidatos a empregos temporários. Seu objetivo é construir um banco de dados onde possa manter os dados cadastrais dos profissionais e seus contratos temporários com as empresas clientes. O profissional é identificado pelo seu CPF e, além dessa informação, ficam registrados o seu nome, endereço, nascimento e profissão. Os contratos de empregados temporários são feitos individualmente (um contrato para cada profissional) com as empresas clientes. Cada contrato é identificado por um número único e nele são registrados a empresa contratante, a vigência do contrato (data de início e de término) e o valor pago por hora trabalhada. As empresas clientes são identificadas por um CNPJ e possuem um nome e endereço. Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações
  • 16. prof. Gustavo Zimmermann | contato@gust4vo.com nome cnpj EXERCÍCIO 1 : possível resolução Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações Profissional Empresa Cliente pertence N 1 Contrato atende 1 1 (0 : N) (0 : 1) (0 : 1) (1 : 1) cpf nome endereco dataNasc numContrato valorHoravigencia dataInicio dataTermino 1 profissao DER endereco telefone
  • 17. prof. Gustavo Zimmermann | contato@gust4vo.com EXERCÍCIO 1 : possível resolução Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações 2 cpf nome profissao endereco dataNasc cnpj Profissional TABELAS cnpj nome endereco telefone Empresa numContrato valorHora dataInicio dataTermino cpf Contrato
  • 18. prof. Gustavo Zimmermann | contato@gust4vo.com EXERCÍCIO 2 A fim de gerenciar as vendas em uma loja, os seguintes requisitos devem ser atendidos: • Vendas são efetuadas por um vendedor em um determinado momento (indicado por uma data e um horário). Vendedores recebem um salário base e comissão sobre as vendas, a qual representa 10% do valor da venda. • Vendedores possuem matricula, nome, endereço, telefone e CPF. Vendedores podem possuir mais de um telefone. • Vendas podem ser à vista ou a prazo. Vendas a prazo possuem parcelas de pagamento, com sua data de vencimento e valor. • Vendas podem ou não estar relacionadas a um Cliente. Vendas em dinheiro nem sempre estão relacionadas a um Cliente. • Clientes são cadastrados com seu Nome, CPF, Identidade, Endereço e Telefone. Clientes podem possuir mais de um telefone. • Vendas envolvem produtos, sendo que para cada venda a quantidade vendida do produto deve ser registrada. • Produtos possuem código, descrição, preço e quantidade em estoque. Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações
  • 19. prof. Gustavo Zimmermann | contato@gust4vo.com EXERCÍCIO 3 Uma vídeo locadora trabalha com o aluguel de DVDs, CDs e cartuchos de jogos. Todos os 3 tem um código , o titulo que o descreve e a categoria. Adicionalmente, os DVDs e os CDs possuem a sinopse e os artistas principais. Já os cartuchos de jogos, possuem adicionalmente apenas o nome do fabricante. A locadora empresta apenas para os clientes cadastrados. Nome, endereço, data de nascimento e telefones dos clientes ficam anotados em uma ficha junto com um código numérico sequencial atribuído ao cliente no momento do cadastro. Cada cliente pode alugar um ou mais objetos de locação (DVD, CD ou Cartucho), sendo que cada um destes só pode ser alugado por apenas 1 cliente em um determinado momento (data). É interesse da locadora, entretanto, manter um histórico dos aluguéis já realizados, a fim de gerenciar o perfil dos seus clientes. Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações
  • 20. prof. Gustavo Zimmermann | contato@gust4vo.com EXERCÍCIO 4 A sua empresa de informática foi contatada por um cliente importante para desenvolver um site na Internet para um gerenciador de conteúdo de eventos culturais. Esta empresa irá centralizar neste website a informação de diversos eventos que ocorrem em todo o país. Os eventos podem ser a realização de shows musicais com bandas (ou cantores) nacionais e internacionais; partidas de um campeonato de algum esporte (futebol, vôlei, basquete, etc); apresentações de grupos de teatros; apresentações de grupos circenses; realização de convenções de empresas; congressos e simpósios específicos de alguma área do conhecimento. Para cada evento é necessário manipular informações sobre o local, período, cidade e estado; a programação do evento (lembre-se que um evento pode ser de três dias e, em cada dia, podem ocorrer diversas atividades em diferentes horários (ou com colisão de horários)). Neste website deverá ser possível realizar a inscrição para o evento ou efetuar a compra de ingressos. Os ingressos, quando for o caso, deverão ter os preços cadastrados de acordo com o local do evento e com as diferentes opções de acomodações, tais como, cadeiras, arquibancada, mezanino, área VIP, etc. O website deverá permitir a geração de diversos relatórios específicos para cada evento com as informações gerais, pessoas inscritas, ingressos vendidos, programação completa, etc Banco de Dados II – Aula 3: Generalização e Especialização Generalizações/Especializações