SlideShare uma empresa Scribd logo
1 de 27
História
O Postgres, desenvolvido originalmente no Departamento de Ciência de
Computação da Universidade de Berkeley, foi pioneiro em muitos dos
conceitos objeto-relacionais que agora estão disponíveis em alguns bancos
de dados comerciais. Fornece suporte a linguagem SQL92/SQL99,
integridade de transações e extensibilidade de tipos. O PostgreSQL é um
descendente com código aberto do código original desenvolvido em
Berkeley.
Características
O PostgreSQL é um poderoso sistema gerenciador de banco de dados
objeto-relacional de código aberto. Tem mais de 15 anos de
desenvolvimento ativo e uma arquitetura que comprovadamente
ganhou forte reputação de confiabilidade, integridade de dados e
conformidade a padrões. Roda em todos os grandes sistemas
operacionais:
 GNU/Linux,
 Unix
 AIX,
 BSD,
 HP-UX,
 SGI IRIX,
 Mac OS X,
 Solaris,
 Tru64,
 e MS Windows
Características
É totalmente compatível com ACID, tem suporte completo a chaves
estrangeiras, junções (JOINs), visões, gatilhos e procedimentos
armazenados (em múltiplas linguagens). Inclui a maior parte dos tipos
de dados do ISO SQL:1999, incluindo INTEGER, NUMERIC, BOOLEAN,
CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP. Suporta também o
armazenamento de objetos binários, incluindo figuras, sons ou vídeos.
Possui interfaces nativas de programação para:
 C/C++,
 Java,
 .Net,
 Perl,
 Python,
 Ruby,
 Tcl,
 ODBC
Características
Como um banco de dados de nível corporativo, o PostgreSQL possui
funcionalidades sofisticadas como:
 o controle de concorrência multiversionado (MVCC),
 recuperação em um ponto no tempo (PITR),
 tablespaces,
 replicação assíncrona,
 transações agrupadas (savepoints),
 cópias de segurança
(online/hot backup),
 planejador de consultas (otimizador),
 registrador de transações sequencial
(WAL) para tolerância a falhas.
Características
 Suporta conjuntos de caracteres internacionais,
 codificação de caracteres multibyte,
 Unicode e sua ordenação por localização,
 sensibilidade a caixa (maiúsculas e minúsculas) e formatação.
