Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hargon

Modelo de dados

Recommended Posts

Alguém saberia me informar o que é e o que compõe um modelo de dados?

 

Gostaria que alguém que entende me explicasse com as próprias palavras, pois pesquisei no Google e as respostas são confusas, pois existem diversas explicações.

 

Na verdade eu até achei que sabia o que era, mas resolvi pesquisar antes para ter certeza e acabei ficando mais confuso ainda.

 

Desde já agradeço pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon,

 

Eu não compreendi exatamente a dúvida.

 

Se pensarmos em Modelo como algo que segue um padrão, podemos dizer que Modelo de Dados é um conjunto de dados que seguem uma padrão específico.

 

Imagina que tenhamos um combo-box no HTML, definido pela tag SELECT e suas filhas OPTION, um modelo de dados para esse combo é definido como:

 

DATA

LABEL

 

Então, uma estrutura simples:

 

 DEFINA items como Array
 
 items[ 0 ].data = 1
 items[ 0 ].label = 'Primeiro Item'
 
 items[ 1 ].data = 2
 items[ 1 ].label = 'Segundo Item'

Perceba que todos os items seguem um padrão, todos são objetos com 2 propriedades, uma data e outra label, com esses dados, podemos popular um combo-box:

 

<select>
	<option value="1">Primeiro Item</option>
	<option value="2">Segundo Item</option>
</select>

 

Esse padrão que definimos para um conjunto de dados, que serão utilizados para um fim específico, é chamado de Modelo de Dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado João.

 

A idéia é enviar o Modelo de Dados para um desenvolvedor avaliar o Sistema e fazer o orçamento. A principio entendi que ele queria apenas conhecer o banco de dados.

 

Você concorda? Ou pode existir outra interpretação para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A idéia é enviar o Modelo de Dados para um desenvolvedor avaliar o Sistema e fazer o orçamento. A principio entendi que ele queria apenas conhecer o banco de dados.

 

Bom,

 

Quando um cliente me solicita um orçamento para uma aplicação, eu peço a ele um Modelo de Domínio e não um Modelo de Dados, já que, ao desenvolver a aplicação, eu que desenvolverei o modelo de dados para cada entidade da aplicação.

 

Um Modelo de Domínio é um conjunto de relacionamento entre as várias entidades da aplicação, ele descreve o que a aplicação deverá fazer não como ela fará. Ao elaborar o Modelo de Domínio, você demonstrar um conjunto de objetos do mundo real que ilustrem o problema o qual a aplicação deverá resolver.

 

Você pode passar uma descrição (bem simplista) da aplicação a ser desenvolvida ? Assim posso montar uma ilustração de um Modelo de Domínio para essa aplicação específica, dessa forma, ficará mais fácil para você compreender o conceito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado João.

 

Na verdade o sistema já está parcialmente desenvolvido por mim. A idéia é passar para outro desenvolvedor dar continuidade. Um dos desenvolvedores que entrei em contato solicitou o "Modelo de dados". Até então fiz o que eu acha que era, mas surgiu a dúvida e resolvi pesquisar, aí vi que poderia ser algo mais complexo do que eu pensei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aí vi que poderia ser algo mais complexo do que eu pensei.

 

Na verdade, não é complexo. A ideia é apenas descrever o que a aplicação precisa fazer.

 

Algumas referências:

 

http://martinfowler.com/eaaCatalog/domainModel.html

http://www.agiledata.org/images/admInitialDomainModel.gif

http://130.188.225.9:8080/lahitv/doc/lahitv_domain_model.jpg

http://www.uml.org.cn/UMLSearch/images/domaina.JPG

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema que as vezes nem todos sabem o que realmente os termos significam, ai eles pedem coisas que nem eles sabem esperando uma coisa dai recebem outra, e cria uma confusão danada.

 

Na minha humilde opinião é totalmente relacionado a estrutura de dados e regras de negocio, que vem o junto o escopo do software, que são as fronteiras do software,ou seja, o que o software deve fazer e o que ele não fará. E por ai vai...

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi hargon, opinião de quem está apenas começando.

 

Por 'modelo de dados' compreendo como a estrutura básica, ou seja, a modelagem antes de desenvolver o sistema.

 

No meu caso, o modelo inicial com os relacionamentos é criado no DBDesign e depois exportado para o phpMyAdmin para criar o Banco de Dados.

 

A meu ver, o modelo de dados é o arquivo do DBDesign onde estão visíveis os tipos de relacionamento.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Matheus e Elektra,

 

