[firebase-br] Chave primária
Toninho Eleotério
toninhoeleoterio em gmail.com
Sex Fev 22 16:41:11 -03 2013
Boa tarde Helio
Tudo bem?
No meu ponto de vista, você não terá problema nenhum com relação a isso, o
que pode ocorrer é alguém apontar uma solução melhor que a sua e que a
minha , o que eu ainda não vi em se tratando de chaves primárias compostas,
mas se tiver vai ser muito bem vinda. rsrsrs. Na teoria é realmente o que
tem que acontecer quando um mapeamento correto é levantado entre as
tabelas, implementando integridades referencial, obrigatoriedade de valores
quando necessário e tudo mais.
Ouvi um comentário de um programador ASP que os mapeamentos são feitos via
um único ID do objeto, mas ASP é outra história né?
Mas trabalho em um sistema específico, bombando desde 2002 com chaves desse
tipo, dá só uma olhada abaixo, tem tabelas maiores ainda.
*Campos chave*
CODIGOALUNO,
CODIGOCATEGORIA,
SERIE,
CODIGOESCOLA,
TURNO,
TURMA,
CODIGOANO);
A tabela de notas é pior ainda, tem mais campos veja abaixo:
CREATE TABLE ENTURMADO (
CODIGOANO INTEGER NOT NULL,
CODIGOALUNO INTEGER NOT NULL,
TURMA VARCHAR(2) CHARACTER SET NONE NOT NULL,
SERIE VARCHAR(25) CHARACTER SET NONE NOT NULL,
CODIGOESCOLA INTEGER NOT NULL,
TURNO CHAR(1) CHARACTER SET NONE NOT NULL,
CODIGOCATEGORIA INTEGER NOT NULL,
DATMATR DATE,
DATCANC DATE,
NUMERO SMALLINT,
MAT_REMAT CHAR(1) CHARACTER SET NONE,
STATUS CHAR(1) CHARACTER SET NONE,
SITUACAO VARCHAR(15) CHARACTER SET NONE,
CODIGOANT INTEGER,
TIPOBOLETA INTEGER,
EX_ALUNO CHAR(1) CHARACTER SET NONE,
CODIGOCONTRATANTE INTEGER,
PARCELAESPECIAL DECIMAL(10,2)
);
/******************************************************************************/
/**** Primary Keys
****/
/******************************************************************************/
ALTER TABLE ENTURMADO ADD CONSTRAINT PK_ENTURMADO PRIMARY KEY (CODIGOALUNO,
CODIGOCATEGORIA, SERIE, CODIGOESCOLA, TURNO, TURMA, CODIGOANO);
ALTER TABLE NOTAS ADD PRIMARY KEY (
CODIGODISCIPLINA,
CODIGODIVISAO,
CODIGOPROFESSOR,
CODIGOCATEGORIA,
SERIE,
CODIGOESCOLA,
TURNO,
CODIGOANO,
CODIGOBIMESTRE,
CODIGOALUNO);
Atenciosamente,
Toninho Eleotério
Telefones: (32) 3222-5695
(32) 8856-3706
*"Certamente que a bondade e a misericórdia me seguirão todos os dias da
minha vida, e habitarei na casa do Senhor por longos dias."
Salmo 23.6*
Em 22 de fevereiro de 2013 16:07, Hélio Oliveira <hpensador em gmail.com>escreveu:
> Boa tarde Colegas!
>
> Comecei a trabalhar na modelagem da base de dados de uma nova aplicação
> que irei desenvolver, porém estou me deparando com a situação de ter chave
> primárias compostas com 5 (cinco) campos ou mais. Vou demonstrar esta
> situação em uma tabela abaixo e pedir o auxilio/ajuda dos amigos para
> verificar se esta é a melhor solução.
>
> codigo_empresa integer;
> mes integer;
> ano integer;
> sequencia integer;
> matricula integer;
>
> Acima estão os campos de uma chave primária de uma das tabelas do sistema
> que contém exatamente 5 (cinco) campos.
>
> Trata-se de um sistema de folha de pagamento multi-empresa.
>
> Posso vir ter problemas com esta modelagem?
>
> [ ]'s,
>
> Hélio Oliveira
> Analista de Sistemas
>
>
> ______________________________**________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>
Mais detalhes sobre a lista de discussão lista