biblioteca + access

nram

Power Member
olá!
Preciso de fazer uma base de dados referente a uma biblioteca o mais complexa possível, em access, alguem pode dar umas dicas??? 8|
 
O mais complexa possível?

Dicas:
  • Estrutura bem o teu problema, se for preciso faz um enunciado para ti mesmo, dá bastante jeito a identificares as entidades existentes.
  • Tenta identificar quais as entidades que existem no sistema e como elas se relacionam umas com as outras
  • Tenta encontrar os atributos das entidades
  • Agora tenta completar isso :D Vai aumentando progressivamente o teu problema, mas começa com algo simples.
Mas essa do mais complexa possível é estranho..., é para algum trabalho? Complexidade nem sempre é sinónimo de qualidade..., e falo por experiência própria, quando nos metemos em algo que não temos mãozinhas para agarrar..., por vezes nem entregamos o trabalho.

Ser exigente connosco mesmo é bom, mas estar ciente da realidade é bem melhor ;)

abraços, HecKel
 
queres algo complexo?

Faz uma pesquisa numa biblioteca "decente" sobre o que eles lá utilizam ao nivel de bases de dados.

Eu tive para fazer 1 projecto que consistia num software de gestão (base de dados) de uma biblioteca, e assim que me começaram a falar em diversos tipos de codificação de dados, possibilidade de importar dados de outras bases de dados nacionais/internacionais e também aos códigos que existem(por ex: o titulo do livro tem um codigo...o autor tem outro...etc etc).

No fim de saber todos esses requesitos...a minha decisão foi simplesmente alterar o tema do projecto, pois o tempo que iria ter para entregar o trabalho..não me dava para fazer o que eu queria!

Cumps.
 
Visto que fui a uma biblioteca daqui da cidade, verifiquei uma série de coisinhas que não fazia ideia o que significavam, já tenho uma ideia como é.

tabelas necessárias, livro, M. dewey, destinatarios (adultos, juvenil, infantis), Autores, utilitários da biblioteca, requesitar.

Na tabela Autores estou a pensar em por:
- cod_autor;
- Autor;
- Obras realizadas;
Na tabela M dewey:
- cod_m_dewey;
- nome_assunto;
Na tabela destinatário:
- cod_destinatario;
- nome;
Na tabela livros:
- Titulo_livro;
- sub_titulo_livro;
- autores;
- cod_m_dewey;
- destinatario;
- cota;


_____ etc____

Visto que tenho que usar access, as minhas dúvidas são as seguintes:

1ª Posso adicionar ao campo cota os campos do cod_autor; cod_m_dewey, automaticamente?
2º Posso por vários autores em um livro?
3º Como dou permissão para que todos os adultos possam requesitar qualquer livro (excetpo aqueles nao requesitaveis), e os juvenis a nao poder requesitar os dos adultos?
4º há medida que me vao surgindo dúvidas vou postando...
 
Antes dessas dúvidas, devias pensar primeiro na relação das entidades.

Muitas tabelas podem ser geradas a partir de um bom estudo prévio, e pelo que vejo saltaste directamente para as tabelas sem sequer veres se se justificam e se vão dar origem a novas tabelas.

Tal como já disse antes, não tentes complicar, tenta fazer bem.

Sobre a parte dos vários autores por livro, claro que deve dar. Mas da forma como tens as tabelas, isso não é possivel. Imagina uma ensiclopédia..., quantos autores num só livro?

A parte dos adultos e jovens..., trata lá mais para a frente, não vais tratar isso na base de dados (pelo menos em access), mas sim na aplicação. Usando Oracle já poderias colocar alguns triggers nisso, mas isso é capaz de ser demasiado para este trabalho ;)

abraços, HecKel
 
Bem tive a fazer um pequeno plano em papel e resultado foi....

Identidades: Livro, Requesitante, Assunto, Autores, Volume, Ediçao, Classe.

Cria passar o meu esquema mas não vou digita-lo...

requesitante (1) -->(n) requesitar (n) <-- (1) Livro

livro (n) <-- (1) assunto
livro (n) <-- (1) volume
livro (n) <-- (1) classe
livro (n) <-- (1) edição
livro (1) <-- (n) autores/livro (n) --> (1) autores
livro (n) <-- (1) requesitavel

tabelas:

livro:
titulo_livro;
subtitulo_livro;
cod_assunto;
cod_autores;
n_ediçao;
L_classe;
requesitavel;
cota; (chave primária)
cod_volume;

assunto:
cod_assunto; (chave primária)
assunto;
classe:
L_classe; (chave primária) / (letra)
classe;
volume:
cod_volume; (chave primária)
volume;
ediçao:
cod_ediçao; (chave primaria)
n_ediçao;

requesitantes:
n_requesitante; (chave primaria)
n_bi;
nome;
idade;
residencia;

requesitar:
cota; (chave primaria)
titulo_livro;
subtitulo_livro;
n_requesitante; (chave primaria)
nome;
data_requesito;
data_entrega;
prazo;


Isto foi o que me saiu, vejam se está bem, ou se é preciso alterar alguma coisa.
Depois tenho algumas dúvidas.. e tal, para passar para a base de dados (access) que eu no ano passado nao percebi la muito bem, mas pronto.

Espero ajuda, obrigado!
 
Back
Topo