Quoting rafael sousa [EMAIL PROTECTED]:
Para o pessoal da lista que possa não estar entendo o assunto da thread
segue um exemplo:
CREATE TYPE estados AS ENUM('SP','MG','RJ');
CREATE TABLE teste
(
id integer NOT NULL,
uf estados,
CONSTRAINT teste_pkey PRIMARY KEY (id)
)
O
Vaga para Curitiba, Paraná
Período de 6 meses
Conhecimento em Java, Php, Postgresql
Necessário ter curso superior completo
Encaminhar curriculum vitae com pretensão salarial para : [EMAIL PROTECTED]
___
pgbr-geral mailing list
2008/10/14 Fábio Telles Rodriguez [EMAIL PROTECTED]
Senhores e senhoritas, estamos fazendo uma pesquisa para escolher o local
do PGCon Brasil 2009. Em 2007 foi em São Paulo-SP e em 2008 foi em
Campinas-SP. Agora para 2009 queremos saber a sua opinião.
A pesquisa está on-line em
2008/10/15 Rafael Sousa [EMAIL PROTECTED]:
esse exemplo tá ficando cada vez melhor.. :-)
Já que houve aplausos, dá para melhorar mais ainda — não exatamente
modelagem mas nomenclatura.
O tipo deve ter o mesmo nome que será usado no atributo... na verdade,
o nome do atributo deve ser o do tipo,
Melhor do que isto, só colocando coluna para nome por extenso, nome da
capital e tratamento (do, da, de)
[]´s
2008/10/15 Leandro DUTRA [EMAIL PROTECTED]
2008/10/15 Rafael Sousa [EMAIL PROTECTED]:
esse exemplo tá ficando cada vez melhor.. :-)
Já que houve aplausos, dá para melhorar mais
2008/10/15 José Mello Júnior [EMAIL PROTECTED]:
Melhor do que isto, só colocando coluna para nome por extenso, nome da
capital e tratamento (do, da, de)
Mas para dar nomes, creio que o ideal seria fazer internacionalizável,
o que já complicaria bem um exemplo que na verdade é sobre tipos de
Só lembrando que todas as UF tem um Cód Estabelecido pelo Governo em seus
sistemas
assim como todos os municipios
ex: BA = 29
Salvador = 2927408
vai que amanhã vc precisa exportar alguma informação!!
--- Ivan viana
E-MAIL: [EMAIL PROTECTED]
Em 15/10/08, Leandro DUTRA[EMAIL PROTECTED] escreveu:
2008/10/15 Rafael Sousa [EMAIL PROTECTED]:
esse exemplo tá ficando cada vez melhor.. :-)
Já que houve aplausos, dá para melhorar mais ainda — não exatamente
modelagem mas nomenclatura.
O tipo deve ter o mesmo nome que será usado no
2008/10/15 Osvaldo Kussama [EMAIL PROTECTED]:
Outra característica do enum é que a ordem é determinada pela ordem em
que são colocados no comando de sua criação. Assim:
Certo.
Verifique que o PostgreSQL considera a ordem de criação do tipo:
bdteste=# SELECT pe.enumlabel AS pais FROM
Olá,
Dando um pitaco:
Esse negócio de usar ENUM, até que é conceitualmente bonitinho, porém
certas questões me fazem duvidar da sua utilidade prática:
* E se eu quiser guardar um nome descritivo para cada valor possível nos meus
ENUMs-que-deveriam-ser-tabelas? Crio uma tabela com chave primária
Em 15/10/08, Leandro DUTRA[EMAIL PROTECTED] escreveu:
2008/10/15 Osvaldo Kussama [EMAIL PROTECTED]:
Verifique que o PostgreSQL considera a ordem de criação do tipo:
bdteste=# SELECT pe.enumlabel AS pais FROM pg_type pt JOIN pg_enum pe
ON pt.oid = pe.enumtypid WHERE pt.typname = 'paises';
2008/10/15 Mozart Hasse [EMAIL PROTECTED]:
* E se eu quiser guardar um nome descritivo para cada valor possível nos meus
ENUMs-que-deveriam-ser-tabelas? Crio uma tabela com chave primária do tipo
ENUM e coloco nela os respectivos campos extras?!
Claro, ele é uma definição de tipo, não uma
Fiz esta modelagem de endereço e gostaria de ouvir a opinião da comunidade.
O foco é, chaves naturais ou chave burra
/**
cep
*/
CREATE DOMAIN CEP AS TEXT CHECK (VALUE ~
'^([0-9]{2})[.]([0-9]{3})[-]([0-9]{3})$' ) ;
e completando...
CREATE TYPE UF AS ENUM
('MG','SP','RJ','AC','AL','AP','AM','BA','CE','DF','ES','GO',
'MA','MS','MT','PA','PB','PE','PI','PR','RN','RO','RR','RS',
'SC','SE','TO','EX') ;
2008/10/15 Junin [EMAIL PROTECTED]
Fiz esta modelagem de endereço e gostaria de
Um detalhe besta... ao invés de colocar comentários no estico C com os /*
... */, não seria melhor utilizar os comentários do próprio banco e reforçar
a documentação dentro dele?
http://www.postgresql.org/docs/8.3/static/sql-comment.html
[]s
Fábio Telles
2008/10/15 Junin [EMAIL PROTECTED]
Fiz
2008/10/15 Junin [EMAIL PROTECTED]:
Fiz esta modelagem de endereço e gostaria de ouvir a opinião da comunidade.
O foco é, chaves naturais ou chave burra
Chave natural é essencial, acho que tratamos disso no PgCon... você
pode até ter seus motivos para declarar uma chave artificial, mas não
pode
Fábio,
Vc tem razão, é gosto de detalhes. Mas dando enfâse ao foco principal, chave
burra ou chave natural?
Avaliando a grosso modo, a chave natural irá alocar mais espaço em disco,
mas garante a integridade. A chave burra aloca menos espaço, mas precisaria
de indices a mais para garantir a
2008/10/15 Junin [EMAIL PROTECTED]:
Avaliando a grosso modo, a chave natural irá alocar mais espaço em disco,
mas garante a integridade. A chave burra aloca menos espaço, mas precisaria
de indices a mais para garantir a integridade . . .
Só para repetir, é o contrário...
Sem chave natural,
2008/10/15 ivan viana [EMAIL PROTECTED]:
Só lembrando que todas as UF tem um Cód Estabelecido pelo Governo em seus
sistemas
assim como todos os municipios
ex: BA = 29
Salvador = 2927408
A que órgão do governo você se refere? Há vários... esse não é o do
IBGE, é? O do IBGE era o usado no
ok Dutra. Gostaria que você opinasse sobre a modelagem proposta...
2008/10/15 Leandro DUTRA [EMAIL PROTECTED]
2008/10/15 Junin [EMAIL PROTECTED]:
Avaliando a grosso modo, a chave natural irá alocar mais espaço em disco,
mas garante a integridade. A chave burra aloca menos espaço, mas
2008/10/15 Junin [EMAIL PROTECTED]
Fábio,
Vc tem razão, é gosto de detalhes. Mas dando enfâse ao foco principal,
chave burra ou chave natural?
Para mim isso depende da regra de negócio
1º) Uma chave natural, se não for a PK, deve ao menos ser a UK
2º) Se a aplicação permite com
2008/10/15 Junin [EMAIL PROTECTED]:
ok Dutra. Gostaria que você opinasse sobre a modelagem proposta...
Já o fiz! ;-)
--
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7344 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191ICQ/AIM:
2008/10/15 Leandro DUTRA [EMAIL PROTECTED]
2008/10/15 Junin [EMAIL PROTECTED]:
Fiz esta modelagem de endereço e gostaria de ouvir a opinião da
comunidade.
O foco é, chaves naturais ou chave burra
Chave natural é essencial, acho que tratamos disso no PgCon... você
pode até ter seus
2008/10/15 Johnny Taylor Faria Chaves [EMAIL PROTECTED]:
Quoting rafael sousa [EMAIL PROTECTED]:
CREATE TABLE teste
(
id integer NOT NULL,
uf estados,
CONSTRAINT teste_pkey PRIMARY KEY (id)
)
O comentário abaixo não tem haver com o assunto em questão, e eu não
sou o Leandro, mas
Boa tarde moçada...
Seguinte, tenho uma consulta aqui que parece ser tranquila mas está me dando
dor de cabeça...
Eu tenho um sistema de QUIZ no meu site, em que tenho várias perguntas e
tenho vários usuários respondendo as mesmas.
As tabelas que precisam ser citadas:
usuarios
tem o campo rowid
Boa tarde,
Entrei pra comunidade a pouco tempo e é a primeira vez que estou
participando,
por isso peço desculpa antecipadamente por qualquer conduta errada que eu
posso vir a cometer ao tentear solucionar meu problema:
Bom, estou analisando algumas ferramentas para fazer a modelagem de um
Case Studio www.casestudio.com --Edson LidorioMsn:[EMAIL PROTECTED] Em 16:09, Alex Rossini escreveu:Boa tarde,Entrei pra comunidade a pouco tempo e é a primeira vez que estouparticipando, por isso peço desculpa antecipadamente por qualquer conduta errada que euposso vir a cometer ao tentear
2008/10/15 Alex Rossini [EMAIL PROTECTED]:
Bom, estou analisando algumas ferramentas para fazer a modelagem de um banco
em PostgreSQL, já dei uma boa olhada nas ferramentas
MicroOLAP Database Designer for PostgreSQL e PowerDesigner 12.5.
Gostaria de saber se alguém conhece alguma ferramenta
Obrigado Edison.
Atenciosamente:
Alex Augusto Zorzanelli Rossini
Allware Software Ltda
http://www.allware.com.br www.allware.com.br
Tel: (027)2123-0020 / 2123-0021
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
2008/10/15 Wagner Bonfiglio [EMAIL PROTECTED]:
usuarios
tem o campo rowid como chave primária
Hm, você já tem um problema aqui... essas tabelas têm chave natural declarada?
triviavotos
armazena as respostas que os clientes deram... tem o idtrivia
[...]
A questão é quando eu quero pegar uma
Em 15/10/08, Fábio Telles Rodriguez[EMAIL PROTECTED] escreveu:
2008/10/15 Junin [EMAIL PROTECTED]
Fábio,
Vc tem razão, é gosto de detalhes. Mas dando enfâse ao foco principal,
chave burra ou chave natural?
Para mim isso depende da regra de negócio
1º) Uma chave natural, se não for a
2008/10/15 Osvaldo Kussama [EMAIL PROTECTED]:
CEP não é um número (de 8 algarismos)? Por quê considerá-lo como texto?
Acho que ele pegou um exemplo idiota meu, que não era uma proposta —
apenas uma demonstração de um DOMAIN.
Não é melhor que ele seja, por exemplo, um integer?
Desde que
moviemago= EXPLAIN ANALYZE select * from rfc.v_triviasnaovotadas where
idclien = 8382 limit 1;
QUERY PLAN
---
Limit
Bom, comecei a dar uma olhada em :
http://explain-analyze.info/
E na documentação...
Vou ver o que consigo descobrir sozinho, mas só acho dificil conseguir
melhorar a VIEW, nisso eu ainda gostaria de uma ajuda se possível =X
Valeu,
Wagner Bonfiglio
On Wed, Oct 15, 2008 at 5:49 PM, Wagner
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
sei que existe a funcao date + interval ' x month' mas nao estou
conseguindo implementar esse x como uma variável.
Ficaria grato se alguem me desse uma
2008/10/15 Tatu [EMAIL PROTECTED]
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
sei que existe a funcao date + interval ' x month' mas nao estou
conseguindo implementar esse x como uma variável.
Em 15/10/08, Wagner Bonfiglio[EMAIL PROTECTED] escreveu:
Boa tarde moçada...
Seguinte, tenho uma consulta aqui que parece ser tranquila mas está me dando
dor de cabeça...
Eu tenho um sistema de QUIZ no meu site, em que tenho várias perguntas e
tenho vários usuários respondendo as mesmas.
2008/10/15, Tatu [EMAIL PROTECTED]:
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
sei que existe a funcao date + interval ' x month' mas nao estou
conseguindo implementar esse x como uma variável.
Olá, Tatu
Segue abaixo uma função. Poderia verificar se é isso que você precisa.
CREATE OR REPLACE FUNCTION soma_data(date,integer)
RETURNS date AS $soma_data$
SELECT $1+$2;
$soma_data$ LANGUAGE SQL IMMUTABLE;
SELECT soma_data('2008-10-13',20); //chamando a função
ou ainda de uma forma mais
2008/10/15 Tatu [EMAIL PROTECTED]:
Necessito numa função, entrar com um data e um numero enteiro no segundo
parametro que é a quantidade de meses a somar e retorna uma data...
$ PREPARE incrementador_de_dias(date,integer) AS SELECT $1 + $2;
$ EXECUTE incrementador_dedias(CURRENT_DATE,30);
sei
Ola Oswaldo,
eu rodei exatamente a consulta que você falou e não me retornou nada. Ainda
coloquei o id do usuário, pois eu preciso disso na função, e fiz um EXPLAIN
ANALYZE... Eis o resultado:
moviemago= EXPLAIN ANALYZE SELECT t.rowid, t.created, t.updated,
t.idcriador, t.pergunta,
moviemago-
Eu utilizo o MicroOLAP e é muito bom.
2008/10/15 Alex Rossini [EMAIL PROTECTED]
Boa tarde,
Entrei pra comunidade a pouco tempo e é a primeira vez que estou
participando,
por isso peço desculpa antecipadamente por qualquer conduta errada que eu
posso vir a cometer ao tentear solucionar meu
Vocês estão querendo manipular/manter tabelas do system através do
negócio? Não precisa ser um AD pra notar que tem algum erro no projeto de
banco de dados. Acho que estamos mandando a portabilidade direto para a
armadilha. Eu acho ENUM legal, mas acho que devemos ser cautelosos quanto ao
uso.
Oi,
Se eu entendi a questão, eu usaria um tipo com o schema da tabela (pode ser
um tipo genérico, com codigo integer, descricao varchar(30)), e criaria uma
função para cada conjunto de retorno, retornando um set do schema criado. A
vantagem é que posso retornar qualquer registro, criado em
Olá,
Meu voto convicto é por chaves burras como chaves primárias e chaves
naturais como alternate key (constraint UNIQUE).
Chaves primárias burras ocupam pouco espaço na tabela principal e nas
tabelas filhas. Ter um único campo nos JOINs é excelente, praticamente
imprescindível quando você
2008/10/15 Aldemir Vieira [EMAIL PROTECTED]:
Vocês estão querendo manipular/manter tabelas do system através do
negócio?
Não sei se entendi... mas o que o Euler está propondo é manutenção,
não aplicação. PostgreSQL não é como outros SGBDs, onde transações só
serverm para aplicativo.
Não
2008/10/15 Idesk [EMAIL PROTECTED]:
Se eu entendi a questão, eu usaria um tipo com o schema da tabela (pode ser
um tipo genérico, com codigo integer, descricao varchar(30)), e criaria uma
função para cada conjunto de retorno, retornando um set do schema criado. A
vantagem é que posso retornar
Dutra,
Sem chave natural, não precisa de uma chave (e índice) artificial; em
termos de armazenamento, geralmente é a solução econômica.
Bom, se você faz tabelas para consultar com frequência, vai precisar de
vários índices. Se incluir a PK grande em alguns deles, vai perder toda a
economia
2008/10/15 Mozart Hasse [EMAIL PROTECTED]:
Bom, se você faz tabelas para consultar com frequência, vai precisar de
vários índices. Se incluir a PK grande em alguns deles, vai perder toda a
economia teórica que teria por não usar chaves artificiais. Ainda mais se
propagar sua chave natural
Euler,
Mudar um ENUM não deveria ser frequente, mas pode acontecer por mudanças nos
requisitos do sistema pedidas pelo cliente e/ou impostas pela legislação. É
quase impossível prever quando qualquer uma dessas coisas vai acontecer.
Agora, o que se espera de um ENUM ou de uma tabela de apoio é
Legal isso mesmo...a função ficou assim...
-
CREATE OR REPLACE FUNCTION incmes(date, numeric)
RETURNS date AS
$BODY$
declare
data_ date ;
begin
data_ = $1 ;
data_ = data_ + $2 * '1 month' ::interval ;
return data_ ;
end ;
$BODY$
LANGUAGE 'plpgsql'
51 matches
Mail list logo