Introdução ao BD Postgre

5.826 visualizações

Publicada em

Trabalho de apresentação do banco de dados Postgre.
Disciplina: Análise e gerenciamento de BD
Nível iniciante.
Fatec ZS 2011

Publicada em: Educação, Tecnologia
2 comentários
13 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
5.826
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
171
Comentários
2
Gostaram
13
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao BD Postgre

  1. 1. HistóriaO Postgres, desenvolvido originalmente no Departamento de Ciência deComputação da Universidade de Berkeley, foi pioneiro em muitos dosconceitos objeto-relacionais que agora estão disponíveis em alguns bancosde dados comerciais. Fornece suporte a linguagem SQL92/SQL99,integridade de transações e extensibilidade de tipos. O PostgreSQL é umdescendente com código aberto do código original desenvolvido emBerkeley.
  2. 2. CaracterísticasO PostgreSQL é um poderoso sistema gerenciador de banco de dadosobjeto-relacional de código aberto. Tem mais de 15 anos dedesenvolvimento ativo e uma arquitetura que comprovadamenteganhou forte reputação de confiabilidade, integridade de dados econformidade a padrões. Roda em todos os grandes sistemasoperacionais: GNU/Linux, Unix AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64, e MS Windows
  3. 3. CaracterísticasÉ totalmente compatível com ACID, tem suporte completo a chavesestrangeiras, junções (JOINs), visões, gatilhos e procedimentosarmazenados (em múltiplas linguagens). Inclui a maior parte dos tiposde dados do ISO SQL:1999, incluindo INTEGER, NUMERIC, BOOLEAN,CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP. Suporta também oarmazenamento 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
  4. 4. CaracterísticasComo um banco de dados de nível corporativo, o PostgreSQL possuifuncionalidades 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.
  5. 5. 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.
  6. 6. CaracterísticasÉ altamente escalável, tanto na quantidade enorme dedados que pode gerenciar, quanto no número deusuários concorrentes que pode acomodar. Existemsistemas ativos com o PostgreSQL em ambiente deprodução que gerenciam mais de 4TB de dados.Alguns limites do PostgreSQL estão incluídos na tabelaabaixo:Tamanho Máximo do Banco de Dados IlimitadoTamanho máximo de uma Tabela 32 TBTamanho Máximo de uma Linha 1.6 TBTamanho Máximo de um Campo 1 GBMáximo de Linhas por Tabela IlimitadoMáximo de Colunas por Tabela 250–1600Máximo de Índices por Tabela Ilimitado
  7. 7. PeculiaridadesPostgreSQL automaticamente converte todos identificadores (tiponomes de tabela/coluna) para minúsculo na criação do objeto e naquery. Para força o uso misto de maiúsculo ou minúsculo, você precisausar escape no identificador usando aspas dupla ("").
  8. 8. PeculiaridadesPostgreSQL não tem comandos especiais para obter informação dosdados do banco de dados (dicionário de dados) (tipo todas as tabelas dobanco de dados atual). Ao invés, há um schema padrão chamadoinformation_schema no PostgreSQL 7.4 e superior contendo views dosistema com todas as informações necessárias, em um form fácil deacessá-las.
  9. 9. pSQLO psql é um cliente no modo terminal do PostgreSQL.Permite digitar comandos interativamente, submetê-los para o PostgreSQL e ver os resultados. Comoalternativa, a entrada pode vir de um arquivo. Alémdisso, disponibiliza vários meta-comandos e diversasfuncionalidades semelhantes às do interpretador decomandos (shell) para facilitar a criação de scripts eautomatizar um grande número de tarefas.
  10. 10. PGADMINExistem várias ferramentas de administração disponíveispara o PostgreSQL. A mais popular é a pgAdmin, eexistem várias outras ferramentas comerciais disponíveis.
  11. 11. Criação de bancoADD SERVERADDRESS 127.0.0.1DESCRIPTION CDTesteSERVICE TestePORT 5432MAINTENANCE DB PostgresUSERNAME PostgresSENHA system
  12. 12. Criação de tabelascreate 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);
  13. 13. Criação de tabelas – Chaves PK e FKalter 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 cdadd constraint fk_cd_cdforeign key (codigo_cd)references cd (codigo_cd);
  14. 14. Criação de tabelas - Inserçõesinsert 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);
  15. 15. RestriçõesConstrain CHECKAo criar uma tabela podemos prever que o banco exija que o valor de um campo satisfaçauma expressão--Restrição de verificaçãoCREATE TABLE products (product_no integer,name text,price numeric CHECK (price > 0));--Restrição de valor não nuloCREATE TABLE products (product_no integer NOT NULL,name text NOT NULL,price numeric NOT NULL CHECK (price > 0));
  16. 16. RestriçõesConstrain UNIQUEGarante que os dados contidos em uma coluna ou um grupo de colunas, é único no que dizrespeito a todas as linhas na tabela.CREATE TABLE products (product_no integer UNIQUE,name text,price numeric);
  17. 17. HerançaCREATE TABLE cidades (nome text,populacao real,altitude int -- (em pés));CREATE TABLE capitais (estado char(2)) INHERITS (cidades);
  18. 18. EsquemasUm banco de dados pode conter vários esquemas e dentro de cada um dessespodemos criar várias tabelas. Ao invés de criar vários bancos de dados, criamosum e criamos esquemas dentro desse. Isso permite uma maior flexibilidade, poisuma ú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.
  19. 19. RegrasO comando CREATE RULE cria uma regra aplicada à tabela ou visão especificada.Uma regra faz com que comandos adicionais sejam executados quando umdeterminado comando é executado em uma determinada tabela.É importante perceber que a regra é, na realidade, um mecanismo detransformação de comando, ou uma macro de comando.As RULES (regras) permitem executar umaação alternativa em: inclusão, alteração,exclusão e seleção (somente em caso devisões).Em outras palavras, uma regra faz comque sejam executados comandosadicionais quando é executado umdeterminado comando em uma tabela.Diferentemente das regras, os TRIGGERS(gatilhos) podem ser acionados antes(before) ou depois (after) de alguma açãode insert, update e delete.
  20. 20. Diferenças entre o SQL Server e PostgreSQLEscolhendo um servidor de banco de dados não é simples. SQL Server,PostgreSQL e todos oferecem uma forma de organizar e armazenardados, mas cada um tem seus próprios benefícios exclusivos. Escolha aque melhor atenda às suas necessidades começa com a compreensãodas diferenças entre essas opções.
  21. 21. Diferenças entre o SQL Server e PostgreSQLSistema OperacionalNem todos os servidores de banco de dados podem ser executados emqualquer sistema operacional. O programa de banco de dadosPostgreSQL pode ser executado em Windows 2000 ou superior, Mac,Unix e Linux.SQL Server só roda em Windows XP ou qualquer versão do Windows2000 ou superior.
  22. 22. Diferenças entre o SQL Server e PostgreSQLInstalação e ManutençãoInstalação e manutenção de banco de dados é o que vai gastar a maiorparte do seu tempo depois de baixá-lo. SQL Server é bem maiscomplicado que o PostgreSQL. Independentemente disso, em ambosserá necessário algum treino para entender e administrar se a pessoaencarregada de bases de dados da organização é nova para a tecnologia.
  23. 23. Diferenças entre o SQL Server e PostgreSQLVistasOs programas variam um pouco na forma como você pode usar views. OSQL Server permite views atualizáveis, materializaveis, e intercambiáveis.O PostgreSQL também suporta exibições atualizáveis, mas o designertem que escrever regras contra views ordenadas para atualizá-las.
  24. 24. Diferenças entre o SQL Server e PostgreSQLRecursos disponíveis apenas no PostgreSQLO 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çõespersonalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.
  25. 25. Recursos disponíveis apenas no PostgreSQLO 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çõespersonalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.Diferenças entre o SQL Server e PostgreSQL
  26. 26. Dúvidas?Obrigado.

×