--- 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