Não é apenas a estrutura de dados, no aspecto do banco de dados.

 

Está sim, relacionado com a estrutura de dados, mas com toda ela, com cada entidade da aplicação que trabalhará com dados, sejam eles estáticos ou vindo de um banco de dados, como é o caso do combo que disse anteriormente:

 

import fl.controls.ComboBox;
import fl.data.DataProvider;

var data :DataProvider = new DataProvider();
var combo :ComboBox = new ComboBox();

data.addItem( { label : 'Item 1' , data : 1 } );
data.addItem( { label : 'Item 2' , data : 2 } );
data.addItem( { label : 'Item 3' , data : 3 } );
data.addItem( { label : 'Item 4' , data : 4 } );
data.addItem( { label : 'Item 5' , data : 5 } );

combo.dataProvider = data;

No exemplo acima, dataProvider define o modelo de dados do combo.

 

Sempre que estivermos trabalhando com dados, sejam eles estáticos ou vindo de um banco de dados ou não, e definimos um padrão no qual os dados devem seguir, estamos definindo o modelo de dados.

 

e regras de negocio, que vem o junto o escopo do software, que são as fronteiras do software,ou seja, o que o software deve fazer e o que ele não fará.

 

É claro que, ao definir o modelo de dados para um determinado componente da aplicação, estaremos definindo um conjunto de regras para esses dados, regras essas que influenciarão diretamente a forma que uma determinada entidade trabalhará, mas tive a impressão, Matheus, que você está confundindo a camada Model da arquitetura MVC com modelo de dados.

 

Veja bem, a camada Model trabalha com N modelos de dados, a lógica (regras de negócio) fica sim, na Model; Mas ela usa esses vários modelos de dados para trabalhar.

 

A meu ver, o modelo de dados é o arquivo do DBDesign onde estão visíveis os tipos de relacionamento.

 

Não o arquivo do DBDesign (veja o MySQL Workbench é muito mais legal), mas o banco de dados, as tabelas e suas colunas.

 

Imagine Elektra, que ao modelar um banco de dados qualquer, você definiu um conjunto de tabelas que esse banco terá, você definiu também que cada tabela possuirá um conjunto de colunas e definiu o tipo de dado de cada coluna:

 

Tabela Pessoas:

nome : VARCHAR(40)

idade: TINYINT(2)

 

Quando você for inserir os dados nessa tabela você precisará, obrigatoriamente, seguir o modelo de dados da tabela, o que significa que, se você tentar inserir uma string na coluna idade, você terá um problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com a Elektra, acho que o que o cara quer é a estrutura de dados, literalmente dizendo, do sistema, ou seja, salve o arquivo ou exporte um PDF da "modelagem de dados" do seu sistema (se é que você fez) e mande para ele. Se você não fez, há a possibilidade de importar o banco de dados para o programa montar o "modelo de dados" para você.

 

Na verdade tem que ver direito o que o cara quer, se é um diagrama de objetos, diagrama de classes, diagrama ER, briefing, etc...

 

Mas que tem gente que pede uma coisa, espera por outra coisa e recebe uma outra coisa ainda mais diferente, é verdade. As vezes esse cara está querendo até um UML.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que o que o cara quer é a estrutura de dados, literalmente dizendo, do sistema, ou seja, salve o arquivo ou exporte um PDF da "modelagem de dados" do seu sistema (se é que você fez) e mande para ele.

Opz, apenas para constar...

 

Não estou discutindo sobre o que o que o profissional que fez a solicitação ao hargon quer ou não, mesmo porque eu não sei o que ele quer de fato.

 

A questão aqui é: "O que é Modelo de dados"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opz, apenas para constar...

 

Não estou discutindo sobre o que o que o profissional que fez a solicitação ao hargon quer ou não, mesmo porque eu não sei o que ele quer de fato.

 

A questão aqui é: "O que é Modelo de dados"

 

Não, claro, entendi perfeitamente. Mas o que eu vejo é que depende de que lado estamos falando. Tem a modelagem de dados do banco de dados, e o modelo de dados na programação lógica.

 

Modelo de dados é modelo de dados para qualquer tipo de dados. Acho que é o que você estava tentando dizer né?! (me corrija se estiver falando besteira)

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente o que eu quis dizer João, não quis dizer estrutura de dados voltado apenas a bd´s não. E não estou confundido a camada model do MVC não. É exatamente do jeito que penso.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.