Modelagem de dados: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Desfeita a edição 39293522 de 201.51.21.127 Etiqueta: Remoção considerável de conteúdo |
bot: revertidas edições de 177.221.52.196 ( modificação suspeita : -30), para a edição 39293522 de 201.51.21.127 |
||
Linha 1:
Modelar significa criar um modelo que explique as características de funcionamento e comportamento de um [[software]] a partir do qual ele será criado, facilitando seu entendimento e seu projeto, através das características principais que evitarão erros de [[Programação de computadores|programação]], projeto e funcionamento. É uma parte importante do desenho de um [[sistema de informação]].
A abordagem que se dispensa ao assunto normalmente atende a três perspectivas:
* Modelagem Conceitual: é usada como representação de alto nível e considera exclusivamente o ponto de vista do usuário criador dos dados;
* Modelagem Lógica: agrega mais alguns detalhes de implementação.
* Modelagem Física: demonstra como os dados são fisicamente armazenados.
Quanto ao objetivo, podemos identificar as seguintes variações:
* modelagem de dados [[Modelo de entidade e relacionamento|entidade-relacionamento]] (leitura, construção e validação dos modelos);
* modelagem de relacionamentos complexos, grupos de dados lógicos e ciclo de vida das entidades;
* modelagem de dados corporativa;
* modelagem de dados distribuídos ([[cliente/servidor]]);
* modelagem e [[reengenharia]] de dados [[legados]] e
* modelagem de dados para [[Data Warehouse]].
== Modelos ==
[[File:4-2 ANSI-SPARC three level architecture.svg|thumb|228x228px]]
De acordo com a abordagem que utilizam, os modelos de dados normalmente são classificados da seguinte forma:
* '''Modelo Conceitual''': O modelo conceitual é um diagrama em blocos que demonstra todas as relações entre as entidades, suas especializações, seus atributos e auto-relações.
* '''Modelo Lógico''': O modelo lógico mostra as ligações entre as tabelas de banco de dados, as chaves primárias, os componentes de cada uma, etc.
* '''Modelo Físico''': Inclui a análise das características e recursos necessários para armazenamento e manipulação das estruturas de dados (estrutura de armazenamento, endereçamento, acesso e alocação física), sendo uma sequência de comandos executados em [[SQL]] a fim de criar as tabelas, estruturas e ligações projetadas até então e finalmente criar o banco de dados.
Exemplo de Modelo Físico (SQL ANSI 2003):<br />
CREATE TABLE Produtos (<br />
COD_PROD Texto(1) PRIMARY KEY,<br />
MODELO Texto(1),<br />
DESCRICAO Texto(1),<br />
COR Texto(1),<br />
CATEGORIA Texto(1),<br />
QUANT_PROD Texto(1)<br />
)<br />
=== Modelo Lógico de Dados ===
Um modelo lógico de dados para uso meramente operacional/transacional deve:
* Ser completamente [[Normalização de dados|normalizado]];
* Representar fielmente o NEGÓCIO, e NÃO necessariamente a base de dados desejada, a qual será construída posteriormente por ocasião do Projeto Físico;
* Conter descrição sucinta das entidades, atributos e relacionamentos;
* Conter os nomes de entidades e atributos, extensos e abreviados, atribuídos de acordo com algum padrão adotado na organização e formados por termos previamente convencionados em um [[glossário]];
* Contemplar, para cada um dos atributos, o tipo de dado, tamanho e opcionalidade.
== Identificação de Objetos ==
*'''Coisas Tangíveis''': elementos que têm existência concreta, que ocupam lugar no espaço.
:Ex: Meio de Transporte (avião, carro, barco, etc);
*'''Funções''': percepção dos objetos através da função por eles exercida (papel, atribuição, classificação, capacitação, etc).
:Ex: Organização (órgãos funcionais - venda, suporte, despacho de mercadorias, etc), especialistas (médicos, engenheiros, etc), cliente (pessoa atendida), atendente (pessoa que atende), etc;
*'''Eventos ou Ocorrências''': alguns objetos só conseguem ser individualizados ou percebidos enquanto uma certa ação se desenrola (identifica-se características que tornam determinado fato materializável).
:Ex: vôo comercial, acidente de trânsito, jogo de futebol, etc.
*'''Interações''': resultantes das associações entre objetos em função de um processo executado - cada objeto participante da interação preserva suas características não sendo impactados pela materialização da interação.
:Ex: compra de um imóvel, adoção de uma criança, venda de um produto;
*'''Especificações''': são elementos que definem características de outros objetos.
:Ex: modelos de carro (cor, dimensões, etc), espécies animais (mamíferos, carnívoros, etc.)
== Definição ==
Uma definição deve:
* ser única (dentro de qualquer dicionário no qual ela aparece);
* ser estabelecida no singular;
* estabelecer o que o conceito é (não o que ele não é), o que faz, quando algum elemento passa a ser, ou deixa de ser, pertencente a esse grupo;
* ser estabelecida como uma frase ou sentença descritiva;
* ser expressa sem definições embutidas de outros termos;
* estabelecer o significado essencial do conceito;
* ser precisa e não-ambígua;
* ser concisa;
* ser significativa por si só;
* evitar raciocínio circular.
== Atributos ==
Quanto ao tipo, podem ser classificados como:
*'''Descritivos''': representam as características intrínsecas dos objetos;
*'''Nominativos''': além de cumprirem a função de descritivos servem como definidores de nomes ou rótulos de identificação dos objetos (nome, código, número, sigla, etc);
*'''Referenciais''': representam uma citação ou ligação do objeto em questão com outro objeto, não propriamente definindo uma característica do objeto mas explicitando um relacionamento existente<ref>Durante a [[Normalização de dados|normalização]] estes são deslocados para o objeto a que pertencem e é feito então um relacionamento entre eles</ref>.
:Ex: Cidade de nascimento, Nome do fabricante do carro, Local de trabalho, etc.
== Relacionamentos ==
Na descrição de um relacionamento devem aparecer:
* Sua função;
* O que ele representa;
* Quais as regras de seu estabelecimento;
* Quais as exceções a seu estabelecimento;
* Quando ocorre;
* Quando pode deixar de existir.
== Recomendações ==
Um Modelo Lógico de Dados para uso meramente operacional/transacional '''não''' deve conter:
*'''Replicações de atributos''': fisicamente pode ser interessante alguma redundância com o objetivo de melhorar a performance de determinado(s) processo(s). No modelo lógico isso não pode ser feito; um atributo só é representado na Entidade que o pertence.
*'''Atributos derivados''': pelos mesmos motivos apontados anteriormente, a implementação das tabelas pode requerer o armazenamento de uma informação derivada de outra(s) (valor do saldo por exemplo). Tal tipo de informação não se constitui um atributo do modelo lógico.
*'''Atributos repetitivos''': o uso de atributos repetidos, como Telefone-1 e Telefone-2, não é admitido. Se existe a possibilidade de uma pessoa possuir mais de um telefone, então Telefone deve ser representado como uma entidade, mantendo relacionamento Nx1 com a entidade Pessoa.
=={{Veja também}}==
* [[UML|UML - Linguagem de Modelagem Unificada]]
* [[Arquitetura de dados]]
* [[Administração de dados]]
* [[Modelo de Entidades e Relacionamentos|MER - Modelo de Entidades e Relacionamentos]]
* [[Ferramenta CASE]]
* [[Matriz CRUD]]
* [[Banco de dados]]
* [[Engenharia de software]]
* [[Análise de requisitos]]
* [[Modelagem dimensional]]
* [http://www.sis4.com/brModelo/ Ferramenta freeware voltada para ensino de modelagem em banco de dados relacional]
{{referências}}
{{Engenharia de software}}
[[Categoria:Engenharia de software]]
[[Categoria:Ciência da informação]]
|