Unidade 2 Modelo Conceitual

Documentos relacionados
Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

MC536. Modelo Entidade- Relacionamento

Tópico: Modelagem CONTEÚDO PROGRAMÁTICO

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Projeto Banco de Dados

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

Unidade 4 Projeto de BD Relacional

Projeto de Banco de Dados

Projeto de Banco de Dados

O MODELO ENTIDADE RELACIONAMENTO. Tiago Alves de Oliveira

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Análise e Projeto de Sistemas I

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva UFU/FACOM /2

MODELAGEM DE DADOS -PROJETO CONCEITUAL DE BD. Prof. Angelo Augusto Frozza, M.Sc.

Modelagem de Dados. Modelagem Conceitual

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Aula 4 SBD Modelo Entidade Relacionamento Parte 2. Profa. Elaine Faria UFU

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

Modelo Entidade Relacionamento Estendido (ERE)

Modelo Relacional. Aula 02

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

PCS3413 Engenharia de Software e Banco de Dados

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Fundamentos de Banco de Dados e Modelagem de Dados

Modelagem Entidade Relacionamento Estendida. Evandro E.S. Ruiz, Ph.D.

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Modelagem de dados usando MER. Andre Noel

Modelo ER. Ricardo Terra rterrabh [at] gmail.com

Modelo Entidade-Relacionamento

Aula 2 Abordagem Entidade-Relacionamento Cleverton Hentz

Modelo Lógico de Dados. Modelo Relacional

Revisando Banco de Dados. Modelo Relacional

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Projeto de Bancos de Dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

Abordagem ER. Capítulo 2

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Prof. Fabiano Taguchi

GES013 Sistema de Banco de Dados Modelo de Entidade-Relacionamento (ER)

Banco de Dados. Modelagem de Dados. Prof.: Salustiano Rodrigues

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Sistema de Banco de Dados

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Extensões do Modelo Entidade-Relacionamento

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

Modelagem de Dados. Abordagem Entidade-Relacionamento - Conceitos

Construindo modelos ER. Capítulo 3

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

Modelagem de Dados Usando o Modelo Entidade-Relacionamento (ME-R)

BCD29008 Banco de dados

Exemplo de Rel. Condicional

Capítulo 2 Modelo Entidade- Relacionamento. Prof. Mario Dantas

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Restrições de Integridade. Prof. Jefferson Silva CEFET.PHB - PI

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

O que é modelo lógico. Tipos de modelo

Modelo Entidade- Relacionamento

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

Banco de Dados. Aula 6 - Prof. Bruno Moreno 09/09/2011

INTRODUÇÃO AO MODELO RELACIONAL

Aula 3 - Modelo Entidade-Relacionamento

SISTEMAS DE BANCO DE DADOS CONCEITOS DE MODELAGEM CONCEITUAL DE DADOS

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Introdução. Modelo de dados conceitual para o projeto de BD

Banco de Dados. Diagramas de Entidade Relacionamento (DER) Ref. Prof. Renato de Oliveira Violin - UFSCar

MODELAGEM DE DADOS PARTE 3

Modelo Entidade-Relacionamento

Faculdade Ieducare. 5º Semestre Sistemas de Informação. Professor: Rhyan Ximenes. Banco de Dados II 1. Banco de Dados II

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

Ciclo de Desenvolvimento de BD

Banco de Dados. Diagramas de Entidade Relacionamento (DER) - Complementos. Ref. Prof. Renato de Oliveira Violin - UFSCar

Introdução ao Modelo Relacional

SUMÁRIO. Restrições de Integridade Dicionário de Dados Relacionamentos n-ários Generalização/Especialização em DER

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Análise e Projeto de Sistemas

IEC Banco de Dados I Aula 08 Modelo E. E. R.

Modelo Entidade- Relacionamento. Hugo Barros

MODELAGEM DE DADOS PARTE 2

Aula 02. Modelo de Dados Modelo Conceitual Modelo de Implementação Entidades e Atributos

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

Conceitos básicos e diagramas ER

Transcrição:

Unidade 2 Modelo Conceitual UFCG/CEEI/DSC Banco de Dados I Prof. Cláudio Baptista, PhD

Motivação Motivação Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos: MER - Modelo de Entidades e Relacionamentos UML (linguagem de modelagem universal)

Projeto Fases de um projeto de BD Mini-mundo Coleta e Análise de Requisitos Requisitos de BD Projeto Conceitual Esquema conceitual Projeto Lógico Esquema lógico Projeto Físico Esquema interno

Modelo de Entidades e Relacionamentos Representação semântica das estruturas de dados mantidas num banco de dados Foi proposto por Peter Chen em 1976 Possui várias notações: - Relacionamentos como objetos do Modelo (Chen) - Relacionamentos apenas como simples ligações (Codd, Martin)

