• Nenhum resultado encontrado

Modelo Conceitual de Dados

N/A
N/A
Protected

Academic year: 2021

Share "Modelo Conceitual de Dados"

Copied!
9
0
0

Texto

(1)

Modelo Conceitual de Dados

O modelo conceitual de dados é um modelo abstrato que descreve as informações contidas no sistema. O objetivo final do modelo de dados é a criação da base de dados do sistema.

As informações contidas no modelo serão aquelas que o sistema precisa ter para executar uma ou mais funções e que não são fornecidas pelo mundo exterior no momento que a função é solicitada, mas sim anteriormente, durante a execução de outra função do sistema. O sistema precisa se lembrar dessa informação entre uma e outra utilização, devendo ela pertencer de sua memória.

O modelo de dados é um tipo de requisito do sistema. Descreve tudo o que o sistema tem que saber. Ele estabelece um vocabulário, indica que informação está sendo compartilhada e qual o escopo de conhecimento que está sendo considerado pelo sistema.

A criação do modelo de dados é um processo de especificações sucessivas. Inicialmente descrevemos um modelo do ambiente observado, normalmente descrevendo o mundo como ele é visto pelo usuário. Esse modelo é conhecido como modelo conceitual de dados. No final devemos possuir uma descrição na visão do desenvolvedor, descrevendo o mundo de uma forma específica, otimizada para os dispositivos sendo utilizados na implementação do sistema (linguagens de programação, SGBD, sistema operacional e hardware), o modelo físico.

Entre o modelo conceitual e o modelo físico devemos passar por um passo intermediário, considerando uma tecnologia específica, mas não com os produtos sendo utilizados. Esse passo é conhecido como modelo lógico.

A principal forma de modelagem de dados é o modelo de entidade e relacionamentos (MER), por meio do diagrama de entidades e relacionamentos (DER).

No modelo de entidades e relacionamentos contamos com três abstrações para modelar o mundo: entidades (coisas e conceitos), atributos (características dessas coisas e conceitos) e relacionamentos (relações existentes entre essas coisas e conceitos).

A Memória do Sistma

Para cada necessidade do cliente (relatórios, tomadas de decisão, etc.) o sistema precisa de certa quantidade de dados. Esses dados são sempre fornecidos pelo mundo exterior, porém, nem sempre no mesmo momento em que a função necessária é realizada.

Um sistema de informações é composto por funções que coletam dados para que sejam, mais tarde, utilizados por funções que fornecem relatórios.

Os dados necessários para realizar uma função precisam estar em algum lugar. Com a modelagem conceitual de dados damos a forma abstrata a esse lugar (memória), de maneira a entender o que deve estar guardado na memória sem decidir, prematuramente, sua localização e estrutura.

Modelo conceitual

Fornece aos desenvolvedores uma descrição abstrata de alto nível da informação contida no sistema, independente de tecnologia.

A modelagem conceitual de dados pode ser construída a partir da análise de requisitos, em geral simultaneamente ao desenvolvimento da análise essencial.

(2)

Para a criação do DER é necessário fazer o levantamento do conjunto de regras de negócio.

Um relacionamento em uma regra de negócio pode representar uma função do sistema, enquanto um relacionamento no MER representa algo que deve pertencer à memória do sistema.

Modelo lógico

Descreve a informação contida no sistema de acordo com uma tecnologia adotada, sem utilizar, porém, detalhes de implementação.

Modelo físico

Leva em conta não só a tecnologia utilizada, mas também os produtos específicos e a interação do sistema com o ambiente de desenvolvimento e operação.

Nessa etapa nos preocupamos com as principais questões de desempenho.

Modelo de Entidades e Relacionamentos

O modelo de entidades e relacionamentos descreve o mundo cheio de coisas que

possuem características próprias e que se relacionam entre si.

Entidade

Essas coisas podem ser pessoas, objetos, conceitos, eventos, etc. Elas são classificadas em entidades (classe).

Uma entidade pode ser:

Um objeto real, como um livro, uma máquina, um lugar, um avião, um quarto. Uma pessoa, como um empregado, um contribuinte, um aluno, um cidadão. Um conceito abstrato, como um curso, uma cor, uma empresa.

Um acontecimento.

Para representar os objetos específicos, os membros da classe, usamos o termo instância. Cada um dos membros de uma entidade deve ser identificado distintamente.

No diagrama de entidade e relacionamentos cada entidade é representada por um retângulo, identificado pelo nome.

Durante a modelagem conceitual nos preocupamos com as coisas que o sistema deve lembrar e colocamos essas coisas no modelo de entidade e relacionamentos.

Uma entidade deve ser relevante para o objetivo do negócio e necessária para a sua operação.

Passos na determinação das entidades:

1. Durante as entrevistas e reuniões de análise de sistemas vários objetos e conceitos serão descritos como parte do sistema: produto, estoque, nota fiscal, curso, etc. 2. Entidades são geralmente substantivos ocupando um papel de sujeito ou objeto. 3. O fato de algo que precisa ser lembrado representar um conceito ou idéia completa.

Por exemplo, nome do aluno, data de matrícula do aluno, curso em que está o aluno, etc. O aluno é nossa idéia completa.

Uma entidade pode estar em cinco grandes categorias: Objetos tangíveis: produtos, equipamentos, etc.

Papéis exercidos: aluno, professor, etc. Eventos: reunião.

Interações: contratação de serviço, venda de produto. Especificações: automóvel.

Regras para verificar se um conceito deve ser realmente escolhido como uma entidade:

(3)

Toda entidade deve ter um papel único e definido no negócio.

Entidades devem ter ao menos um atributo (característica) que as descrevam. Entidades devem ter mais de uma instância (registro).

Entidades devem possuir instâncias unicamente identificáveis. Entidades não possuem valores, apenas atributos possuem valores.

Relatórios são apenas os resultados de um processo que acessa várias entidades. Substantivos em regras de negócio são normalmente entidades.

Um grupo de dados que se repete em uma entrada ou saída de dados é normalmente uma entidade.

Podemos utilizar alguns documentos para encontrar entidades: Relatórios

Formulário de entrada de dados Arquivos (papel ou computador) Fichas (cadastro, empréstimo) Pedido e requisições

Listagens, registros, agendas, protocolos e outros documentos de trabalho Sistemas já existentes

Bancos de dados já existentes

É importante a descrição precisa de cada entidade. Sua descrição serve de documentação e de teste para verificar se entendemos realmente sua presença no sistema. Itens para descrição de entidade:

Nome Definição Exemplos Atributos Relacionamentos Eventos

Correlação (outras partes que se referem a ela)

Regras de exceções relacionadas a essa entidade (regras de negócio) Outros comentários e observações

Uma idéia da quantidade esperada de instâncias (registros) no sistema Atributos

Os atributos são características que toda a instância de um tipo possui, mas podem variar entre as instâncias.

Uma instância de tipo aluno tem os atributos (campos) nome e ano de matrícula, por exemplo.

Atributos caracterizam a informação que deve ser guardada sobre uma entidade. Só devemos colocar como atributos aquelas informações que o sistema precisa lembrar em algum momento.

Atributo mais o seu valor é um dado sobre a entidade.

Para descrever atributos devemos definir as seguintes características: Nome

Descrição

Domínio (valores válidos – inteiro, real, string ou uma lista de valores, ou ainda criados pelo projetista)

Tipos de nulos aceitos Exemplos

(4)

Na descrição devemos explicar qual a finalidade do atributo, atribuição dos valores, o que significa cada valor, que m define a escolha do valor, quando, por que e por quem o valor é atribuído ou alterado, etc.

Atributos são denotados no mesmo retângulo da entidade. Atributos identificadores

Uma abstração importante é a identificação. Nos modelos ER cada instância de uma entidade deve ser identificada unicamente com um objeto ou conceito do mundo real. Para fazer a identificação são utilizados atributos e relacionamentos identificadores.

