Ir para o conteúdo
.Tigas.

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

Mensagens Recomendadas

.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á.

Editado por .Tigas.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Editado por .Tigas.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.