Treinamento PostgreSQL - Aula 01

Documentos relacionados
Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01

Treinamento PostgreSQL - Aula 09

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Prof. Marcelo Machado Cunha

Treinamento PostgreSQL - Aula 10

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr waltenomartins@yahoo.

Persistência e Banco de Dados em Jogos Digitais

INTRODUÇÃO. Diferente de Bando de Dados

Curso PostgreSQL - Treinamento PostgreSQL - Fundamental

Introdução à Banco de Dados. Definição

SISTEMA GERENCIADOR DE BANCO DE DADOS

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

PostgreSQL Troubleshooting e Monitoramento

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Disciplina de Banco de Dados Parte V

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

LINGUAGEM DE BANCO DE DADOS

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Disciplina de Banco de Dados Introdução

Conceitos de Banco de Dados

Treinamento PostgreSQL - Aula 03

Docente: Éberton da Silva Marinho

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

MC536 Bancos de Dados: Teoria e Prática

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

Disciplina: Unidade I: Prof.: Período:

Prof.: Clayton Maciel Costa

Conceitos Básicos. Conceitos Básicos. Sistema de Arquivos. Prof. Edilberto Silva - edilms@yahoo.com. Sistemas de Informação Brasília/DF

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

A Evolução paquidérmica: para o alto, e avante!

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Prof.: Clayton Maciel Costa

Introdução Banco de Dados

Modelos. Comunicação com clientes

Fundamentos de Banco de Dados

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Banco de Dados I. Introdução Conceitos

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Introdução a Banco de Dados. Adão de Melo Neto

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Banco de Dados. Maurício Edgar Stivanello

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Disciplina: Tecnologias de Banco de Dados para SI s

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Modelo de Dados. Modelos Conceituais

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Objetivos Específico

18/03/2012. Formação.

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

Sistemas Gerenciadores de Bancos de Dados

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Treinamento. DBA Oracle 11g. Duração: 120 horas

Introdução a Sistemas de Bancos de Dados

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Modelo de Dados. Modelo para organização dos dados de um BD

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Revisão de Banco de Dados

GEE051 - Banco de Dados (BD) Plano de Curso. Ilmério Reis da Silva ilmerio@facom.ufu.br UFU/FACOM /2

CICLO DE VIDA DE UM BD

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Banco de Dados I. Introdução. Fabricio Breve

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

BANCO DE DADOS EVER SANTORO

INF70 Gerenciamento de Banco de Dados 2 Plano de Curso e Introdução

Administração. Apresentação. Objetivo. Dados Principais. Tecnologia Abordada Administração de Banco de Dados SQL Server 2008 R2

Banco de Dados I. 1. Conceitos de Banco de Dados

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Faculdade Lourenço Filho - ENADE

Administração de Banco de Dados

Módulo 4: Gerenciamento de Dados

05/06/2012. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

TREINAMENTO. Apresentação. Objetivos. Dados Principais. Tecnologia Abordada Oracle Databese 11g

Transcrição:

Treinamento PostgreSQL - Aula 01 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 27 de Maio de 2013 Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 1 / 41 edua

Sumário 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 2 / 41 edua

Apresentação Ementa - Administração de Dados (Parte 1) Introdução Conceito de banco de dados, Histórico do PostgreSQL, Comunidade, Desenho Conceitual, Representação de dados, Armazenamento, Indexação; Teoria Relacional Modelo de dados e denições, Gerencimento de tabelas, Restrições e integridade referencial, Herança entre tabelas; Conjuntos Álgebra relacional e operações de conjuntos Linguagem SQL Sintaxe, Denição de dados, Manipulação de dados, Consultas, Tipos de dado, Funções e operadores, Conversão de tipos, Índices, Busca textual (Full Text Search), Controle de concorrência, Análise de performance; Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 3 / 41 edua

Apresentação Administração do Banco de Dados PostgreSQL em GNU/Linux Instalação e Conguração; Manipulação da estrutura do banco de dados Manipulação de tablespaces e schemas; Administração do Servidor Segurança lógica e física, Monitoramento, Ferramentas administrativas e Backup; PTR PITR - Point-in-Time Recovery; Migração Desenhando um projeto de migração de dados para o PostgreSQL. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 4 / 41 edua

Apresentação Alta disponibilidade Cluster Virtualização, Arquitetura e denições; Escalabilidade horizontal Soluções de replicação de base de dados Master-Slave, Multimaster; Escalabilidade vertical Banco de dados distribuídos, Replicação de discos; Escalabilidade nativa Streaming Replication/Hot Standby; Administração do cluster Balancamento de carga, Alta disponibilidade com Heartbeat. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 5 / 41 edua