Algumas vezes mais de um atributo, ou relacionamento, serve como identificador único, porém de forma independente (placa de carro, número do chassi).

Um atributo identificador típico em sistemas financeiros é o CPF de uma pessoa física ou o CNPJ de uma pessoa jurídica.

Muitas vezes precisamos de mais de um atributo identificador. Dizemos q ue a chave primária é composta. Se usamos apenas um atributo como identificador, então dizemos que a chave primária é simples.

Chaves estrangeiras

Chave estrangeira é uma característica do modelo relacional. Uma chave estrangeira é uma chave de outra tabela (entidade) que usamos em uma tabela para indicar o relacionamento. É comum que as ferramentas de modelagem copiem as chaves estrangeiras automaticamente.

Domínios

Cada característica deve possuir um domínio. O domínio indica o conjunto de valores válidos para a característica.

Nome: aceita qualquer sequência de caracteres. Sexo: o domínio possível será M ou F.

Endereço: é uma estrutura de dados, tendo outros atributos e seus domínios. Relacionamentos

Entidades podem se relacionar entre si. Toda entidade deve possuir ao menos um relacionamento que a coloque em contato com as outras entidades do sistema. O modelo de entidades e relacionamentos permite que naveguemos no modelo.

Podemos indicar relacionamentos apenas pelas entidades envolvidas, como

cliente-pedido. Esse relacionamento pode ser descrito como: cliente solicita pedido.

Dado uma entidade aluno e uma entidade curso, tem-se um relacionamento:

aluno frequenta curso. Os dados do aluno e os dados do curso, tem um relacionamento

de onde deriva outros dados pertinentes àquelas duas entidades, por exemplo: data de

inscrição do aluno no curso não refere-se somente ao aluno, nem tão pouco ao curso,

mas a ambos simultaneamente.

Muitas vezes uma regra de negócio, como alunos cursam turmas ou clientes

fazem pedidos nos indica entidades e relacionamentos.

Relacionamentos representam que existe alguma conexão entre entidades dentro do negócio. Cada relacionamento deve ser também uma regra de negócio e é utilizado pelo menos um processo que lida com as entidades envolvidas.

Exemplos de relacionamentos:

Visitantes que emprestaram um livro (navega de livro para clientes) Produtos que um cliente pediu (navega de clientes para produtos) Peças compões máquinas

(5)

Bicicleta é um meio de transporte Cliente faz (gera) pedido

Visita atende solicitação de reparo Cliente usa produto

Um automóvel é obrigatoriamente fabricado em uma fábrica Nem todos os livros em uma livraria já foram vendidos

Um professor só pode dar aulas para alunos da escola em que trabalha Fazer pedidos de livros para uma editora

Cardinalidade

A cardinalidade indica quantas vezes uma instância da entidade pode se relacionar com instâncias de outras entidades.

Exemplo: uma filha só pode ter uma mãe, mas uma mãe pode ter várias filhas. Relacionamentos:

1:1, um para um → cada entidade só pode se relacionar com uma entidade do outro conjunto (indica semelhança, igualdade).

1:N, um para muitos → cada entidade de um conjunto pode se relacionar com várias entidades do outro conjunto, mas as entidades do segundo conjunto só podem se relacionar com uma entidade do primeiro conjunto (relações de posse, hierarquia, composição).

N:M, muitos para muitos → podem indicar eventos, contratos, acordos, ligações temporárias (empréstimos, aluguéis), etc.

A cardinalidade máxima indica quantas vezes uma entidade pode aparecer em um relacionamento.

Quando falamos da cardinalidade mínima usamos notação de par ordenado, (0,1):(1,N) por exemplo, onde o primeiro número do par indica a cardinalidade mínina e o segundo a máxima. A cardinalidade mínima indica uma exigência da participação de uma instância da entidade em relacionamentos.

A cardinalidade mínima 0 em ambos os lados indica a existência própria de ambos os objetos. A cardinalidade mínima 1 indica a necessidade de um objeto pertencer ou ser criado por outro.

