Unidade 2 Modelo Conceitual

Slides:



Advertisements
Apresentações semelhantes
Abordagem Entidade Relacionamento
Advertisements

MER – Modelo de Entidade Relacionamento
O Modelo E-R Definição: Características
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Bancos de Dados Projeto de BD
Banco de Dados Aplicado ao Desenvolvimento de Software
UFCG/CCT/DSC Cláudio Baptista
Objetivos do Curso Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar:
Modelo de Entidade-relacionamento
Modelagem Entidade-Relacionamento (MER)
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
Reconhecimento de Padrões Métodos Sintático e Estrutural Disciplina: Tópicos em Inteligência Artificial Prof. Josué Castro.
EA976 – Engenharia de Software AULA 19 Pré-Projeto e Modelagem de Negócios.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Banco de Dados.  Relacionamentos  Exercícios  abstração de uma associação entre  (ocorrências de) entidades  simbologia: losango nomeado  denota.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Normalização. CONCEITOS  Decomposição de esquemas para evitar anomalias de atualizações;  Processo de avaliação campos de uma tabela, com o objetivo.
Modelo Entidade-Relacionamento
Relacionamentos Avançados do Modelo Entidade-Relacionamento
Banco de Dados I Modelagem Relacional
Projecto de bases de dados relacionais:
Banco de Dados Modelo de Dados
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Introdução OO.
Universidade Federal de Santa Catarina
Prof: Márcio Soussa Centro Universitário Jorge Amado
Análise e Projeto de Sistemas II
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Tema 4 - Modelagem ER: Técnicas e Ferramentas
Prof. Wellington Franco
Diagrama de Casos de Uso (Use Cases)
Diagrama de Atividade Prof. Thales Castro.
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Banco de Dados Representa o arquivo físico de dados, armazenado em dispositivos periféricos, para consulta e atualização pelo usuário. Possui uma série.
Classes e Objetos Aula 11/08/2014.
Tema 3 - Modelagem ER: Conceitos e Fundamentos
Curso Superior de Tecnologia em BD
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
BANCO DE DADOS II.
4 CONCEITOS BÁSICOS EM POO
BANCO DE DADOS Araújo Lima Nov / 2017 Araújo.
Prof: Márcio Soussa Centro Universitário Jorge Amado
BANCO DE DADOS Araújo Lima Nov / 2017 Araújo.
Modelagem de Banco de Dados através do ERwin
Modelagem de Dados/Modelo Entidade-Relacionamento
BANCO DE DADOS I.
UML Diagrama de Classes
Modelagem de Objetos de Domínio com Diagrama de Classes
TLBD 1 Técnicas de linguagem de banco de dados 1
Estatística: Conceitos Básicos
DCC011 Introdução a Banco de Dados Modelo Entidade-Relacionamento
MER – Modelo de Entidade Relacionamento
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Rosemary Silveira Filgueiras Melo
Prof: Márcio Soussa Centro Universitário Jorge Amado
Modelagem Conceitual - Análise Conceitual
Universidade Federal de Santa Catarina
CONJUNTOS.
Módulo III Capítulo 2: SQLite
Aula Prática Objeto-Relacional Monitoria GDI
Modelagem Entidade-Relacionamento (MER)
Paradigma de Orientação a Objetos
Modelo Entidade-Relacionamento
Prof. Marcio Ferreira Modelagem de dados II
BANCO DE DADOS.
Modelagem de Banco de Dados
Introdução ao Modelo Relacional Capítulo 2 - Database System Concepts – 6ª. Ed - Silberschatz et al Curso: Ciência da Computação Disciplina: Banco de Dados.
Sistemas de Informação
Transcrição da apresentação:

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

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) Unidade 2 Cláudio Baptista Banco de Dados I

Coleta e Análise de Requisitos 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 MER 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 MER 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. MER 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)

MER 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

MER Entidades Entidades devem ser descritas num Dicionário de Dados

MER Entidades Entidades devem ser descritas num Dicionário de Dados

Entidades Instância: Objeto de uma entidade com suas respectivas MER 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 MER 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.

MER 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: MER Atributos Atributos devem também ser descritos no Dicionário de Dados:

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

Atributos Simples: é atômico. MER 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)

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

MER 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)

MER 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 MER 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 Projeto trabalha 1..N 1..N horas matricula MER Relacionamentos Empregado Projeto trabalha 1..N 1..N horas matricula nome salário

MER Relacionamentos Empregado supervisiona 0..N 0..1

MER 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

MER 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 Departamento Trabalha horas matricula nome salario codigo gerente

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”

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

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.

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.

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

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

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

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.

MER 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 MER Entidades Fracas Ex.: Relacionamento entre Empregados e Dependentes 1 Empregado tem Dependente 0..N

MER 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.

MER 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.

MER 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

MER 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”.

MER Chaves

MER 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: Sigla do Departamento Código do Centro de Custo Código da Diretoria + Código da Superintendência + Código do Departamento

MER 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: Sigla do Departamento Código do Centro de Custo Código da Diretoria + Código da Superintendência + Código do Departamento

MER 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: Sigla do Departamento Código do Centro de Custo Código da Diretoria + Código da Superintendência + Código do Departamento

Chaves O que fazer quando: MER 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) MER 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) MER 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) MER 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) MER 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: Identidade: chave de identificação própria MER 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: MER 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 MER Estendido Empregado É_um Técnico Engenheiro Secretária

Especialização É o processo de definir um conjunto de subclasses de MER 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.

MER 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 MER 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.