Características
É altamente escalável, tanto na quantidade enorme de
dados que pode gerenciar, quanto no número de
usuários concorrentes que pode acomodar. Existem
sistemas ativos com o PostgreSQL em ambiente de
produção que gerenciam mais de 4TB de dados.
Alguns limites do PostgreSQL estão incluídos na tabela
abaixo:
Tamanho Máximo do Banco de Dados Ilimitado
Tamanho máximo de uma Tabela 32 TB
Tamanho Máximo de uma Linha 1.6 TB
Tamanho Máximo de um Campo 1 GB
Máximo de Linhas por Tabela Ilimitado
Máximo de Colunas por Tabela 250–1600
Máximo de Índices por Tabela Ilimitado
Peculiaridades
PostgreSQL automaticamente converte todos identificadores (tipo
nomes de tabela/coluna) para minúsculo na criação do objeto e na
query. Para força o uso misto de maiúsculo ou minúsculo, você precisa
usar escape no identificador usando aspas dupla ("").
Peculiaridades
PostgreSQL não tem comandos especiais para obter informação dos
dados do banco de dados (dicionário de dados) (tipo todas as tabelas do
banco de dados atual). Ao invés, há um schema padrão chamado
information_schema no PostgreSQL 7.4 e superior contendo views do
sistema com todas as informações necessárias, em um form fácil de
acessá-las.
pSQL
O psql é um cliente no modo terminal do PostgreSQL.
Permite digitar comandos interativamente, submetê-
los para o PostgreSQL e ver os resultados. Como
alternativa, a entrada pode vir de um arquivo. Além
disso, disponibiliza vários meta-comandos e diversas
funcionalidades semelhantes às do interpretador de
comandos (shell) para facilitar a criação de scripts e
automatizar um grande número de tarefas.
PGADMIN
Existem várias ferramentas de administração disponíveis
para o PostgreSQL. A mais popular é a pgAdmin, e
existem várias outras ferramentas comerciais disponíveis.
Criação de banco
ADD SERVER
ADDRESS 127.0.0.1
DESCRIPTION CDTeste
SERVICE Teste
PORT 5432
MAINTENANCE DB Postgres
USERNAME Postgres
SENHA system
Criação de tabelas
create table cd (
codigo_cd int not null,
codigo_gravadora int not null,
nome_cd varchar(50) not null,
preco_venda decimal (5,2) not null,
data_lancamento smalldatetime not null,
cd_indicado int not null);
create table cd (
codigo_cd integer UNIQUE NOT NULL,
codigo_gravadora integer not null,
nome_cd varchar(50) not null,
preco_venda numeric (5,2) not null,
data_lancamento timestamp not null,
cd_indicado integer not null);
Criação de tabelas – Chaves PK e FK
alter table cd add primary key (codigo_cd);
alter table cd ADD CONSTRAINT cd_codigo_cd_pkey PRIMARY KEY
(codigo_cd);
alter table cd add foreign key (cd_indicado) references cd;
alter table cd
add constraint fk_cd_cd
foreign key (codigo_cd)
references cd (codigo_cd);
Criação de tabelas - Inserções
insert into estado values('AC', 'Acre');
insert into estado values('AL', 'Alagoas');
insert into estado values('AP', 'Amapá');
insert into estado (id, title, author_id, subject_id)
VALUES (41472, 'Practical PostgreSQL', 1212, 4);
Restrições
Constrain CHECK
Ao criar uma tabela podemos prever que o banco exija que o valor de um campo satisfaça
uma expressão
--Restrição de verificação
CREATE TABLE products (
product_no integer,
name text,
price numeric CHECK (price > 0)
);
--Restrição de valor não nulo
CREATE TABLE products (
product_no integer NOT NULL,
name text NOT NULL,
price numeric NOT NULL CHECK (price > 0)
);
Restrições
Constrain UNIQUE
Garante que os dados contidos em uma coluna ou um grupo de colunas, é único no que diz
respeito a todas as linhas na tabela.
CREATE TABLE products (
product_no integer UNIQUE,
name text,
price numeric
);
Herança
CREATE TABLE cidades (
nome text,
populacao real,
altitude int -- (em pés)
);
CREATE TABLE capitais (
estado char(2)
) INHERITS (cidades);
Esquemas
Um banco de dados pode conter vários esquemas e dentro de cada um desses
podemos criar várias tabelas. Ao invés de criar vários bancos de dados, criamos
um e criamos esquemas dentro desse. Isso permite uma maior flexibilidade, pois
uma única conexão ao banco permite acessar todos os esquemas e suas tabelas.
Portanto devemos planejar bem para saber quantos bancos precisaremos,
quantos esquemas em cada banco e quantas tabelas em cada esquema.
Regras
O comando CREATE RULE cria uma regra aplicada à tabela ou visão especificada.
Uma regra faz com que comandos adicionais sejam executados quando um
determinado comando é executado em uma determinada tabela.
É importante perceber que a regra é, na realidade, um mecanismo de
transformação de comando, ou uma macro de comando.
As RULES (regras) permitem executar uma
ação alternativa em: inclusão, alteração,
exclusão e seleção (somente em caso de
visões).
Em outras palavras, uma regra faz com
que sejam executados comandos
adicionais quando é executado um
determinado comando em uma tabela.
Diferentemente das regras, os TRIGGERS
(gatilhos) podem ser acionados antes
(before) ou depois (after) de alguma ação
de insert, update e delete.
Diferenças entre o SQL Server e PostgreSQL
Escolhendo um servidor de banco de dados não é simples. SQL Server,
PostgreSQL e todos oferecem uma forma de organizar e armazenar
dados, mas cada um tem seus próprios benefícios exclusivos. Escolha a
que melhor atenda às suas necessidades começa com a compreensão
das diferenças entre essas opções.
Diferenças entre o SQL Server e PostgreSQL
Sistema Operacional
Nem todos os servidores de banco de dados podem ser executados em
qualquer sistema operacional. O programa de banco de dados
PostgreSQL pode ser executado em Windows 2000 ou superior, Mac,
Unix e Linux.
SQL Server só roda em Windows XP ou qualquer versão do Windows
2000 ou superior.
Diferenças entre o SQL Server e PostgreSQL
Instalação e Manutenção
Instalação e manutenção de banco de dados é o que vai gastar a maior
parte do seu tempo depois de baixá-lo. SQL Server é bem mais
complicado que o PostgreSQL. Independentemente disso, em ambos
será necessário algum treino para entender e administrar se a pessoa
encarregada de bases de dados da organização é nova para a tecnologia.
Diferenças entre o SQL Server e PostgreSQL
Vistas
Os programas variam um pouco na forma como você pode usar views. O
SQL Server permite views atualizáveis, materializaveis, e intercambiáveis.
O PostgreSQL também suporta exibições atualizáveis, mas o designer
tem que escrever regras contra views ordenadas para atualizá-las.
Diferenças entre o SQL Server e PostgreSQL
Recursos disponíveis apenas no PostgreSQL
O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo,
permite que o SQL dinâmico e ação em funções. Em outras palavras,
você pode usar funções de ação dentro de declarações SELECT. Suporta
índices funcionais e parciais e é o único que pode definir funções
personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.
Recursos disponíveis apenas no PostgreSQL
O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo,
permite que o SQL dinâmico e ação em funções. Em outras palavras,
você pode usar funções de ação dentro de declarações SELECT. Suporta
índices funcionais e parciais e é o único que pode definir funções
personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.
Diferenças entre o SQL Server e PostgreSQL
Dúvidas?
Obrigado.