Apresentação Performance Tuning PostgreSQL por dentro Estrutura do PostgreSQL, Sistema Operacional, Disco e Regras gerais de performance; Otimização de SQL Análise de consultas e Plano de execução; Otimizando os discos Congurações de I/O, Tabela de partições e Tipos de disco; Conguração do PostgreSQL shared_buers e referência do arquivo postgresql.conf; Otimizando o SO Otimização de Kernel para GNU/Linux, Memória e Disco; Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 6 / 41 edua

Apresentação Cronograma Semana 1: 27-31 de Maio Administração de Dados Semana 2: 3-7 de Junho Administração de Banco de Dados Semana 3: 10-14 de Junho Alta disponibilidade Semana 4: 17-21 de Junho Performance Tuning Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 7 / 41 edua

Para começar Banco de dados não é para amadores. O Sistema Operacional pode ser o melhor amigo (ou inimigo) do DBA. Especicar corretamente o hardware DEVE ser trabalho do DBA, pois é extremamente importante. Os riscos dos erros do DBA são sempre maiores. Aprenda a conviver com o conservadorismo. Estudar é importante, mas para um DBA é muito mais importante! Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 8 / 41 edua

Vale lembrar Nenhum software vai administrar o banco pra você. Ajudam se forem bem operados; Se você não sabe o que é partição, tipo de sistema de arquivos, paginação, estratégias de buering, volte algumas casas. Está assustado? duardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 9 / 41 edua

Vale lembrar Nenhum software vai administrar o banco pra você. Ajudam se forem bem operados; Se você não sabe o que é partição, tipo de sistema de arquivos, paginação, estratégias de buering, volte algumas casas. Está assustado? É possível se tornar um grande DBA sem sair de casa. Acesse www.postgresql.org/doc e seja feliz! Infelizmente, não é possível evoluir muito em nossa prossão sem o Inglês. Se quiser ser realmente bom, domine a língua primeiro. Finalmente, aprenda fazendo. As empresas valorizam muito o estudo, mas para administrar dados tem que ter experiência. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 9 / 41 edua

Conceito de banco de dados 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 10 / 41 edua

Conceito de banco de dados Bancos de Dados O que é um banco de dados? O que é um dado? Sistema Gerenciados de Banco de Dados (SGBD)[ETEC, 2013]: Gerenciar grande quantidade de informação; Evitar redundância de dados e inconsistência; Facilitar o acesso; Segurança no acesso aos dados; Garantir a integridade; Facilitar a migração se necessário. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 11 / 41 edua

Conceito de banco de dados Abstração de dados Esconde os detalhes de como os dados são armazenados ou mantidos[etec, 2013]: Abstração física Como os dados são armazenados no disco; Abstração conceitual Quais dados são armazenados e como estão relacionados; Abstração de visão Expõe somente a parte do Banco de Dados que o usuário necessita. Um mesmo SGBD pode ter diversas visões do mesmo dado. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 12 / 41 edua

Conceito de banco de dados Tipos de Bancos de Dados O dado a ser armazenado e o tipo de abstração afetam o Tipo de Banco de Dados a ser utilizado duardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 13 / 41 edua

Conceito de banco de dados Tipos de Bancos de Dados O dado a ser armazenado e o tipo de abstração afetam o Tipo de Banco de Dados a ser utilizado Bancos de Dados Relacionais duardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 13 / 41 edua

Conceito de banco de dados Tipos de Bancos de Dados O dado a ser armazenado e o tipo de abstração afetam o Tipo de Banco de Dados a ser utilizado Bancos de Dados Relacionais Bancos de Dados Orientados a Objetos duardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 13 / 41 edua

Conceito de banco de dados Tipos de Bancos de Dados O dado a ser armazenado e o tipo de abstração afetam o Tipo de Banco de Dados a ser utilizado Bancos de Dados Relacionais Bancos de Dados Orientados a Objetos Bancos de Dados Documentais Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 13 / 41 edua

Conceito de banco de dados Bancos de Dados Relacionais Bancos de Dados Relacionais Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 14 / 41 edua

Conceito de banco de dados Bancos de Dados Orientados a Objetos (NoSQL) Bancos de Dados NoSQL Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 15 / 41 edua

Conceito de banco de dados Bancos de Dados Documentais Lightbase Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 16 / 41 edua

Histórico do PostgreSQL 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 17 / 41 edua

