MODELAGEM DE DADOS -...

Post on 04-Oct-2020

22 views 0 download

Transcript of MODELAGEM DE DADOS -...

MODELAGEM DE DADOS

Projeto de Banco de Dados

Modelo Conceitual

Prof. Rosemary Melo

OBJETIVOS Conhecer a arquitetura de 3 esquemas (projeto conceitual, lógico e físico) Entender o conceito e o processo de abstração de dados. Identificar os principais objetos conceituais (entidades, relacionamentos e atributos) Conhecer as representações básicas destes objetos conceituais

PROJETO DE BANCO DE DADOS

• OBJETIVOS DO PROJETO DE BANCO DE DADOS

Gerar um banco de dados que permita armazenar informações sem redundância e recuperá-las com facilidade. O projeto cuidadoso de um banco de dados é algo obrigatório que não pode ser negligenciado ou deixado nas mãos de quem não tem conhecimento técnico para tal. (Luís Damas)

PROJETO DE BANCO DE DADOS

• Principais fases de um Projeto de Banco de Dados

Mini Mundo: Mini-mundo é uma parcela do mundo real de interesse do usuário. Equivale a Domínio do Problema, Domínio de Conhecimento ou Universo/Domínio de Discurso. Tudo o que está fora do mini-mundo é irrelevante no momento. Requisitos (de Informação): estabelecem as Informações necessárias (dentro de um Domínio de Problema) aos processos organizacionais, nos diversos Níveis (Estratégico, Tático e Operacional) de uma organização. Mecanismo de Abstração: processos da mente humana para a construção do conhecimento. Abstração é um processo através do qual o ser humano “foca” algumas propriedades (características) de fenômenos da realidade e se abstrai (não considera) outras propriedades (características) não relevantes.

PROJETO DE BANCO DE DADOS

• PROCESSO DE MODELAGEM

1. Levantamento e análise de requisitos: Durante essa etapa, o projetista entrevista o possível usuário do banco de dados para entender e documentar seus requisitos de dados. Em paralelo à especificação dos requisitos de dados, é útil definir os requisitos funcionais conhecidos da aplicação: operações (ou transações) que serão empregadas no banco de dados. 2. Criar um esquema conceitual (essa fase é chamada projeto conceitual). Não incluem detalhes de implementação e são, normalmente, mais fáceis de entender e podem ser empregados na comunicação com os usuários não-técnicos. Permite que os projetistas de banco de dados se concentrem na especificação das propriedades do dado, sem se preocupar com os detalhes de armazenamento.

PROJETO DE BANCO DE DADOS

• PROCESSO DE MODELAGEM

A próxima etapa no projeto do banco de dados é a implementação real do banco de dados utilizando um SGBD comercial. 3. Projeto lógico ou mapeamento do modelo de dados: transforma um modelo de dados de alto nível em um modelo de dados de implementação. 4. O último passo é a fase do projeto físico: define as estruturas de armazenamento interno, índices, caminhos de acesso e organizações de arquivo para os arquivos do banco de dados. Em paralelo a essas atividades são projetados e implementados os programas de aplicação.

Navathe, pág. 36 CAMPUS JATIÚCA – Luiz Frederico L. de Oliveira

PROJETO DE BANCO DE DADOS

• PRINCIPAIS ETAPAS DO PROCESSO DE MODELAGEM

Modelagem de Dados em Três Níveis Modelo Conceitual: Representa ou descreve a realidade do ambiente do problema, constituindo-se em uma visão global dos principais dados e relacionamentos (estruturas de informação), independente das restrições de implementação. Atualmente o Modelo de Dados Conceitual mais difundido e utilizado para a modelagem de dados é o Modelo de Entidade e Relacionamento

PROJETO DE BANCO DE DADOS