Tipos de relacionamentos: (0, 1) : (0, 1)

o Exemplo 1: alocação de cabines e reboques de caminhões em uma empresa de aluguel de viaturas: cada cabine só pode ter um reboque e vice-versa o Exemplo 2: uma igreja pode ter um catálogo de frequentadores e quer saber

quem é casado com quem (e quem é solteiro). (1, 1) : (0, 1)

o Exemplo: distribuição de papéis de uma peça de teatro em uma companhia de atores: cada ator só pode fazer um papel, alguns atores podem não ter papel, mas todos os papéis têm um ator, e apenas um ator.

(0, 1) : (1, 1) (1, 1) : (1, 1)

o Uma entidade não pode existir sem estar relacionada com outra (é melhor unir as duas entidades em uma só).

(0, 1) : (0, N)

o Exemplo 1: um computador só pode estar alocado em um departamento ou pode estar no estoque (sem alocação)

(6)

o Exemplo 2: um departamento pode ter 0, 1 ou vários computadores alocados para si.

(0, N) : (0, 1) (0, 1) : (1, N)

o Exemplo: uma loja de carros novos pode em uma mesma venda negociar vários carros, mas necessariamente a venda contém um carro.

(1, N) : (0, 1) (1, 1) : (0, N)

o Exemplo: cada multa é de apenas um automóvel, mas podem existir automóveis com 0, 1 ou mais multas.

(0, N) : (1, 1) (1, 1) : (1, N)

o Exemplo: cadastro de pessoas jurídicas, que devem possuir um endereço, mas podem possuir mais de um.

(1, N) : (1, 1) (0, N) : (0, N)

o Exemplo: relação entre alunos e cursos oferecidos em um semestre em uma universidade. Alguns cursos não recebem inscrição, alguns alunos não fazem inscrição em nenhum curso.

(0, N) : (1, N)

o Exemplo: relação entre músicas e CDs onde estão gravadas, para controle de uma discoteca. Uma mesma música pode estar em vários CDs, mas não é possível registrar um CD sem músicas (deve existir pelo menos uma). Porém, uma música pode nunca ter sido gravada.

(1, N) : (0, N) (1, N) : (1, N)

o Exemplo: relação entre salas de uma empresa e móveis colocados nessa sala (ideal trocar essa representação pelo relacionamento (0, N) : (1, N)).

O nome escolhido para o relacionamento pode estar na voz ativa ou na voz passiva. Geralmente se usa o nome que permita a leitura do relacionamento da esquerda para a direita.

Relacionamentos também devem ser descritos e comentados, sendo importante responder qual sua função no sistema, o que eles representam, como e quando são estabelecidos ou destruídos.

Diagrama de Entidade e Relacionamentos

Diagramas de entidades e relacionamentos descrevem o mundo em geral ou um sistema em particular de acordo com os objetivos que o compõe e os relacionamentos entre esses objetos.

Os objetivos dos DERs é documentar graficamente a relação existente entre os dados utilizados pelo sistema, e quantificar a relação estabe lecendo uma política de restrição de integridade.

A notação para diagrama de entidades e relacionamentos é composta de entidades (retângulos), relacionamentos (losangos) e linhas de conexão (linhas) que indicam a cardinalidade de uma entidade em um relacionamento.

Exemplos

A representação de uma entidade (depósito de dados). CLIENTE

(7)

Uma relação entre entidades.

Visão dos componentes.

Cliente faz pedido(s)

Pedido(s) possui(em) produto(s)

O modelo a seguir pode ser lido da seguinte forma:

Entidades do modelo: diretor, novela, capítulo, ator, ator horista e hora.

Um diretor dirige no máximo uma novela, podendo não dirigir nenhuma, e uma novela é dirigida por um e apenas um diretor.

Um capítulo compõe uma e apenas uma novela e uma novela tem no mínimo um capítulo, podendo ter um número ilimitado deles.

Um ator atua em uma novela, podendo não atuar em nenhuma, e uma novela tem ao menos um ator, podendo ter vários.

