Jump to content
Sign in to follow this  
.Tigas.

[VBExpress10][PAP] - Problema com associação de tabelas

Recommended Posts

.Tigas.

Boas, estou no 3º e último ano do meu curso de informática e estou a fazer a PAP para o mesmo.

Preciso de ajuda em relação a uma associação entre duas tabelas. Antes de tudo vou explicar o meu projecto.

Estou a fazer um programa para gerir uma escola incluindo turmas, professores, disciplinas e alunos (em que cada aluno também terá os seus horários e notas).

No entanto não consigo chegar a uma solução em relação às tabelas turmas e disciplinas. Esta parte é mais normalização de tabelas do que programação em si.

Várias turmas têm várias disciplinas e várias disciplinas podem ter várias turmas. O problema é esse mesmo. Como é que eu no campo "disciplinas" da tabela turmas vou poder lá escrever todas as disciplinas associadas a essa turma? Que eu saiba não existe nenhum data type que dê para escrever tags de texto. No máximo só posso associar uma turma a uma disciplina e vice-versa com um varchar.

Há alguma forma de resolver este dilema?

Obrigado desde já.

Edited by .Tigas.

Share this post


Link to post
Share on other sites
mjamado

Qual é a relação? É uma relação de muitos para muitos. Como se implementa este tipo de relação? Com uma tabela auxiliar.

Turmas

turmaId (PK)

Disciplinas

disciplinaId (PK)

AUXTurmasDisciplinas

turmaId (PK)

disciplinaId (PK)

Repara que eu, por norma, uso chave dupla. Há quem não goste. Sempre podes redefinir a tabela auxiliar como:

AUXTurmasDisciplinas

turmaDisciplinaId (PK)

turmaId (FK)

disciplinaId (FK)


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites
.Tigas.

Obrigado pela resposta. Sim, eu também cheguei a essa solução (auxiliar com as estrangeiras). No entanto, acho que vou ter problemas com isto (no VB) por isso agradecia que deixassem o tópico aberto.

Porque lá está, eu no programa quero fazer com que o administrador possa criar uma turma e associar várias disciplinas a ela e o mesmo para criar uma disciplina e depois associar as turmas. Não sei se hei isto por textboxes ou se há outra forma. Mas hei de pensar em alguma coisa. xD

Ex: Criar novo professor (design)

cod (auto_incrementado, invisível)

Nome:

Disciplinas (é esta parte difícil): Vou ter aqui um x número de textboxes consoante as disciplinas que quero atribuir e não sei bem como o fazer.

Edited by .Tigas.

Share this post


Link to post
Share on other sites
acao

boas

Disciplinas (é esta parte difícil): Vou ter aqui um x número de textboxes consoante as disciplinas que quero atribuir e não sei bem como o fazer.

vais ter tantas textboxes e ou combos como tantos campos tiver a tabela auxiliar, porque é a esta que deves referir como tabela de turmas propriamentedita, a tabela turma que referiste apenas te vai dar o nome da turma ex:1, 2, 3,... ou a, b, c,.... ,

dito isto doutra forma

a tabela auxiliar é que á a tabela principal as outras são auxiliares.

cumps

acao

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.