Modelo Lógico: descreve as estruturas que estarão contidas no banco de dados, de acordo com o tipo particular de SGBD, mas sem considerar, ainda, nenhuma característica específica de um SGBD, resultando em um esquema lógico de dados sob a ótica de uma das abordagens adotada. O modelo mais difundido,devido ao predomínio do SGBDR é o modelo de tabelas baseado no modelo de dados relacional. Modelo Físico: descreve as estruturas físicas de armazenamento de dados (tais como: tamanho de campos e tipo de preenchimento) e os métodos de indexação mais adequados, projetados de acordo com os requisitos de processamento e uso mais eficiente dos recursos computacionais. É a implementação do modelo lógico em um determinado SGBD.

PROJETO DE BANCO DE DADOS

Vantagens e resultados Representar um ambiente observado. Servir de instrumento para comunicação. Favorecer o processo de verificação e validação. Servir como referencial para a geração das estruturas de dados. Estabelecer conceitos únicos a partir de visões diversas.

MODELO CONCEITUAL

MODELO CONCEITUAL

OBJETIVOS • Elaborar modelos conceituais de dados.

MODELO CONCEITUAL

• A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R)

Apresentado por Peter Cher em 1976. - “The Entity-Relationship Model: Toward the Unified View of Data”. Baseada no princÍpio que a torna completa e inquestionável: -“Observamos, manipulamos, reproduzimos ou simulamos coisas, seus relacionamentos e características e, portanto, assim devemos representá-las”. O que seria uma possível abordagem, tornou-se um referencial definitivo. Apresenta uma técnica de diagramação simples: -O Diagrama Entidade-Relacionamento (DER). -Notações:

Peter Chen; Pé-de-galinha (Engenharia da Informação) IDEF1X (US Air Force).

MODELO CONCEITUAL

• A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R)

NOTAÇÕES

Peter Chen

Departamento

Empregado

Departamento Dependente

Projeto

Fornecedor

Peça

emprega

Trabalha em

gerencia

fornece utiliza

gerencia tem

QTD

F# FNOME STATUS CIDADE

EMP#

ENOME

PRIMEIRO ULTIMO

SALARIO

1

M

M

M M

M

M

M

M M

M

1 1

MODELO CONCEITUAL

• A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R)

NOTAÇÕES

Pé-de-galinha (Engenharia da Informação)

MODELO CONCEITUAL

• A ABORDAGEM ENTIDADE-RELACIONAMENTO (E-R)

NOTAÇÕES

IDEF1X (US Air Force)

A imagem seguinte representa um fato comum que pode ser representado através dos elementos básicos que compõem o Modelo de Entidade e Relacionamento:

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

A representação de uma entidade no MER é feita através de um retângula, com o nome da entidade em seu interior.

São as “coisas” que existem no negócio, ou ainda, descrevem o negócio em si.

Define-se Entidade como aquele objeto que existe no mundo real, com identificação distinta e com um significado próprio.

ENTIDADE

MODELO CONCEITUAL E SEUS COMPONENTES

Existem várias formas de se representar graficamente um relacionamento, Por exemplo, Peter Chen utiliza um losango para desenhar uma associação entre entidades, outros autores a representam através de um traço unindo as entidades.

Os relacionamentos estão intimamente ligados às ações realizadas pelos processos sobre os dados e representam os caminhos de navegação ou rotas de acesso do Modelo de Dados.

Um relacionamento é uma associação entre duas entidades cujo significado seja de interesse para a realidade analisada.

RELACIONAMENTOS

MODELO CONCEITUAL E SEUS COMPONENTES

RELACIONAMENTOS

MODELO CONCEITUAL E SEUS COMPONENTES

EXERCÍCIO

Identifique as entidades, atributos e relacionamentos existentes no mini mundo descrito a seguir: Suponha que estamos fazendo a análise de dados da área de Recursos Humanos da empresa ABC e tenhamos obtido as seguintes informações: Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o cadastramento do funcionário. são registrados: nome, endereço, telefone, cargo, departamento, salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do funcionário, são registrados: nome, idade, parentesco e sexo. Para cada departamento, deseja-se saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo, deseja-se saber: nome, sigla e salário base.

MODELO CONCEITUAL E SEUS COMPONENTES

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

