Tabela
Olá Galera!!
Criei duas tabelas no Interbase e coloquei as suas respectivas chaves primárias e estrangeiras. Porém não sei com estabelecer um relacionamento “UM PARA MUITOS&8221;.
Como é que se estabelece esse tipo de relacionamento? Existe algum modo gráfico para relacionar as tabelas? Se possível exiba um exemplo de relacionamento.
Muito Grato
André
Criei duas tabelas no Interbase e coloquei as suas respectivas chaves primárias e estrangeiras. Porém não sei com estabelecer um relacionamento “UM PARA MUITOS&8221;.
Como é que se estabelece esse tipo de relacionamento? Existe algum modo gráfico para relacionar as tabelas? Se possível exiba um exemplo de relacionamento.
Muito Grato
André
Nerisinformatica
Curtidas 0
Respostas
Ezdala
26/08/2003
[color=darkred:c0c245dc08][/color:c0c245dc08][color=darkred:c0c245dc08][/color:c0c245dc08][color=darkred:c0c245dc08][/color:c0c245dc08]na segunda tabela vc tem q criar uma chave primaria composta, ex.
tabela de vendas:
Cod. venda, cod. cliente, cond. Pag. etc ...
tabela de itens da venda:
[b:c0c245dc08]cod.venda. seq. dos itens[/b:c0c245dc08], cod. produto, quant., etc ..
na tabela de itens vc deve colocar como chave além do codigo da venda a sequencia dos itens, então vc criará um relacionamento UM PARA MUITOS,
para ligar as duas tabelas digite o seguinte comando:
ALTER TABLE [nome tabela de itens] add
FOREIGN KEY (cod. venda) REFERENCES [tabela venda](cod.venda)
tabela de vendas:
Cod. venda, cod. cliente, cond. Pag. etc ...
tabela de itens da venda:
[b:c0c245dc08]cod.venda. seq. dos itens[/b:c0c245dc08], cod. produto, quant., etc ..
na tabela de itens vc deve colocar como chave além do codigo da venda a sequencia dos itens, então vc criará um relacionamento UM PARA MUITOS,
para ligar as duas tabelas digite o seguinte comando:
ALTER TABLE [nome tabela de itens] add
FOREIGN KEY (cod. venda) REFERENCES [tabela venda](cod.venda)
GOSTEI 0
Afarias
26/08/2003
|na segunda tabela vc tem q criar uma chave primaria composta, ex.
Não exatamente...
Uma chave primária composta não tem nada q ver com relacionamentos 1 para muitos e, em alguns casos, não é uma boa prática (em termos de implementação e dependendo do banco de dados e aplicação).
Qualquer chave estrangeira ´não única´ (que não seja tb uma chave primária ou possua um índice único) define uma relação 1:N
T+
Não exatamente...
Uma chave primária composta não tem nada q ver com relacionamentos 1 para muitos e, em alguns casos, não é uma boa prática (em termos de implementação e dependendo do banco de dados e aplicação).
Qualquer chave estrangeira ´não única´ (que não seja tb uma chave primária ou possua um índice único) define uma relação 1:N
T+
GOSTEI 0
Ezdala
26/08/2003
caso não havendo a necessidade de uma chave composta no ex. citado como fazer ? ? ? ? ? ? ? ? ? ? ? ? ? ?
ez dala
ez dala
GOSTEI 0
Afarias
26/08/2003
|caso não havendo a necessidade de uma chave composta no ex. citado
|como fazer ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Ora, exatamente como vc citou::
ALTER TABLE [nome tabela de itens] add
FOREIGN KEY (cod. venda) REFERENCES [tabela venda](cod.venda)
isso não implica na necessiade de haver uma chave primária composta na tabela de itens.
T+
|como fazer ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Ora, exatamente como vc citou::
ALTER TABLE [nome tabela de itens] add
FOREIGN KEY (cod. venda) REFERENCES [tabela venda](cod.venda)
isso não implica na necessiade de haver uma chave primária composta na tabela de itens.
T+
GOSTEI 0
Ezdala
26/08/2003
então vc deixaria a tabela de itens sem chave, pois colocando na tabela de itens o cod. da venda como chave vc estaria criando um relacionamento um p/ um ?
|não é uma boa prática|
e porque, talvez no interbase, criar chaves composta ´não é uma boa prática´ ?
|não é uma boa prática|
e porque, talvez no interbase, criar chaves composta ´não é uma boa prática´ ?
GOSTEI 0
Afarias
26/08/2003
|então vc deixaria a tabela de itens sem chave, pois colocando na tabela
|de itens o cod. da venda como chave vc estaria criando um
|relacionamento um p/ um ?
Não -- a chave primária na tabela Itens *pode* ser totalmente independente da extrangeira.
|e porque, talvez no interbase, criar chaves composta ´não é uma boa
|prática´
Não é boa prática em *nenhum* banco de dados. Para esse caso específico (itens) por exemplo, a princípio não vai fazer muita diferença.
T+
|de itens o cod. da venda como chave vc estaria criando um
|relacionamento um p/ um ?
Não -- a chave primária na tabela Itens *pode* ser totalmente independente da extrangeira.
|e porque, talvez no interbase, criar chaves composta ´não é uma boa
|prática´
Não é boa prática em *nenhum* banco de dados. Para esse caso específico (itens) por exemplo, a princípio não vai fazer muita diferença.
T+
GOSTEI 0
Ezdala
26/08/2003
´Não é boa prática em *nenhum* banco de dados. Para esse caso específico (itens) por exemplo, a princípio não vai fazer muita diferença.´
desculpe a insistência mas eu ainda não entendi o por que !? sigo essa lógica desde da época do bom e velho clipper, tenho programa rodando em empresas de médio e pequeno porte (inclusive c/acesso remoto) e não tive nenhum problema, mesmo usando um BDR
ez
desculpe a insistência mas eu ainda não entendi o por que !? sigo essa lógica desde da época do bom e velho clipper, tenho programa rodando em empresas de médio e pequeno porte (inclusive c/acesso remoto) e não tive nenhum problema, mesmo usando um BDR
ez
GOSTEI 0
Afarias
26/08/2003
|desculpe a insistência mas eu ainda não entendi o por que !?
Pq não é boa prática?! Posso citar 2 motivos::
- índices menos eficientes;
- maior ´trabalho´ na manutenção das relações;
|tenho programa rodando em empresas de médio e pequeno porte
|(inclusive c/acesso remoto) e não tive nenhum problema, mesmo
|usando um BDR
:)
Não disse que há algum problema, disse q::
1 - não é necessário ter uma chave composta para estabelecer uma relação 1:N
2 - não é uma boa prática utilizar chaves primárias compostas (teoria de modelagem de dados)
T+
Pq não é boa prática?! Posso citar 2 motivos::
- índices menos eficientes;
- maior ´trabalho´ na manutenção das relações;
|tenho programa rodando em empresas de médio e pequeno porte
|(inclusive c/acesso remoto) e não tive nenhum problema, mesmo
|usando um BDR
:)
Não disse que há algum problema, disse q::
1 - não é necessário ter uma chave composta para estabelecer uma relação 1:N
2 - não é uma boa prática utilizar chaves primárias compostas (teoria de modelagem de dados)
T+
GOSTEI 0