Mais conteúdo relacionado

Mais procurados

Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidordtml2k
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Leinylson Fontinele
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidorJoao Andre Picao
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linuxRogério Cardoso
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggersflaviognm
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchDaniel Brandão
 
Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo ServidorDaniel Barros
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação webCentro Paula Souza
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos ServidoresAlexandre Maia
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 

Mais procurados (20)

Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidor
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Aula 1
Aula 1Aula 1
Aula 1
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL Workbench
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo Servidor
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação web
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos Servidores
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 

Destaque

Postgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CPostgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CRibamar Sousa
 
Apostila de postgre
Apostila de postgreApostila de postgre
Apostila de postgrems6675
 
Novidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLNovidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLMatheus Espanhol
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQLDiogo Biazus
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance TuningFernando Ike
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLanandology
 

Destaque (17)

Postgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CPostgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F C
 
Por que PostgreSQL?
Por que PostgreSQL?Por que PostgreSQL?
Por que PostgreSQL?
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Se meu elefante falasse
Se meu elefante falasseSe meu elefante falasse
Se meu elefante falasse
 
Apostila de postgre
Apostila de postgreApostila de postgre
Apostila de postgre
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Conceitos E Aplicações
Conceitos E AplicaçõesConceitos E Aplicações
Conceitos E Aplicações
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
Novidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLNovidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQL
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQL
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning
 
Postgre Sql
Postgre SqlPostgre Sql
Postgre Sql
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
SGBD Postgresql
SGBD PostgresqlSGBD Postgresql
SGBD Postgresql
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
 

Semelhante a O que é PostgreSQL: história, características e peculiaridades do banco de dados de código aberto

PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLFabio Telles Rodriguez
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverJosé Henrique Sento Sé
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverArt IT
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFabio Telles Rodriguez
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLMatheus Espanhol
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6Wagner Bianchi
 
Aula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAmós Lhips
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005Andre Nascimento
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 

Semelhante a O que é PostgreSQL: história, características e peculiaridades do banco de dados de código aberto (20)

PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
PostgreSQL Conceitos e aplicações
PostgreSQL  Conceitos e aplicaçõesPostgreSQL  Conceitos e aplicações
PostgreSQL Conceitos e aplicações
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISL
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Db2
Db2Db2
Db2
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQL
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Aula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLiteAula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLite
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Aula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós Lhips
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 

Último

2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 

Último (20)

2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 