ENTIDADES Objeto que existe no mundo real com uma identificação distinta e com um significado próprio. A representação se realiza através de um retângulo, com o nome desta entidade em seu interior.

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

ATRIBUTOS Informações “úteis” a respeito de uma entidade ou relacionamento. A representação se realiza através de uma elipse, com o nome do atributo no seu interior. Tipos de Atributos: -Atributo Simples -Atributo Determinante ou Identificador -Atributo Composto -Atributo Multivalorado -Atributos Derivado

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

ATRIBUTOS Atributo Determinante ou Identificador. -Seu valor representa um elemento da entidade. -Seu valor é único para a entidade. Atributo Composto. Pode ser dividido em sub-atributos, para que seu significado seja melhor compreendido.

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

ATRIBUTOS Atributo Multivalorado. Pode assumir mais do que um valor para cada entidade. Atributos Derivado. Seu valor pode ser obtido a partir de outros atributos.

MODELO CONCEITUAL • ATIVIDADE - Identifique qual os tipos de atributos no modelo ao lado .

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

RELACIONAMENTOS -O fato, acontecimento que liga dois objetos, duas “coisas” existentes no mundo real. -Associação entre entidades. -Duas “coisas” + Um Verbo. - Estão intimamente ligados às ações realizadas pelos processos sobre os dados e representam os caminhos de navegação ou rotas de acesso do Modelo de Dados. A representação se realiza através de um losângulo, com o verbo do relacionamento em seu interior. Ex.: Cliente faz empréstimo.

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

RELACIONAMENTOS Grau do Relacionamento Um Relacionamento pode envolver duas ou mais Entidades. O Grau do Relacionamento é determinado pelo número de Entidades envolvidas: Relacionamentos Binários: envolvem apenas duas entidades. Relacionamentos Ternários (N-ários): envolvem três ou mais entidades.

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

RELACIONAMENTOS Cardinalidade do Relacionamento Identifica quantas vezes cada instância de uma entidade pode participar do relacionamento. Cardinalidade Máxima é representada pelos símbolos 1 ou N (ou M). Cardinalidade Mínima é representada pelos símbolos 0 ou 1.

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

RELACIONAMENTOS Cardinalidade máxima para relacionamentos binários: 1:1 - Um para Um. 1:N - Um para Muitos. M:N - Muitos para Muitos.

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

RELACIONAMENTOS Cardinalidade máxima para relacionamentos ternários: Exemplo: Escolha uma Entidade, por exemplo ALUNO, e pergunte: Quantos Alunos eu tenho, para cada par Professor-Disciplina? Escolha outra Entidade, por exemplo PROFESSOR, e pergunte: Quantos Professores eu tenho, para cada par Aluno-Disciplina? Escolha outra Entidade, por exemplo DISCIPLINA, e pergunte:Quantas Disciplinas eu tenho, para cada par Aluno-Professor?

MODELO CONCEITUAL

• COMPONENTES DO MODELO CONCEITUAL

RELACIONAMENTOS Cardinalidade Mínima é representada pelos símbolos 0 ou 1. Relacionamentos Condicionais (0): nem todos os elementos de uma entidade estão ligados com elementos de uma outra entidade. Relacionamentos Incondicionais (1): todos os elementos de uma entidade estão obrigatoriamente ligados a um elemento, no mínimo, da outra entidade.

MODELO CONCEITUAL

• ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS

Auto-relacionamento: ocorre quando uma instância de uma Entidade, se relaciona com outra(s) instância(s) da mesma Entidade. Atributos de Relacionamento:

MODELO CONCEITUAL

• ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS

Entidade Fraca: ocorre caso cada instância de uma entidade (Fraca) exista somente porque está associada a outra instância de uma outra entidade (Forte). Depende da existência de outra entidade. Se uma instância da entidade a quem ela depende for excluída, ela será excluída também.

MODELO CONCEITUAL

• ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS

Generalização e Especialização Utilizada quando ocorrer uma situação onde: -Uma entidade possuir atributos que não fazem parte de todas as instâncias da entidade. -Quando as instâncias de uma entidade se relacionarem de maneira diferente com outras entidades.

