Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos
AULA 02 Cardinalidade Máxima BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos
Relacionamento Um para Um 1:1 Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência em B está associada a no máximo uma ocorrência em A. Conjunto A (Empregado) João Pedro Paulo Maria Contabilidade Financeiro Jurídico Conjunto B (Departamento)
Relacionamento Um para Um 1:1 Empregado 1 Gerencia 1 Departamento BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos
Relacionamento Um para Muitos 1:N Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B deve estar associada a no máximo uma ocorrência em A Conjunto A (Departamento) Contabilidade Financeiro João Sandro Pedro Ana Conjunto B (Empregado)
Relacionamento Um para Muitos 1:N Departamento 1 Lotação N Empregado BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos
Relacionamento: Muitos para Muitos M:N ou N:N Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B está associada a qualquer número de ocorrências em A João Sinpli Conjunto A (Empregado) Pedro Paulo AATOM MM-TOM Conjunto B (Projeto) Maria Sigmoda
Relacionamento: Muitos para Muitos M:N ou N:N Empregado N Atua N Projeto BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos
Cardinalidade Mínima O modelo ER permite expressar cardinalidades mínimas e máximas em cada relacionamento Cardinalidade Mínima: número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B Representação: ( máxima (cardinalidade mínima, cardinalidade Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0,N);(N,N) Cardinalidade mínima = 1 (relacionamento obrigatório)
Cardinalidade Mínima e Máxima Exemplo de Relacionamento Obrigatório: cada ocorrência de cliente está relacionado a no mínimo quantas contas e no máximo quantas contas? Cada ocorrência de conta está relacionada a no mínimo quantos clientes e no máximo quantos clientes? Cliente ContaCliente (1,1) (1,N) Conta Exemplo de Relacionamento Opcional: Empregado Gerencia (1,1) (0,1) Departamento
Atributos também podem ter Cardinalidade Monovalorado: possui um valor único em uma entidade Exemplo: CPF Multivalorado: possui mais de um valor para cada ocorrência da entidade Exemplo: telefone Empregado Empregado BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos CPF Nome Salário CPF Nome Salário telefone (0,N)
Atributos também podem ter Cardinalidade Cardinalidade mínima 1: atributo obrigatório 0: atributo opcional Cardinalidade máxima 1: atributo monovalorado N: atributo multivalorado Cliente nome Endereço (1,N) TELEFONE (0,N) BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos
Relacionamentos e Papéis Papel é a função que uma ocorrência da entidade cumpre dentro de uma ocorrência do relacionamento Não é obrigatória no Modelo ER Cliente movimenta É movimentada ContaCliente (1,1) (1,N) Conta Empregado alocado (1,N) Atua envolve (0,N) Projeto BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO Marcelo Henrique dos Santos
Auto-Relacionamento (Relacionamento Unário) Relacionamento entre ocorrências da mesma entidade Empregado supervisionado supervisor (0,N) (1,1) supervisiona Pessoa Marido Esposa (0,1) (0,1) casadocom João Pedro Paulo Maria supervisionada supervisor Roberto Pedro Felipe Ana esposa marido
Relacionamento Binário Binário e Ternário Empregado trabalha (1,N ) (1,1 ) Departamento Ternário Cidade (1,N) distribuição Distribuido r (1,1) (1,N) Produto
Identificando Entidades Cada entidade deve ter um identificador Identificador (também conhecido como chave): É o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro Representação no Modelo CPF Nome Endereco Cliente NumeroCorredor NumeroPrateleira Prateleira
Identificando Relacionamentos Quando parte da chave é um relacionamento Exemplo: CPF do Empregado e numero sequencial na entidade Dependente Cpf Nome Endereco Empregado Dependente Numero Nome Chave=CPF + numero Entidade Fraca: entidade sem chave A entidade é identificada por algum atributo da entidade + algum relacionamento Entidade Forte: entidade com chave A entidade é identificada por atributos da própria entidade
Relacionamento com Atributo Identificador Médico Consulta Paciente CRM nome celular datadaconsulta CPF nome endereço Dr. Paulo Dr. Flora 22/10/2007 05/02/2009 20/03/2009 Vania José
Terminologia Entidade e instância Para referir-se a um objeto particular fala-se em instância ou ocorrência de entidade Diferentes terminologias Entidade Conjunto Conjunto de entidades Classe Elemento do conjunto Instância ou ocorrência Entidade objeto Heuser Peter Chen Orientação a Objetos (Bush)
Atividade 2 Considere o seguinte sistema, onde o dono de um hotel deseja controlar em um banco de dados todas as reservas de quartos. O hotel oferece quartos de diferentes tipos: apto (com cozinha e ar condicionado), suíte simples (somente frigobar), suíte dupla (somente frigobar), e suíte luxo (frigobar e ar condicionado), cada um com valores diferentes devido aos itens extras.
Atividade 2 No ato da reserva, o sistema deve registrar alguns dados como o nome do cliente, telefone, CPF e número do cartão de credito, bem como o tipo de quarto e o período. O valor das diárias é o mesmo para qualquer data. Lembre-se que um cliente pode efetuar mais de uma reserva, para o mesmo período ou períodos diferentes.
Atividade 2 Dada a planilha atual com os dados do sistema, normalize a tabela, identificando chaves primárias e estrangeiras e justificando qual é a dependência funcional para cada nova tabela criada. Reserva (numeroreserva, apto, suitesimples, suitedupla, suiteluxo, valordiariaquarto, datainicial, datafinal, nomecliente, cpfcliente, telefonecliente, numerocartao)
Atividade 2 Uma vez definido o modelo lógico, faça a engenharia reversa definindo o modelo conceitual Responda as seguintes perguntas: 1) O que é uma entidade forte? 2) O que é uma entidade fraca? 3) Para que serve um SGBD e quais são as suas vantagens? 4) Para que serve um modelo conceitual?
BIBLIOGRAFIA Elmasri & Navathe Fundamentos de Bancos de Dados Carlos Alberto Heuser Projeto de Banco de Dados Korth e Silberchatz Sistema de Bancos de Dados PROGRAMAÇÃO ORIENTADA A EVENTOS Marcelo Henrique dos Santos 24
BIBLIOGRAFIA HEUSER, C.A. Projeto de Banco de Dados. 6ª Edição. Porto Alegre. Capítulos 2 e 3 Korth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 5a ed. Editora Campus, 2006. - Capítulo 6 Elmasri, R.; Navathe S. B. Sistemas de Banco de Dados. 4 ed. Editora Addison-Wesley. 2005. - Capítulo 3 PROGRAMAÇÃO ORIENTADA A EVENTOS Marcelo Henrique dos Santos 25
BIBLIOGRAFIA HEUSER, C.A. Projeto de Banco de Dados. 6ª Edição. Porto Alegre. Capítulos 2 e 3 Korth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 5a ed. Editora Campus, 2006. - Capítulo 6 Elmasri, R.; Navathe S. B. Sistemas de Banco de Dados. 4 ed. Editora Addison-Wesley. 2005. - Capítulo 3 PROGRAMAÇÃO ORIENTADA A EVENTOS Marcelo Henrique dos Santos 26