4 participantes
[Resolvido]Como Relacionar estas Tabelas
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº1
Como Relacionar estas Tabelas
Espero sim e ja agradeço.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº2
Re: [Resolvido]Como Relacionar estas Tabelas
Amigão
Coloque aqui outra vez as tabelas e não abra um novo tópico para isso. Nesta confusão foi apagado o anterior.
Coloque aqui outra vez as tabelas e não abra um novo tópico para isso. Nesta confusão foi apagado o anterior.
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº3
ai está novamente as tabelas
Estou estudando sobre relacionamento, li vários assuntos sobre o tema, mas ainda permanecem dúvidas na hora de por em prática. Li o artigo Discutindo a relação (Dilson Marcos) esse foi o melhor texto do assunto que ja encontrei, mas ainda nao ficou claro. E realmente quero aprender, entao gostaria de saber como ficaria esse relacinamento:
tblAluno
nome
datanasc
cpf
...etc
tblResponsavel(quem paga o curso)
codresp
nomerespon
relafinidade
cpf
...etc
tblMatricula
codmat
vlrmat
datamat
statusmat
...etc
tblcurso
codCurso
nomecurso
duracao
horas
licao
a ideia é criar um form para cadastro onde estariam os dados do aluno, do responsável, e sequentemente outro form para fazer a matricula-neste estariam o codaluno, Nome, vlmatricula, data, status, nomedocurso, duracao, hora. entao qual a melhor maneira de relacionar estas tabelas.. ja fiz várias tentativas, mas nao tive sucesso. Desde ja fico grato.
tblAluno
nome
datanasc
cpf
...etc
tblResponsavel(quem paga o curso)
codresp
nomerespon
relafinidade
cpf
...etc
tblMatricula
codmat
vlrmat
datamat
statusmat
...etc
tblcurso
codCurso
nomecurso
duracao
horas
licao
a ideia é criar um form para cadastro onde estariam os dados do aluno, do responsável, e sequentemente outro form para fazer a matricula-neste estariam o codaluno, Nome, vlmatricula, data, status, nomedocurso, duracao, hora. entao qual a melhor maneira de relacionar estas tabelas.. ja fiz várias tentativas, mas nao tive sucesso. Desde ja fico grato.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº4
Re: [Resolvido]Como Relacionar estas Tabelas
É assim mesmo. Logo que oportuno eu retorno.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº5
Re: [Resolvido]Como Relacionar estas Tabelas
Amigão
Baixe, explore e qualquer coisa estamos aí.
http://dl.dropbox.com/u/8157744/escola.zip
Baixe, explore e qualquer coisa estamos aí.
http://dl.dropbox.com/u/8157744/escola.zip
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº6
muito obrigado
Que rapidez, to impressionado na sua disposição de ajudar... gostei muito agora vou dá uma explorada. Você gostaria de ve o que eu tinha feito?
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº7
Re: [Resolvido]Como Relacionar estas Tabelas
Veja primeiro o que foi feito e explore bem. Retorne depois.
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº8
explorando o bd escola
amigo, percebi que neste bd não há relacionamento e que as tabelas alunos e curso possuem campos, alguns campos, iguais... eu pensava que um relacionamento seria melhor.
Tambem nao consegui cadastrar.
Tambem nao consegui cadastrar.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº9
Re: [Resolvido]Como Relacionar estas Tabelas
Amigo
Para cadastrar tem que inserir o botão "Adicionar novo Registo" para poder adicionar registos. Evidentemente que eu não sei como você pretende estruturar a sua BD. Então o que enviei foi para você tirar ideias. A Tabela Cursos é uma tabela única que regista todos os cursos existentes na escola. Esta será uma tabela independente. A Tabela Matrícula, destina-se exclusivamente a inserir esses dados. Temos por fim a tabela Alunos. Não é necessário ter uma tabela relativa ao responsável, uma vez que o mesmo se refere sempre ao aluno e por tal deve estar na tabela alunos.
Então, não temos que ter relacionamento entre aluno e matrícula. Sempre que pretendemos visualizar uma matrícula é só usar a pesquisa para isso. Sempre que pretendemos visualizar a ficha de um aluno, utilizamos a pesquisa que criei também. Não é obrigatório estas tabelas estarem ligadas entre si, excepto se houver necessidade. Por exemplo; se tivermos um aluno para muitos cursos. Não é este o caso, pelo que parece.
Abrimos uma ficha nova, seleccionamos o aluno que existe na tabela matrícula e ao clicar sobre ele passam os os dados para a nova ficha. Seleccionamos o curso e procedemos da mesma maneira.
Caso não pretenda fazer assim, tire as ideias do exemplo e faça como melhor lhe aprouver.
Para cadastrar tem que inserir o botão "Adicionar novo Registo" para poder adicionar registos. Evidentemente que eu não sei como você pretende estruturar a sua BD. Então o que enviei foi para você tirar ideias. A Tabela Cursos é uma tabela única que regista todos os cursos existentes na escola. Esta será uma tabela independente. A Tabela Matrícula, destina-se exclusivamente a inserir esses dados. Temos por fim a tabela Alunos. Não é necessário ter uma tabela relativa ao responsável, uma vez que o mesmo se refere sempre ao aluno e por tal deve estar na tabela alunos.
Então, não temos que ter relacionamento entre aluno e matrícula. Sempre que pretendemos visualizar uma matrícula é só usar a pesquisa para isso. Sempre que pretendemos visualizar a ficha de um aluno, utilizamos a pesquisa que criei também. Não é obrigatório estas tabelas estarem ligadas entre si, excepto se houver necessidade. Por exemplo; se tivermos um aluno para muitos cursos. Não é este o caso, pelo que parece.
Abrimos uma ficha nova, seleccionamos o aluno que existe na tabela matrícula e ao clicar sobre ele passam os os dados para a nova ficha. Seleccionamos o curso e procedemos da mesma maneira.
Caso não pretenda fazer assim, tire as ideias do exemplo e faça como melhor lhe aprouver.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº10
Re: [Resolvido]Como Relacionar estas Tabelas
Relacionei as tabelas
Agora faça os formulários de acordo com o relacionamento. Neste caso só existe relacionamento de 1 para 1.
http://dl.dropbox.com/u/8157744/escola.zip
Agora faça os formulários de acordo com o relacionamento. Neste caso só existe relacionamento de 1 para 1.
http://dl.dropbox.com/u/8157744/escola.zip
Dilson- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1743
Registrado : 11/11/2009
- Mensagem nº11
Re: [Resolvido]Como Relacionar estas Tabelas
Amigos, só um pitaco em favor de uma visão conceitual:
jb2n
Na programação e inclusive na criação de tabelas e campos, existem muitas maneiras de fazer, é como um ditado conhecido aqui na nossa comunidade MaximoAccess: "Existem muitas maneiras de se fazer nestum", ou seja, existem muitas formas de montar e fazer funcionar, relacional ou não. O que o Vieira fez foi usar os recursos dos objetos na captura e transporte de dados, que é um procedimento que considero importante termos em mente na hora da criação e fluxo de dados em tabelas:
Veja que posso usar um nome de curso da tabela cursos na tabela alunos sem necessariamente promover um relacionamento entre elas, apenas usando o recurso que uma combobox ou listbox tem de ir buscar esse dado, para usar esse recurso deve-se ter certeza que o nome transportado de uma tabela a outra não precisarão serem atualizados na tabela atual, pois nesse procedimento não há integridade referencial, pois se na tabela cursos, o curso chamado "software", modificar para apenas "soft", os registros da tabela alunos não se modificarão automaticamente, e para se modificarem você terá que criar um outro procedimento para agir direto na tabela alunos, seria algo do tipo "localizar e substituir", resumindo, é um procedimento que requer uma análise de quem formula o projeto, pois é algo cercado por intenções.
Você citou em nomes repetidos, e eu mesmo quando escrevi aquele artigo, em determinado trecho, fiz parecer abominar a duplicação de nomes em tabelas distintas, pois agora neste tópico me abre a brexa para enfatizar que a arquitetura da base está cercado de lógicas e intenções:
Lógica, porque crio um fluxo;
Intenção, porque justifico.
Lógica = um caminho a seguir
Intenção = imposição de uma regra
Vamos pensar um pouco:
Tenho uma tabela vendas
CodVenda
CodProduto
PrecoUnitario
Tenho uma tabela produto:
CodProduto
NomeDoProduto
PrecoUnitario
Relaciono CodProduto a CodProduto
Daí, olhando isso você visualiza o fluxo que é a Lógica como falei.
Daí, você observa PrecoUnitario na tabela venda e PrecoUnitario na tabela produtos, você imediatamente questiona: "Ué, por quê esses campos repetidos??"
Então a justificativa que é a intenção:
Usarei um transporte do valor unitário do produto, através da interação da combo pelo CodProduto do produto relacionado, assim, evitarei erros acerca do preço na hora da venda e dessa forma também me possibilita alterar os preços da tabela produtos a hora que desejar sem que essa informação seja propagada na tabela vendas, uma vez, que a integridade referencial está no CodProduto e não no PrecoUnitario.
Espero ter contribuído a respeito.
jb2n
Na programação e inclusive na criação de tabelas e campos, existem muitas maneiras de fazer, é como um ditado conhecido aqui na nossa comunidade MaximoAccess: "Existem muitas maneiras de se fazer nestum", ou seja, existem muitas formas de montar e fazer funcionar, relacional ou não. O que o Vieira fez foi usar os recursos dos objetos na captura e transporte de dados, que é um procedimento que considero importante termos em mente na hora da criação e fluxo de dados em tabelas:
Veja que posso usar um nome de curso da tabela cursos na tabela alunos sem necessariamente promover um relacionamento entre elas, apenas usando o recurso que uma combobox ou listbox tem de ir buscar esse dado, para usar esse recurso deve-se ter certeza que o nome transportado de uma tabela a outra não precisarão serem atualizados na tabela atual, pois nesse procedimento não há integridade referencial, pois se na tabela cursos, o curso chamado "software", modificar para apenas "soft", os registros da tabela alunos não se modificarão automaticamente, e para se modificarem você terá que criar um outro procedimento para agir direto na tabela alunos, seria algo do tipo "localizar e substituir", resumindo, é um procedimento que requer uma análise de quem formula o projeto, pois é algo cercado por intenções.
Você citou em nomes repetidos, e eu mesmo quando escrevi aquele artigo, em determinado trecho, fiz parecer abominar a duplicação de nomes em tabelas distintas, pois agora neste tópico me abre a brexa para enfatizar que a arquitetura da base está cercado de lógicas e intenções:
Lógica, porque crio um fluxo;
Intenção, porque justifico.
Lógica = um caminho a seguir
Intenção = imposição de uma regra
Vamos pensar um pouco:
Tenho uma tabela vendas
CodVenda
CodProduto
PrecoUnitario
Tenho uma tabela produto:
CodProduto
NomeDoProduto
PrecoUnitario
Relaciono CodProduto a CodProduto
Daí, olhando isso você visualiza o fluxo que é a Lógica como falei.
Daí, você observa PrecoUnitario na tabela venda e PrecoUnitario na tabela produtos, você imediatamente questiona: "Ué, por quê esses campos repetidos??"
Então a justificativa que é a intenção:
Usarei um transporte do valor unitário do produto, através da interação da combo pelo CodProduto do produto relacionado, assim, evitarei erros acerca do preço na hora da venda e dessa forma também me possibilita alterar os preços da tabela produtos a hora que desejar sem que essa informação seja propagada na tabela vendas, uma vez, que a integridade referencial está no CodProduto e não no PrecoUnitario.
Espero ter contribuído a respeito.
Última edição por Dilson em 11/2/2011, 18:45, editado 1 vez(es)
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº12
Re: [Resolvido]Como Relacionar estas Tabelas
É isso mesmo Dilson. Explanação perfeita, nota 10, para o amigo perceber como são essas coisas das relações. Obrigado.
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº13
Re: Como Relacionar estas Tabelas
Vieirasoft,
Eu nao tinha entendido o BD porque ele pareceu ja quase finalizado, dei uma boa explorada e ta sendo muito util no meu aprendizado.
Com essa explanação do Dilson fico mais claro.
Quanto ao transporte de dados, realmente eu nao sabia e é algo que vai ser muito bom nesse BD que estou tentando desenvolver.
Acho que agora vou consegui ter um BD que se aplica exatamente a minha necessidade.
Uma questão: entre a TblAluno e TblResponsável,
eu acho melhor, pelo que entendi, que seja feito via relacionamento, pois as informações desse, podem ser necessario atualizar constantemente (Integridade RElacional).
Se for: é 1-TblAluno e muitos-TblResponsável? é assim?
é um responsável pode ser de vários alunos, é assim mesmo?
Eu nao tinha entendido o BD porque ele pareceu ja quase finalizado, dei uma boa explorada e ta sendo muito util no meu aprendizado.
Com essa explanação do Dilson fico mais claro.
Quanto ao transporte de dados, realmente eu nao sabia e é algo que vai ser muito bom nesse BD que estou tentando desenvolver.
Acho que agora vou consegui ter um BD que se aplica exatamente a minha necessidade.
Uma questão: entre a TblAluno e TblResponsável,
eu acho melhor, pelo que entendi, que seja feito via relacionamento, pois as informações desse, podem ser necessario atualizar constantemente (Integridade RElacional).
Se for: é 1-TblAluno e muitos-TblResponsável? é assim?
é um responsável pode ser de vários alunos, é assim mesmo?
Dilson- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1743
Registrado : 11/11/2009
- Mensagem nº14
Re: [Resolvido]Como Relacionar estas Tabelas
jb2n,
Nesse pequeno intervalo, peguei as tabelas feitas pelo Vieira, fiz uma pequena modificação no relacionamento e fiz pequenino exemplo com formulários: menu, cadastro do aluno, cadastro do curso, cadastro da matricula e um relatório, daqui a pouco mais, se eu conseguir anexar no dropbox eu estarei te disponibilizando. aguarde.
Nesse pequeno intervalo, peguei as tabelas feitas pelo Vieira, fiz uma pequena modificação no relacionamento e fiz pequenino exemplo com formulários: menu, cadastro do aluno, cadastro do curso, cadastro da matricula e um relatório, daqui a pouco mais, se eu conseguir anexar no dropbox eu estarei te disponibilizando. aguarde.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº15
Re: [Resolvido]Como Relacionar estas Tabelas
Amigo
Eu entendi responsável como sendo um parente e não um professor. Se for um professor e claro pode ter vários alunos, então a relação de 1 para muitos é essencial. Contudo o Grande Dilson parece que já está a fazer um BD. Aproveite o melhor de um e outro e lembre-se que não existem por aí muitos fóruns que façam o que nós fazemos aqui.
Abs
Eu entendi responsável como sendo um parente e não um professor. Se for um professor e claro pode ter vários alunos, então a relação de 1 para muitos é essencial. Contudo o Grande Dilson parece que já está a fazer um BD. Aproveite o melhor de um e outro e lembre-se que não existem por aí muitos fóruns que façam o que nós fazemos aqui.
Abs
Dilson- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1743
Registrado : 11/11/2009
- Mensagem nº16
Re: [Resolvido]Como Relacionar estas Tabelas
Também tive o mesmo raciocínio Vieira, mas, é como eu disse e agora enfatizo a importância da formulação. Um resultado final está diretamente ligado a um primeiro pensamento.
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº17
Re: Como Relacionar estas Tabelas
vieirasoft,
"Aproveite o melhor de um e outro e lembre-se que não existem por aí muitos fóruns que façam o que nós fazemos aqui. "
isso foi o que percebi desde que cheguei aqui, por isso estou tao confiante de que vou consegui aprender a desenvolver o bd.
quando ao Responsável, realmente é o que vai pagar a mensalidade.
Bom vou aguardar agora o que o Dilson vai fazer.
Dilson- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1743
Registrado : 11/11/2009
- Mensagem nº18
Re: [Resolvido]Como Relacionar estas Tabelas
Aqui amigo,
é somente uma idéia, um pequeno exemplo, olhe a estrutura de tabelas e a montagem de formulários e o relatório. Verá que mesmo simples do inicio, ele já está funcional, poderá com ele da forma que está, começar armazenar cadastros de alunos e gerenciar matriculas e cursos.
Dê uma olhada e analise, acho que te ajudará a assimilar a lógica.
é somente uma idéia, um pequeno exemplo, olhe a estrutura de tabelas e a montagem de formulários e o relatório. Verá que mesmo simples do inicio, ele já está funcional, poderá com ele da forma que está, começar armazenar cadastros de alunos e gerenciar matriculas e cursos.
Dê uma olhada e analise, acho que te ajudará a assimilar a lógica.
- Anexos
- escola_jb2n.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (31 Kb) Baixado 135 vez(es)
Dilson- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1743
Registrado : 11/11/2009
- Mensagem nº19
Re: [Resolvido]Como Relacionar estas Tabelas
Se for: é 1-TblAluno e muitos-TblResponsável? é assim?
é um responsável pode ser de vários alunos, é assim mesmo?
A parte que está de vermelho é ao contrário, se diz: um responsável para vários alunos é será correto você fazer isso, pois um pai pode ter mais de um filho e se eles estudarem na mesma escola, cadastrará a informação do pai apenas uma vez e chamará por relacionamento no cadastro do aluno.
Sucesso!
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº20
Re: Como Relacionar estas Tabelas
Amigos, boa noite. As sugestões e orientações de vocês estão me motivando muito.
Uni as tabelas alunos e responsável numa só. Ficou melhor para trabalhar.
Tenho uma dúvida que só olhando o protótipo do bd para entender.
Aí está o link
bd escola
a versão é 2007.
A minha pergunta está no formulário matricula>página pacote tem um texto em vermelho como questionamento, se nao entender eu explico, mas só olhando para entender..
To seguindo a sugestao do vieira, "um pouquinho de cada" desde ja agradeço.
Uni as tabelas alunos e responsável numa só. Ficou melhor para trabalhar.
Tenho uma dúvida que só olhando o protótipo do bd para entender.
Aí está o link
bd escola
a versão é 2007.
A minha pergunta está no formulário matricula>página pacote tem um texto em vermelho como questionamento, se nao entender eu explico, mas só olhando para entender..
To seguindo a sugestao do vieira, "um pouquinho de cada" desde ja agradeço.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº21
Re: [Resolvido]Como Relacionar estas Tabelas
Mas sempre que colocar para exemplo aqui no fórum coloque sempre em 2003.
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº22
Re: Como Relacionar estas Tabelas
mais uma falha, mas estamos aprendendo.
bd na versao 2003
2003
bd na versao 2003
2003
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº23
Re: [Resolvido]Como Relacionar estas Tabelas
Amigo
isto pede password para abrir???
isto pede password para abrir???
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº24
Re: Como Relacionar estas Tabelas
pede nao. Nao sei porque o link abre outro site. aqui está: http ://www. mediafire.com/?8rfb8u3fd9cvrg6, tente de novo. coloquei espaço por ainda estava abrindo outro site, ele tem que abrir o mediafire, espero que der certo
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº25
Re: [Resolvido]Como Relacionar estas Tabelas
Nada amigo
Se quizer pode enviar para o meu email que eu coloco-a aqui disponível. Envie no formato zipi ou rar
sergiovieirasoft@gmail.com
Se quizer pode enviar para o meu email que eu coloco-a aqui disponível. Envie no formato zipi ou rar
sergiovieirasoft@gmail.com
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº26
Re: [Resolvido]Como Relacionar estas Tabelas
aqui vai
retificado para a versão 2003
http://dl.dropbox.com/u/8157744/JBINFORSYTEM4%202003.rar
retificado para a versão 2003
http://dl.dropbox.com/u/8157744/JBINFORSYTEM4%202003.rar
Última edição por vieirasoft em 12/2/2011, 14:24, editado 1 vez(es)
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº27
Re: [Resolvido]Como Relacionar estas Tabelas
Foi pedido para enviar sempre em 2003 de forma que fique acessível a quem pretender ajudar. O exemplo só está acessível a quem tiver o 7.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº28
Re: [Resolvido]Como Relacionar estas Tabelas
Amigo
Repare bem no separador pacote e veja como tem isso feito. Nada vai funcionar ali porque os dados tem de vir da tabela cursos. Ora a tabela cursos nem está ligada a nenhuma outra. Você não aprendeu nada. Assim só com transporte de dados como no meu primeiro exemplo enviado e no qual as tabelas eram independentes, sem relacionamento. A BD está complexa, cheia de tabelinhas sem sentido (tbl_Endereço1+ Endereço2+Endereço3)entre outras coisas. Mesmo no simplex o Dilson fez uma BD de exemplo nota 10, você complicou tudo o que era simples.
Assim para fazer o que escreveu a vermelho (cx combinação) não dá porque existe conflito de chaves. O sub formulário deve estar ligado ao principal por uma relação de um para muitos. Ali nem relação existe e ainda por cima uma chave primária autónoma no sub formulário.
Ambos os exemplos enviados (o meu e o do Dilson) eram perfeitos para construir uma BD simples, leve e eficaz.
Corrija as complicações e complexidades que fez, por favor.
Repare bem no separador pacote e veja como tem isso feito. Nada vai funcionar ali porque os dados tem de vir da tabela cursos. Ora a tabela cursos nem está ligada a nenhuma outra. Você não aprendeu nada. Assim só com transporte de dados como no meu primeiro exemplo enviado e no qual as tabelas eram independentes, sem relacionamento. A BD está complexa, cheia de tabelinhas sem sentido (tbl_Endereço1+ Endereço2+Endereço3)entre outras coisas. Mesmo no simplex o Dilson fez uma BD de exemplo nota 10, você complicou tudo o que era simples.
Assim para fazer o que escreveu a vermelho (cx combinação) não dá porque existe conflito de chaves. O sub formulário deve estar ligado ao principal por uma relação de um para muitos. Ali nem relação existe e ainda por cima uma chave primária autónoma no sub formulário.
Ambos os exemplos enviados (o meu e o do Dilson) eram perfeitos para construir uma BD simples, leve e eficaz.
Corrija as complicações e complexidades que fez, por favor.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº29
Re: [Resolvido]Como Relacionar estas Tabelas
Amigo
Arranjei aqui um tempinho e então é assim. Para que serve a tabela pacote se os dados são práticamente os mesmos da tabela Cursos? O aluno vai fazer vários cursos ao mesmo tempo? Se não vai, mais uma vez o transporte de dados seria o ideal ou então criar uma tabela para ficar ligada à tabela aluno para recolher esses dados através da cx combinação conforme você quer. Entendeu? Se tiver dúvidas diga.
Arranjei aqui um tempinho e então é assim. Para que serve a tabela pacote se os dados são práticamente os mesmos da tabela Cursos? O aluno vai fazer vários cursos ao mesmo tempo? Se não vai, mais uma vez o transporte de dados seria o ideal ou então criar uma tabela para ficar ligada à tabela aluno para recolher esses dados através da cx combinação conforme você quer. Entendeu? Se tiver dúvidas diga.
jb2n- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 14
Registrado : 10/02/2011
- Mensagem nº30
Re: Como Relacionar estas Tabelas
Vieira,
Mais uma vez obrigado por está tão interessado em me ajudar, estou mesmo muito grato.
Quero justificar algumas coisas: Este bd que enviei está em desenvolvimento, então ha muita coisa pra mudar, nem tudo que tá nele é o que vai ser.
Depois de muita tentantiva pensei em colocar todos campos da tbl pacote e curso numa só tabela, deixei a tabela curso ainda lá porque eu estava apenas tentando por outro metodo, o que tambem nao consegui.Dai a minha pergunta de como é que eu ia fazer para que a caixa de combinação ao receber uma informação da tabela pacote(no caso o nome do pacote), pudesse responder com os dados da tabela cursos (parecido com o que você com por meio de transporte). E com tudo isso Fiz várias tentativas de relacionamento, mas com insucesso.
Outra justificativa:
O fato de ter uma tblPacote e uma tblCurso, é que estou procurando um jeito de no momento de fazer a matrícula nao ter que digitar o pacote com seus respectivos cursos, mas apenas inserir o pacote (predefinido) e as informaçoes deles aparecerem em seguida.
A ideia é ter um form para cadastro de pacote de curso, pois estes variam e precisam ser flexivel, ja que vai depender do cliente, pois se no momento da matricula ele desejar seu proprio pacote, o que geralmente acontece, entao eu achei que assim facilitaria e ficaria mais automatizado.
Quanto a "as tabelinhas (tbl_Endereço1+ Endereço2+Endereço3)" que você se referiu, na verdade é apenas uma, tbl endereço. É que quando eu coloquei o tipo de dado do campo (rua, bairro e cidade da tblAluno), usei o tipo assistente de pesquisa, porque pensei que se tivesse uma tbl apenas para este dados e que pudessem ser acrescentados constantemente, facilitaria na hora do uso...
Bom é o meu jeito pensar em desenvolver sistema, mas estou pronto pra mudar os conceitos que ja adquiri sobre o assunto, é como você disse "Você não aprendeu nada."
Amigão muito obrigado, vou da uma olhada minunciosa no bd e dá uma boa lida no assunto. grato.
Mais uma vez obrigado por está tão interessado em me ajudar, estou mesmo muito grato.
Quero justificar algumas coisas: Este bd que enviei está em desenvolvimento, então ha muita coisa pra mudar, nem tudo que tá nele é o que vai ser.
Depois de muita tentantiva pensei em colocar todos campos da tbl pacote e curso numa só tabela, deixei a tabela curso ainda lá porque eu estava apenas tentando por outro metodo, o que tambem nao consegui.Dai a minha pergunta de como é que eu ia fazer para que a caixa de combinação ao receber uma informação da tabela pacote(no caso o nome do pacote), pudesse responder com os dados da tabela cursos (parecido com o que você com por meio de transporte). E com tudo isso Fiz várias tentativas de relacionamento, mas com insucesso.
Outra justificativa:
O fato de ter uma tblPacote e uma tblCurso, é que estou procurando um jeito de no momento de fazer a matrícula nao ter que digitar o pacote com seus respectivos cursos, mas apenas inserir o pacote (predefinido) e as informaçoes deles aparecerem em seguida.
A ideia é ter um form para cadastro de pacote de curso, pois estes variam e precisam ser flexivel, ja que vai depender do cliente, pois se no momento da matricula ele desejar seu proprio pacote, o que geralmente acontece, entao eu achei que assim facilitaria e ficaria mais automatizado.
Quanto a "as tabelinhas (tbl_Endereço1+ Endereço2+Endereço3)" que você se referiu, na verdade é apenas uma, tbl endereço. É que quando eu coloquei o tipo de dado do campo (rua, bairro e cidade da tblAluno), usei o tipo assistente de pesquisa, porque pensei que se tivesse uma tbl apenas para este dados e que pudessem ser acrescentados constantemente, facilitaria na hora do uso...
Bom é o meu jeito pensar em desenvolver sistema, mas estou pronto pra mudar os conceitos que ja adquiri sobre o assunto, é como você disse "Você não aprendeu nada."
Amigão muito obrigado, vou da uma olhada minunciosa no bd e dá uma boa lida no assunto. grato.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº31
Re: [Resolvido]Como Relacionar estas Tabelas
No caso que descreveu não precisa de fazer relacionamento. Pode fazer a Tabela pacote e depois transportar os dados como eu fiz com os cursos no exemplo enviado. De qualquer forma, volte sempre que tiver dúvidas pois tanto eu como o Dilson continuamos a querer ajuda-lo.
Abs
Abs
Dilson- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1743
Registrado : 11/11/2009
- Mensagem nº32
Re: [Resolvido]Como Relacionar estas Tabelas
jb2n,
Visualizei e estava assim o relacionamento feito por si:
Eu deixaria assim:
Retiraria a relação IDAluno a IDAluno da tblAluno para tblPACOTE
Com esta ação acima, retiraria também qualquer dado do aluno na tabela pacotes, pois dessa forma é andar em circulo dentro do banco. Veja que esse pacote será relacionado na tblMATRICULA e lá existe uma relação da tblAluno para a tblMATRICULA, ou seja, a tblMATRICULA é a junção dessas duas tabelas de aluno e pacote. Essa ação irá diminuir a redudancia, veja que se deixar como está, você vai abrir por exemplo trinta pacotes com os cursos word e excel, um de fulano, um de ciclano outro de beltrano, sendo que pode ter apenas um que será vinculado na matricula. O beneficio disso vai ser na hora do relatório, pois poderá tirar uma listagem dos alunos que aderiram aquele pacote personalizado que contempla só word e excell, sacou ?
e criaria e colocaria IDPacote a IDPacote da tblPACOTE a tblMATRICULA
Colocaria também IDCurso a IDCurso da tblCURSO a tblPACOTE
Amigos Vieira e jb2n, vocês dois deram um show de lógicas e justificativas em seus diálogos anteriores, foi produtivo por demais os questionamentos e justificativas.
A idéia de cadastrar o endereço numa tabela a parte é perfeitamente justificada, já que o jb2n quer padronizar nomes e agilizar o trabalho de digitação para os usuários finais.
A tblMATRICULA considero o motor de fluxo desse banco, isso significa diser que, qualquer informação relacionada a ela, estará automaticamente relacionada a todas as outras tabelas e ela também é a responsável pela produção da escola.
jb2n, você está indo no caminho certo, arquitetura dos dados é a parte do quebra cabeça que te cobrará na hora da programação, seu sucesso na montagem de formulários e relatórios está diretamente ligado a esta habilidade que todo programador tem que ter.
Criação e relação de tabelas deveria se tornar um requisito fundamental para alguém que faz planos em programar dados. Muitos falam e eu concordo, as pessoas aprendizes a programador não dão atenção a este assunto importantissimo. Ora! como uma pessoa vai montar um sistema de banco de dados se ela não conhece a matéria prima ... os dados, a estrutura ... então se não conhece, com toda certeza, tem tudo para dar errado, o que quer que se pense em programação.
jb2n é assim que se faz, estás de parabéns em se interessar por este assunto, após esse aprendizado terá muita facilidade na hora de programar.
Amigos aquele abraço! boa noite.
Visualizei e estava assim o relacionamento feito por si:
Eu deixaria assim:
Retiraria a relação IDAluno a IDAluno da tblAluno para tblPACOTE
Com esta ação acima, retiraria também qualquer dado do aluno na tabela pacotes, pois dessa forma é andar em circulo dentro do banco. Veja que esse pacote será relacionado na tblMATRICULA e lá existe uma relação da tblAluno para a tblMATRICULA, ou seja, a tblMATRICULA é a junção dessas duas tabelas de aluno e pacote. Essa ação irá diminuir a redudancia, veja que se deixar como está, você vai abrir por exemplo trinta pacotes com os cursos word e excel, um de fulano, um de ciclano outro de beltrano, sendo que pode ter apenas um que será vinculado na matricula. O beneficio disso vai ser na hora do relatório, pois poderá tirar uma listagem dos alunos que aderiram aquele pacote personalizado que contempla só word e excell, sacou ?
e criaria e colocaria IDPacote a IDPacote da tblPACOTE a tblMATRICULA
Colocaria também IDCurso a IDCurso da tblCURSO a tblPACOTE
Amigos Vieira e jb2n, vocês dois deram um show de lógicas e justificativas em seus diálogos anteriores, foi produtivo por demais os questionamentos e justificativas.
A idéia de cadastrar o endereço numa tabela a parte é perfeitamente justificada, já que o jb2n quer padronizar nomes e agilizar o trabalho de digitação para os usuários finais.
A tblMATRICULA considero o motor de fluxo desse banco, isso significa diser que, qualquer informação relacionada a ela, estará automaticamente relacionada a todas as outras tabelas e ela também é a responsável pela produção da escola.
jb2n, você está indo no caminho certo, arquitetura dos dados é a parte do quebra cabeça que te cobrará na hora da programação, seu sucesso na montagem de formulários e relatórios está diretamente ligado a esta habilidade que todo programador tem que ter.
Criação e relação de tabelas deveria se tornar um requisito fundamental para alguém que faz planos em programar dados. Muitos falam e eu concordo, as pessoas aprendizes a programador não dão atenção a este assunto importantissimo. Ora! como uma pessoa vai montar um sistema de banco de dados se ela não conhece a matéria prima ... os dados, a estrutura ... então se não conhece, com toda certeza, tem tudo para dar errado, o que quer que se pense em programação.
jb2n é assim que se faz, estás de parabéns em se interessar por este assunto, após esse aprendizado terá muita facilidade na hora de programar.
Amigos aquele abraço! boa noite.
marcos_pfa- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4
Registrado : 30/05/2016
- Mensagem nº33
Reabrindo o post por necessidade....
Ola sou novo no forum!
Desculpe reabrir esse post mas eu nao sei onde eu poderia postar ou se eu poderia abrir um novo topico com esse assunto!
Estou precisando muito de um sistema para curso de teologia, onde eu possa cadastrar alunos e professores, cadastrar materias, cadastrar trabalhos, cadastrar notas dos resultados das provas e trabalhos, somar essas notas e informar se passou ou nao na materia, lançar falta/presença como em uma lista de chamadas em escola mesmo, gerar um boletim semestral, por enquanto nao preciso de modulos financeiros , ou qualquer outro modulo, se alguem tiver e puder disponibilizar ficarei muito agradecido, mas se alguem se interessar a fazer e cobrar um valor justo, pois é para uma instituição filantrópica, que vive de doações. Eu peguei alguns exemplos aqui, tentei moldar conforme minha necessidade, mas sou leigo e access e nao obtive sucesso. se alguem puder me ajudar, agradeço desde já.
Desculpe reabrir esse post mas eu nao sei onde eu poderia postar ou se eu poderia abrir um novo topico com esse assunto!
Estou precisando muito de um sistema para curso de teologia, onde eu possa cadastrar alunos e professores, cadastrar materias, cadastrar trabalhos, cadastrar notas dos resultados das provas e trabalhos, somar essas notas e informar se passou ou nao na materia, lançar falta/presença como em uma lista de chamadas em escola mesmo, gerar um boletim semestral, por enquanto nao preciso de modulos financeiros , ou qualquer outro modulo, se alguem tiver e puder disponibilizar ficarei muito agradecido, mas se alguem se interessar a fazer e cobrar um valor justo, pois é para uma instituição filantrópica, que vive de doações. Eu peguei alguns exemplos aqui, tentei moldar conforme minha necessidade, mas sou leigo e access e nao obtive sucesso. se alguem puder me ajudar, agradeço desde já.