MODELO CONCEITUAL

• ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS

Generalização e Especialização Tipos: Exclusiva ou Compartilhada

Exclusiva - uma instância pode ser membro de no máximo um subtipo. Exemplo: Um empregado só pode ser horista ou assalariado. Compartilhada - uma instância pode ser membro de mais de um subtipo. Exemplo: Um empregado pode exercer uma ou mais função (engenheiro, supervisor, gerente, etc) na empresa.

MODELO CONCEITUAL

• ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS

Generalização e Especialização Tipos: Totalidade e Parcialidade

Totalidade - cada instância da superclasse deve ser um membro de alguma subclasse. Parcialidade - uma instância de uma superclasse pode não ser membro de nenhuma subclasse.

MODELO CONCEITUAL

• ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS

Entidade Associativa Tipo particular de entidade usada para eliminar os relacionamentos N:M.

MODELO CONCEITUAL

• ELEMENTOS DE CARACTERIZAÇÃO SEMÂNTICAS ADICIONAIS

Agregação Uma restrição do Modelo E-R é que não podemos expressar relacionamentos entre relacionamentos. Agregação é uma abstração através da qual relacionamentos são tratados como entidades de nível superior. ATENÇÃO: Agregação não é um Relacionamento Ternário.

MODELO CONCEITUAL

• REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO

Toda entidade deve ter um atributo identificador denominado de chave de identificação. A chave de identificação (chave primária ) de uma entidade deve ter sempre algum valor, não nulo, para cada instância da entidade. O valor da chave de identificação de cada instância deve ser único dentro da entidade. Chave de Identificação Composta é formada por mais de um atributo e ocorre normalmente quando se tem Dependência de Existência. Dependência de existência : as instâncias de uma entidade só podem ser identificadas em função da identificação de uma outra instância de uma outra entidade. Dica: Evitar chaves compostas sempre que possível

MODELO CONCEITUAL

• REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO

Integridade de Entidade 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 dentro da entidade.

O valor da chave de identificação própria de uma instância não pode ser modificado.

MODELO CONCEITUAL

• REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO

CHAVE DE IDENTIFICAÇÃO PRÓPRIA (SURROGATE) -Criada para cada entidade

-Identifica univocamente cada instância da entidade. NÃO precisa ser percebida pelos usuários NÃO é controlada pelos usuários NÃO é de preocupação dos usuários

- Surrogates não são reutilizáveis.

MODELO CONCEITUAL

• REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO

Representação de associações entre entidades é complicada quando se tem chaves compostas. Ex.: Departamento (Número da Diretoria, Número da Superintendência, Número do Departamento, Sigla, Nome) Ex.: Empregado (Matrícula, Nome, Data de Admissão, Número da Diretoria de Lotação, Número da Superintendência de Lotação, Número do Departamento de Lotação) Representação de associações entre entidades é simplificada se é usado surrogates Ex.: Departamento (Código do Departamento, Sigla, Nome, Código da Superintendência) Ex.: Empregado (Matrícula, Nome, Data de Admissão, Código do Departamento de lotação)

MODELO CONCEITUAL

• REGRAS PARA DETERMINAÇÃO DE CHAVES DE IDENTIFICAÇÃO

Representação de associações entre entidades com chave composta: Ex.: Nota Fiscal (Número da Nota Fiscal, Série da Nota Fiscal, Código do Cliente, Código da Natureza da Operação) Ex.: Item de Nota Fiscal ( Número da Nota Fiscal, Número do Item da Nota Fiscal, Número da Linha, Código da Peça, Quantidade Vendida, Valor Unitário) Representação de associações entre entidades com surrogates: Ex.: Nota Fiscal (Identificação da Nota Fiscal, Número da Nota Fiscal, Série da Nota Fiscal, Código do Cliente, Código da Natureza da Operação) Ex.: Item de Nota Fiscal ( Identificação do Item da Nota Fiscal, Identificação da Nota Fiscal associada, Número da Linha, Código da Peça, Quantidade Vendida, Valor Unitário)

