Home - www.devmedia.com.br

Modelagem

Companheiros e companheiras:

Quando estou determinado a vigiar duas tartarugas, pelo menos uma tem chance de fugir. Vejamos...

O artigo anterior (GA x SGBD) é como um mendigo em nosso caminho. Somos obrigados a lembrar que não está tudo legal e maravilhoso. Existem situações incômodas e mal-resolvidas. Não quero entrar numa batalha político-social (apesar de sentir que também sou responsável) nem comparar a péssima condição de meu semelhante com a burocracia guardada em máquinas criada pelos demais; mas, guardadas as distâncias e proporções, temos muitos sistemas legados (e "pseudo-sisteminhas") esperando uma assistência e a conversão para novas tecnologias - o que trará uma vida melhor para todos (usuários e pessoal de TI).

Neste , formalizarei o pensamento que mais vale a idéia bem formada que o produto mal-acabado...

O próximo artigo, se possível, será:

- Normalização de dados - "juntando os cacos para compor a garrafa".

Níveis de abstração para modelagem de dados e informações - "projetando a casa antes de construí-la".

Resumo
Introdução
Níveis de abstração para dados e informações;
Da linguagem natural para a linguagem formal;
Análise sentencial;
Conjunto de Entidades (CE);
Conjunto de Relacionamentos (CR);
Atributos de CE's e CR's;
Cardinalidade;
Grau de um relacionamento; e,
Considerações.

Introdução

Qual corintiano, palmeirense ou são-paulino não fica impressionado com a habilidade do então santista Robinho? Apesar dos treinamentos táticos e técnicos mais a forte preparação física que todos recebem, um "garoto" com talento e visão particular do jogo consegue "entortar" a todos...

Apesar de tudo o que temos disponível atualmente, ferramentas CASE e o conhecimento de metodologias, a maioria dos projetos de sistemas não se concretiza no tempo estimado e continua "estourando" orçamentos e previsões...

"Sem princípios, vive-se na obscuridade do caso: o princípio é o farol que orienta e serve apenas para aqueles que já conhecem o caminho do porto". Henry Faiol.

O saber fazer, ao invés do apertar de botões, ainda é o que realmente dá moral.

Abstrair corretamente dados, processos e suas transições, representando tudo de maneira adequada ainda é a melhor solução e o alicerce de tudo.

Não há projeto que resista a uma análise de requisitos mal-elaborada. Acompanhar projeto mal-elaborado é como caminhar com baderneiros e maloqueiros: a reputação do acompanhante sai, no mínimo, manchada.

Assim, torna-se importante conhecer mais profundamente esta faceta de solução (baseada principalmente em dados) que apresento de forma resumida.

Níveis de abstração para dados e informações:

Emprestando de Valdemar W. Setzer, Prof. Dr. em seu livro Banco de Dados (bibliografia adiante) temos...

Um possível processo de modelagem, levando à criação de uma base de dados, pode envolver vários níveis de abstração, a saber:

03_Fig-01

Abstração

Ato de separar mentalmente um ou mais elementos de uma totalidade complexa (coisa, representação, fato)...

Método de definição onde o ente (coisa, ser, substância, aquilo que existe ou supomos existir) é definido pelas propriedades que o caracterizam...

Da linguagem natural para a linguagem formal:

03_Fig-02

Do mundo real para o modelo descritivo ...

São abstraídas por administradores de dados e/ou analistas de sistemas os dados e processos que serão representados por descrições, desenhos, esquemas, rascunhos, etc.

Do modelo descritivo para o modelo conceitual ...

Aplica-se análise sentencial sobre as descrições obtidas observando-se substantivos, adjetivos, verbos e advérbios.

Os itens identificados poderão fazer parte do novo modelo como entidades, atributos e relacionamentos.

Do modelo conceitual para o modelo lógico ...

Fazemos uma transposição de dados onde entidades ou relacionamentos com atributos serão tabelas com suas respectivas ligações (relacionamentos).

Os atributos serão definidos com detalhes tais como tipo, tamanho e domínio. Exemplo: Atributo SEXO, tipo caractere, com uma posição (byte), contendo ("M", "F").

Análise Sentencial:

Transforma uma abstração “informal e imprecisa” da realidade, que está em linguagem natural (texto), para a linguagem formal dos conjuntos matemáticos.

Exemplo : Pessoas possuem carros e moram em casas .

Após análise dos substantivos , adjetivos , verbos e advérbios, formalizamos o DER (Diagrama de Entidades e Relacionamentos).

03_Fig-03

No início da década de 70, Edgard Frank Codd, Dr. formulou o Modelo de Dados Relacional que desconectou a estrutura lógica do banco de dados de seu armazenamento físico.

Depois, Peter Chen, Dr. apresentou o Modelo de Entidades e Relacionamentos propondo melhor representação dos dados e das estruturas lógicas das tabelas.

Conjunto de Entidades (CE)

Conjunto de objetos, concretos ou abstratos, distinguível de outros conjuntos de objetos.

(Pessoas, Carros, Residências)

CE Pessoas { P1, P2, ... , Pn }

Pessoa com os atributos NOME, DATA DE NASCIMENTO, SEXO, etc.

CE Carros { V1, V2, ... , Vn }

Veículo com PLACA, MODELO, COR, ANO DE FABRICAÇÃO, etc.

CE Residências { R1, R2, ... , Rn }

Residência com Nº REGISTRO, ÁREA CONSTRUÍDA, etc.

