--- emerson lopes <[EMAIL PROTECTED]> escreveu:

> 
> CREATE TABLE plano_conta
> (
>   conta character(10) NOT NULL, -- Codigo do plano
> de conta
>   id_empresa integer NOT NULL,
>   nome character(50), -- descricao da conta
>   debcre character(10), -- Debito ou Credito
>   click boolean,
>   CONSTRAINT "id_plano_Conta" PRIMARY KEY (conta,
> id_empresa)
> )
> WITHOUT OIDS;
> ALTER TABLE plano_conta OWNER TO "Administrador";
> COMMENT ON TABLE plano_conta IS 'Plano de Contas';
> COMMENT ON COLUMN plano_conta.conta IS 'Codigo do
> plano de conta';
> COMMENT ON COLUMN plano_conta.nome IS 'nome da
> conta';
> COMMENT ON COLUMN plano_conta.debcre IS 'Debito ou
> Credito';
> 
> 
> CREATE TABLE lancamento_contabil
> (
>   id serial NOT NULL, -- id lancamento contabil
>   id_empresa integer NOT NULL DEFAULT 0, -- id
> empresa
>   data date, -- data
>   operacao character(15), -- operacao
>   conta character(12), -- conta plano de contas
>   debcre character(10), -- debito ou credito
>   valor numeric(14,2) DEFAULT 0, -- valor do
> lancamento
>   CONSTRAINT pk_lancamento_contabil PRIMARY KEY
> (id_empresa, id)
> )
> WITHOUT OIDS;
> ALTER TABLE lancamento_contabil OWNER TO
> "Administrador";
> COMMENT ON TABLE lancamento_contabil IS 'lancamento
> contabil';
> COMMENT ON COLUMN lancamento_contabil.id IS 'id
> lancamento contabil';
> COMMENT ON COLUMN lancamento_contabil.id_empresa IS
> 'id empresa';
> COMMENT ON COLUMN lancamento_contabil.data IS
> 'data';
> COMMENT ON COLUMN lancamento_contabil.operacao IS
> 'operacao';
> COMMENT ON COLUMN lancamento_contabil.conta IS
> 'conta centro de custos';
> COMMENT ON COLUMN lancamento_contabil.debcre IS
> 'debito ou credito';
> COMMENT ON COLUMN lancamento_contabil.valor IS
> 'valor do lancamento';
> 


Dúvida: lancamento_contabil.conta se refere a
plano_conta.conta?

Pergunto porque, apesar dos comentários, o primeiro
está definido como  character(10) e o segundo como
character(12).

Por quê não utilizar chave estrangeira? Vide "5.3.5.
Chaves Estrangeiras" em:
http://pgdocptbr.sourceforge.net/pg80/ddl-constraints.html

O campo conta precisa ser um char? Não poderia ser um
int ou, se necessário, um bigint?

Outra coisa: o campo debcre é só para indicar "debito
ou credito"? Se for qual a razão de se utilizar um
character(10)? Não bastaria um char(1)?

Na tabela lancamento_contabil você definiu id como um
campo serial, isto é, um campo auto-incremento, mas
definiu sua chave primária como (id_empresa, id). Sua
chave primária poderia ser somente id.

Se você estiver pensando em múltiplas empresas em seu
banco não seria melhor utilizar esquemas?

Osvaldo
PS. Dê uma lida no tutorial em:
http://pgdocptbr.sourceforge.net/pg80/tutorial.html




      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a