Um ator pode ser um ator horista e um ator horista é obrigatoriamente um ator. Um ator horista trabalha de zero a várias quantidades de horas, mas uma quantidade

de horas é trabalhada por apenas um ator.

(1, 1) (0, N) (1, 1) (0, 1) (1, N) (0, 1) (1, N) (1, 1) (1, 1) (0, 1) FAZ

CLIENTE FAZ PEDIDO

PRODUTO POSSUEM

DIRETOR

CAPÍTULO

ATOR

ATOR HORISTA HORAS

NOVELA DIRIGE COMPÕE AT UA PODE SER T RABALHA

(8)

O modelo conceitual de dados exige duas coisas: um alto grau de abstração e a internalização, pelo analista, de conceitos bastante vagos, como entidades e

relacionamentos.

Estratégias para entender melhor como desenvolver um modelo conceitual: 1ª. Exercícios e exemplos.

2ª. Lista de dicas de trabalho.

Exercícios

1. Proponha os dados (atributos) mínimos necessários para atender as necessidades dos usuários nas situações descritas a seguir:

a) Nosso laboratório clínico está um horror. É só reclamação de cliente em cima de reclamação. Também pudera, todos os nossos controles são manuais e realizados nesse tipo de fichinha. O cliente telefone aqui e pergunta, como está o meu exame? Já posso ir buscar? E quem consegue responder a ele a quanta andam o seu sagrado exame? Ainda bem que resolveram informatizar todo o processo e mandaram você para cá. Qualquer coisa que você precisar, esteja a vontade, é só me chamar, ta?

b) Boa tarde, eu sou da imprensa e gostaria de fazer uma reportagem sobre compras no exterior e vou citar sua empresa por ser uma das mais importantes do país. Comecemos com alguns dados. Qual a quantidade média mensal de passageiros que a empresa transporta para Miami e para Foz do Iguaçu? Em quais semanas que antecedem feriados a procura é maior?

c) Alô, é do RH? Boa tarde, eu preciso saber a lista de todos os analistas seniores e de todos os administradores de dados que tiveram nota A e B nas sete últimas avaliações individuais. Este pessoal será homenageado. Grato.

d) Aqui nesta filial de nossa rede de supermercados, qua l foi a mercadoria que acabou primeiro, que atingiu o nível mínimo de estoque no mês passado? E na filial do centro da cidade?

e) Temos cinco equipes de vendedores que atendem exatamente cinco regiões. Fizemos um rodízio entre elas nos últimos cinco meses. Todas as equipes ficaram um mês em cada região. Agora precisamos saber qual equipe se adaptou melhor e venceu mais em cada região para alocá-las convenientemente. Mas observe que estes dados não podem se brutos, têm que ser proporcionais, porque as sazonalidades que influenciam o comércio foram iguais para todas, e assim eliminamos as discrepâncias.

2. Considere os textos a seguir e indique em cada um, os objetos, os atributos e os conteúdos dos atributos que estão citados:

a) Compramos mais três livros, O povo brasileiro do Darcy Ribeiro, História da

riqueza do homem do Léo Huberman e Economia e sociedade do Max Weber.

São ótimos.

b) Conseguimos mais alguns assinantes, o Sr. Nicolau, engenheiro, que irá fazer uma assinatura semestral do jornal Gazeta do povo, a partir de 15/01/2011 e a Sra. Vera, advogada, que irá fazer uma assinatura anual da revisa Veja a partir de 01/12/2010.

3. Proponha o desenho do MER para cada situação a seguir:

a) Cada partido apresenta diversos candidatos para disputar as eleições. Cada município do país tem diversas zonas eleitorais e cada uma das zonas eleitorais têm associadas diversas seções eleitorais (local onde fica a urna). Nesse sentido, os eleitores que votam, o fazem, cada um na seção eleitoral em que está inscrito.

(9)