O que é PostgreSQL: história, características e peculiaridades do banco de dados de código aberto

  • 1.
  • 2. História O Postgres, desenvolvido originalmente no Departamento de Ciência de Computação da Universidade de Berkeley, foi pioneiro em muitos dos conceitos objeto-relacionais que agora estão disponíveis em alguns bancos de dados comerciais. Fornece suporte a linguagem SQL92/SQL99, integridade de transações e extensibilidade de tipos. O PostgreSQL é um descendente com código aberto do código original desenvolvido em Berkeley.
  • 3. Características O PostgreSQL é um poderoso sistema gerenciador de banco de dados objeto-relacional de código aberto. Tem mais de 15 anos de desenvolvimento ativo e uma arquitetura que comprovadamente ganhou forte reputação de confiabilidade, integridade de dados e conformidade a padrões. Roda em todos os grandes sistemas operacionais:  GNU/Linux,  Unix  AIX,  BSD,  HP-UX,  SGI IRIX,  Mac OS X,  Solaris,  Tru64,  e MS Windows
  • 4. Características É totalmente compatível com ACID, tem suporte completo a chaves estrangeiras, junções (JOINs), visões, gatilhos e procedimentos armazenados (em múltiplas linguagens). Inclui a maior parte dos tipos de dados do ISO SQL:1999, incluindo INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP. Suporta também o armazenamento de objetos binários, incluindo figuras, sons ou vídeos. Possui interfaces nativas de programação para:  C/C++,  Java,  .Net,  Perl,  Python,  Ruby,  Tcl,  ODBC
  • 5. Características Como um banco de dados de nível corporativo, o PostgreSQL possui funcionalidades sofisticadas como:  o controle de concorrência multiversionado (MVCC),  recuperação em um ponto no tempo (PITR),  tablespaces,  replicação assíncrona,  transações agrupadas (savepoints),  cópias de segurança (online/hot backup),  planejador de consultas (otimizador),  registrador de transações sequencial (WAL) para tolerância a falhas.
  • 6. Características  Suporta conjuntos de caracteres internacionais,  codificação de caracteres multibyte,  Unicode e sua ordenação por localização,  sensibilidade a caixa (maiúsculas e minúsculas) e formatação.
  • 7. Características É altamente escalável, tanto na quantidade enorme de dados que pode gerenciar, quanto no número de usuários concorrentes que pode acomodar. Existem sistemas ativos com o PostgreSQL em ambiente de produção que gerenciam mais de 4TB de dados. Alguns limites do PostgreSQL estão incluídos na tabela abaixo: Tamanho Máximo do Banco de Dados Ilimitado Tamanho máximo de uma Tabela 32 TB Tamanho Máximo de uma Linha 1.6 TB Tamanho Máximo de um Campo 1 GB Máximo de Linhas por Tabela Ilimitado Máximo de Colunas por Tabela 250–1600 Máximo de Índices por Tabela Ilimitado
  • 8. Peculiaridades PostgreSQL automaticamente converte todos identificadores (tipo nomes de tabela/coluna) para minúsculo na criação do objeto e na query. Para força o uso misto de maiúsculo ou minúsculo, você precisa usar escape no identificador usando aspas dupla ("").
  • 9. Peculiaridades PostgreSQL não tem comandos especiais para obter informação dos dados do banco de dados (dicionário de dados) (tipo todas as tabelas do banco de dados atual). Ao invés, há um schema padrão chamado information_schema no PostgreSQL 7.4 e superior contendo views do sistema com todas as informações necessárias, em um form fácil de acessá-las.
  • 10. pSQL O psql é um cliente no modo terminal do PostgreSQL. Permite digitar comandos interativamente, submetê- los para o PostgreSQL e ver os resultados. Como alternativa, a entrada pode vir de um arquivo. Além disso, disponibiliza vários meta-comandos e diversas funcionalidades semelhantes às do interpretador de comandos (shell) para facilitar a criação de scripts e automatizar um grande número de tarefas.
  • 11. PGADMIN Existem várias ferramentas de administração disponíveis para o PostgreSQL. A mais popular é a pgAdmin, e existem várias outras ferramentas comerciais disponíveis.
  • 12. Criação de banco ADD SERVER ADDRESS 127.0.0.1 DESCRIPTION CDTeste SERVICE Teste PORT 5432 MAINTENANCE DB Postgres USERNAME Postgres SENHA system
  • 13. Criação de tabelas create table cd ( codigo_cd int not null, codigo_gravadora int not null, nome_cd varchar(50) not null, preco_venda decimal (5,2) not null, data_lancamento smalldatetime not null, cd_indicado int not null); create table cd ( codigo_cd integer UNIQUE NOT NULL, codigo_gravadora integer not null, nome_cd varchar(50) not null, preco_venda numeric (5,2) not null, data_lancamento timestamp not null, cd_indicado integer not null);
  • 14. Criação de tabelas – Chaves PK e FK alter table cd add primary key (codigo_cd); alter table cd ADD CONSTRAINT cd_codigo_cd_pkey PRIMARY KEY (codigo_cd); alter table cd add foreign key (cd_indicado) references cd; alter table cd add constraint fk_cd_cd foreign key (codigo_cd) references cd (codigo_cd);
  • 15. Criação de tabelas - Inserções insert into estado values('AC', 'Acre'); insert into estado values('AL', 'Alagoas'); insert into estado values('AP', 'Amapá'); insert into estado (id, title, author_id, subject_id) VALUES (41472, 'Practical PostgreSQL', 1212, 4);
  • 16. Restrições Constrain CHECK Ao criar uma tabela podemos prever que o banco exija que o valor de um campo satisfaça uma expressão --Restrição de verificação CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0) ); --Restrição de valor não nulo CREATE TABLE products ( product_no integer NOT NULL, name text NOT NULL, price numeric NOT NULL CHECK (price > 0) );
  • 17. Restrições Constrain UNIQUE Garante que os dados contidos em uma coluna ou um grupo de colunas, é único no que diz respeito a todas as linhas na tabela. CREATE TABLE products ( product_no integer UNIQUE, name text, price numeric );
  • 18. Herança CREATE TABLE cidades ( nome text, populacao real, altitude int -- (em pés) ); CREATE TABLE capitais ( estado char(2) ) INHERITS (cidades);
  • 19. Esquemas Um banco de dados pode conter vários esquemas e dentro de cada um desses podemos criar várias tabelas. Ao invés de criar vários bancos de dados, criamos um e criamos esquemas dentro desse. Isso permite uma maior flexibilidade, pois uma única conexão ao banco permite acessar todos os esquemas e suas tabelas. Portanto devemos planejar bem para saber quantos bancos precisaremos, quantos esquemas em cada banco e quantas tabelas em cada esquema.
  • 20. Regras O comando CREATE RULE cria uma regra aplicada à tabela ou visão especificada. Uma regra faz com que comandos adicionais sejam executados quando um determinado comando é executado em uma determinada tabela. É importante perceber que a regra é, na realidade, um mecanismo de transformação de comando, ou uma macro de comando. As RULES (regras) permitem executar uma ação alternativa em: inclusão, alteração, exclusão e seleção (somente em caso de visões). Em outras palavras, uma regra faz com que sejam executados comandos adicionais quando é executado um determinado comando em uma tabela. Diferentemente das regras, os TRIGGERS (gatilhos) podem ser acionados antes (before) ou depois (after) de alguma ação de insert, update e delete.
  • 21. Diferenças entre o SQL Server e PostgreSQL Escolhendo um servidor de banco de dados não é simples. SQL Server, PostgreSQL e todos oferecem uma forma de organizar e armazenar dados, mas cada um tem seus próprios benefícios exclusivos. Escolha a que melhor atenda às suas necessidades começa com a compreensão das diferenças entre essas opções.
  • 22. Diferenças entre o SQL Server e PostgreSQL Sistema Operacional Nem todos os servidores de banco de dados podem ser executados em qualquer sistema operacional. O programa de banco de dados PostgreSQL pode ser executado em Windows 2000 ou superior, Mac, Unix e Linux. SQL Server só roda em Windows XP ou qualquer versão do Windows 2000 ou superior.
  • 23. Diferenças entre o SQL Server e PostgreSQL Instalação e Manutenção Instalação e manutenção de banco de dados é o que vai gastar a maior parte do seu tempo depois de baixá-lo. SQL Server é bem mais complicado que o PostgreSQL. Independentemente disso, em ambos será necessário algum treino para entender e administrar se a pessoa encarregada de bases de dados da organização é nova para a tecnologia.
  • 24. Diferenças entre o SQL Server e PostgreSQL Vistas Os programas variam um pouco na forma como você pode usar views. O SQL Server permite views atualizáveis, materializaveis, e intercambiáveis. O PostgreSQL também suporta exibições atualizáveis, mas o designer tem que escrever regras contra views ordenadas para atualizá-las.
  • 25. Diferenças entre o SQL Server e PostgreSQL Recursos disponíveis apenas no PostgreSQL O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo, permite que o SQL dinâmico e ação em funções. Em outras palavras, você pode usar funções de ação dentro de declarações SELECT. Suporta índices funcionais e parciais e é o único que pode definir funções personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.
  • 26. Recursos disponíveis apenas no PostgreSQL O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo, permite que o SQL dinâmico e ação em funções. Em outras palavras, você pode usar funções de ação dentro de declarações SELECT. Suporta índices funcionais e parciais e é o único que pode definir funções personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL. Diferenças entre o SQL Server e PostgreSQL