[firebase-br] Modelagem de dados

Ricardo Rocha ricardo em vsiinformatica.com.br
Seg Fev 14 02:29:15 -03 2005


Pessoal, estou tendo dificuldade com a modelagem dos dados no meu banco ...

Adicionei uma tabela EMPRESAS no banco a fim de trabalhar com
multi-empresas, então em todas as tabelas adicionei o campo XXX_EMP_CODIGO
... onde XXX é o prefixo da tabela, sendo sempre FK com a tabela de
Empresas. Então as tabelas ficaram com PKs compostas (2 campos ... o código
da empresa e o código sequencial da tabela.) Meu problema está quando eu
tenho o sequencial como chave estrangeira noutra tabela. Segue o código de
exemplo.

CREATE TABLE RR_MOEDAS (
  MOE_EMP_CODIGO			INTEGER NOT NULL,
  MOE_CODIGO 			INTEGER NOT NULL,
  MOE_DESCRICAO 			VARCHAR(50) NOT NULL,
  MOE_SIGLA 			VARCHAR(50) NOT NULL,
  CONSTRAINT PK_MOEDAS PRIMARY KEY (MOE_EMP_CODIGO, MOE_CODIGO),
  CONSTRAINT FK_MOE_EMP_CODIGO FOREIGN KEY (MOE_EMP_CODIGO) REFERENCES
RR_EMPRESAS (EMP_CODIGO)
);

CREATE TABLE RR_PAISES (
  PAI_EMP_CODIGO			INTEGER NOT NULL,
  PAI_CODIGO 			INTEGER NOT NULL,
  PAI_DESCRICAO 			VARCHAR(50) NOT NULL,
  PAI_SIGLA 			VARCHAR(8) NOT NULL,
  PAI_MOE_CODIGO 			INTEGER ,
  CONSTRAINT PK_PAISES PRIMARY KEY (PAI_EMP_CODIGO, PAI_CODIGO),
  CONSTRAINT FK_PAI_EMP_CODIGO FOREIGN KEY (PAI_EMP_CODIGO) REFERENCES
RR_EMPRESAS (EMP_CODIGO),
  CONSTRAINT FK_PAI_MOE_CODIGO FOREIGN KEY (PAI_MOE_CODIGO) REFERENCES
RR_MOEDAS (MOE_CODIGO)
);

O problema é que a PK da tabela moedas é MOE_EMP_CODIGO e MOE_CODIGO ... e a
FP da tabela países para moeda é somente MOE_CODIGO .... como soluciono este
meu problema ??

Acredito que seja um problema conceitual.


Grato

[]'s

Ricardo Rocha
www.mundodemerlin.pro.br





Mais detalhes sobre a lista de discussão lista