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

3,519 views 18 slides Jan 14, 2016
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

Generalização e Especialização com participação total e parcial


Slide Content

Aula 3:
Generalização e Especialização
prof. Gustavo Zimmermann

Recomendações
construção de tabelas

prof. Gustavo Zimmermann | [email protected]

#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 | [email protected]

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 | [email protected]

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 | [email protected]

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 | [email protected]

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 | [email protected]

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 | [email protected]

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 | [email protected]

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 | [email protected]

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 | [email protected]

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 IE
CNPJ
T

prof. Gustavo Zimmermann | [email protected]

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 | [email protected]

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 | [email protected]

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 | [email protected]

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

<fim />
bora pra casa!