No PostgreSQL temos um recurso muito bacana e pelo que tenho visto muito pouco utilizado que é o comentário em objetos. A idéia é bem simples. É ser um comentário (descrição) do objeto. Um comentário pode ser adicionado em colunas de tabelas, tabelas, seqüências, esquemas, tablespaces, rules, funções, gatilhos (triggers) dentro outros.
Por exemplo: Supondo a seguinte estrutura de tabela:
postgres=# \d funcionarios
Table “public.funcionarios”
Column | Type | Modifiers
——————–+————————+———–
codigo_funcionario | integer | not null
nome | character varying(50) | not null
salario | numeric(10,2) | not null
auxiliar1 | character varying(100) |
Indexes:
“funcionarios_pkey” PRIMARY KEY, btree (codigo_funcionario)
Os campos codigo_funcionario, nome e salário são de fácil interpretação e o campo auxiliar1 o que ele representa na tabela? Ele pode ser por exemplo, um campo para informações adicionais do funcionário ou derrepente armazenar uma outra informação. Se por exemplo, o campo auxiliar1 tivesse um comentário seria muita mais rápido e fácil descobrir qual o objetivo deste campo e que informações ele armazena.
Na teoria é bonito mas como funciona na prática o comentário sobre objetos e qual comando eu devo utilizar para adicionar um comentário? E depois, como eu visualizo o comentário?
Para adicionar um comentário sobre um objeto faz-se uso do comando COMMENT ON.
Sintaxe completa:
COMMENT ON
{
TABLE object_name |
COLUMN table_name.column_name |
AGGREGATE agg_name (agg_type [, ...] ) |
CAST (sourcetype AS targettype) |
CONSTRAINT constraint_name ON table_name |
CONVERSION object_name |
DATABASE object_name |
DOMAIN object_name |
FUNCTION func_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) |
INDEX object_name |
LARGE OBJECT large_object_oid |
OPERATOR op (leftoperand_type, rightoperand_type) |
OPERATOR CLASS object_name USING index_method |
OPERATOR FAMILY object_name USING index_method |
[ PROCEDURAL ] LANGUAGE object_name |
ROLE object_name |
RULE rule_name ON table_name |
SCHEMA object_name |
SEQUENCE object_name |
TABLESPACE object_name |
TEXT SEARCH CONFIGURATION object_name |
TEXT SEARCH DICTIONARY object_name |
TEXT SEARCH PARSER object_name |
TEXT SEARCH TEMPLATE object_name |
TRIGGER trigger_name ON table_name |
TYPE object_name |
VIEW object_name
} IS ‘text’
Exemplo: Adicionando um comentário a tabela de funcionários.
postgres=# COMMENT ON TABLE funcionarios IS ‘Tabela de Funcionários’;
COMMENT
Pronto. Adicionamos um comentário a tabela de funcionários.
Para verificar o comentário sobre uma tabela utiliza-se o meta-comando \dd seguido do nome da tabela.
postgres=# \dd funcionarios
Object descriptions
Schema | Name | Object | Description
——–+————–+——–+————————
public | funcionarios | table | Tabela de Funcionários
(1 row)
Pronto. Ai está a tabela e o seu respectivo comentário.
Exemplo: Adicionando comentário nas colunas da tabela.
postgres=# COMMENT ON COLUMN funcionarios.codigo_funcionario IS ‘Código do funcionário.’;
COMMENT
postgres=# COMMENT ON COLUMN funcionarios.nome IS ‘Nome do funcionário.’;
COMMENT
postgres=# COMMENT ON COLUMN funcionarios.salario IS ‘Salário do funcionário.’;
COMMENT
postgres=# COMMENT ON COLUMN funcionarios.auxiliar1 IS ‘Informações adicionais do funcionário.’; COMMENT
Feito. Os comentários sobre as colunas da tabela estão prontos. Para visualizar faz-se uso do meta-comando \d+ e o nome da tabela.
postgres=# \d+ funcionarios
Table “public.funcionarios”
Column | Type | Modifiers | Description
——————–+————————+———–+—————————————-
codigo_funcionario | integer | not null | Código do funcionário.
nome | character varying(50) | not null | Nome do funcionário.
salario | numeric(10,2) | not null | Salário do funcionário.
auxiliar1 | character varying(100) | | Informações adicionais do funcionário.
Indexes:
“funcionarios_pkey” PRIMARY KEY, btree (codigo_funcionario)
Has OIDs: no
Rápido e fácil e tem-se um comentário sobre as colunas da tabela o que facilita a interpretação do que estas colunas estão representando.
Comentários em objetos
Publicado por jotacomm em 26/10/2008
Olá, pessoal
No PostgreSQL temos um recurso muito bacana e pelo que tenho visto muito pouco utilizado que é o comentário em objetos. A idéia é bem simples. É ser um comentário (descrição) do objeto. Um comentário pode ser adicionado em colunas de tabelas, tabelas, seqüências, esquemas, tablespaces, rules, funções, gatilhos (triggers) dentro outros.
Por exemplo: Supondo a seguinte estrutura de tabela:
postgres=# \d funcionarios
Table “public.funcionarios”
Column | Type | Modifiers
——————–+————————+———–
codigo_funcionario | integer | not null
nome | character varying(50) | not null
salario | numeric(10,2) | not null
auxiliar1 | character varying(100) |
Indexes:
“funcionarios_pkey” PRIMARY KEY, btree (codigo_funcionario)
Os campos codigo_funcionario, nome e salário são de fácil interpretação e o campo auxiliar1 o que ele representa na tabela? Ele pode ser por exemplo, um campo para informações adicionais do funcionário ou derrepente armazenar uma outra informação. Se por exemplo, o campo auxiliar1 tivesse um comentário seria muita mais rápido e fácil descobrir qual o objetivo deste campo e que informações ele armazena.
Na teoria é bonito mas como funciona na prática o comentário sobre objetos e qual comando eu devo utilizar para adicionar um comentário? E depois, como eu visualizo o comentário?
Para adicionar um comentário sobre um objeto faz-se uso do comando COMMENT ON.
Sintaxe completa:
COMMENT ON
{
TABLE object_name |
COLUMN table_name.column_name |
AGGREGATE agg_name (agg_type [, ...] ) |
CAST (sourcetype AS targettype) |
CONSTRAINT constraint_name ON table_name |
CONVERSION object_name |
DATABASE object_name |
DOMAIN object_name |
FUNCTION func_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) |
INDEX object_name |
LARGE OBJECT large_object_oid |
OPERATOR op (leftoperand_type, rightoperand_type) |
OPERATOR CLASS object_name USING index_method |
OPERATOR FAMILY object_name USING index_method |
[ PROCEDURAL ] LANGUAGE object_name |
ROLE object_name |
RULE rule_name ON table_name |
SCHEMA object_name |
SEQUENCE object_name |
TABLESPACE object_name |
TEXT SEARCH CONFIGURATION object_name |
TEXT SEARCH DICTIONARY object_name |
TEXT SEARCH PARSER object_name |
TEXT SEARCH TEMPLATE object_name |
TRIGGER trigger_name ON table_name |
TYPE object_name |
VIEW object_name
} IS ‘text’
Exemplo: Adicionando um comentário a tabela de funcionários.
postgres=# COMMENT ON TABLE funcionarios IS ‘Tabela de Funcionários’;
COMMENT
Pronto. Adicionamos um comentário a tabela de funcionários.
Para verificar o comentário sobre uma tabela utiliza-se o meta-comando \dd seguido do nome da tabela.
postgres=# \dd funcionarios
Object descriptions
Schema | Name | Object | Description
——–+————–+——–+————————
public | funcionarios | table | Tabela de Funcionários
(1 row)
Pronto. Ai está a tabela e o seu respectivo comentário.
Exemplo: Adicionando comentário nas colunas da tabela.
postgres=# COMMENT ON COLUMN funcionarios.codigo_funcionario IS ‘Código do funcionário.’;
COMMENT
postgres=# COMMENT ON COLUMN funcionarios.nome IS ‘Nome do funcionário.’;
COMMENT
postgres=# COMMENT ON COLUMN funcionarios.salario IS ‘Salário do funcionário.’;
COMMENT
postgres=# COMMENT ON COLUMN funcionarios.auxiliar1 IS ‘Informações adicionais do funcionário.’; COMMENT
Feito. Os comentários sobre as colunas da tabela estão prontos. Para visualizar faz-se uso do meta-comando \d+ e o nome da tabela.
postgres=# \d+ funcionarios
Table “public.funcionarios”
Column | Type | Modifiers | Description
——————–+————————+———–+—————————————-
codigo_funcionario | integer | not null | Código do funcionário.
nome | character varying(50) | not null | Nome do funcionário.
salario | numeric(10,2) | not null | Salário do funcionário.
auxiliar1 | character varying(100) | | Informações adicionais do funcionário.
Indexes:
“funcionarios_pkey” PRIMARY KEY, btree (codigo_funcionario)
Has OIDs: no
Rápido e fácil e tem-se um comentário sobre as colunas da tabela o que facilita a interpretação do que estas colunas estão representando.
Fiquem a vontade para comentários.
[]s
Esta entrada foi publicada em 26/10/2008 às 21:40 e é arquivado em PostgreSQL. Tagged: comentários em objetos, COMMENT ON, PostgreSQL. Você pode seguir qualquer respostas para esta entrada através de RSS 2.0 feed. Você pode deixe uma resposta, ou trackback do seu próprio site.