POO -gt; Cria BD via modelagem CASE ou persistência?
Bom, na minha via sacra de estudos sobre POO, me deparei com o seguinte assunto e gostaria que o pessoal que já programa em OO há um tempo possam opinar, não somente para esclarecer minhas dúvidas mas sim de muitos que queiram entrar nesse assunto orientado a objetos.
No momento da modelagem das classes chega o momento que vc tem que salvar suas informações, ou seja, a persistência dos objetos, qual a DIFERENÇA em: modelar as tabelas manualmente ou ferramenta CASE (Ex: Erwin, CaseStudio) e modelar usando um Framework de Persistência de Objetos (OPF) criando a estrutura das tabelas se baseando nas classes.(Ex: InstantObjects, DePO e outros).
Nas edições da revista ActiveDelphi tratam esclusivamente sobre o assunto de Persistência. O que achei extremamente interessante (inclusive baixei o InstantObjects e seu vídeo que a meu ver é muito bom), Mas por outro lado a modelagem de dados tb tem suas vantagens acredito.
Bom, ficarei aguardando pelas opiniões dos nobres colegas!
[]´s
No momento da modelagem das classes chega o momento que vc tem que salvar suas informações, ou seja, a persistência dos objetos, qual a DIFERENÇA em: modelar as tabelas manualmente ou ferramenta CASE (Ex: Erwin, CaseStudio) e modelar usando um Framework de Persistência de Objetos (OPF) criando a estrutura das tabelas se baseando nas classes.(Ex: InstantObjects, DePO e outros).
Nas edições da revista ActiveDelphi tratam esclusivamente sobre o assunto de Persistência. O que achei extremamente interessante (inclusive baixei o InstantObjects e seu vídeo que a meu ver é muito bom), Mas por outro lado a modelagem de dados tb tem suas vantagens acredito.
Bom, ficarei aguardando pelas opiniões dos nobres colegas!
[]´s
Edibertoalves
Curtidas 0
Respostas
Edibertoalves
20/09/2006
UP!
GOSTEI 0
Edibertoalves
20/09/2006
Alguém???
GOSTEI 0
Cesar Romero
20/09/2006
Ediberto,
A mudança de Relacional para OOP, deixa de lado a modelagem dos dados, Eu desenvolvo todas as minhas classes, gero o ´Database Schema´ puro sem nenhuma otimização, depois vou ao banco e otimizo de acordo com a utilização, crio indices somente onde é necessário, mapeio objetos geralmente compostos que são utilizados para consultas e relatórios para Views.
Quanto a que OPF utilizar, atualmente parei de dar manutenção no DePO, para criar um novo framework chamado Jazz, baseado em interfaces.
www.liws.com.br/wiki.
Mesmo que não venha a trabalhar com ele, é uma boa fonte de estudos.
[]s
A mudança de Relacional para OOP, deixa de lado a modelagem dos dados, Eu desenvolvo todas as minhas classes, gero o ´Database Schema´ puro sem nenhuma otimização, depois vou ao banco e otimizo de acordo com a utilização, crio indices somente onde é necessário, mapeio objetos geralmente compostos que são utilizados para consultas e relatórios para Views.
Quanto a que OPF utilizar, atualmente parei de dar manutenção no DePO, para criar um novo framework chamado Jazz, baseado em interfaces.
www.liws.com.br/wiki.
Mesmo que não venha a trabalhar com ele, é uma boa fonte de estudos.
[]s
GOSTEI 0
Edibertoalves
20/09/2006
olá Cesar!
Então no que eu estou compreendendo vc deixa de lado completamente a modelagem de dados, ou seja, dispensa qualquer ferramenta CASE. Então como é essa geração de ´DataBase Schema´? É utilizando um OPF(ex: Instant Objects, Jazz),a partir desse esquema???
Vc utiliza uma ferramenta de acesso ao BD (ex: IBOConsole, EMS), e cria suas views, stored procedures e triggers????
Agradeço pela atenção
[]´s
Então no que eu estou compreendendo vc deixa de lado completamente a modelagem de dados, ou seja, dispensa qualquer ferramenta CASE. Então como é essa geração de ´DataBase Schema´? É utilizando um OPF(ex: Instant Objects, Jazz),a partir desse esquema???
Vc utiliza uma ferramenta de acesso ao BD (ex: IBOConsole, EMS), e cria suas views, stored procedures e triggers????
Agradeço pela atenção
[]´s
GOSTEI 0
Cesar Romero
20/09/2006
Sim, meu [b:1d089950e4]foco é a modelagem da regra de negócio[/b:1d089950e4], depois eu trabalho no acesso aos dados, gerando a estrutura do banco sem otimizações, o DePO e o Jazz, geram toda a estrutura do banco de dados (database schema).... só depois do sistema pronto, eu gero base de testes e vou otimizando o banco de acordo com as necessidades do cliente/usuário.
Para Firebird eu utilizo o IBExpert.
[]s
Vc utiliza uma ferramenta de acesso ao BD (ex: IBOConsole, EMS), e cria suas views, stored procedures e triggers????
Para Firebird eu utilizo o IBExpert.
[]s
GOSTEI 0
Fabiano Góes
20/09/2006
depois eu trabalho no acesso aos dados, gerando a estrutura do banco sem otimizações, o DePO e o Jazz, geram toda a estrutura do banco de dados (database schema)
ai cesarliws, como funciona isso ?
você cria toda a regra de negócio OO, e depois o DePO e o Jazz, geram a estrutura do banco de dados ?
desculpe a minha Ignorância, mais o que é [b:cd6082e9d3]´(database schema)´[/b:cd6082e9d3] ?
GOSTEI 0
Cesar Romero
20/09/2006
Primeiro você define que framework vai trabalhar, DePO ou Jazz, com certeza eu aconselho o Jazz...
No caso do Jazz
TDatabaseMechanism.
procedure GenerateSchema(const Schema: TStrings; const OnlyDiff: boolean = False); virtual;
Onde o Jazz ira gerar toda a estrutura do banco de dados em Schema, se OnlyDiff = True, ele pegara a estrutura do banco de dados atual (conectado) se o mechanism tiver implementado isto, e ira gerar o sql somente da diferença, por exemplo, adicionar uma coluna, adicionar uma nova tabela, modificar o tipo de uma coluna.
A implementação da ´diferença´ no Jazz ainda não está completa, em alguns dias estará.
Database Schema, é a estrutura do banco de dados, que nesta momento como ser entendido como SQL de criação do Banco de dados.
[]s
No caso do Jazz
TDatabaseMechanism.
procedure GenerateSchema(const Schema: TStrings; const OnlyDiff: boolean = False); virtual;
Onde o Jazz ira gerar toda a estrutura do banco de dados em Schema, se OnlyDiff = True, ele pegara a estrutura do banco de dados atual (conectado) se o mechanism tiver implementado isto, e ira gerar o sql somente da diferença, por exemplo, adicionar uma coluna, adicionar uma nova tabela, modificar o tipo de uma coluna.
A implementação da ´diferença´ no Jazz ainda não está completa, em alguns dias estará.
Database Schema, é a estrutura do banco de dados, que nesta momento como ser entendido como SQL de criação do Banco de dados.
[]s
GOSTEI 0