MODELO CONCEITUAL

• VERIFICAÇÃO DO MODELO ER

Modelo deve ser correto Um modelo está correto quando não contém erros de modelagem, isto é, quando os conceitos de modelagem ER são corretamente empregados para modelar a realidade em questão. Pode-se distinguir entre dois tipos de erros, os erros sintáticos e os erros semânticos. Erros sintáticos ocorrem quando o modelo não respeita as regras de construção de um modelo ER. Exemplo: associar relacionamentos a outros relacionamentos. Erros semânticos ocorrem quando o modelo, apesar de obedecer as regras de construção de modelos ER (estar sintaticamente correto) reflete a realidade de forma inconsistente.

MODELO CONCEITUAL

• VERIFICAÇÃO DO MODELO ER

Modelo deve ser correto Exemplos de erros semânticos: Estabelecer associações incorretas. Um exemplo é associar a uma entidade um atributo que na realidade pertence a outra entidade. Por exemplo, em um modelo com entidades CLIENTE e FILIAL, associar a CLIENTE o nome da filial com o qual o cliente trabalha usualmente (nome de filial é um atributo de FILIAL). Usar uma entidade do modelo como atributo de outra entidade. Um exemplo seria ter, em um modelo, uma entidade BANCO e usar banco como atributo de uma outra entidade CLIENTE. Cada objeto da realidade modelada deve aparecer uma única vez no modelo ER. Usar o número incorreto de entidades em um relacionamento Um exemplo é o de fundir em um único relacionamento ternário dois relacionamentos binários independentes

MODELO CONCEITUAL

• MODELOS EQUIVALENTES

De maneira informal, diz-se que dois modelos são equivalentes, quando expressam o mesmo, ou seja quando modelam a mesma realidade. Para fins de projeto de BD, dois modelos ER são equivalentes, quando ambos geram o mesmo esquema de BD. Para entender perfeitamente este conceito de equivalência de modelos, o leitor deve conhecer as regras de tradução de modelo ER para modelo relacional.

MODELO CONCEITUAL

• MODELOS EQUIVALENTES

Relacionamento m:n versus uma entidade + 2 Relacionamentos 1:n.

MODELO CONCEITUAL

• MODELOS EQUIVALENTES

Relacionamento m:n da agregação versus uma entidade + 2 Relacionamentos 1:n.

MODELO CONCEITUAL

• MODELOS EQUIVALENTES

Atributo multi-valorado versus uma entidade.

•“Lançamento pagamento” e “dependentes” possuem outras informações (atributos) ainda não representadas no modelo.

MODELO CONCEITUAL

• INDICATIVOS PARA A ESCOLHA DE CONSTRUÇÕES DE MODELAGEM

Atributo versus entidade. Exemplo: em uma indústria de automóveis, como devemos registrar a cor de cada automóvel que sai da linha de produção? Alguns critérios para esta decisão são: •Caso o objeto cuja modelagem está em discussão esteja vinculado a outros objetos (atributos, relacionamentos, entidades genéricas ou especializadas), o objeto deve ser modelado como entidade. •Quando o conjunto de valores de um determinado objeto é fixo durante toda a vida do sistema ele pode ser modelado como atributo. Quando existem transações no sistema que alteram o conjunto de valores do objeto, o mesmo não deve ser modelado como atributo.

MODELO CONCEITUAL

• INDICATIVOS PARA A ESCOLHA DE CONSTRUÇÕES DE MODELAGEM

Atributo versus generalização/especialização. Exemplo: a categoria funcional de cada empregado de uma empresa deve ser modelada como atributo da entidade ou através de uma especialização (cada categoria funcional corresponde a uma especialização da entidade empregado)? Alguns critérios para esta decisão são: •Uma especialização deve ser usada quando sabe-se que as classes especializadas de entidades possuem propriedades (atributos, relacionamentos,generalizações, especializações) particulares.

O sexo do empregado é melhor modelado como atributo de empregado, caso não existam propriedades particulares de homens e mulheres a modelar na realidade considerada.