PostgreSQL é um sistema gerenciador de banco de dados objeto relacional de código aberto desenvolvido na Universidade de Berkeley. É licenciado sob a licença BSD e possui limites de tamanho de dados muito altos. Sua história inclui evoluções do projeto Ingres e lançamentos de novas versões a cada dois anos com melhorias significativas.
O documento resume a história inicial dos dispositivos móveis desde 1947 até 1983, quando o primeiro celular foi lançado comercialmente. Também descreve os principais tipos de dispositivos móveis atuais como smartphones e tablets, e os sistemas operacionais mais comuns como Android, iOS e Windows Phone. Por fim, explica brevemente os principais componentes de hardware dos dispositivos móveis como processadores, memória e telas.
O documento discute a arquitetura de dispositivos móveis, incluindo o que são dispositivos móveis, sistemas operacionais comuns como Android, iOS e Windows Phone, e componentes de hardware como processadores, memória e telas.
PostgreSQL: O melhor banco de dados Universoelliando dias
PostgreSQL é um sistema gerenciador de banco de dados de código aberto desenvolvido na década de 1980. Ele suporta vários sistemas operacionais e plataformas, oferece alta escalabilidade, disponibilidade e desempenho, e é utilizado por grandes empresas como a NASA, Apple, Cisco e Yahoo. PostgreSQL tem licença BSD e pode ser modificado e redistribuído livremente.
O documento fornece uma introdução ao Android, incluindo sua história, arquitetura, ferramentas de desenvolvimento e elementos-chave de aplicativos. Ele discute o que é o Android, suas características, versões, arquitetura de camadas, componentes de aplicativos, ciclo de vida de atividades, ferramentas, estrutura de diretórios de projetos e o Android Market.
O documento resume a história inicial dos dispositivos móveis desde 1947 até 1983, quando o primeiro celular foi lançado comercialmente. Também descreve os principais tipos de dispositivos móveis atuais como smartphones e tablets, e os sistemas operacionais mais comuns como Android, iOS e Windows Phone. Por fim, explica brevemente os principais componentes de hardware dos dispositivos móveis como processadores, memória e telas.
O documento discute a arquitetura de dispositivos móveis, incluindo o que são dispositivos móveis, sistemas operacionais comuns como Android, iOS e Windows Phone, e componentes de hardware como processadores, memória e telas.
PostgreSQL: O melhor banco de dados Universoelliando dias
PostgreSQL é um sistema gerenciador de banco de dados de código aberto desenvolvido na década de 1980. Ele suporta vários sistemas operacionais e plataformas, oferece alta escalabilidade, disponibilidade e desempenho, e é utilizado por grandes empresas como a NASA, Apple, Cisco e Yahoo. PostgreSQL tem licença BSD e pode ser modificado e redistribuído livremente.
O documento fornece uma introdução ao Android, incluindo sua história, arquitetura, ferramentas de desenvolvimento e elementos-chave de aplicativos. Ele discute o que é o Android, suas características, versões, arquitetura de camadas, componentes de aplicativos, ciclo de vida de atividades, ferramentas, estrutura de diretórios de projetos e o Android Market.
PostgreSQL Tutorial For Beginners | EdurekaEdureka!
YouTube Link: https://youtu.be/-VO7YjQeG6Y
** MYSQL DBA Certification Training https://www.edureka.co/mysql-dba **
This Edureka PPT on PostgreSQL Tutorial For Beginners (blog: http://bit.ly/33GN7jQ) will help you learn PostgreSQL in depth. You will also learn how to install PostgreSQL on windows. The following topics will be covered in this session:
What is DBMS
What is SQL?
What is PostgreSQL?
Features of PostgreSQL
Install PostgreSQL
SQL Command Categories
DDL Commands
ER Diagram
Entity & Attributes
Keys in Database
Constraints in Database
Normalization
DML Commands
Operators
Nested Queries
Set Operations
Special Operators
Aggregate Functions
Limit, Offset & Fetch
Joins
Views
Procedures
Triggers
DCL Commands
TCL Commands
Export/ Import Data
UUID Datatype
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Banco de Dados - Transações e Controle de ConcorrênciaJuliano Padilha
O documento discute transações e controle de concorrência em bancos de dados. Explica o que são transações, suas propriedades ACID e estados. Também aborda o controle de concorrência, escalonamento serializável, bloqueios, e problemas clássicos como atualização perdida e leitura suja.
O documento descreve o que é Business Intelligence (BI) e Power BI, como o Power BI funciona e como ele pode ser usado para analisar e compartilhar dados. O Power BI permite unificar dados de várias fontes, organizá-los no Power BI Desktop, processá-los com fórmulas DAX, publicá-los no Power BI Service para compartilhamento em painéis interativos em tempo real.
O documento apresenta uma introdução ao desenvolvimento mobile, descrevendo os principais tipos de dispositivos, plataformas e ferramentas. Cobre tópicos como interface, banco de dados, backend, análise de projeto e formas de monetização de aplicativos móveis.
Um SGBD é um sistema que gerencia grandes quantidades de dados inter-relacionados, fornecendo mecanismos para armazenar, manipular e recuperar essas informações de forma eficiente e consistente. Os principais objetivos de um SGBD são fornecer uma visão abstrata e independente dos dados aos usuários e aplicativos, além de garantir a integridade e consistência das informações mesmo quando acessadas simultaneamente por múltiplos usuários.
Este documento discute os conceitos de banco de dados orientados a objetos (BDOO), incluindo suas características principais como persistência, objetos complexos, identidade de objetos, encapsulamento, hierarquia de classes e herança. Também aborda tópicos como transações, concorrência, gerenciamento de recuperação, versionamento, consultas e padrões/especificações.
O documento descreve a história e características do sistema operacional Android. Começa com a compra da Android Inc. pelo Google em 2005 e o lançamento da plataforma em 2007. Detalha as principais versões lançadas desde 2008 e aspectos técnicos como o kernel Linux, máquina virtual Dalvik e código aberto.
O documento discute as principais opções de sistemas operacionais para celulares, incluindo Palm OS, Symbian, Windows Mobile, iOS, Android e BlackBerry OS, comparando suas características, vantagens e dominância no mercado.
O documento apresenta os principais conceitos da linguagem SQL, incluindo suas partes (DDL, DML), tipos de dados, comandos para criação, alteração e remoção de tabelas e restrições.
1) A UML foi desenvolvida por três especialistas em modelagem orientada a objetos para padronizar a notação usada nesse processo.
2) A UML é aplicada em diferentes fases do desenvolvimento de software, desde a análise de requisitos até os testes, usando diagramas como casos de uso, classes e sequência.
3) A UML tem nove tipos de diagramas que representam diferentes aspectos de um sistema, como funcionalidade, estrutura e comportamento.
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
Um conjunto estruturado de atividades necessárias para desenvolver um sistema de software.
- Especificação
- Projeto
- Validação
- Evolução
Um modelo de processo de software é uma representação abstrata do processo.
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
Uma breve abordagem sobre o conceito de banco de dados não relacionais, tendo como ponto de origem os bancos relacionais atuais. Apresento de forma sucinta as vantagens e desvantagens dos dois.
Foi apresentado no Campus Universitário da UAN do Camama.
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
Modelo lógico é a evolução do modelo conceitual (não como um substituto, mas o caminho natural a percorrer por quem irá construir o banco de dados). Neste modelo encontramos os mesmos elementos do modelo conceitual apresentados de forma diferente, com significado mais apurado. Neste contexto apresentamos as chaves primária e estrangeira que são de grande valia para a criação dos relacionais de uma forma mais concreta.
Boas práticas técnica para um código limpo (Clean Code)Rodrigo Kono
Este documento discute boas práticas para criar códigos limpos e de alta qualidade, focando em tópicos como nomes significativos, funções pequenas que fazem uma coisa só, comentários úteis, formatação consistente e tratamento de erros usando exceções. O objetivo é produzir códigos eficientes, de fácil manutenção e entendimento.
O documento discute métodos ágeis de desenvolvimento de software. Apresenta os problemas do desenvolvimento tradicional e descreve princípios como o Manifesto Ágil. Detalha práticas como XP e Scrum e fornece links para recursos adicionais sobre os tópicos discutidos.
Este documento fornece informações sobre três empresas (BDA Solutions no Brasil, Youmanmod em Portugal e na Austrália) e seus serviços relacionados a big data, análise de dados e Power BI. Ele também discute desafios com dados, soluções de software, treinamento e serviços oferecidos.
SQL é uma linguagem usada para criar, manipular e extrair dados de bancos de dados. Primeiro, cria-se um diagrama de entidade-relacionamento (DER) para estruturar o banco de dados e mapear as tabelas e relações. Isso é transformado em um modelo entidade-relacionamento (MER) para criar as tabelas no banco de dados. SQL permite executar operações como criar, alterar, excluir e consultar dados no banco de dados.
O documento descreve a evolução dos principais bancos de dados desde suas origens até a era moderna, incluindo Oracle, MySQL, Microsoft SQL Server e PostgreSQL. Ele fornece detalhes históricos sobre o desenvolvimento de cada um e como evoluíram ao longo do tempo com novas versões e funcionalidades.
O documento descreve a história e as principais características do PostgreSQL, incluindo seu desenvolvimento na Universidade de Berkeley, recursos como suporte a transações ACID, extensibilidade, multiplataforma e conformidade com o SQL. Também aborda pontos fortes como suporte da comunidade e fracos como falta de ferramentas gráficas e soluções de replicação no núcleo.
O PostgreSQL é um SGBD objeto-relacional desenvolvido originalmente na Universidade da Califórnia em Berkeley. Suporta diversas linguagens de programação e continua avançando graças a desenvolvedores online. Possui recursos como chaves estrangeiras, gatilhos, visões e suporte a múltiplas transações concorrentes.
PostgreSQL Tutorial For Beginners | EdurekaEdureka!
YouTube Link: https://youtu.be/-VO7YjQeG6Y
** MYSQL DBA Certification Training https://www.edureka.co/mysql-dba **
This Edureka PPT on PostgreSQL Tutorial For Beginners (blog: http://bit.ly/33GN7jQ) will help you learn PostgreSQL in depth. You will also learn how to install PostgreSQL on windows. The following topics will be covered in this session:
What is DBMS
What is SQL?
What is PostgreSQL?
Features of PostgreSQL
Install PostgreSQL
SQL Command Categories
DDL Commands
ER Diagram
Entity & Attributes
Keys in Database
Constraints in Database
Normalization
DML Commands
Operators
Nested Queries
Set Operations
Special Operators
Aggregate Functions
Limit, Offset & Fetch
Joins
Views
Procedures
Triggers
DCL Commands
TCL Commands
Export/ Import Data
UUID Datatype
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Banco de Dados - Transações e Controle de ConcorrênciaJuliano Padilha
O documento discute transações e controle de concorrência em bancos de dados. Explica o que são transações, suas propriedades ACID e estados. Também aborda o controle de concorrência, escalonamento serializável, bloqueios, e problemas clássicos como atualização perdida e leitura suja.
O documento descreve o que é Business Intelligence (BI) e Power BI, como o Power BI funciona e como ele pode ser usado para analisar e compartilhar dados. O Power BI permite unificar dados de várias fontes, organizá-los no Power BI Desktop, processá-los com fórmulas DAX, publicá-los no Power BI Service para compartilhamento em painéis interativos em tempo real.
O documento apresenta uma introdução ao desenvolvimento mobile, descrevendo os principais tipos de dispositivos, plataformas e ferramentas. Cobre tópicos como interface, banco de dados, backend, análise de projeto e formas de monetização de aplicativos móveis.
Um SGBD é um sistema que gerencia grandes quantidades de dados inter-relacionados, fornecendo mecanismos para armazenar, manipular e recuperar essas informações de forma eficiente e consistente. Os principais objetivos de um SGBD são fornecer uma visão abstrata e independente dos dados aos usuários e aplicativos, além de garantir a integridade e consistência das informações mesmo quando acessadas simultaneamente por múltiplos usuários.
Este documento discute os conceitos de banco de dados orientados a objetos (BDOO), incluindo suas características principais como persistência, objetos complexos, identidade de objetos, encapsulamento, hierarquia de classes e herança. Também aborda tópicos como transações, concorrência, gerenciamento de recuperação, versionamento, consultas e padrões/especificações.
O documento descreve a história e características do sistema operacional Android. Começa com a compra da Android Inc. pelo Google em 2005 e o lançamento da plataforma em 2007. Detalha as principais versões lançadas desde 2008 e aspectos técnicos como o kernel Linux, máquina virtual Dalvik e código aberto.
O documento discute as principais opções de sistemas operacionais para celulares, incluindo Palm OS, Symbian, Windows Mobile, iOS, Android e BlackBerry OS, comparando suas características, vantagens e dominância no mercado.
O documento apresenta os principais conceitos da linguagem SQL, incluindo suas partes (DDL, DML), tipos de dados, comandos para criação, alteração e remoção de tabelas e restrições.
1) A UML foi desenvolvida por três especialistas em modelagem orientada a objetos para padronizar a notação usada nesse processo.
2) A UML é aplicada em diferentes fases do desenvolvimento de software, desde a análise de requisitos até os testes, usando diagramas como casos de uso, classes e sequência.
3) A UML tem nove tipos de diagramas que representam diferentes aspectos de um sistema, como funcionalidade, estrutura e comportamento.
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
Um conjunto estruturado de atividades necessárias para desenvolver um sistema de software.
- Especificação
- Projeto
- Validação
- Evolução
Um modelo de processo de software é uma representação abstrata do processo.
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
Uma breve abordagem sobre o conceito de banco de dados não relacionais, tendo como ponto de origem os bancos relacionais atuais. Apresento de forma sucinta as vantagens e desvantagens dos dois.
Foi apresentado no Campus Universitário da UAN do Camama.
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
Modelo lógico é a evolução do modelo conceitual (não como um substituto, mas o caminho natural a percorrer por quem irá construir o banco de dados). Neste modelo encontramos os mesmos elementos do modelo conceitual apresentados de forma diferente, com significado mais apurado. Neste contexto apresentamos as chaves primária e estrangeira que são de grande valia para a criação dos relacionais de uma forma mais concreta.
Boas práticas técnica para um código limpo (Clean Code)Rodrigo Kono
Este documento discute boas práticas para criar códigos limpos e de alta qualidade, focando em tópicos como nomes significativos, funções pequenas que fazem uma coisa só, comentários úteis, formatação consistente e tratamento de erros usando exceções. O objetivo é produzir códigos eficientes, de fácil manutenção e entendimento.
O documento discute métodos ágeis de desenvolvimento de software. Apresenta os problemas do desenvolvimento tradicional e descreve princípios como o Manifesto Ágil. Detalha práticas como XP e Scrum e fornece links para recursos adicionais sobre os tópicos discutidos.
Este documento fornece informações sobre três empresas (BDA Solutions no Brasil, Youmanmod em Portugal e na Austrália) e seus serviços relacionados a big data, análise de dados e Power BI. Ele também discute desafios com dados, soluções de software, treinamento e serviços oferecidos.
SQL é uma linguagem usada para criar, manipular e extrair dados de bancos de dados. Primeiro, cria-se um diagrama de entidade-relacionamento (DER) para estruturar o banco de dados e mapear as tabelas e relações. Isso é transformado em um modelo entidade-relacionamento (MER) para criar as tabelas no banco de dados. SQL permite executar operações como criar, alterar, excluir e consultar dados no banco de dados.
O documento descreve a evolução dos principais bancos de dados desde suas origens até a era moderna, incluindo Oracle, MySQL, Microsoft SQL Server e PostgreSQL. Ele fornece detalhes históricos sobre o desenvolvimento de cada um e como evoluíram ao longo do tempo com novas versões e funcionalidades.
O documento descreve a história e as principais características do PostgreSQL, incluindo seu desenvolvimento na Universidade de Berkeley, recursos como suporte a transações ACID, extensibilidade, multiplataforma e conformidade com o SQL. Também aborda pontos fortes como suporte da comunidade e fracos como falta de ferramentas gráficas e soluções de replicação no núcleo.
O PostgreSQL é um SGBD objeto-relacional desenvolvido originalmente na Universidade da Califórnia em Berkeley. Suporta diversas linguagens de programação e continua avançando graças a desenvolvedores online. Possui recursos como chaves estrangeiras, gatilhos, visões e suporte a múltiplas transações concorrentes.
O documento descreve as principais novidades da versão 9.0 do PostgreSQL, incluindo:
- Melhorias na alta disponibilidade com Hot Standby e Streaming Replication, permitindo consultas no servidor secundário;
- Mais de 200 melhorias gerais de desempenho e funcionalidade, como administração simplificada de privilégios de usuários.
Este documento discute o PostgreSQL, incluindo sua instalação, definição de dados, manipulação de dados e funções. Aborda tópicos como criação de bancos de dados, esquemas, tabelas e campos, além de consultas, funções internas e triggers.
O documento apresenta uma introdução ao banco de dados PostgreSQL, cobrindo sua instalação, configuração, controle de acesso, definição e manipulação de dados, transações, visualizações e funções. Ele destaca que o PostgreSQL é um SGBD robusto, gratuito e de código aberto, disponível para vários sistemas operacionais e adequado para uso corporativo e doméstico.
O documento fornece um resumo das principais características e novidades das versões 7.X, 8.0, 8.3 e 8.4 do PostgreSQL, incluindo detalhes sobre instalação, configuração e uso de recursos como funções PL/pgSQL, gatilhos, domínios e replicação.
PostgreSQL es un sistema de gestión de bases de datos relacional objeto libre y de código abierto. El documento proporciona información básica sobre PostgreSQL, incluyendo una breve descripción de lo que es PostgreSQL y un plan de estudios para aprender sobre sus características y funcionalidades.
O documento discute técnicas de performance tuning para banco de dados PostgreSQL. Ele apresenta os principais problemas que causam lentidão em bancos de dados, como mau uso de expressões SQL e má modelagem. O documento também fornece recomendações para melhorar o desempenho, incluindo ajustes de hardware, sistema operacional, parâmetros do PostgreSQL e ferramentas de análise.
Uma breve apresentação sobre este fantástico Sistema Gerenciador de Banco de Dados Objeto-Relacional.
Razões para adotá-lo, curiosidades e características.
O documento discute diferentes modelos de bancos de dados e sistemas de gerenciamento de bancos de dados (SGBDs), incluindo MySQL, Oracle, Microsoft SQL Server e PostgreSQL. Ele fornece detalhes sobre as características e funcionalidades de cada um.
O documento discute vários tipos de software geoespacial, incluindo software livre e de código aberto. Apresenta definições de termos como software gratuito, de código aberto e proprietário. Também descreve diversas ferramentas geoespaciais de código aberto como desktop GIS, bibliotecas, bancos de dados espaciais e servidores de mapas.
O documento descreve o banco de dados PostgreSQL, incluindo sua história, versões, capacidade de armazenamento e empresas que o utilizam. O PostgreSQL é um SGBD objeto-relacional desenvolvido via internet por um grupo global de desenvolvedores como uma alternativa de código aberto para SGBDs comerciais. Ele suporta armazenamento de grandes volumes de dados sem limite de tamanho. Muitas empresas brasileiras e internacionais o utilizam em aplicações corporativas.
O documento apresenta um manual prático sobre PostgreSQL, abordando tópicos como instalação, modelagem de dados, linguagens SQL e PL/pgSQL, administração e ferramentas. O PostgreSQL é introduzido como um SGBD objeto-relacional de código aberto que oferece recursos como transações, views, triggers e suporte a várias linguagens de programação. O autor também resume a história e evolução do PostgreSQL desde seu desenvolvimento na década de 1980.
1. O documento discute técnicas para escalar aplicações React e TypeScript, incluindo estrutura de projetos, boas práticas de código, testes e monitoramento.
2. O autor tem experiência desenvolvendo sites com milhões de visitas diárias e discute como projetos podem crescer rapidamente sem problemas de desempenho ou manutenibilidade.
3. Escalabilidade envolve estruturar o código e projeto para que novos desenvolvedores possam entender facilmente, adicionar novas funcionalidades rapid
O documento discute diferentes modelos de bancos de dados, incluindo hierárquico, rede, relacional, dedutivo e objeto. Também descreve alguns dos principais sistemas de gerenciamento de bancos de dados como MySQL, Oracle, Microsoft SQL Server e PostgreSQL, comparando suas características e funcionalidades.
1) O documento discute os principais tipos de bancos de dados, incluindo SQL, NoSQL e Hadoop.
2) Apresenta os conceitos básicos de bancos de dados, sistemas de gerenciamento de bancos de dados e arquiteturas.
3) Discutem técnicas como map-reduce usadas em bancos de dados NoSQL para manipular grandes volumes de dados.
1) O documento discute bancos de dados SQL, NoSQL e Hadoop, incluindo conceitos, comandos e sistemas de bancos de dados.
2) É apresentada a arquitetura cliente-servidor para sistemas de banco de dados e exemplos de sistemas como MySQL, PostgreSQL e Oracle.
3) São descritos conceitos como atomicidade, consistência, isolamento e durabilidade (ACID) e técnicas como map-reduce usadas em bancos de dados NoSQL.
O documento apresenta uma breve história do Unix e do software livre/open source, destacando: 1) O desenvolvimento inicial do Unix na década de 1960; 2) A criação do projeto GNU na década de 1980 para desenvolver um sistema operacional livre; 3) O desenvolvimento do kernel Linux na década de 1990 e sua combinação com o software GNU para formar o sistema operacional GNU/Linux. O texto também discute as definições e características de software livre e open source.
1. O documento analisa o desempenho de três sistemas gerenciadores de banco de dados (MySQL, PostgreSQL e Firebird) no armazenamento e manipulação de dados multimídia.
2. O objetivo é identificar qual a melhor tecnologia para armazenar dados binários e analisar o desempenho de cada banco de dados com dados multimídia.
3. Cada banco de dados é descrito, incluindo suas características, limitações e capacidade de armazenamento.
Apresentação de Software Livre e Open Source ao Curso de Biblioteconomia e Gestão de Unidades de Informação da UFRJ, em maio de 2015. Disciplina de Automação de Unidades de Informação, Profa. Maria Irene Sá.
BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008CharlesAlfenasmg
O documento apresenta os resultados de um estudo comparativo entre os bancos de dados MongoDB e SQL Server 2008. Testes com operações básicas como inserção, consulta, alteração e exclusão foram realizados nos dois bancos usando a mesma quantidade de registros. Os resultados demonstraram que o MongoDB foi mais rápido que o SQL Server para a maioria das operações, especialmente para inserções e exclusões de grandes quantidades de dados.
Desenvolvendo Aplicações com Software Livreelliando dias
O documento descreve um plano de ensino sobre desenvolvimento de aplicações com software livre usando o framework PHP CakePHP. Ele inclui tópicos como licenciamento de software livre, linguagens de programação como PHP e Ruby on Rails, bancos de dados como MySQL e PostgreSQL, orientação a objetos, arquitetura MVC, frameworks, e características e instalação do CakePHP.
O documento discute o que é software livre, as quatro liberdades associadas a ele e suas perspectivas de uso em diversos dispositivos como celulares, placas-mãe e na web. Também aborda o futuro do Linux e a tendência crescente do uso de softwares livres em sistemas embarcados e dispositivos móveis.
O documento discute mineração de repositórios de software, apresentando: 1) uma introdução sobre data mining e mineração de repositórios de software; 2) exemplos de estudos que mineram históricos de versão para prever mudanças futuras e guiar alterações no código; 3) um estudo que resume recomendações de mineração de repositórios ao longo da última década.
O documento descreve a licença, desenvolvimento, módulos, frameworks e aplicações da linguagem de programação Python. Detalha os processos de desenvolvimento como PEPs e gerenciamento de erros, além de frameworks como Django e bibliotecas como Matplotlib. Apresenta também exemplos de uso de Python em grandes organizações e softwares.
O documento lista e descreve várias ferramentas de software livre para geoprocessamento, sistemas de informação geográfica e bancos de dados geográficos, incluindo gvSIG, Quantum GIS, Kosmo, TerraView, Spring, GRASS, PostgreSQL/PostGIS, MySQL, MapServer, GeoServer, i3Geo e OpenLayers.
Curso ica ato m upf passo fundo setembro 2014Daniel Flores
O documento descreve um curso sobre o software livre ICA-AtoM para gestão eletrônica de documentos arquivísticos. Aborda tópicos como estrutura do curso, contexto da gestão e preservação digital de documentos, especificidades dos documentos digitais, complexidade dos documentos arquivísticos digitais e exemplos de softwares livres como ICA-AtoM, SEPIADES e Archivematica.
ExpressoBR para Um Milhão (de Usuários)Flávio Lisboa
As mais recentes alterações do projeto Expresso, feitas para torná-lo um software de comunicação ajustável para qualquer empresa ou país e para escalar a aplicação para milhares de usuários,
Este documento resume conceitos sobre padrões web, tecnologias digitais e entidades padronizadoras. Aborda padrões abertos e fechados, licenças como Creative Commons e GPL, e organizações como W3C, IETF e ISO que criam padrões para internet.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
2. OPEN SOURCE
Foi criado pela OSI (Open Source Initiative) e refere-se a
software também conhecido por software livre.
Genericamente trata-se de software que respeita as
quatro liberdades definidas pela Free Software
Foundation.
1ª liberdade: A liberdade de executar o software, para qualquer uso.
2ª liberdade: A liberdade de estudar o funcionamento de um programa e de
adaptá-lo às suas necessidades.
3ª liberdade: A liberdade de redistribuir cópias.
4ª liberdade: A liberdade de melhorar o programa e de tornar as modificações
públicas de modo que a comunidade inteira beneficie da melhoria.
A realização de tais ações é reservada, pelo conceito de direito de
autor, aos detentores dos direitos, que necessitam assim de permitir de forma
explícita estas liberdades recorrendo a uma licença de software livre.
3. LICENÇAS OPEN SOURCES
Algumas licenças:
General Public License (Licença Pública Geral): A GPL é a licença com maior
utilização por parte de projetos de software livre, em grande parte devido à sua
adoção para o projeto GNU e o sistema operacional GNU/Linux.
Licença Apache é uma licença para software livre (open source) de autoria da
Apache Software Foundation (ASF). Todo software produzido pela ASF ou qualquer
um dos seus projetos e sub-projetos é licenciado de acordo com os termos da
licença Apache.
BSD permite que o software distribuído sob a licença, seja incorporado a produtos
proprietários. Trabalhos baseados no material podem até ser liberados com licença
proprietária. Alguns exemplos notáveis são: o uso de código do BSD (funções de
rede de computadores) em produtos da Microsoft, e o uso de muitos componentes
do FreeBSD no sistema Mac OS X da Apple Computer.
6. UM POUCO DA HISTORIA DO POSTGRE
Estas funcionalidades incluíam a habilidade de definir tipos, mas também a
habilidade de descrever relações - as quais até este momento eram amplamente
utilizadas, mas completamente mantidas pelo usuário. No Postgres, o banco de dados
"compreendia" as relações e podia obter informações de tabelas relacionadas
utilizando regras.
O principal problema era a incapacidade do modelo relacional compreender
“tipos” (atualmente, chamados de objetos), ou seja, combinações de dados simples que
formam uma única unidade.
O projeto resultante, chamado Postgres, era orientado a introduzir a menor
quantidade possível de funcionalidades para completar o suporte a tipos.
7. UM POUCO DA HISTORIA DO POSTGRE
As principais características acrescentadas nas versões 6.x são MVCC
(Multiversion Concurrency Control – Controle de Concorrência Multiversões), melhorias
no SQL e novos tipos de dados nativos (novos tipos de datas e hora e tipos
geométricos).
Em agosto de 1996, Marc Fournier, Bruce Momjian e Vadim B. Mikheev
lançaram a primeira versão externa da Universidade de Berkeley e deram início à
tarefa de estabilizar o código herdado. Também em 1996, o projeto foi renomeado
para PostgreSQL a fim de refletir a nova linguagem de consulta ao banco de dados:
SQL. A primeira versão de PostgreSQL, a 6.0, foi liberada em janeiro de 1997. Desde
então, um grupo de desenvolvedores e de voluntários de todo o mundo, coordenados
pela Internet, têm mantido o software e desenvolvido novas funcionalidades.
8. UM POUCO DA HISTORIA DO POSTGRE
A versão 8.0 foi lançada em janeiro de 2005 e entre outras novidades, foi a primeira a
ter suporte nativo para Microsoft Windows (tradicionalmente, o PostgreSQL só rodava
de forma nativa em sistemas Unix e, em sistemas Windows - através da biblioteca
Cygwin). Dentre as muitas novidades da versão 8.x, pode-se destacar o suporte a
tablespaces, savepoints, point-in-time recovery, roles e Two-Phase Commit (2PC). Em
julho de 2009 foi lançada a versão mais recente: 8.4.
Em maio de 2000 foi liberada a versão 7.0. As versões 7.x trouxeram as
seguintes novas funcionalidades: Write-Ahead Log (WAL), esquemas SQL, outer joins,
suporte a IPv6, indexação por texto, suporte melhorado a SSL e informações
estatísticas do banco de dados.
Em um sistema usando WAL, todas as modificações são gravadas em um log antes de serem
aplicadas.
Uma das principais vantagens da utilização do WAL é um número reduzido de forma
significativa de gravações em disco, pois somente o arquivo de log deve ser liberado para o
disco no momento da confirmação da transação, ao invés de cada arquivo de dados alterados
pela transação. Em ambientes de multiusuários, efetivação de várias transações podem ser
realizadas com um único fsync do arquivo de log
10. COMO PARTICIPAR ?
O PostgreSQL é um projeto open source coordenado pelo PostgreSQL Global
Development Group. Embora as atividades do grupo sejam patrocinadas por
diversas organizações de todo o mundo, seu modelo de desenvolvimento é o
modelo Bazar (originalmente apresentado em A Catedral e o Bazar de Eric S.
Raymond).
Portanto, o desenvolvimento do PostgreSQL é feito por um grupo de
desenvolvedores, em sua maioria voluntários, espalhados por todo o mundo e que
se comunicam via Internet. Logo, trata-se, de um projeto direcionado pela
comunidade de desenvolvedores e de usuários, a qual qualquer pessoa pode se
juntar, bastando se inscrever em listas de discussão e participar delas.
Voluntários interessados em contribuir com o projeto também podem consultar as
sugestões de tarefas de desenvolvimento de novas funções e de correções de
erros que são publicadas ou apresentar suas próprias sugestões. O código
desenvolvido é submetido à equipe do projeto que pode aceitá-lo e incluí-lo nas
novas versões ou recusá-lo. Voluntários também podem colaborar gerando
documentação ou realizando traduções!
11. LICENÇA
O PostgreSQL usa a licença BSD, que requer apenas que o código fonte
licenciado mantenha seu direito de cópia e informação da licença. Esta licença
certificada pela OSI é amplamente vista como flexível e amigável à empresas, já
que ela não restringe o uso do PostgreSQL com aplicações comerciais e
proprietárias. Juntamente com suporte de múltiplas empresas e propriedade
pública do código, a licença BSD torna o PostgreSQL muito popular com
fabricantes que querem anexar um banco de dados com seus próprios produtos
sem medo de ônus financeiro, prisão à um só fabricante, ou mudanças nos termos
de licenças.
12. LINGUAGEM
A principal linguagem de programação utilizada no desenvolvimento do
PostgreSQL 8.3.0 é o ANSI C. Entretanto, também são utilizadas minoritariamente
outras linguagens conforme mostra a tabela.
Linguagens de Programação utilizadas no PostgreSQL 8.3.0
Linguagem Linhas de código %
ANSI C 541.312 94,66
yacc 15.527 2,72
lex 5.580 0,98
sh 5.412 0,95
perl 3.913 0,68
asm 65 0,01
python 12 0,00
13. LIMITES DO POSTGRES
• Tamanho Máximo do Banco de Dados
• Tamanho máximo de uma Tabela
• Tamanho Máximo de uma Linha
• Tamanho Máximo de um Campo
• Máximo de Linhas por Tabela
• Máximo de Colunas por Tabela
• Máximo de Índices por Tabela
Ilimitado
32 TB
1.6 TB
1 GB
Ilimitado
250–1600 dependendo do tipo de coluna
Ilimitado
14. ESTADO ATUAL
Além de doações, o projeto PostgreSQL se sustenta pelo patrocínio de diversas
empresas, entre as quais se destacam: Fujitsu, Hub.Org, NTT Group, Red Hat,
Skype, SRA e Sun Microsystems.
O software tem adquirido prestígio na comunidade Linux, tendo recebido diversas
vezes o prêmio Linux Journal Editor's Choice de melhor sistema de gerenciamento
de banco de dados (SGBD).
A aceitação do PostgreSQL tem se ampliado para além da comunidade de código
aberto. Há entre os seus usuários grandes empresas internacionais, órgãos
governamentais de vários países e universidades de prestígio mundial. Existe uma
lista dos principais usuários no Brasil e no mundo e, também, há alguns estudos de
caso de aplicações que utilizam o PostgreSQL.
15. CASOS DE SUCESSO
Empresa química alemã e uma das maiores empresas do mundo. No
Brasil é também proprietária da empresa Suvinil, líder no mercado interno de
tintas. A BASF está presente em todos os países da América do Sul, com
exceção das Guianas e Suriname.
Beneficio do uso de PostGreSQL:
• Redução de custo: A combinação de PostGreSQL e software livre
resultou na redução de custo Software/Hardware em 67 %.
• Alta customização: maior confiabilidade e métricas de desempenho,
resultando em uma experiência melhor para o usuário.
• Aumento da receita potencial: Embora seja cedo para dizer o quanto as
receitas do produto têm gerado diretamente, é claro que a receita projetada
é significativa.
16. A Caixa precisava modernizar seu sistema de auto-atendimento e
decidiu pela substituição dos sistemas existentes. Este novo ambiente ganhou o
nome de Multicanal.
A 4Linux utilizou neste projeto os seguintes Softwares Livres:
• Sistema operacional : Linux - distribuição Debian
• Servidor de Aplicações Java : Jboss
• Banco de Dados : PostgreSQL
Durante os testes, a solução baseada em Software Livre
construída pela 4Linux se mostrou com a melhor relação custo por
transação por segundo e foi a escolhida pela CAIXA para suportar a
infra-estrutura do Multicanal.
Atualmente o ambiente multicanal atende mais de 20.000
ATMs, picos de 6.000.000 de transações bancárias e sociais por dia,
com mais de 18.000.000 de transações de banco de dados por dia.
Passam pelo multicanal mais de R$ 1 bilhão por mês.
CASOS DE SUCESSO
17. CARACTERÍSTICAS
• Licenciamento BSD. Esta licença garante total liberdade de uso, alteração, modificação e
distribuição do sistema. Ela também permite, inclusive, que versões proprietárias e comerciais
sejam criadas a partir do sistema licenciado nestes termos.
• SGBD Objeto-Relacional (classes e hierarquia). O PostgreSQL está na mesma categoria de
outros SGBD's, tais como Oracle®, Microsoft SQL Server® e IBM DB2®, que evoluíram da
arquitetura de relacional para objeto-relacional,
• Modularidade. Este recurso tem facilitado o trabalho dos desenvolvedores que desejam
implementar novas funcionalidades. Um exemplo disso, foi a criação do módulo PostGIS,
contendo inúmeras funcionalidades para o desenvolvimento de aplicações que tratam a
geoinformação.
• Inúmeras interfaces nativas. O PostgreSQL pode ser acessado através das seguintes
interfaces: ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, Python e Ruby. Neste quesito, o
PostgreSQL supera todos os demais SGBD's, pois nenhum outro possui tanta flexibilidade.
• Flexibilidade: roda em várias plataformas (BSD, Linux, Windows, mac, etc.)
• Robusto: criado para suportar grande volume de dados e transações concorrentes (Existem
sistemas ativos com o PostgreSQL em ambiente de produção que gerenciam mais de 4TB de
dados);
• Funções em SQL, C, C++
, PLpg/SQL, PL/Perl, PL/Python, PL/TCL suportadas nativamente além
de PL/Java, PL/PHP, PL/R, PL/Ruby, PL/sh, PL/Mono.
18. TOTALMENTE ACID
• Tudo é transação;
• Garanti que a base de dados irá guardar o conjunto de modificações pendentes
de uma forma que o sistema pode recuperá-las depois de um término anormal.
• comandos de controle de transação:
• BEGIN;
• COMMIT;
• ROLLBACK;
•START TRANSACTION;
•SAVEPOINT;
•SET TRANSACTION;
ACID (acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade)
Atomicidade - uma transação é totalmente executada ou totalmente
revertida sem deixar efeitos no banco de dados
Consistência - os resultados são coerentes com as operações realizadas
Isolamento - a execução de uma transação não interfere ou sofre
interferência em relação às demais transações em execução
Durabilidade - o resultado das transações deve ser persistido fisicamente no
banco de dados.
19. ADMINISTRAÇÃO SERVIDOR
• Rotina de Limpeza: Na operação normal do PostgreSQL, um
comando UPDATE ou DELETE em uma linha não remove imediatamente a
versão antiga da linha. Esta abordagem é necessária para obter os benefícios do
controle de simultaneidade multi-versão a versão da linha não pode ser removida
enquanto houver possibilidade de ser acessada por outras transações. Mas no
final, uma versão de linha desatualizada ou excluída não terá mais interesse para
nenhuma transação. O espaço ocupado deve ser recuperado para ser reutilizado
pelas novas linhas, evitando um crescimento sem fim da necessidade de espaço
em disco. Isto é feito executando o comando VACUUM.
21. ARQUITETURA DO POSTGRESQL
No jargão de banco de dados, o PostgreSQL utiliza o modelo cliente-servidor.
Uma sessão do PostgreSQL consiste nos seguintes processos:
Postmaster um processo servidor, que gerencia os arquivos de banco de dados,
recebe conexões dos aplicativos cliente com o banco de dados, e executa ações no
banco de dados em nome dos clientes.
Cliente pode ser uma ferramenta no modo caractere, um aplicativo gráfico, um
servidor Web que acessa o banco de dados para mostrar páginas Web, ou uma
ferramenta especializada para manutenção do banco de dados.
O servidor PostgreSQL pode tratar várias conexões simultâneas de clientes. Para
esta finalidade é iniciado um novo processo (fork) para cada conexão. Deste ponto em
diante, o cliente e o novo processo servidor se comunicam sem
intervenção do processo postmaster original. Portanto, o postmaster está sempre
executando aguardando por novas conexões dos clientes.
Chamada de Sistema (Fork), Para criar um novo processo, o processo copia a si
próprio através da chamada de sistema fork. O fork cria uma cópia do processo original
que é em grande parte idêntica à ancestral. O novo processo possui um PID
(identificador de processo) próprio, e suas próprias informações de contabilização.
22. ALGUMAS VANTAGENS
O PostgreSQL é um banco maduro, com um histórico de desenvolvimento
iniciado em 1977.
Tem as principais características desejadas em um banco de dados:
Recuperação automática após crash de sistema (WAL);
MVCC (controle de concorrência de multi-versão). Neste mecanismo, processos de
leitura não bloqueiam processos de escrita e vice-versa, reduzindo
drasticamente (às vezes,eliminando) a contenção entre transações concorrentes e
paralisação parcial ou completa (deadlock);
Logging de transações;
Commit / Rollback / Checkpoints;
Triggers / Stored Procedures;
Constraints / Foreign Keys;
Backup On-line;
23. ALGUMAS VANTAGENS
Algumas mudanças da versão mais recente
Replicação e Escalabilidade: Hot Standby, Replicação em Fluxo
Administração e Segurança: Atualização in Loco (Upgrade-in-Place) Integrada
(pg_upgrade), Autenticação RADIUS, Verificação de Força de Senha (passwordcheck)
Comandos de Gestão de Permissões de Banco de Dados Facilitados (GRANT ON ALL
e DEFAULT PERMISSIONS)
Projeto de Bancos de Dados e SQL: Restrições de Unicidade Postergáveis, Gatilhos
Condicionais. Gatilhos por Colunas, Ordenamento em Agregações, Novas "Windowing
Functions" (RANGE PRECEEDING e FOLLOWING).
Funções Armazenadas (Stored Procedures): Blocos de Código de Procedimento
Anônimos (comando DO), Melhorias nas Funções Armazenadas em Perl e Python
(incluindo suporte ao Python 3), Chamadas com Parâmetros Nomeados
Performance e Recursos Avançados: Mensagens Assíncronas Melhoradas
(LISTEN/NOTIFY), Suporte a Windows 64-bit, Otimização para Consultas Geradas por
ORM (remoção de JOIN), Chaves Únicas para Dados não Escalares (Exclusion
Constraints), Suporte Expantido para Dados Chave-Valor (HStore), Planos de Explain
em JSON e XML
24. PGAccess: esta é a interface gráfica para usuário (GUI) original do PostgreSQL,
no estilo do navegador de banco de dados do MS Access, escrito em Tcl/Tk.
phpPgAdmin: um clone do popular phpMyAdmin, otimizado para o PostgreSQL.
Esta é uma ferramenta administrativa muito boa, robusta, e existe uma versão
totalmente em português. Funciona muito bem, tem muitas funcionalidades e é
código livre.
PGAdmin III: uma interface completa de administração do PostgreSQL,
praticamente o cliente oficial.
OpenOffice.org: o OpenOffice.org 2 traz o aplicativo Base que via JDBC permite
uma manipulação bem avançada de bases de dados possibilitando o
desenvolvimento de formulários e relatórios bem complexos.
Xpg: interface de administração do banco de dados PostgreSQL baseado em
Java, com acesso a tabelas e entrada de dados, interface para consultas e
habilidade para exportar o resultado das mesmas para relatórios em HTML.
Porém tem algumas limitações, algumas funções como criação de índices não
podem ser feitas visualmente. É de código livre e tem um instalador RPM.
FERRAMENTAS
25. BACKUP, EVITANDO DESASTRES
Dump
•
Realiza dump consistente com o banco de dados on-line sem bloquear usuários
•
Podem ser selecionados parte dos objetos na exportação ou importação como
permissões, dados, esquemas, etc.
•
um dump pode ser exportado ou compactado diretamente para outro banco utilizando pipe!
Método SQL-dump : A idéia por trás do Método SQL-dump é gerar um arquivo texto
contendo comandos SQL que, ao serem processados pelo servidor, recriam o banco de
dados no mesmo estado em que este se encontrava quando o arquivo foi gerado. O
PostgreSQL disponibiliza o programa utilitário pg_dump para esta finalidade. (o pg_dump
não bloqueia outras operações no banco enquanto ta executando).
26. BACKUP, EVITANDO DESASTRES
Cópia de segurança no nível de sistema de arquivo: Uma estratégia alternativa para
fazer cópia de segurança, é copiar diretamente os arquivos que o PostgreSQL usa para
armazenar os dados dos bancos de dados. (O servidor de dados precisa estar
totalmente parado tanto na hora de fazer a cópia como na hora re restaurar).
Cópia de segurança em-linha: Durante todo o tempo, o PostgreSQL mantém o
registro de escrita prévia (WAL = write ahead log) no subdiretório pg_xlog do diretório
de dados do agrupamento. O WAL contém todas as alterações realizadas nos arquivos
de dados do banco de dados. O WAL existe, principalmente, com a finalidade de
fornecer segurança contra quedas: se o sistema cair, o banco de dados pode retornar a
um estado consistente “refazendo” as entradas gravadas desde o último ponto de
controle. Se for necessário fazer a recuperação, pode ser feita a recuperação da cópia
de segurança do banco de dados no nível de sistema de arquivos e, depois, refeitas as
alterações a partir da cópia dos arquivos de segmento do WAL, para trazer a
restauração para o tempo presente.
27. CRIANDO O BANCO DE DADOS
CREATE DATABASE nome_do_banco
OWNER dono_do_banco
TEMPLATE template
ENCODING codificação
TABLESPACE tablespace
OWNER Normalmente, o criador se torna o dono do novo banco de dados. Os
superusuários podem criar bancos de dados cujos donos são outros usuários
utilizando a cláusula;
TEMPLATE Por padrão, o novo banco de dados é criado clonando o banco de
dados comum do sistema template1. Um modelo diferente pode ser especificado
escrevendo TEMPLATE modelo;
ENCODING Codificação do conjunto de caracteres a ser utilizado no novo banco
de dados;
TABLESPACE O nome do espaço de tabelas associado ao novo banco de dados,
ou DEFAULT para utilizar o espaço de tabelas do banco de dados modelo;
28. CONCEITO DE SCHEMAS NO POSTGRESQL
A partir da versão 7.3, o PostgreSQL iniciou o suporte a Schema, no qual
é possível criar um espaço lógico (namespace) dentro do banco de dados para
armazenar os objetos: Dados, tabelas, funções, etc.
CREATE SCHEMA nome_do_esquema AUTHORIZATION nome_do_usuário
Ou
CREATE SCHEMA AUTHORIZATION nome_do_usuário
Obs: Se for omitido, o nome do usuário será usado como o nome do esquema.
AUTHORIZATION Possibilita a criação de um schema para outro
usuário.
Um usuário pode ter vários schemas;
Um banco de dados pode ter vários schemas;
29. CRIANDO TABELAS
CREATE TABLE nome_do_schema.nome_da_tabela (
nome_da_coluna tipo_de_dado [restrição_de_coluna]
) INHERITS (tabela_ancestral)
TABLESPACE espaço_de_tabela
Tipo de dados:
• Tipo Base: Todos os tipos SQL;
• Tipo Composto: Um tipo composto é simplesmente uma lista de tipos base
com nomes de campo associados.
• Tipo Domínio: Baseia em um determinado tipo base, porém tem restrições
limitando os valores válidos.
30. RESTRIÇÃO DE COLUNA E RESTRIÇÃO DE TABELA
CHECK
CREATE TABLE produtos (
cod_prod integer,
nome text,
preco numeric CHECK (preco > 0)
);
UNIQUE
CREATE TABLE exemplo (
a integer UNIQUE,
b integer,
c integer,
);
PRIMARY KEY
CREATE TABLE produtos (
cod_prod integer PRIMARY KEY,
nome text,
preco numeric
);
FOREIGN KEY
CREATE TABLE pedidos (
cod_pedido integer PRIMARY KEY,
cod_prod integer REFERENCES produtos (cod_prod),
quantidade integer
);
CREATE TABLE produtos (
cod_prod integer,
nome text,
preco numeric,
CONSTRAINT CK_preco CHECK(preco>0)
);
CREATE TABLE exemplo (
a integer,
b integer,
c integer,
CONSTRAINT U_exemplo UNIQUE(a)
);
CREATE TABLE produtos (
cod_prod integer,
nome text,
preco numeric,
CONSTRAINT PK_produtos PRIMARY KEY(cod_prod)
);
CREATE TABLE pedidos (
cod_pedido integer PRIMARY KEY,
cod_prod integer,
quantidade integer,
CONSTRAINT FK_prod FOREIGN KEY (cod_prod) REFERENCES
produto(cod_prod)
);
RESTRIÇÃO DE COLUNA RESTRIÇÃO DE TABELA
31. SEQUENCE E AUTO-INCREMENTO
CREATE SEQUENCE nome
INCREMENT BY incremento
MINVALUE valor_mínimo
MAXVALUE valor_máximo
START WITH início
Ver estado atual da sequence:
SELECT * FROM nome_da_sequence;
Selecionar o próximo valor desta seqüência:
SELECT nextval(‘nome_da_sequence');
Utilizar esta seqüência no comando INSERT:
INSERT INTO distribuidores VALUES (nextval('serial'), 'nada');
Obs.: No Oracle nextval e currval são pseudocolunas e não funções.
32. SEQUENCE E AUTO-INCREMENTO
Modos de se obter colunas de auto-incremento:
Usando uma sequence:
CREATE SEQUENCE seq_teste INCREMENT BY 1 MINVALUE 1 START WITH 1;
CREATE TABLE testesequence(
id integer DEFAULT nextval('seq_teste') NOT NULL,
nome varchar(50)
)
Usando os tipos SERIAL ou BIGSERIAL:
Serial: inteiro de quatro bytes com auto-incremento;
Bigserial : inteiro de oito bytes com auto-incremento.
Tipo Serial 4 bytes: de 1 a 2147483647
Tipo bigserial 8 bytes: de 1 a 9223372036854775807
CREATE TABLE pessoa(
id serial PRIMARY KEY,
nome varchar(50)
)
Obs: Os tipos de dado serial e bigserial não são tipos verdadeiros, mas meramente uma notação
conveniente para definir colunas identificadoras únicas (semelhante à propriedade
AUTO_INCREMENTO existente em alguns outros bancos de dados).
Mudando o valor inicial de uma sequence usando SERIAL:
ALTER SEQUENCE tabela_coluna_seq RESTART WITH 1000;
33. HERDANDO DE OUTRA TABELA
INHERITS (herda) especifica uma lista de tabelas das quais a
nova tabela herda, automaticamente, todas as colunas.
O uso de INHERITS cria um relacionamento persistente entre a nova
tabela descendente e suas tabelas ancestrais. As modificações de
esquema nas tabelas ancestrais normalmente se propagam para as
tabelas descendentes.
Exemplo:
CREATE TABLE tabelaPai (
id serial PRIMARY KEY,
nome varchar(40)
)
CREATE TABLE tabelaFilho(
sobrenome varchar(40)
)INHERITS(tabelaPai)
Dois inserts na tabela filho:
INSERT INTO tabelaFilho (nome,sobrenome) VALUES ('Bazinga','Da Silva')
INSERT INTO tabelaFilho (nome,sobrenome) VALUES ('Fulano','De Tal')
Um insert na tabela pai:
INSERT INTO tabelaPai (nome) VALUES ('Chewbacca')
Select tabela filho:
Select tabela pai:
34.
35. PL/pgSQL é uma linguagem procedural carregável desenvolvida para o
sistema de banco de dados PostgreSQL. Os objetivos de projeto da
linguagem PL/pgSQL foram no sentido de criar uma linguagem procedural
carregável que pudesse:
• ser utilizada para criar procedimentos de funções e de gatilhos;
• adicionar estruturas de controle à linguagem SQL;
• realizar processamentos complexos;
• herdar todos os tipos de dado, funções e operadores definidos pelo
usuário;
• ser definida como confiável pelo servidor;
• ser fácil de utilizar.
INTRODUÇÃO
36. CREATE OR REPLACE FUNCTION NOME_DA_FUNÇÃO (
Variavel TIPO,
) RETURNS TIPO AS $$
DECLARE
Variavel TIPO;
BEGIN
instruções
RETURN;
EXCEPTION
WHEN tipo_da_excessão THEN
instruções_do_tratador
RETURN ;
END;
$$ LANGUAGE plpgsql;
ESTRUTURA DE UMA FUNÇÃO EM PL/PGSQL
Só possui parâmetros IN.
Delimitador
Definição da Linguagem
37. TIPOS EM PL/PGSQL
• Copiando Tipo: tabela.coluna%TYPE;
• Tipo de Linha: tabela%ROWTYPE;
• Tipo Registro: As variáveis registro são semelhantes às variáveis tipo-
linha, mas não possuem uma estrutura pré-definida.
Declaração:
DECLARE
registro_usuario RECORD;
BEGIN
SELECT INTO registro_usuario * FROM usuarios WHERE id_usuario=3;
• Tipo CURSOR: Em vez de executar toda a consulta de uma vez, é
possível definir um cursor encapsulando a consulta e, depois, ler umas
poucas linhas do resultado da consulta de cada vez.
Declaração:
curs1 refcursor;
curs2 CURSOR FOR SELECT * FROM tenk1;
38. Domínios são úteis para abstrair campos comuns entre tabelas
em um único local para manutenção. Por exemplo, uma coluna de
endereço de correio eletrônico pode ser usada em várias tabelas, todas
com as mesmas propriedades. Em vez de definir as restrições em cada
tabela individualmente, deve ser definido e utilizado um domínio.
CREATE DOMAIN nome_do_dominio
AS tipo
CHECK( condição)
DOMÍNIO
39. DOMÍNIO
Exemplo:
--Criação da função que valida tipo sanguineo
CREATE OR REPLACE FUNCTION validarSangue(p1 varchar)
RETURNS boolean AS $$
BEGIN
RETURN (lower(p1) IN ('a', 'b', 'ab', 'o'));
END;
$$ LANGUAGE plpgsql;
CREATE DOMAIN tipoSanguineo AS varchar CHECK( validarSangue(VALUE))
CREATE TABLE pessoa2 (
id serial PRIMARY KEY,
nome varchar(50),
sangue tipoSanguineo
)
INSERT INTO pessoa2(nome,sangue) VALUES ('vovozona','a'); //Inserção ok!
INSERT INTO pessoa2(nome,sangue) VALUES ('Sheldon','y');