Re: [pgbr-geral] - Dúvida sobre índice
Leandro, -Mensagem Original- From: pgbr-geral-requ...@listas.postgresql.org.br Sent: Monday, June 13, 2011 12:00 PM To: pgbr-geral@listas.postgresql.org.br Vixe, agora é que boiei mesmo. O que seria uma tabela primária, então? Em que as tabelas do PostgreSQL diferem das do Sybase ou MS SQL Server? Como assim uma tabela com chave primária *é* (em vez de _ter_) índice? Sim, no SQL Server uma tabela do tipo clustered *é* fisicamente armazenada como um índice. http://msdn.microsoft.com/en-us/library/ms189051.aspx As páginas de um índice pode ser percorrido seqüencialmente? No SQL Server e no SyBase, sim. Em alguns casos, imagino, não em todos? No SQL Server e no SyBase, sim. Me parece um argumento partindo dos resultados? continua faltando a explicação que, implicitamente, pedi acima: como preservar eficiência no caso geral quando se otimiza para um caso específico. O caso indicado não é específico. A regra é a tabela ter uma chave natural ou primária, e não o contrário. ... por isso mesmo, nenhum sistema SQL que eu conheça ordena tabelas a menos que comandado explícita e manualmente para isso. Eu te apresento então os SGBDs SQL Server e SyBase. Dúvidas? Consulte o site da Microsoft. Um sistema onde isso ocorre, como era o caso dos navigacionais ou dos grafos, tende a ser globalmente lento para escrita,... Só se você desconsiderar boa parte dos fatores relevantes, como a utilidade de uma tabela desordenada ou a atualização do índice correspondente, que também faz parte do processo de escrita. Ainda estou para achar o tal artigo. Eu agradeceria muito um URI ou outra indicação de como o encontrar. http://technet.microsoft.com/en-gb/library/cc917672.aspx ... sempre que você trouxe essas reclamações sobre o desempenho do PostgreSQL, pedimos mais informações, e você nunca as trouxe ... Reconheço que enfatizei as conclusões e não os fatos que usei como base, por serem feitos em bases de clientes que, de fato, não posso publicar. Se preciso montar/publicar artigos a partir de bases públicas para poder expor opiniões aqui, coloque isso nas normas da lista então que saio em seguida ou só fico assistindo. ... concluir tentativamente, como fazemos, que o problema é que tua aplicação foi toda construída para MS SQL Server e apenas parcialmente portada para PostgreSQL. O que é natural e humano, devido às lacunas de conhecimento aparentes. Eis aí o ponto fundamental que precisa mudar nessa comunidade: enquanto se achar que o que funciona lento em PostgreSQL foi feito para outro BD, o progresso chega por acaso. Limitar os campos de pesquisa ou os pontos que precisam de melhora por conta disso só desmerece o produto e seu futuro. Sou contra essa visão de que o desenvolvimento precisa ser otimizado para o banco de dados, qualquer que ele seja. Caso haja otimizações que resultem em ganhos de ordens de magnitude (como é o caso por exemplo de indexed views), é de se esperar que outros bancos de dados ofereçam mecanismos para atingir desempenho similar. Não impliquei com o PostgreSQL porque planejamos fazer de um jeito ou de outro, muito pelo contrário, simplesmente constatamos que tudo o que nunca deu problema de desempenho nos outros bancos de dados empacava no PostgreSQL. Tudo o que observei dessas empacadas me faz acreditar que a organização de tabelas e índices que indiquei é uma forma de melhorar (e muito) o desempenho do banco de dados. Se não querem nem analisar por causa da fonte, só lamento. Mozart Hasse ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
2011/6/11 Euler Taveira de Oliveira eu...@timbira.com: Em 11-06-2011 03:43, Leandro DUTRA escreveu: no PostgreSQL a tabela pode ser agrupada http://doc.postgresqlfr.org/9.1/sql-cluster.html, e não o índice http://doc.postgresqlfr.org/9.1/sql-createindex.html. Ugh? O CREATE INDEX (aka REINDEX) faz exatamente a ordenação de um índice. É, estou enferrujado mesmo… -- Skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 Google Talk: xmpp:leand...@jabber.org +55 (11) 9406 7191 ICQ: AIM:GoIM?screenname=61287803 sip:leand...@iptel.org MSNIM:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
2011/6/11 Mozart Hasse mozart.ha...@usa.net: Coloquei entre aspas exatamente para deixar claro que a terminologia usada é diferente da usual. Adequei o vocabulário da minha resposta ao da mensagem original, não aos livros que você escolheu, que não inseri na conversa. Senti uma espetada aí. Não sei de outra teoria relacional que seja relevante para alguma outra linguagem SQL; mais do que isso, nunca vi nenhum livro que usasse esse vocabulário, nem no contexto de SGBDs nem em nenhum outro contexto… realmente, não deu para (eu) entender. Tabela primária é outra forma de adequação de vocabulário já que, falando do SQL Server e do SyBase, todas as tabelas com chave primária são por padrão índices e não o que o PostgreSQL chama de tabelas. Vixe, agora é que boiei mesmo. O que seria uma tabela primária, então? Em que as tabelas do PostgreSQL diferem das do Sybase ou MS SQL Server? Como assim uma tabela com chave primária *é* (em vez de _ter_) índice? Vocabulário é importante, nem que seja para gente menos esperta, como eu, conseguir funcionar… a dúvida é sobre organização *física* dos dados. Bom, mas aí é que está — no modelo físico, que sentido faz falar em (índice, não chave nem tabela) primário ou secundário? Mesmo no caso de uma tabela organizada por alguma chave, essa chave não necessariamente seria a primária, e poderia até (teoricamente) dispensar um índice, não? As páginas de um índice pode ser percorrido seqüencialmente? No SQL Server e no SyBase, sim. Em alguns casos, imagino, não em todos? Achou o create table no site da microsoft. Leia no treeview à sua esquerda a excelente documentação sobre organização física e vai ver que minhas observações seguem o que diz a documentação. Não consegui, o que achei parece contradizer tuas afirmações… A árvore, como a vejo, não tem nada sobre organização física. Também procurei por ‘physical organization’ com o Bing embutido acima dela, e nada… deve ser leseira minha. Só se o SQL Server tivesse o otimizador do PostgreSQL. Uma organização diferente impõe técnicas de otimização diferentes, que chegam a excelentes resultados. Me parece um argumento partindo dos resultados… continua faltando a explicação que, implicitamente, pedi acima: como preservar eficiência no caso geral quando se otimiza para um caso específico. Precisa ser muito menos superficial para chegar a conclusões condizentes com o banco de dados que tanto desconhece e adora criticar. SyBase também, diga-se de passagem. Adoro criticar? Quisera eu não houvesse criticar. Aliás, quisera nunca tê-lo conhecido. Pelo menos, conheço um pouco, tanto o MS quanto o Sybase SQL Server, Não. Foi você que leu superficialmente e passou batido por esta frase no mesmo link que indicou: ... PRIMARY KEY constraints default to CLUSTERED, and UNIQUE constraints default to NONCLUSTERED. Dica, que peguei do CS Lewis, bem mais esperto que eu: nunca tente adivinhar o que passava na cabeça doutro autor. A taxa de erro é quase igual a 100%. No caso, se passei batido por algo foi tua frase original, que entendi se referir à ordem das tabelas, como o contexto parece indicar. Relendo, vejo meu erro, reforçado ainda pela citação parcial do parágrafo (?) original. Então, apagando e voltando de onde errei: A definição de quando a tabela/índice será ordenado ou não depende de banco para banco. No SQL Server é possível definir qual o critério de ordenação criando o índice com a opção CLUSTERED, padrão para chaves primárias. Até aqui tudo bem, falas apenas de índices de chaves primárias. Já no PostgreSQL, existe o comando CLUSTER para a mesma finalidade, que sempre deve ser explicitado quando desejado. Importante salientar que no PostgreSQL uma tabela com a opção CLUSTER só fica ordenada imediatamente após a sua reorganização (recluster). Na verdade, o problema que percebi está na relação deste parágrafo com o anterior. Pareces comparar índices no MS SQL Server com tabelas no PostgreSQL, o que obviamente não faz sentido; portanto, não sei se entendi o que querias dizer. O que posso dizer é que, enquanto no MS SQL Server o índice pode ser classificado, e (aparentemente) não a tabela, no PostgreSQL a tabela pode ser agrupada http://doc.postgresqlfr.org/9.1/sql-cluster.html, e não o índice http://doc.postgresqlfr.org/9.1/sql-createindex.html. Depende de como seu otimizador for construído e quais estatísticas você coletar. Na verdade, só se o planejador (otimizador não é um nome correto) for ruim, ou as estatísticas deficientes. E isso só reforçaria o problema que aponto. Veja, o planejador é apenas parte do sistema. Um sistema onde todas as tabelas sejam fisicamente ordenadas incorre em grande trabalho nas escritas; por isso mesmo, nenhum sistema SQL que eu conheça ordena tabelas a menos que comandado explícita e manualmente para isso. Um sistema onde isso ocorre, como era o caso dos navigacionais ou dos grafos, tende a ser globalmente lento para escrita, o
Re: [pgbr-geral] - Dúvida sobre índice
Em 11-06-2011 03:43, Leandro DUTRA escreveu: no PostgreSQL a tabela pode ser agrupada http://doc.postgresqlfr.org/9.1/sql-cluster.html, e não o índice http://doc.postgresqlfr.org/9.1/sql-createindex.html. Ugh? O CREATE INDEX (aka REINDEX) faz exatamente a ordenação de um índice. -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] - Dúvida sobre índice
Amigos tenho uma dúvida sobre índice: Estava estudo dando um pouco a literatura e vir que existe alguma categorias: Primario - Trabalha sobre um campo chave e sobre arquivos ORDENADOS secundário Trabalha sobre campo não chave ou NÃO e sobre arquivos DESORDENADOS; Minha pergunta é : o que seria arquivos ORDENADOS E DESORDENADO ? segunda pergunta: Na prática como isso acontece: tipo vou criar um índice e digo se ele é primario ou secundário ? obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
2011/6/9 izana souza torres izanator...@gmail.com: Estava estudo dando um pouco a literatura Qual? Primario - Trabalha sobre um campo chave e sobre arquivos ORDENADOS Essa não é a nomenclatura relacional, nem a de SQL. Portanto, não se aplica ao Postgres nem a nenhum outro SGBD SQL. Minha pergunta é : o que seria arquivos ORDENADOS E DESORDENADO ? Ordenado ou não por algum atributo? tipo vou criar um índice e digo se ele é primario ou secundário ? Não, índices são índices. A coisa mais próxima em SQL seriam chaves primárias ou alternativas, que têm sempre um índice associado. Já no modelo relacional, índices e chaves são ortogonais, e não há chaves primárias ou secundárias. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
Oi Izana, Creio que você está se referindo ao agrupamento físico dos dados, seja da tabela, seja do índice. Os bancos de dados variam bastante na forma como tratam estes casos, ora aplicando estes critérios ao índice, à tabela, aos dois ou a nenhum deles. O que você citou como índice/tabela PRIMARIO deve ser o critério de ordenação dentro da tabela ou índice. Por exemplo, se o seu índice primário é composto pelo campo NOME, então ao percorrer sequencialmente as páginas da sua tabela ou índice, notará que os registros ali contidos estão ordenados por este campo. Evidentemente só é possível escolher um critério para chamar de primário, enquanto que todos os outros índices farão referência aos dados existentes na tabela, às vezes usando este critério de ordenação. O PostgreSQL, por padrão, armazena os registros conforme sua conveniência, sem nenhum critério de ordenação definido. Já o SQL Server, por exemplo, ordena por padrão todos os dados de uma tabela por sua chave primária. Cada abordagem tem suas vantagens e desvantagens. A definição de quando a tabela/índice será ordenado ou não depende de banco para banco. No SQL Server é possível definir qual o critério de ordenação criando o índice com a opção CLUSTERED, padrão para chaves primárias. Já no PostgreSQL, existe o comando CLUSTER para a mesma finalidade, que sempre deve ser explicitado quando desejado. Importante salientar que no PostgreSQL uma tabela com a opção CLUSTER só fica ordenada imediatamente após a sua reorganização (recluster). Manter os dados ordenados fisicamente dentro da tabela ajuda imensamente na otimização de consultas, pois pesquisas de faixas de valores feitas pela chave de ordenação sempre trarão os registros agrupados em páginas subsequentes, poupando o servidor de ler a tabela inteira, o que pode ser uma diferença de vida ou morte do sistema se estivermos falando de uma tabela com milhões de registros. Atenciosamente, Mozart Hasse Date: Thu, 9 Jun 2011 09:37:52 -0400 From: izana souza torres izanator...@gmail.com Subject: [pgbr-geral] - Dúvida sobre índice To: Comunidade PostgreSQL Brasileira Estava estudo dando um pouco a literatura e vir que existe alguma categorias: Primario - Trabalha sobre um campo chave e sobre arquivos ORDENADOS secundário Trabalha sobre campo não chave ou NÃO e sobre arquivos DESORDENADOS; Minha pergunta é : o que seria arquivos ORDENADOS E DESORDENADO ? segunda pergunta: Na prática como isso acontece: tipo vou criar um índice e digo se ele é primario ou secundário ? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
2011/6/9 Mozart Hasse mozart.ha...@usa.net: O que você citou como índice/tabela PRIMARIO Mozart, existe tabela primária? Creio que não. se o seu índice primário E índice primário, existe? Pelo menos, não em SQL nem no modelo relacional. então ao percorrer sequencialmente as páginas da sua tabela ou índice As páginas de um índice pode ser percorrido seqüencialmente? só é possível escolher um critério para chamar de primário, enquanto que todos os outros índices farão referência aos dados existentes na tabela, às vezes usando este critério de ordenação. Mozart, creio que a confusão sua e da Izana vem da confusão entre os níveis lógico e físico, respectivamente entre chave e índice. Chave primária é um conceito do SQL, já abandonado há muito tempo no modelo relacional, e que não corresponde a índices. O PostgreSQL, por padrão, armazena os registros conforme sua conveniência, sem nenhum critério de ordenação definido. Já o SQL Server, por exemplo, ordena por padrão todos os dados de uma tabela por sua chave primária. Cada abordagem tem suas vantagens e desvantagens. Referência? Parece curiosamente ineficiente, já que impõe trabalho adicional na escrita, manutenção, e só beneficia leituras seqüenciais, um caso relativamente raro na prática. Não duvidando, só achei curioso… e uma pesquisa superficial http://msdn.microsoft.com/en-us/library/ms174979(v=SQL.110).aspx parece indicar que o comportamento do MS SQL Server é exatamente o mesmo do PostgreSQL, e aliás de todos os outros SGBDs SQL de que já ouvi falar. No SQL Server é possível definir qual o critério de ordenação criando o índice com a opção CLUSTERED, padrão para chaves primárias. http://msdn.microsoft.com/en-us/library/ms174979(v=SQL.110).aspx diz o contrário. Mudou na versão em desenvolvimento? Manter os dados ordenados fisicamente dentro da tabela ajuda imensamente na otimização de consultas De algumas consultas, não todas, nem necessariamente das mais relevantes. Sempre se pode reorganizar uma tabela física para refletir um novo padrão de uso que passou a ser mais relevante que o original mas, na prática, costuma levar a limitar o uso: consultas que não se conformem à organização da tabela tenderão a ser menos usadas. O modelo relacional foi criado justamente para evitar esse tipo de engessamento. Não significa que o DBA não possa organizar tabelas que realmente possam se beneficiar disso; é só que, normalmente, essa é uma otimização precoce, que acaba prejudicando todo o sistema para trazer ganhos marginais a apenas algumas consultas. A ’melhor prática’, no caso, é criar todas as tabelas desordenadas, como é o padrão, e ordenar apenas aquelas que, no uso real, provem precisar disso. Simplesmente afirmar que ‘manter os dados ordenados fisicamente… ajuda’, sem relativizar, é incorreto. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
Parabenizo o Leandro Dutra e [image: https://mail.google.com/mail/images/cleardot.gif][image: https://mail.google.com/mail/images/cleardot.gif]Mozart Hasse pelo alto nível da conversa. Confessor que até fiquei tonto lendo esses comentários Então vai minhas dúvidas: O modelo relacional foi criado justamente para evitar esse tipo de engessamento. Não significa que o DBA não possa organizar tabelas que realmente possam se beneficiar disso; é só que, normalmente, essa é uma otimização precoce, que acaba prejudicando todo o sistema para trazer ganhos marginais a apenas algumas consultas. Modelo relacional foi criado para evitar que tipo de engessamento ?? Minha dúvida surgiu quando lir esse material. http://www.lcad.icmc.usp.br/~jbatista/scc203/mat/SGBD.pdf Lá fala de Tipos de índices : Primario Agrupamento Secundario Entre uma das caracteristicas dos Indices primarios e Secundário e que eles trabalham sobre arquivos ordenados - só queria saber o que seria esse arquivos ordenados - seria um fatia de bloco de uma determinada tabela que estaria em memoria e essa fatia já estarai fisicamente ordenada.. em fim ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
2011/6/9 izana souza torres izanator...@gmail.com Confessor que até fiquei tonto lendo esses comentários Normal, devia até ser proibido dar uma base de dados para alguém usar sem antes passar por uma introdução ao modelo relacional… Modelo relacional foi criado para evitar que tipo de engessamento ?? Que o uso da base, como originalmente projetada, engesse outros usos não previstos no projeto original. Basicamente, o modelo relacional é puramente lógico, dando uma visão conceitual do modelo de dados mas permitindo ao DBA e ao SysAdmin que ajustem o modelo físico sem alterar o modelo lógico. Isso permite uma evolução lógica do modelo de dados, acompanhando o público usuário e suas necessidades funcionais; e outra evolução, paralela, do modelo físico, para acompanhar tanto as necessidades de desempenho quanto a evolução da disponibilidade de recursos de e para o SGBD. Por exemplo, antes do modelo relacional, as bases de dados que, depois, convencionamos chamar navigacionais ou de grafos, predeterminavam os caminhos de acesso. Qualquer necessidade de consulta ou manipulação que não se conformasse a esses caminhos de acesso predeterminados, ou não fosse compatível com a existência deles, exigia uma alteração em todos os programas e padrões de uso, o que freqüentemente inviabilizava consultas e aplicações, fosse por custo, fosse por prejudicar os usos já existentes. No caso dos dados navigacionais, os arquivos de dados eram de fato criados com uma ordem preestabelecida, ou primária, e outros acessos eram feitos via índices secundários ou alternativos. Mas a última vez que ouvi falar disso já fazem mais de dez anos… BTrieve+, Dataflex, Fox Pro, dBase, Clipper… Minha dúvida surgiu quando lir esse material. http://www.lcad.icmc.usp.br/~jbatista/scc203/mat/SGBD.pdf Esse material constitui‐se apenas de notas rápidas, não fica claro a que modelo se refere. Me parece que não se refere a modelo lógico nenhum, apenas a arquivos simples; o que mais se aproxima seriam os dados navigacionais, descritos acima. Entre uma das caracteristicas dos Indices primarios e Secundário e que eles trabalham sobre arquivos ordenados - só queria saber o que seria esse arquivos ordenados - seria um fatia de bloco de uma determinada tabela que estaria em memoria e essa fatia já estarai fisicamente ordenada.. Não é tabela nenhuma, porque não se trata de uma base de dados sob controle de um SGBD. São arquivos mesmo, usados por bibliotecas e 4GLs como as citadas acima. Aparentemente, ao menos. Ou seja, arquivos de dados em unidades de armazenamento de massa, fisicamente ordenados por algum atributo: 1, 2, 3, 4… ou A, B, C, D…, por exemplo. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] - Dúvida sobre índice
Leandro DUTRA, obrigado pelo as informações e ficou bem claro para mim agora Em 9 de junho de 2011 15:52, Leandro DUTRA leandro.gfc.du...@gmail.comescreveu: 2011/6/9 izana souza torres izanator...@gmail.com Confessor que até fiquei tonto lendo esses comentários Normal, devia até ser proibido dar uma base de dados para alguém usar sem antes passar por uma introdução ao modelo relacional… Modelo relacional foi criado para evitar que tipo de engessamento ?? Que o uso da base, como originalmente projetada, engesse outros usos não previstos no projeto original. Basicamente, o modelo relacional é puramente lógico, dando uma visão conceitual do modelo de dados mas permitindo ao DBA e ao SysAdmin que ajustem o modelo físico sem alterar o modelo lógico. Isso permite uma evolução lógica do modelo de dados, acompanhando o público usuário e suas necessidades funcionais; e outra evolução, paralela, do modelo físico, para acompanhar tanto as necessidades de desempenho quanto a evolução da disponibilidade de recursos de e para o SGBD. Por exemplo, antes do modelo relacional, as bases de dados que, depois, convencionamos chamar navigacionais ou de grafos, predeterminavam os caminhos de acesso. Qualquer necessidade de consulta ou manipulação que não se conformasse a esses caminhos de acesso predeterminados, ou não fosse compatível com a existência deles, exigia uma alteração em todos os programas e padrões de uso, o que freqüentemente inviabilizava consultas e aplicações, fosse por custo, fosse por prejudicar os usos já existentes. No caso dos dados navigacionais, os arquivos de dados eram de fato criados com uma ordem preestabelecida, ou primária, e outros acessos eram feitos via índices secundários ou alternativos. Mas a última vez que ouvi falar disso já fazem mais de dez anos… BTrieve+, Dataflex, Fox Pro, dBase, Clipper… Minha dúvida surgiu quando lir esse material. http://www.lcad.icmc.usp.br/~jbatista/scc203/mat/SGBD.pdf Esse material constitui‐se apenas de notas rápidas, não fica claro a que modelo se refere. Me parece que não se refere a modelo lógico nenhum, apenas a arquivos simples; o que mais se aproxima seriam os dados navigacionais, descritos acima. Entre uma das caracteristicas dos Indices primarios e Secundário e que eles trabalham sobre arquivos ordenados - só queria saber o que seria esse arquivos ordenados - seria um fatia de bloco de uma determinada tabela que estaria em memoria e essa fatia já estarai fisicamente ordenada.. Não é tabela nenhuma, porque não se trata de uma base de dados sob controle de um SGBD. São arquivos mesmo, usados por bibliotecas e 4GLs como as citadas acima. Aparentemente, ao menos. Ou seja, arquivos de dados em unidades de armazenamento de massa, fisicamente ordenados por algum atributo: 1, 2, 3, 4… ou A, B, C, D…, por exemplo. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral