Академический Документы
Профессиональный Документы
Культура Документы
DBA POSTGRESQL
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
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
Dispe de um amplo conjunto de ligaes com linguagens procedurais (incluindo C, C++, Java, Perl, Python e PHP).
DBA POSTGRESQL
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
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
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
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
DBA 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
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
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
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.