Вы находитесь на странице: 1из 37

FORMAO DBA POSTGRESQL

DBA POSTGRESQL

Aula Inaugural - FORMAO DBA POSTGRE SQL

Motivao Apresentao dos Mdulos Metodologia Expectativas

DBA POSTGRESQL

Histrico e Evoluo do Banco de Dados PostgreSQL O PostgreSQL um sistema de gerenciamento de banco de dados objeto-relacional (SGBDOR) baseado no POSTGRES, Verso 4.2, desenvolvido no Departamento de Cincia da Computao da Universidade da Califrnia, em Berkeley.

O projeto POSTGRES, liderado pelo Professor Michael Stonebraker, foi patrocinado pelas seguintes instituies: Defense Advanced Research Projects Agency (DARPA); Army Research Office (ARO); National Science Foundation dentre outros.

DBA POSTGRESQL

Histrico e Evoluo do Banco de Dados PostgreSQL O PostgreSQL descende deste cdigo original de Berkeley, possuindo o cdigo fonte aberto. Fornece suporte s linguagens SQL92/SQL99, alm de outras funcionalidades modernas. Foi pioneiro em muitos conceitos objeto-relacionais que agora esto se tornando disponveis em alguns SGBD comerciais.

DBA POSTGRESQL

Histrico e Evoluo do Banco de Dados PostgreSQL O ancestral do PostgreSQL foi o Ingres, desenvolvido na Universidade da California / EUA (1977-1985). O cdigo fonte do Ingres depois foi atualizado pela Relational Technologies/Ingres Corporation que produziu o primeiro e bem sucedido servidor de banco de dados comercial.

DBA POSTGRESQL

Histrico e Evoluo do Banco de Dados PostgreSQL O Professor Michael Stonebraker coordenou o projeto de seus alunos para a criao de um servidor de banco de dados orientado a objetos chamado Postgres (1986-1994). Mais tarde, dois estudantes graduados desta universidade, adicionaram as capacidades da linguagem SQL ao Postgres. O resultado do projeto foi chamado de Postgres95 (1994-1995) que foi mantido e atualizado atravs de uma lista de mensagens na Internet.

DBA POSTGRESQL

Histrico e Evoluo do Banco de Dados PostgreSQL


Em 1996 o aumento da demanda de um banco de dados SQL com caractersticas open-source, motivou a continuidade do desenvolvimento do Postgres95 por alunos de universidades em vrios pases (Eua, Canad, Russia). Hoje, o cdigo fonte do PostgreSQL est protegido e registrado como open-source (cdigo aberto) pela Universidade da California/EUA, mantido e atualizado por universitrios, programadores experientes e por empresas como a PostgreSQL Inc - que entre muitas outras, oferece suporte comercial a este produto.

DBA POSTGRESQL

Histrico e Evoluo do Banco de Dados PostgreSQL Com mais de uma dcada de desenvolvimento por trs, o PostgreSQL o mais avanado banco de dados de cdigo aberto disponvel em qualquer lugar, oferecendo controle de concorrncia multi-verso, suportando praticamente todas as construes do SQL (incluindo subconsultas, transaes, tipos definidos pelo usurio e funes);

DBA POSTGRESQL

Histrico e Evoluo do Banco de Dados PostgreSQL

Dispe de um amplo conjunto de ligaes com linguagens procedurais (incluindo C, C++, Java, Perl, Python e PHP).

DBA POSTGRESQL

As principais melhorias no PostgreSQL incluem:

O bloqueio no nvel de tabela foi substitudo por um sistema de concorrncia multi-verso, permitindo os que esto lendo continuarem a ler dados consistentes durante a atividade de escrita, possibilitando efetuar cpias de segurana utilizando o pg_dump enquanto o banco de dados se mantm disponvel para consultas.

DBA POSTGRESQL

As principais melhorias no PostgreSQL incluem: A implementao de funcionalidades importantes no servidor, incluindo subconsultas, padres SQL (compatibilidade), restries e gatilhos. A incorporao de funcionalidades adicionais compatveis com a linguagem SQL92, incluindo chaves primrias, identificadores entre aspas, converso implcita de tipo de cadeias de caracteres literais, converso explcita de tipos e inteiros binrios e hexadecimais.