Entidades Uma entidade é tudo aquilo sobre o qual se deseja manter informações. Podendo representar: objetos concretos: pessoas, livros, carros, conceitos abstratos: empresas, eventos, embarques,

Entidades Possui propriedades que a distingue de outras entidades. É um subconjunto de objetos (instâncias) que: desempenha o mesmo papel semântico possui os mesmos tipos de propriedades (atributos)

Entidades Ex.: Conjunto de todas as contas correntes de um banco Conjunto de todos os empregados de uma empresa Conjunto de todos os filmes de um produtor Representação de entidades no diagrama E-R (entidades e relacionamentos): Empregado Aluno Empréstimo

Entidades Entidades devem ser descritas num Dicionário de Dados Entidade: EMPREGADO Descrição: Pessoa que mantém vínculo empregatício com a Empresa através de um contrato de trabalho de acordo com a legislação trabalhista

Entidades Entidades devem ser descritas num Dicionário de Dados Entidade: ENCOMENDA Descrição: Instrumento contratual de emissão unilateral pela empresa e aceitação, expressa ou tácita, pelo fornecedor do material.

Entidades Instância: Objeto de uma entidade com suas respectivas propriedades que é distinguível dos outros objetos. Ex.: A entidade Empregado poderia ter a seguinte instância: Maria dos Anjos, 31 anos, Secretária, Solteira, R$ 800,00

Atributos São as propriedades que caracterizam ou descrevem uma entidade ou um relacionamento. Ex.: A entidade CARRO poderia ter os seguintes atributos: Placa, fabricante, modelo, ano de fabricação, cor, preço O relacionamento TRABALHA entre EMPREGADO e PROJETO pode ter o atributo: horastrabalhadas.

Atributos Cada atributo possui um domínio que identifica o conjunto de valores permitidos para aquele atributo. Ex.: nome: domínio string(20) salário: domínio numérico

Atributos Atributos devem também ser descritos no Dicionário de Dados: Entidade: EMPREGADO Atributo: Data de Admissão Descrição: data na qual foi assinado o contrato de trabalho entre a empresa e o empregado Domínio: data posterior a 03/01/78 (data de criação da empresa) e a data de nascimento do empregado

Atributos Simples: é atômico. Ex. Idade: numérico Nome: cadeia de caracteres

Atributos Simples: é atômico. Ex. Idade: numérico Nome: cadeia de caracteres Composto: contém sub-atributos que compõem o atributo. Ex. Endereço(rua, número, bairro, CEP, cidade)

Atributos Simplesmente valorados: têm um único valor para uma instância de uma entidade. Ex.: PESSOA: Idade

Atributos Simplesmente valorados: têm um único valor para uma instância de uma entidade. Ex.: PESSOA: Idade Multivalorados: possuem vários valores numa instância de uma entidade. Ex.: PESSOA:TitulaçãoSuperior(nenhum, Bel. MSc., PhD)

Atributos Simplesmente valorados: têm um único valor para uma instância de uma entidade. Ex.: PESSOA: Idade Multivalorados: possuem vários valores numa instância de uma entidade. Ex.: PESSOA:TitulaçãoSuperior(nenhum, Bel. MSc., PhD) Atributos derivados: podem ser determinados a partir de outros atributos/entidades. Ex.: Idade e dataaniversário

Relacionamentos São funções que mapeiam um conjunto de instâncias de uma entidade em um outro conjunto de instâncias de outra entidade (ou da mesma entidade: auto relacionamento ). Em outras palavras, são associações entre diversas entidades. Ex.: Um empregado trabalha num projeto Um cliente possui conta bancária Um filme possui vários atores

Relacionamentos Empregado 1..N trabalha Projeto 1..N matricula nome salário horas

Relacionamentos Empregado 0..N supervisiona 0..1

Relacionamentos OBS.1: No modelo UML, em que entidades são classes, os relacionamentos são implementados com o conceito de papel. Por exemplo, no diagrama de Empregado Trabalho em Departamento, trabalha é o papel do relacionamento. Ex. Empregado trabalha Departamento possui

Relacionamentos OBS.1: no modelo UML se precisarmos modelar atributos do relacionamento, usamos uma notação especial que cria uma classe do relacionamento. Ex. Empregado matricula nome salario horas Trabalha Departamento codigo nome gerente

Integridade Restrições de Integridade Caracterizam as restrições nas quais os relacionamentos entre entidades estão submetidos (regras do negócio). Ex.: Todo empregado deve estar lotado num departamento Existe Cliente que não foi recomendado por Cliente Toda Nota Fiscal deve ter pelo menos um item discriminado Toda multa deve estar associada a um carro Existe carro sem multa associada

