Como definir as entidades corretamente num determinado cenário

9 respostas
mvurban

Olá pessoal,

Meu cenário é o seguinte: Eu tenho uma TURMA de ALUNOS, esta turma faz um CURSO, como numa universidade, um curso de Engenharia por exemplo. Este curso possui MATERIAS e DISCIPLINAS. A imagem abaixo ilustra o modelo.

Se por acaso eu precisar recuperar as Disciplinas que um aluno está cursando, eu recupero a turma do aluno que possui o curso e consequentemente a lista de disciplinas. Blz.

Agora vamos dizer que a Disciplina tenha um atributo chamado Duração. A duração é medida em horas e é referente a duração que cada turma leva para cursar a disciplina, ou seja, a duração se refere a cada turma. Como eu modelaria isso? Criaria um novo atributo em Disciplina? ou criaria uma nova entidade Duração que iria conter a turma e a disciplina?

O que vocês acham?

9 Respostas

B

Qual a diferença entre matéria e disciplina?

Geralmente numa universidade, um curso possui disciplinas, as disciplinas possuem turmas, e cada turma tem o seus horários semanais, suas salas, e semestre que lecionado a disciplina para a turma.

Edit: Os alunos pertencem à universidade, e suas matrículas aos cursos.
Edit 2: Um aluno não é obrigado a cursar disciplinas somente do seu curso.

mvurban

Aqui matéria é como se fosse um conjunto de disciplinas, certe para agrupar assunto comuns. Um exemplo seria Matemática como uma Matéria e geometria, algebra, etc como disciplinas.

Mas acho que isso não interfere no problema né.

Uma determinada turma faz uma disciplina em 30 horas, mas uma outra turma fará a mesma disciplina em 45 horas. Como trato isso?

B

mvurban:
Aqui matéria é como se fosse um conjunto de disciplinas, certe para agrupar assunto comuns. Um exemplo seria Matemática como uma Matéria e geometria, algebra, etc como disciplinas.

Mas acho que isso não interfere no problema né.

Agrupar por agrupar só atrapalha na verdade

Não sei quanto ao seu modelo, mas uma disciplina pode ter diversas turmas, esse dado ficaria guardado do lado da turma.

mvurban

Bruno Laturner:
mvurban:
Aqui matéria é como se fosse um conjunto de disciplinas, certe para agrupar assunto comuns. Um exemplo seria Matemática como uma Matéria e geometria, algebra, etc como disciplinas.

Mas acho que isso não interfere no problema né.

Agrupar por agrupar só atrapalha na verdade

Isso é um requisito do projeto, não é agrupar por agrupar. Terei relatórios, e usos especícos para isso, se tá alí é pq vai ser usado.

Não sei quanto ao seu modelo, mas uma disciplina pode ter diversas turmas, esse dado ficaria guardado do lado da turma.
A disciplina não tem turmas, aqui a turma faz um curso que por sua vez possui disciplinas. No final das contas a turma faz as disciplinas do curso e uma disciplina pode ser cursada por muitas turmas.

Mas a questão que eu gostaria de discutir não é o modelo em si, mais sim a forma como eu abordaria um requisito específico, que é a questão da duração da disciplina em cada turma, mencionada no meu primeiro post.

Obrigado a todos.

B

Uma turma pode cursar várias disciplinas, e uma disciplina pode ser cursada por várias turmas?

A duração ficaria guardada nesse relacionamento, que é uma nova tabela.

Só acho estranho que as disciplinas são cursadas por turmas, e não pelos alunos. Já pensou o que acontecerá se um aluno sair dessa turma e ir para outra?

Emerson_Macedo

É bem possível que sua modelagem precise de alguns ajustes.

Não sei como funciona essa universidade, mas na maioria delas, o aluno está matriculado a várias matérias/disciplinas. Neste caso, você teria que criar uma associação que represente isso.

Outra coisa importante pra arrumar é a relação entre matérias e cursos, já que existem matérias que servem para vários cursos (e.g português, adm, matemática básica). Existem algumas soluções para isso. Uma delas seria não associar a matéria diretamente ao curso, mas sim a uma grade do curso. Desa forma, a mema matéria poderia figurar em mais de um curso (o que normalmente acontece).

mvurban

Olá Pessoal,

Obrigado pelas respostas. Vamos lá:

sim. As várias disciplinas formam o curso como um todo. E um curso poderá ser cursado por várias turmas.

Boa observação. No meu cenário isso não será possível, se o aluno quiser mudar de turma ele encerra uma turma e entra em uma nova, começando do zero. É pra ser assim. É um cenário de educação a disctancia.

Uma questão que acho que não ficou clara, o esquema que eu mostrei no primeiro post não é o esquema de tabelas e sim de objetos.

O curso terá um conjunto de Matérias, se é a mesma de outro curso não importa, o que importa é que ela possui um conjunto de matérias. Lembrando, o esquema é de objetos, ainda não cheguei na elaboração do banco.

Como disse ainda não tenho tabelas, estou pensando a nível de objetos.

vlw a todos.

Emerson_Macedo

O curso terá um conjunto de Matérias, se é a mesma de outro curso não importa, o que importa é que ela possui um conjunto de matérias. Lembrando, o esquema é de objetos, ainda não cheguei na elaboração do banco.
Já que é assim a associação não deveria ser bi-direcional como está representado, certo?

mvurban

Isso mesmo, na verdade o grafico do relacionamento dos objetos seria assim:

Desculpem.

Vocês tão sacando qual a minha dificuldade? Eu tenho problemas em representar relacionamentos com várias entidades.

Por exemplo vou ter uma entidade chamada tarefa (Que é uma atividade que o aluno faz) acho q neste modelo uma tarefa vai ter uma disciplina, um curso, uma turma e um aluno. Para que eu possa saber que foi aquele aluno que fez aquela tarefa daquela disciplina naquele curso. E consequentemente o aluno vai ter um conjunto de tarefas.

Seria isso?

Criado 12 de setembro de 2008
Ultima resposta 15 de set. de 2008
Respostas 9
Participantes 3