O resultado da eleição, a votação é apresentada por seção eleitoral, e os candidatos para saberem o total de votos obtidos precisam verificar sua votação em cada uma das seções eleitorais. Observe que o voto é secreto, portanto não há nenhuma vinculação entre o eleitor e o resultado da votação.

b) Uma empresa tem muitos contratos de fornecimento firmados com diversos fornecedores. A relação entre a empresa e seus fornecedores se dá através dos contratos de fornecimento firmados entre ambas. Cada contrato de fornecimento diz respeito a um único produto fornecido, ou seja, para cada produto um contrato. Ocorre que o produto pode ser fornecido por diversos fornecedores. Neste caso assina-se um contrato de fornecimento para cada produto de cada um dos fornecedores.

Todo produto tem uma especificação de qualidade. Sem esta o produto não pode ser comprado. Uma mesma especificação de qualidade, que diz como deve ser o produto e suas características, pode servir de especificação para mais de um produto. E a especificação de qualidade é especificada por funcionários qualificados para tal. Algumas especificações de qualidade são especificadas por um grupo de funcionários, outras por apenas um. Alguns funcionários são responsáveis por diversas especificações de qualidade.

A empresa tem diversas filiais. E são estas que compram produtos que a empresa tem catalogado. A compra se dá através de uma solicitação de compra que a filial emite. Uma solicitação de compra pode solicitar diversos produtos.

4. Proponha os atributos mínimos necessários para atender e o MER para atender as necessidades do usuário a seguir:

Sr(a). analista, estou te contratando porque quero aumentar a produção e a produtividade do meu rebanho. Eu tenho um retiro com 300 vacas leiteiras. Mas estou achando que a coisa não está muito boa não. Eu preciso melhorar meu rebanho. Veja bem, são três necessidades:

a) Toda vaca tem que parir um bezerro sadio por ano, porque se não for assim tenho prejuízo com o capim, ração e vacinas que gasto com ela. Neste caso tenho que mandá- la para o açougue. Eu preciso, então, do controle de fertilidade do meu rebanho, porque eu não sei qual vaca está com este desempenho e qual tem problema.

b) Outra coisa importante é o leite que cada uma produz. O leite é minha única fonte de renda perene, e com ela pago todos os meus custos na fazenda. Mas veja só, eu preciso de vaca de boa produção. Esta raça tem que dar no mínimo quatro litros de leite por dia. Preciso mandar pro frigorífico toda vaca que não me produz no mínimo 120 litros por mês. É outra fonte de prejuízo.

c) Outro problema é a qualidade do leite. Agora os laticínios estão muito exigentes. Dependendo do teor de gordura do leite eles produzem leite C ou leite B. A raça deste meu gado não consegue alcançar a gordura do leite tipo A. Eles me pagam 25% mais para o leite do tipo B. Acontece que uma vaca prá produzir leite B tem que comer ração, que está ficando muito cara. E tem vaca que mesmo comendo ração só produz leite fraco, leite C. Eu preciso separar as vacas que produzem leite C das de leite B, porque hoje todas estão comendo ração. O sistema tem que fazer um controle de qualidade do leite de cada vaca, registrando o teor de gordura, porque aí a gente separa o rebanho em dois e só dá ração para as vacas de leite gordo.

Referências

Documentos relacionados

Se educação em saúde já se configura como ação de promoção sustentável para envolver a hanseníase, a abordagem das questões sobre o estigma ser reveste de

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

devastadoras e trágicas para o seu povo; que dezenas de civis, incluindo crianças, foram e continuam a ser vítimas deliberadas desta brutal guerra civil e que mais de 400 000

As viagens tinham como principal razão: principal razão: as peregrinações/ culto dos lugares as peregrinações/ culto dos lugares

Mova a alavanca de acionamento para frente para elevação e depois para traz para descida do garfo certificando se o mesmo encontrasse normal.. Depois desta inspeção, se não

De acordo com estes resultados, e dada a reduzida explicitação, e exploração, das relações que se estabelecem entre a ciência, a tecnologia, a sociedade e o ambiente, conclui-se