DBA POSTGRESQL

As principais melhorias no PostgreSQL incluem:

Os tipos nativos foram aperfeioados, incluindo vrios tipos para data e hora, e suporte adicional para tipos geomtricos. A velocidade geral do cdigo do servidor foi melhorada em aproximadamente 20-40%, e o tempo de inicializao do servidor foi reduzido em 80% desde que a verso 6.0 foi liberada.

DBA POSTGRESQL

As principais melhorias no PostgreSQL incluem:

Futuro Definido - Grandes novidades so incorporadas ao banco de dados muito rapidamente. Estabilidade - utiliza o padro ACID (Atomicidade, Consistencia, Isolamento, Durabilidade). Suas transaes so durveis e atmicas. No criam travamentos para usurios simultneos.

DBA POSTGRESQL

As principais melhorias no PostgreSQL incluem:

Flexibilidade - permite flexibilidade na criao de tipos de dados e funes, programao de funes e stored procedures. Suporte SQL suporta padro ANSI SQL, incluindo as verses 89, 92 e 99. Pode executar queries complexas.

DBA POSTGRESQL

As principais melhorias no PostreSQL incluem:

Constante Evoluo Suporte ao Desenvolvedor Portabilidade, Escalabilidade e Suporte a Multiplataforma

DBA POSTGRESQL

Onde podemos executar o PostgreSQL?

Em sistemas operacionais Linux, xBSD; Em sistemas operacionais Windows ( A partir do PostgreSQL 8 Nativo ); Em sistemas operacionais Windows com emulao *IX ( Cygwin );

DBA POSTGRESQL

Instalao
Linux No prompt: Kurumin: #apt-get install postgresql RedHat, Fedora: #rpm -ivh postgresql Localizao da base de dados: /var/lib/pgsql/data Windows Executar o pacote postgresql<verso>.msi Dependendo do SO o nome pode ser postgres, pgsql, postgresql

DBA POSTGRESQL

Instalao

Arquivo de Configurao:
postgresql.conf Configuraes Gerais pg_hba.conf - conexo pg_ident.conf - mapa de autenticao

DBA POSTGRESQL

Exemplos de Comandos Externos Acessar DB #psql -U <usuario> <banco> Listar DB's #psql -U <usuario> -l Importar dados #psql -U <usuario> <banco> < <arquivo> 2> <arquivo de erro>

DBA POSTGRESQL

Exemplos de Comandos Externos Cria DB #createdb -U <usuario> <banco> Backup dos bancos #pg_dump #pg_dumpall > <arquivo>

DBA POSTGRESQL

Comandos Internos Console \? - Lista todos os comandos internos \help [sql] - Exibe ajuda para uma clusula SQL \d - Lista tabelas do banco atual \d <table> - Lista estrutura da tabela \du - Lista usurios, com nomes, UIDs e atributos \dp ou \z - Lista permisses em todos os objetos \l - Lista todos os bancos \s - Lista todo o history da console do psql (*IX)

DBA POSTGRESQL

Comandos Internos Console \i <file> - Importa arquivo \o <file> - Cria e abre um arquivo texto \o - Grava o contedo e fecha o arquivo criado \h - Fecha o arquivo aberto \! - Abre um shell \c <db> - Conecta outro DB \c <db> <user> - Alterna para o usurio <user> \q - Sair da console

DBA POSTGRESQL

Consultas de Catlogo pg_user - Lista os usurios pg_group - Lista grupos pg_namespace - Mostra esquemas pg_database - Lista bancos e OIDS ...

DBA POSTGRESQL

Padronizaes Sugeridas Nomes de DB's, tabelas e campos devem ser criados com letras minsculas, sem acentos espaos em brancos ou caracteres especiais e com no mximo 30 bytes; Nomes compostos devem ser separados por underline (_); Nomes de tabelas devem ser criadas no plural; fornecedores;

DBA POSTGRESQL

Padronizaes Sugeridas 4. Nomes de campos devem ser criados no singular: fornecedor; 5. Nomes devem ser mnemnicos aos objetos representados;

DBA POSTGRESQL