Integridade Restrições de Integridade Podemos caracterizar um relacionamento em termos de: 1. Cardinalidade: quantidade de instâncias que podem participar do relacionamento 2. Totalidade: obrigatoriedade da ocorrência do relacionamento entre as entidades envolvidas.

Integridade Restrições de Integridade Tipos de Cardinalidade Um_para_Um (1:1): uma instância de uma entidade A está associada a no máximo a uma instância de uma entidade B, e vice-versa. Um_para_Muitos (1:N): uma instância de uma entidade A está associada a qualquer número de instâncias da entidade B. Porém, uma instância da entidade B pode estar associada, no máximo, a uma instância da entidade A.

Integridade Restrições de Integridade Tipos de Cardinalidade Muitos_para_Um (N:1): uma instância da entidade A está associada a uma instância de B. Porém, uma instância de B pode estar associada a qualquer número de instâncias de A. Muitos_para_Muitos(M:N): uma instância da entidade A está associada a qualquer número de instâncias da entidade B, e vice-versa. OBS.: o uso de zero (0:1) ou (0:N) indica a totalidade do relacionamento.

Integridade Restrições de Integridade A B A B a1 a2 a3 a4 a5 A 1:1 b1 b2 b3 b4 b5 B a1 a2 a3 A 1:N b1 b2 b3 b4 b5 B a1 a2 a3 a4 a5 N:1 b1 b2 b3 a1 a2 a3 a4 a5 N:M b1 b2 b3 b4 b5

Representações Representação clássica Chen A 1 B A N B 1 1 A 1 N B A N M B

Representações Representação UML A 0..1 0..1 B A 0..1 1..N B A 0..N 0..1 B A 0..N 0..M B

Representações Observação Obs.: Diagramas ER dizem quantas instâncias fazem parte de um relacionamento, mas não dizem quais instâncias. Exercício: Faça um modelo ER para modelar Notas Fiscais de uma empresa.

Entidades Fracas São entidades que são dependentes de existência ou de identificação de um outra entidade. É outra classe de restrição. Se a existência de uma instância x depende da existência de uma outra instância y, então x (instância subordinada) é dependente de existência de y (instância dominante), e, portanto, a entidade que contém x é fraca com relação à entidade que contém y. Então, se y for removido, x também o será.

Entidades Fracas Ex.: Relacionamento entre Empregados e Dependentes 1 Empregado tem 0..N Dependente

Chaves Como distinguir as instâncias de uma entidade? Num Banco de Dados, isto é feito através dos atributos das entidades que formam as chamadas chaves de identificação. Toda instância de uma entidade deve ter uma chave de identificação, que deve ter um valor único e não nulo.

Chaves Superchave é o conjunto de atributos que identificam uma instância. Se K é uma superchave então todo superconjunto de K também será uma superchave. Ex.: Seja o esquema Empregado(matricula, nome, endereco, funcao, salario) Então: matricula é uma superchave; (matricula, nome) é uma superchave; (matricula, nome, funcao) é uma superchave.

Chaves As superchaves mínimas (que não têm nenhum subconjunto) são chamadas de chaves candidatas. Ex.: Empregado: matricula, (nome, endereco), cpf, identidade A chave candidata escolhida pelo projetista para identificar as instâncias é chamada de chave primária. Ex.: Empregado: matricula

Chaves Chave de identificação composta: é uma chave formada por mais de um atributo. Ex.: Cenário: sistema de controle de multas de trânsito. Premissas: toda multa está relacionada a um carro carros devem ser de propriedades de pessoas que tenham carteira de habilitação carteiras de habilitação são emitidas pelo DETRAN de cada estado.

Chaves Entidade Chave Estado Sigla do estado Motorista Sigla do estado + número da carteira de habilitação Carro Sigla do Estado Número da carteira de motorista Placa do Carro Multa Sigla do Estado Número da carteira de motorista Placa do Carro Número de sequência da multa Obs.: Evitar usar chaves compostas sempre que possível!

Chaves Chaves de identificação definidas pelo usuário concorrem entre si como chaves candidatas e são sujeitas à mudanças. Ex.: Entidade : Departamento Chaves candidatas: 1. Sigla do Departamento 2. Código do Centro de Custo 3. Código da Diretoria + Código da Superintendência + Código do Departamento

Chaves Chaves de identificação definidas pelo usuário concorrem entre si como chaves candidatas e são sujeitas à mudanças. Ex.: Entidade : Departamento Chaves candidatas: 1. Sigla do Departamento 2. Código do Centro de Custo 3. Código da Diretoria + Código da Superintendência + Código do Departamento

