Prévia do material em texto
Universidade Federal de Uberlândia Faculdade de Computação Introdução e acesso ao PostgreSQL Prof. Renato Pimentel 2022/2 GES013 Sistema BD 2022/2 1 / 22 Sumário 1 Introdução e acesso ao PostgreSQL GES013 Sistema BD 2022/2 2 / 22 PostgreSQL PostgreSQL1 é um SGBD que incorpora o modelo relacional para o banco de dados e suporta a linguagem SQL como linguagem de consulta padrão. ▶ Em sua documentação2, descrito como SGBDOR (SGBD Objeto-relacional). Ferramenta multi-plataforma: possui pacotes de instalação para o Windows (64 bits somente a partir da versão 11); MacOS (amd64, arm64); e UNIX (BSD, Linux e Solaris). É um software livre com código-fonte aberto (open-source). 1https://www.postgresql.org 2https://www.postgresql.org/docs/ GES013 Sistema BD 2022/2 3 / 22 GES013 Sistema BD 2022/2 4 / 22 https://www.postgresql.org https://www.postgresql.org/docs/ Histórico Um banco de dados relacional chamado Ingres foi desenvolvido entre 1977 e 1985 na Universidade da Califórnia em Berkeley. Seu código foi usado para a construção do primeiro SGBD comercial. ▶ Atualmente, o Ingres é um software livre. Em 1986, um novo projeto na UCB foi iniciado: o POSTGRES, utilizando várias ideias do Ingres. Em 1994, o POSTGRES passou receber suporte à SQL, mudando assim sua denominação para Postgres95. Em 1996, passou a se chamar PostgreSQL e foi aberto a desenvolvedores na rede. Em 2005: PostgreSQL 8.0 com facilidades de instalação (servidor nativo) em Windows. GES013 Sistema BD 2022/2 5 / 22 GES013 Sistema BD 2022/2 6 / 22 Arquitetura do PostgreSQL Assim como ocorre com vários SGBDs comerciais, o PostgreSQL pode ser usado em um ambiente Cliente/Servidor: Existe um processo servidor que é executado numa única máquina; Os aplicativos que necessitam acessar os dados devem fazer via o processo servidor; Os clientes não conseguem acessar o dado diretamente, mesmo quando estão rodando no mesmo computador que o servidor. É possível que o cliente funcione numa arquitetura e o servidor noutra (ex.: cliente Windows e o servidor Unix); Facilidades para acesso simultâneo. ODBC – Open Database Connectivity: API (interface de programação de aplicações) que possibilita acesso de aplicativos ao BD, como por exemplo o Excel/Access, aplicativos móveis, etc. GES013 Sistema BD 2022/2 7 / 22 Arquitetura cliente/servidor Banco de dados postgres Múltiplos clientes Cliente O D BCWindows Linux UNIX Cliente Servidor Conecta Acessa Múltiplos acessos simultâneos Clientes conectam-se ao postgres, principal processo do servidor. Um processo específico é criado para servir um cliente ODBC é uma interface padrão para comunicação com SGBDs GES013 Sistema BD 2022/2 8 / 22 Acessando os dados em PostgreSQL Aplicativo em linha de comando (terminal): psql. ▶ É possível executar consultas SQL interativamente. Aplicação gráfica: pgAdmin (versão atual: 4). ▶ Utilizaremos o pgAdmin neste curso Servidor web: Apache rodando phpPgAdmin Criação de aplicativos clientes utilizando bibliotecas de acesso ao BD. Acesso indireto via ODBC ou JDBC (Java Database Connectivity). GES013 Sistema BD 2022/2 9 / 22 Mais informações https: //www.postgresql.org/docs/current/app-postgres.html postgres postgres – PostgreSQL database server Synopsis postgres [option...] Description postgres is the PostgreSQL database server. In order for a client application to access a database it connects (over a network or locally) to a running postgres instance. The postgres instance then starts a separate server process to handle the connection. One postgres instance always manages the data of exactly one database cluster. A database cluster is a collection of databases that is stored at a common file system location (the “data area”). More than one postgres instance can run on a system at one time, so long as they use different data areas and different communication ports. (...) GES013 Sistema BD 2022/2 10 / 22 https://www.postgresql.org/docs/current/app-postgres.html https://www.postgresql.org/docs/current/app-postgres.html Conectando-se ao servidor No laboratório: Host/Maquina: localhost Username/Nome do usuário: postgres Password/Senha: root Port/Porta: 5432 ou 5433 DB/BD: postgres Em sua máquina: Host/Maquina: localhost Username/Nome do usuário: postgres Password/Senha: a definida na instalação Port/Porta: 5432 DB/BD: postgres GES013 Sistema BD 2022/2 11 / 22 No pgAdmin III (até 2016): No laboratório: Host/Maquina: localhost Username/Nome do usuário: postgres Password/Senha: root Port/Porta: 5432 ou 5433 DB/BD: postgres Em sua máquina: Host/Maquina: localhost Username/Nome do usuário: postgres Password/Senha: a definida na instalação Port/Porta: 5432 DB/BD: postgres GES013 Sistema BD 2022/2 12 / 22 Selecionando o banco de dados postgres é o BD padrão, mas é possível criar / trabalhar com outros GES013 Sistema BD 2022/2 13 / 22 Utilizando o pgAdmin III Selecione um esquema (public ou outro) GES013 Sistema BD 2022/2 14 / 22 Abra a interface SQL (Ctrl+E) GES013 Sistema BD 2022/2 15 / 22 Digite seus comandos SQL GES013 Sistema BD 2022/2 16 / 22 Utilizando o pgAdmin 4 Abra a interface — ou Ferramentas / Ferramenta de Consulta (em inglês: Tools / Query Tool) GES013 Sistema BD 2022/2 17 / 22 Digite seus comandos SQL GES013 Sistema BD 2022/2 18 / 22 (F5) Executa todos os comandos SQL que estão no editor, ou executa os comandos selecionados GES013 Sistema BD 2022/2 19 / 22 Esquemas A organização do banco de dados em esquemas é útil pois: ▶ Permite o acesso do usuário aos objetos de qualquer esquema do banco de dados que ele está conectado (diferente do caso de diferentes bancos de dados); ▶ Permite organizar os objetos do banco de dados em grupos lógicos, facilitando o gerenciamento; ▶ Permite vários usuários utilizarem um mesmo banco de dados sem que um interfira no outro. “(...) There is nothing special about the public schema except that it exists by default. It can be dropped, too.” GES013 Sistema BD 2022/2 20 / 22 Manipulando esquemas -- criando esquemas CREATE SCHEMA universidade; CREATE SCHEMA farmacia; CREATE SCHEMA oficina; -- usando os esquemas SET search_path TO universidade; SET search_path TO farmacia; SET search_path TO oficina; -- apagando *todas* as tabelas e o esquema DROP SCHEMA cinema CASCADE; DROP SCHEMA grupo01 CASCADE; DROP SCHEMA public CASCADE; GES013 Sistema BD 2022/2 21 / 22 Referências 1 FREECODECAMP.ORG. Learn PostgreSQL Tutorial – Full Course for Beginners. Youtube, 04 abr. 2019. Disponível em: . Acesso em: 27 out. 2022. 2 PostgreSQL: The world’s most advanced open source database. Disponível em: . Acesso em: 27 out. 2022. 3 TRAVENÇOLO, B. A. N. (FACOM/UFU). Notas de aula. Os materiais de parte desta seção foram gentilmente cedidos por Bruno A. N. Travençolo (FACOM/UFU) Adaptações: Renato Pimentel, FACOM/UFU GES013 Sistema BD 2022/2 22 / 22 https://www.youtube.com/watch?v=qw--VYLpxG4 https://www.postgresql.org/ Introdução e acesso ao PostgreSQL Introdução Arquitetura do PostgreSQL Acesso aos dados e conexão com o servidor Referências