Algumas Limitaes Tamanho mximo de um banco: Ilimitado Tamanho mximo de uma tabela: 64TB Tamanho mximo de um registro: Ilimitado para a verso* 7.1 e posteriores Tamanho mximo de um campo: 1 GB para a verso 7.1 e posteriores Mximo de linhas numa tabela: Ilimitado Mximo de colunas numa tabela: 1600 ( *Depende do tipo de dados )

DBA POSTGRESQL

Algumas Limitaes Mximo de ndices numa tabela: Ilimitado


O PostgreSQL um sistema gerenciador de bancos de dados livre adequado para sistemas de informao OLTP de todos os portes, entretanto, para aplicaes OLAP, como Data Warehouses e Data Mining, o PostgreSQL no a melhor alternativa. O motivo disto que o PostgreSQL ainda no implementa otimizaes como star queries, views materializadas e ndices do tipo bitmap.

DBA POSTGRESQL

Mais Caractersticas Suporte a transaes (padro ACID) Lock por registro (row level locking) Integridade referencial Nmero ilimitado de linhas e ndices em tabelas Extenso para GIS (base de dados geo-referenciados) Acesso via drivers ODBC e JDBC Interface grfica de gerenciamento Uso otimizado de recursos do sistema operacional

DBA POSTGRESQL

Mais Caractersticas

Joins: Implementa todos os tipos de join definidos pelo padro SQL99: inner join, left, right, full outer join, natural join. Triggers, views e stored procedures Suporte ao armazenamento de BLOBs (binary large objects)

DBA POSTGRESQL

Mais Caractersticas Sub-queries e queries definidas na clusula FROM Backup online

Suporte a conexes de banco de dados seguras (criptografia)


Modelo de segurana para o acesso aos objetos de DB por usurios e grupos de usurios

DBA POSTGRESQL

Consideraes
A utilizao do banco de dados PostgreSQL cada vez mais ampla nas empresas que buscam um servidor de banco de dados altamente sofisticado, com alta performance, estvel e capacitado para lidar com grandes volumes de dados. O fato de ser um produto Open Source, sem custos de licena, torna o PostgreSQL uma alternativa extremamente atraente para empresas que buscam um custo total de propriedade (TCO) menor para os ativos de TI. Este banco de dados j deixou de ser uma curiosidade de tcnicos e est no datacenter de grandes empresas do Brasil e do mundo.

DBA POSTGRESQL

LAB: Instalao Windows

DBA POSTGRESQL

PGADMIN

DBA POSTGRESQL

Exerccios SQL 01 Criar a tabela de alunos Inserir dados dos alunos Selecionar todos os alunos do estado do Cear Selecionar todos os alunos com pontuacao_media >= 8.0 Selecionar os campos aluno, nome e email de todos os alunos Selecionar os alunos com data_inclusao do ano de 2004

DBA POSTGRESQL

Exerccios SQL 02 1. Obter os cdigos dos diferentes departamentos que tem turmas no ano-semestre 2002/1 2. Obter os cdigos dos professores que so do departamento de cdigo 'INF01' e que ministraram ao menos uma turma em 2002/1. 3. Obter os horrios de aula (dia da semana,hora inicial e nmero de horas ministradas) do professor "Antunes" em 20021.

DBA POSTGRESQL

Exerccios SQL 02
4. Obter os nomes dos departamentos que tm turmas que, em 2002/1, tm aulas na sala 101 do prdio denominado 'Informtica - aulas. 5. Obter os cdigos dos professores com ttulo denominado 'Doutor' que no ministraram aulas em 2002/1. 6. Obter os identificadores das salas (cdigo do prdio e nmero da sala) que, em 2002/1: * nas segundas-feiras (dia da semana = 2), tiveram ao menos uma turma do departamento 'Informtica', e * nas quartas-feiras (dia da semana = 4), tiveram ao menos uma turma ministrada pelo professor denominado 'Antunes'.

DBA POSTGRESQL

Exerccios SQL 02

7. Obter o dia da semana, a hora de incio e o nmero de horas de cada horrio de cada turma ministrada por um professor de nome `Antunes', em 2002/1, na sala nmero 101 do prdio de cdigo 43423.

Вам также может понравиться