Chaves Chaves de identificação definidas pelo usuário concorrem entre si como chaves candidatas e são sujeitas à mudanças. Ex.: Entidade : Departamento Chaves candidatas: 1. Sigla do Departamento 2. Código do Centro de Custo 3. Código da Diretoria + Código da Superintendência + Código do Departamento

Chaves O que fazer quando: um departamento mudar de nome? for modificada a estrutura de codificação de Centros de Custos? um departamento mudar de diretoria? Solução: chave de identificação própria: surrogate ou object identification (object id)

Chaves Surrogates: - criados para cada entidade (chave primária) - identifica univocamente cada instância da entidade - não precisa ser percebido pelos usuários - não é controlado pelos usuários (gerado automaticamente pelo SGBD)

Chaves Surrogates: - criados para cada entidade (chave primária) - identifica univocamente cada instância da entidade - não precisa ser percebido pelos usuários - não é controlado pelos usuários (gerado automaticamente pelo SGBD)

Chaves Surrogates: - criados para cada entidade (chave primária) - identifica univocamente cada instância da entidade - não precisa ser percebido pelos usuários - não é controlado pelos usuários (gerado automaticamente pelo SGBD)

Chaves Surrogates: - criados para cada entidade (chave primária) - identifica univocamente cada instância da entidade - não precisa ser percebido pelos usuários - não é controlado pelos usuários (gerado automaticamente pelo SGBD, através de sequence)

Chaves Surrogates: Entidade = Identidade + Propriedades Identidade: chave de identificação própria Propriedades: chaves de identificação definidas pelo usuário outras propriedades

Chaves Regras de Integridade: Toda instância de uma entidade possui um valor para chave de identificação própria da entidade O valor da chave de identificação própria para uma instância é único e não nulo dentro da entidade O valor da chave de identificação própria de uma instância não pode ser modificado Obs.: Surrogates não devem ser reutilizados!!!

MER Estendido Superclasses e Subclasses Vimos que uma entidade é usada para representar um conjunto de instâncias do mesmo tipo (Ex. Empregado). Porém, muitas vezes uma entidade tem subentidades que necessitam ser representadas explicitamente. Ex. Empregado pode ser agrupado em: Secretária, Engenheiro e Técnico

MER Estendido Subclasses (Subentidades) Estas subentidades são subconjuntos da entidade Empregado, ou seja, cada instância de uma subentidade é também uma instância da entidade Empregado. Então dizemos que Secretária é_uma Empregada, Engenheiro é_um Empregado e Técnico é_um Empregado. Este relacionamento é_um caracteriza a herança. Ou seja, a subentidade (subclasse) herda todos os atributos e relacionamentos da superentidade (superclasse).

MER Estendido Superclasses e Subclasses É importante notar, que nem toda instância da superentidade é membro de uma subentidade. Ex.: podemos ter empregados que não são nem secretária, nem engenheiro, nem técnico.

MER Estendido Empregado É_um Secretária Engenheiro Técnico

Especialização É o processo de definir um conjunto de subclasses de uma entidade (superentidade). Podem-se ter várias especializações de uma mesma entidade, baseado em Características distintas. Ex.: a entidade Empregado pode também ser especializada nas subentidades Assalariado e Horista.

Especialização Existem pelo menos duas razões para usar especialização num modelo de dados: Certos atributos podem ser aplicados somente a algumas instâncias de uma entidade (subclasse), mas não a todas. Ex.: Secretária: línguas, velocidadedigitação Engenheito: Especialidade, CREA Motorista: número da carteira de habilitação, categoria Alguns relacionamentos só se aplicam a algumas instâncias que pertencem a uma subclasse. Ex.: Horistas pertencem_a Empreiteras

Generalização É o processo inverso à Especialização, isto é, é um processo de síntese em que suprimimos as diferenças entre várias entidades (subclasses), identificamos suas características comuns e as generalizamos numa superclasse.

MER Estendido Restrições Cobertura Total: cada instância da superentidade deve ser uma instância de alguma subentidade. Ex.: Todo Empregado deve ser Engenheiro, Secretária ou Motorista Cobertura Parcial: uma instância de uma superentidade pode não ser membro de nenhuma subclasse. Ex.: Pode existir empregado que não seja Engenheiro, Secretária nem Motorista.

MER Estendido Restrições Disjunção: uma dada instância pode ser membro de no máximo uma subentidade. Ex.: Empregado ou é secretária, engenheiro ou técnico. Sobreposição: uma mesma instância pode ser membro de mais de uma subentidade Ex.: Empregado pode ser engenheiro e técnico.