Sistema Biblioteca- Modelo entidade - relacionamento  XML
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Autor Mensagem
dfarias
JavaBaby
[Avatar]

Membro desde: 14/07/2011 22:34:48
Mensagens: 99
Offline

Olá.
Estou começando a criar um projeto java - banco. Antes de tudo tive que fazer o modelo físico.
"Projeto - Sistema para cadastro, leitura de usuários e livros para uma biblioteca. Haverá também a possibilidade de cadastro de funcionários por parte do administrador.
"
Gostaria de saber se há alguma falha no relaciomento abaixo.



This message was edited 2 times. Last update was at 07/02/2012 11:12:45

Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

Começar do banco de dados é começar procedural. Se você vai fazer em java, porque não começar com os objetos?

"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

dfarias
JavaBaby
[Avatar]

Membro desde: 14/07/2011 22:34:48
Mensagens: 99
Offline

Fiz no jude. Agora falta as regras de negocio.

drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Em primeiro lugar, você precisa definir qual a modelagem que irá seguir.
Se começar pelo DFD ou DER, implicitamente escolhe procedural, estruturado.
Se quer fazer com java, sugiro começar levantando os requisitos, criando os use cases definitions e, então, o diagrama de classes.
Afinal, o DER nem sempre reflete o diagrama de classes.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

Hmm....e onde você acha que as regras de negócio devem estar?

Você criou os objetos....mas pensando nas tabelas. Nota-se isso por vários dos métodos que você criou. Se tivesse pensado nos comportamentos primeiro (ou, se preferir, regras de negócio) saberia que elas deveriam estar nesses objetos.

(procurando links para os posts do site fragmental do pcalcado, em português e não encontrando nada além de páginas da web perdidas ao vento...)

Bom, procure na internet sobre modelos de domínio no google. Vai ajudar.

This message was edited 1 time. Last update was at 06/02/2012 13:03:25


"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Preocupar-se com o banco de dados é algo bacana, demonstra preocupação com a integridade do mesmo.
Porém, esse cuidado é algo que deve existir quando o banco de dados for o ponto do projeto, o que, neste caso, não é.
A não ser que tudo seja feito através de stored procedures, na chamada POBD - programação orientada a banco de dados.
Explico, você cria todas as lógicas dentro do banco de dados, utilizando cursores, views, functions e stored procedures. Aí, só cria uma interface gráfica do usuário (GUI) que irá interagir com as procedures.

Não é de todo errado, apenas, uma forma mais complicada de desenvolver.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
dfarias
JavaBaby
[Avatar]

Membro desde: 14/07/2011 22:34:48
Mensagens: 99
Offline

há alguma forma de simplificar esse projeto. eu tow achando complicado ter que inserir dados em diferentes tabelas. Por exemplo para inserir um livro, eu tenho q dar um insert nas tabelas titulo_livro, autor, editora, estoque(esqueci de colocar no modelo fisico). Por que não só simplismente criar uma tabela livro e fazer tudo isso de uma vez?
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

dfarias wrote:há alguma forma de simplificar esse projeto. eu tow achando complicado ter que inserir dados em diferentes tabelas. Por exemplo para inserir um livro, eu tenho q dar um insert nas tabelas titulo_livro, autor, editora, estoque(esqueci de colocar no modelo fisico). Por que não só simplismente criar uma tabela livro e fazer tudo isso de uma vez?


Don´t be lazy, boy!!!

Camarada, deixa a preguiça de lado e faz direito.
Já começou errado, pelo DER, agora segura o tranco.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
dfarias
JavaBaby
[Avatar]

Membro desde: 14/07/2011 22:34:48
Mensagens: 99
Offline

pronto já corrigi o DER, dê uma olhada.

drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Detalhes do DER:
1 - Um funcionário jamais será um usuário?
2 - Título pertence a livro, é uma parte de livro, por que está numa tabela separada?
3 - Um autor pode ter vários livros, mas um livro sempre terá apenas um autor?
4 - Se o relacionamento está correto, entre livro e autor, por que é que o autor recebe a FK de livro? Cada livro possui vários autores???
5 - Cargo e funcionário possuem uma relação 1 : 1? Não existem 2 funcionários com o mesmo cargo? Seria 1 : N (um cargo possui vários funcionários e um funcionário exerce 1 cargo por vez).
6 - Por que na tabela de relacionamento entre usuario e livro as colunas Usuario_cod_Usuario e Livro_cod_livro estão duplicados (respectivamente, cod_usuario e cod_livro)?

Detalhes do "Diagrama de Classes":
1 - Administrador não é um funcionário?

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
dfarias
JavaBaby
[Avatar]

Membro desde: 14/07/2011 22:34:48
Mensagens: 99
Offline

Detalhes do DER:
1 - Um funcionário jamais será um usuário?
R: Sim. Um funcionário pode sim ser um usuário.

2 - Título pertence a livro, é uma parte de livro, por que está numa tabela separada?
R: Também achei estranha essa parte, mas o professor disse que era assim(Estudo no IFBA, ficou tres meses de greve ).

3 - Um autor pode ter vários livros, mas um livro sempre terá apenas um autor?
R: Um livro nem sempre tem apenas um autor.

4 - Se o relacionamento está correto, entre livro e autor, por que é que o autor recebe a FK de livro?
R: livro deveria receber a FK cod_autor.
Cada livro possui vários autores???
R: Nem sempre.

5 - Cargo e funcionário possuem uma relação 1 : 1? Não existem 2 funcionários com o mesmo cargo? Seria 1 : N (um cargo possui vários funcionários e um funcionário exerce 1 cargo por vez).

6 - Por que na tabela de relacionamento entre usuario e livro as colunas Usuario_cod_Usuario e Livro_cod_livro estão duplicados (respectivamente, cod_usuario e cod_livro)?
R: Eu fiz no DBdesigner. E não entendi porque o relacionamento ficou assim, no Diagrama que fiz no Microsoft SQL 2005 ficou certo =[

Detalhes do "Diagrama de Classes":
1 - Administrador não é um funcionário?
R: Eu tava pensando em remover administrador (não tornar o programa mais complicado)

Segue abaixo o DER feito no Microsoft SQL

This message was edited 3 times. Last update was at 07/02/2012 15:16:07

FabricioPJ
JavaEvangelist
[Avatar]

Membro desde: 13/05/2007 21:26:57
Mensagens: 317
Localização: Belém - PA / Santo André - SP
Offline

Ná tabela "Livro", você poderia adicionar uma coluna relacionada a "Categoria" (Ficção, romance e etc...) e criar mais uma tabela chamada "Categoria" ou algo assim, com relacionamento N x N, pois um livro pode ter mais de uma categoria e uma categoria com certeza terá mais de um livro associado a ela. Fazendo isso você normalizará sua estrutura de banco de dados.

Ainda na tabela "Livro", você poderia usar como chave-primária o ISBN, que é um número único de cada livro, apenas para normalizar ainda mais a estrutura.

Na minha opinião, a tabela "Titulo_livro" não é necessária. ela poderia ser transformada em um campo na tabela "Livro", afinal, um livro só pode ter um título, correto? Não tenho certeza, mas acho que sim...

Acho que é isso.

Bacharel em Ciência da Computação (CESUPA)

Oracle 11g Certified SQL Expert
Oracle 11g Certified Associate
Linux Professional Institute Certified (LPIC-I)

--LinkedIn--
http://br.linkedin.com/in/fabriciojorge
 
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Ir para:   
Powered by JForum 2.1.8 © JForum Team