Histórico do PostgreSQL Origens 1985 Primeiro desenho de um possível sistema de armazenamento (ainda projeto Postgres) na universidade de Berkeley, Califórnia [Stonebreaker and Rowe, 1985] 1987 Primeira modelagem [Stonebreaker and Rowe, 1987] 1989 Denição do primeiro sistema de regras [Stonebreaker et al., 1989] Fim da fase acadêmica duardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 18 / 41 edua

Histórico do PostgreSQL Origens 1985 Primeiro desenho de um possível sistema de armazenamento (ainda projeto Postgres) na universidade de Berkeley, Califórnia [Stonebreaker and Rowe, 1985] 1987 Primeira modelagem [Stonebreaker and Rowe, 1987] 1989 Denição do primeiro sistema de regras [Stonebreaker et al., 1989] Fim da fase acadêmica 1993 Empresa Illustra transforma parte do código em um produto comercial. Mais tarde a empresa se tornaria Informix, até ser comprada pela IBM 1993 Desenvolvimento de uma versão paralela pela comunidade (principalmente universidades) e novo nome: PostgreSQL duardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 18 / 41 edua

Comunidade 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 19 / 41 edua

Comunidade No Brasil Crescimento através da comunidade 1 Registro do domínio postgresql.br; 2 Criação da lista de discussão PostgreSQL BR (http://listas. postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral); 3 Crescimento da utilização no nicho dos DBA's voltado para migração do Oracle; 4 Lançamento da versão Windows; 5 Realização da primeira Conferência Brasileira de PostgreSQL 1. 1 PGConBr, realizada em São Paulo em 2007: http://pgbr.postgresql.org.br/2007/ Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 20 / 41 edua

Comunidade A Comunidade PostgreSQL Não se sinta sozinho: seja bem-vindo à nossa comunidade: www.postgresql.org.br / listas.postgresql.org.br Lá você encontra: Listas de discussão; Documentação; Amigos :) Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 21 / 41 edua

Desenho Conceitual 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 22 / 41 edua

Desenho Conceitual O Desenho do Postgres 3 Considerado o sucessor do INGRES Principais escolhas de design: 1 Suportar objetos complexos; 2 Fornecer ao usuário extensibilidade para os tipos de dado, operadores e métodos de acesso; 3 Prover funcionalidades para manter a inferência cruzada de relacionamentos consistente. Ex.: Alerts e Triggers; 4 Simplicar o código para recuperação em caso de desastres do DBMS 2 ; 5 Utilizar-se do que há de melhor em termos de hardware para obter melhor performance dos componentes; 6 Manter o mais inalterado possível o modelo relacional. 2 DBMS ou Database Management System é o Sistema Gerenciador de Banco de Dados 3 Do artigo original em inglês, The Design of Postgres [Stonebreaker and Rowe, 1985] Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 23 / 41 edua

Representação de dados 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 24 / 41 edua

Representação de dados Representando dados reais Objetos complexos: denição e representação; Trabalho com tuplas 4 de dados: Quádrupla ou tupla de quatro elementos: (1, 2, 3, 4) Conjuntos próximos do mundo real: (gato, cachorro, papagaio) Extrapolação para o modelo relacional: ((1, gato), (2, cachorro), (3, papagaio)) Tupla de três elementos (tripla) cada um uma tupla de dois elementos (dupla) Denição de tabela para animais de estimação 4 Tupla pode ser denida como uma sequência ordenada de elementos acessíveis através de um índice inteiro Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 25 / 41 edua

Representação de dados Representando dados reais Extensibilidade a outros domínios de aplicação: Tipos de dado padrão: inteiro, oat, char Tipos de dado extendidos: date, timestamp, money Objetos complexos? polygon, point (dados geométricos) Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 26 / 41 edua

Representação de dados Representando dados reais Utilização de algoritmos de armazenamento e indexação: BTree, B+Tree, etc; BTree Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 27 / 41 edua

Armazenamento e Indexação 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 28 / 41 edua

Armazenamento e Indexação Representando dados reais Utilização de algoritmos de armazenamento e indexação: BTree, B+Tree, etc; B+Tree Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 29 / 41 edua

Armazenamento e Indexação Conceitos principais Foco em teorias para manipulação e armazenamento de dados; Armazenamento complexo e extensibilidade a outras aplicações; O principal objetivo é (e sempre foi) fazer o melhor banco de dados; Vamos chegar onde nenhum outro elefante jamais esteve: new features, melhor performance e mais conabilidade. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 30 / 41 edua

Teoria Relacional Modelo de dados e denições 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 31 / 41 edua