Conjunto de Relacionamentos (CR)

Conjunto de ligações entre elementos de conjuntos de entidades.

(Ter, Morar).

Obs: Para que um CR exista, são necessários CE's que se relacionem.

CR TER { (P1,V1), (P2,V2), ... , (Pn,Vn) }

Pessoas com Veículos

CR MORAR { (P1,R1), (P2,R2), ... , (Pn,Rn) }

Pessoas com Residências

Atributos

Propriedades de elementos de conjuntos: entidades (CE's) ou relacionamentos (CR's).

(Pessoa. Nome, Carro. Cor, Residência. Endereço).

Obs: Propositalmente, não desenhei e não desenharei os atributos nas entidades (e/ou relacionamentos) dos exemplos. O foco é na análise sentencial...

Cardinalidade

Representa a freqüência com que um relacionamento acontece.

Relacionamento 1:1 (um para um).

Exemplo: Homens casam-se com Mulheres .

03_Fig-04

Relacionamento 1:N (um para muitos).

Exemplo: Funcionários estão lotados em Departamentos .

03_Fig-05

Relacionamento N:N (muitos para muitos).

Exemplo: Alunos freqüentam Disciplinas .

03_Fig-06

Atributos de um Relacionamento : esta situação ocorre em relacionamentos N :N (muitos para muitos).
Grau de um Relacionamento

Indica o número de entidades que se relacionam.

Relacionamento Binário (entre duas entidades).

Exemplo: Fornecedor comercializa materiais que são usados em projetos .

03_Fig-07

Relacionamento Múltiplo - Ternário (entre três entidades).

Exemplo:

P rofessores ministram disciplinas freqüentadas
por alunos .
A lunos freqüentam disciplinas ministradas por professores .
D isciplinas são ministradas por professores e freqüentadas por alunos .

03_Fig-08

Considerações:

Sobre análise sentencial, tenho um artigo mais "fermentado” e bem humorado que está "no forno" (mais ou menos dez páginas - falta apenas revisá-lo). Pretendo publicá-lo em breve.

Antes disto, possivelmente, completarei os exemplos (frases) deste artigo para que os atributos e seus conceitos “mereçam” aparecer nos desenhos. O foco permanecerá na análise sentencial...

Sobre modelagem de dados e diagramas de entidades e relacionamentos, além da bibliografia a seguir, recomendo os ótimos artigos publicados em edições anteriores da revista SQL Magazine e aqueles publicados no site. O companheiro Ricardo Rezende tem muitos fundamentos para mostrar em seus artigos. Reinaldo Viana também publicou artigos legais sobre estes assuntos.

Queridos leitores,
Agradecido.
Abraços para todos.
Valeu mais uma vez a força.

DAQUELE JEITO ...

Boa Sorte, Saúde e Cuca Fresca
Valeu ?!

Mansueto G Almeida
Analista de Sistemas, consultor por vocação e professor por insistência.

Críticas e sugestões: mansuetoalmeida@yahoo.com.br ;

Bibliografia

SETZER, V. W. Banco de dados. São Paulo: Edgard Blücher, 1989.

FERREIRA, Aurélio Buarque de Holanda; J.E.M.M., Novo dicionário de Língua Portuguesa. 2. ed. Rio de Janeiro: Nova Fronteira, 1986.

Bibliografia Complementar

DATE, C. J. Introdução a sistemas de banco de dados. 4. ed. Rio de Janeiro: Campus, 1991.

KORTH, Henry F; SILBERSCHATZ, Abraham. Sistemas de bancos de dados. 2. ed. São Paulo: Makron Books, 1993.

Pompilho, S. Análise Essencial - guia prático de Análise de Sistemas. Rio de Janeiro, Ciência Moderna, 2002.

McMenamin, Stephen M. Análise Essencial de Sistemas. São Paulo, McGraw-Hill, 1991.

YOURDON, E. Análise estruturada moderna. Rio de Janeiro, Campus, 1992.

MARCO, T. Análise estruturada e especificação de sistemas. Rio de Janeiro, Campus, 1989.

GANE, C; SARSON T. Análise estruturada de sistemas. Rio de Janeiro, LTC - Livros Técnicos e Científicos, 1983.

DAVID, W. S. Análise e projeto de sistemas - uma abordagem estruturada. Rio de Janeiro, LTC - Livros Técnicos e Científicos, 1987.

WARNIER, Jean Dominique. LCP: lógica de construção de programas. Rio de Janeiro, Campus, 1987.

MAGRI, João Alexandre. Lógica de programação: ensino prático. São Paulo, Érica, 2003

 

 

 

Mansueto Gomes de Almeida mansuetoalmeida@yahoo.com.br, é especialista em análise de sistemas, com vivência de 24 anos ininterruptos em vários cargos e funções relativos a processamento de dados e tratamento da informação.Trabalhou em várias empresas, com profissionais de diversas áreas, em muitos sistemas computacionais (do mainframe ao microcomputador e, até mesmo, os "lendários" cartões perfurados).Tem 40 anos, é casado e tem um filho.Atualmente, está analista de sistemas sênior na Universidade de Taubaté (concurso público) e professor no Centro Paula Souza (concurso público). Eventualmente, trabalha como consultor independente.

  Modelagem    
  GAxSGBD    
  Boas-Vindas    
     

 

Todos os direitos reservados: DevMedia Group
SQL Magazine - 2005