View Full Version : biblioteca + access


nram
27-04-2007, 16:07
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|

HecKel
27-04-2007, 19:22
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

RPortela
28-04-2007, 11:17
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.

nram
28-04-2007, 20:10
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...

HecKel
28-04-2007, 20:40
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

nram
29-04-2007, 18:28
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!