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