Patrick Espake escreveu:
> Bom dia a todos,
>
> Sou novo em PostgreSQL, estou criando um banco de dados e preciso 
> definir um padrão de nomenclatura para tabelas, índices, constraints, 
> domains, functions, sequences, triggers e o mais o que for necessário.
>
> Alguém possui um exemplo de nomenclatura? Ou poder me dar um exemplo?
Por mais que várias pessoas odeiem e isso seja redudante em níveis 
eleveados, eu sempre uso o seguinte padrão:

-- CRIANDO A TABLE
CREATE TABLE tb_APLICACAO_NOMETABELA ( -- APLICACAO e NOMETABELA em 
minusculo e singular.
       nometabelacampo NUMERIC(1)
);
-- Exemplo: CREATE TABLE tb_firefs_usuario ( usuarioid NUMERIC(1) NOT 
NULL );

-- CRIANDO A PK
ALTER TABLE tb_aplicacao_nometabela ADD CONSTRAINT 
pk_aplicacao_nometabela_nomecampo PRIMARY KEY (nomecampo);
-- Exemplo: ALTER TABLE tb_firefs_usuario ADD CONSTRAINT 
fk_firefs_usuario_usuarioid PRIMARY KEY (usuarioid);

-- CRIANDO OUTRA TABLE
CREATE TABLE tb_firefs_detalheusuario (
       detalheusuarioid NUMERIC(1) NOT NULL,
       usuario_usuarioid NUMERIC(1) NOT NULL
);
-- CRIANDO A PK
ALTER TABLE tb_firefs_detalheusuario ADD CONSTRAINT 
pk_firefs_detalheusuario_detalheusuarioid PRIMARY KEY (detalheusuarioid);
--CRIANDO A FK
ALTER TABLE tb_firefs_detalheusuario ADD CONSTRAINT 
fk_firefs_detalheusuario_usuario_usuarioid FOREIGN KEY 
(usuario_usuarioid) REFERENCES tb_firefs_usuario (usuarioid);

-- CRIANDO SEQUENCE
CREATE SEQUENCE sq_firefs_usuario START 1;

--CRIANDO TYPES
CREATE TYPE ty_status AS ENUM ('ATIVO','CANCELADO');

--CRIANDO FUNCTIONS
CREATE FUNCTION fu_busca_usuario(text) RETURNS text....

    Te digo que já tive vários quebra pau com vários desenvolvedores e 
dbas que falavam que isso era redundante demais e ocupava mais código, 
porém quando bato o olho em uma estrutura consigo identificar 
imediatamente o que é cada coisa e já convenci muita gente a usar esse 
padrão de nomeclatura.

Leandro Damascena.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a