Teoria Relacional Modelo de dados e denições O modelo de dados Modelo relacional extendido através de tipos de dado abstratos: Operadores denidos pelos usuários; Construção de procedimentos internos; Procedimentos globais. Tabela (denição): Coleção de relações que contém tuplas representando entidades do mundo real. Coleção xa de atributos; Chave primária (denição): Sequência de atributos da relação que identicam unicamente cada tupla. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 32 / 41 edua

Teoria Relacional Modelo de dados e denições O modelo de dados Conceito: dados organizados em tabelas ou relações; Organização em linhas (tuplas) e campos (atributos). Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 33 / 41 edua

Teoria Relacional Gerenciamento de tabelas 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 34 / 41 edua

Teoria Relacional Gerenciamento de tabelas Utilizando os dados O dado na tupla é acessível através de um índice numérico; Para os índices numéricos xos denimos chaves; Chaves primárias e chaves estrangeiras; Domínio da coluna ou domínio do campo; Fonte: [MSDN, 2013] Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 35 / 41 edua

Teoria Relacional Restrições, integridade referencial e herança 1 Apresentação 2 Introdução Conceito de banco de dados Histórico do PostgreSQL Comunidade Desenho Conceitual Representação de dados Armazenamento e Indexação 3 Teoria Relacional Modelo de dados e denições Gerenciamento de tabelas Restrições, integridade referencial e herança 4 Referências Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 36 / 41 edua

Teoria Relacional Restrições, integridade referencial e herança Restrições Restrição (denição): conjunto de regras ou valores permitidos aos campos; Objetivo principal de todo SGBD é manter a integridade dos dados; Os dados armazenados são consistentes entre si; Restrição de integridade (denição): regra de consistência dos dados garantida pelo próprio SGBD; Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 37 / 41 edua

Teoria Relacional Restrições, integridade referencial e herança Restrições Restrições de integridade podem ser classicadas como: Integridade de domínio Campo deve obedecer o conjunto de valores permitidos para a coluna; Integridade de vazio Indica se os campos de uma coluna podem ou não ser vazios; Integridade de chave Dene que as chaves devem ser únicas; Integridade referencial Os campos denidos na chave estrangeira devem aparecer na chave primária da tabela referenciada. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 38 / 41 edua

Teoria Relacional Restrições, integridade referencial e herança Criando um banco de dados Segundo [Heuser, 1998], um banco de dados relacional deve conter no mínimo as seguintes denições: 1 Tabelas que formam o banco de dados; 2 Colunas que as tabelas possuem; 3 Restrições de integridade. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 39 / 41 edua

Teoria Relacional Restrições, integridade referencial e herança Resumo dos conceitos O modelo relacional utiliza informações organizadas em tuplas; Tabelas são coleções de relações que contém tuplas representando entidades do mundo real; Cada tupla deve ter um identicador (chave) e um conjunto de campos (atributos); As restrições de integridade representam o conjunto de valores permitidos ao campo; Um banco de dados relacional deve ter no mínimo tabelas, colunas e restrições de integridade. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 40 / 41 edua

Referências ETEC (2013). Apostila completa de banco de dados. http://www.etefernandoprestes.com.br/arquivos_geral/downloads/bd.pd Acessado em 22/05/2013. Heuser, C. A. (1998). Projeto de Banco de Dados. Bookman. MSDN (2013). Modelos de chave. http://msdn.microsoft.com/pt-br/library/ms184276v = sql.105.aspx Acessado em 22/05/2013. Stonebreaker, M. and Rowe, L. A. (1985). The design of postgres. http://s2k-ftp.cs.berkeley.edu:8000/postgres/papers/erl-m85-95.pdf Acessado em 22/05/2013. Stonebreaker, M. and Rowe, L. A. (1987). Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 40 / 41 edua

Referências The postgres datamodel. http://s2k-ftp.cs.berkeley.edu:8000/postgres/papers/erl-m87-13.pdf Acessado em 22/05/2013. Stonebreaker, M., Rowe, L. A., and Potamianos, S. (1989). Postgres rule system. http://www.postgresql.org/docs/9.2/interactive/biblio.html#ston87a Acessado em 22/05/2013. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 41 / 41 edua

Referências Contato Eduardo Ferreira dos Santos Sparkgroup Lightbase Consultoria em Software Público eduardo.santos@lightbase.com.br eduardo.edusantos@gmail.com www.postgresql.org.br www.eduardosan.com +55 61 3347-1949 Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 01 eduardo.edusantos@gmail.com 27 de Maio de 2013 41 / 41 edua