Oficina Praça das Três Caixas d’Água | Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática – IFRO Graduado: Sistemas de Informação - ULBRA MBA Profissional: Engenharia de Sistemas – ESAB Especialista: Sistemas de Informação – FGF Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Agenda Introdução a Banco de Dados Arquitetura Cliente-Servidor O que é um SGBD? Projeto Conceitual de Banco de Dados Modelo Entidade-Relacionamento (DER) Projeto Lógico de Banco de Dados Modelo Relacional Implementação do Modelo Físico PostgreSQL Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR O que é Banco de Dados? É um local, ou espaço, onde os dados estão armazenados e de onde eles são recuperados. Permite que os dados fiquem centralizados e que se relacionem de forma coerente. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Dado x Informação Dados: Fatos em forma primária (número, palavra). Informação: Dado valorado, estrutura significante com a intenção de gerar conhecimento. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Sistema de Banco de Dados Banco de Dados é uma coleção de dados persistentes, usada pelos sistemas de aplicação de um determinada empresa. Uma fábrica Um banco Um hospital Uma universidade Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Sistema de Banco de Dados Qualquer empresa precisa, necessariamente, manter muitos dados sobre sua operação. Esses dados devem ser persistentes, por exemplo: Dados sobre produtos Dados sobre contas Dados sobre pacientes Dados sobre alunos Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR O Mundo Cliente-Servidor Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Arquitetura Cliente-Servidor Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si utilizando-se uma rede de computadores. Servidor (back end) é o próprio SGBD. Clientes (front end) são as diversas aplicações executadas em cima do SGBD. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Arquitetura Cliente-Servidor Prof. Marcel Leite Rios Usuários Finais -------------------------------Aplicações Clientes -------------------------------SGBD Servidor -------------------------------Banco de Dados PostgreSQL Conferência Brasileira PostgreSQL - PGBR Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR O que é um SGBD? Um Sistema Gerenciador de Banco de Dados é um sistema computadorizado de manutenção de registros. É o software responsável pelo gerenciamento (controle, armazenamento e recuperação) dos dados no Banco de Dados. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Características do SGBD Realiza o gerenciamento de transações. Permite criar regras de integridade. Permite acesso concorrente às bases de dados. Permite criar regras de segurança. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Projeto de Banco de Dados Modelo Conceitual • Modelo Entidade – Relacionamento - DER • Não há preocupação em como os dados são armazenados Modelo Lógico • Modelo Relacional – Representação de Tabelas e Colunas • Há preocupação em como os dados são armazenados Modelo Físico • Criação do Banco de Dados em um SGBD • Implementação do Projeto de Banco de Dados Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR No Mundo Real... Elementos Coisas / Objetos Prof. Marcel Leite Rios Pessoas Conferência Brasileira PostgreSQL - PGBR O Mundo no Banco de Dados Coisas / Objetos Pessoas Atributos; Propriedades; Características; Atributos; Propriedades; Características; Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Abordagem Geral Podemos concordar que o mundo é composto de entidades. Por exemplo: todos os alunos (individuais) são instâncias do tipo de entidade genérico ALUNO. Podemos ir mais longe e concordar que cada entidade pode estar relacionada a outras entidades por meio de relacionamentos. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Modelando os Dados O primeiro passo para projetar um banco de dados é através da Análise de Requisitos. Após a análise, um modelo de banco de dados deve ser criado. Um modelo de banco de dados é uma descrição formal da estrutura em que os dados serão armazenados em um banco de dados. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Modelo Entidade-Relacionamento É a representação abstrata e simplificada de um mundo real, com a qual se pode explicar. O MER é o modelo inicial da base de dados, mais abstrato e reflete as necessidades do usuário. Não demonstra como os armazenados a nível de SGBD Aluno Prof. Marcel Leite Rios Tem dados estão Turma Conferência Brasileira PostgreSQL - PGBR Entidades e Atributos Entidade representa um conjunto de objetos do mesmo tipo do mundo real (sobre os quais se pretende armazenar dados). Uma Entidade é representada graficamente por um retângulo com o nome da entidade dentro do retângulo. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Entidades e Atributos Cada entidade deve possuir um conjunto de propriedades que a caracterize e a descreva. A esse conjunto de propriedades dá-se o nome de atributos. Um atributo é representado graficamente por uma pequena circunferência. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Entidades e Atributos Uma entidade deve ter ao menos dois atributos. Todo atributo possui um tipo de dado que determina os valores permitidos para aquele atributo. A esse tipo de dados dá-se o nome de domínio do atributo. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Chave Primária É um atributo da entidade que identifica apenas um objeto dessa entidade. O valor dentro de um chave primária não poderá se repetir e também não poderá receber um valor nulo. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Relacionamento de Entidades Um relacionamento é uma associação entre as entidades. Os dados devem ser armazenados e estarem relacionados na base de dados. Aluno Prof. Marcel Leite Rios pertence Turma Conferência Brasileira PostgreSQL - PGBR Relacionamento de Entidades Um relacionamento é representado por um losango com o nome do relacionamento no centro. O nome do relacionamento pode ser um verbo como: pertence, leciona, estuda, possui, etc. pertence Prof. Marcel Leite Rios possui Conferência Brasileira PostgreSQL - PGBR Cardinalidade As restrições de cardinalidade expressam o número de objetos de uma entidade ao qual outra entidade pode ser associada. A pergunta que deve ser feita é: “Se eu pegar um único objeto da minha entidade X, a quantos objetos da entidade Y ele pode se associar?” Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Exemplos de Cardinalidade Funcionário (1,n) pertence (1,n) Professor Prof. Marcel Leite Rios (1,1) Departamento (1,n) possui Disciplina Conferência Brasileira PostgreSQL - PGBR Variações de Cardinalidade Esse número de associações entre objetos pode ser 0, 1 ou vários (representado por N). A cardinalidade dos relacionamentos podem ser de 3 tipos: Um para Um Um para Muitos Muitos para Muitos Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Entidade, Atributo e Relacionamento Relacionamento Entidade Mínimo Máximo Atributo Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Modelo Conceitual Modelo Lógico – Modelo Relacional Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Chave Estrangeira É um atributo da tabela que faz referência a uma chave primária de outra tabela. É o atributo responsável por garantir, de fato, o relacionamento entre duas tabelas. Uma Chave Estrangeira sempre faz referência a uma chave primária de outra tabela. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR brModelo 2.0 O brModelo é uma ferramenta modelagem de base de dados gratuita. para Foi desenvolvida por Carlos Henrique Cândido sob a orientação do Prof. Dr. Ronaldo dos Santos Mello (UFSC), como TCC de pósgraduação em banco de dados (UNVAG - MT e UFSC). Disponível em: http://sis4.com/brModelo Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Conhecendo o brModelo - O brModelo permite a criação do Modelo Conceitual, onde a partir deste é gerado o Modelo Lógico para em seguida gerar o Modelo Físico. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Estudo de Caso - EmpresaX Durante os anos, um funcionário pode ficar lotado em mais um departamento. Um departamento pode ter mais um funcionário. Um funcionário pode ter mais de um endereço de e-mail e cada e-mail refere-se a um único funcionário. Um departamento pertence a uma gerência e uma gerência possui vários departamentos. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Criando o Esquema Conceitual Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Convertendo em Esquema Lógico Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Gerando o Esquema Físico Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Criando BD no PostgreSQL Passo 1: Cria-se um novo banco de dados Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Criando Tabelas no PostgreSQL Passo 2: Clique em Execute Arbitrary SQL Queries Passo 3: Copie o Script no SQL Editor. Adicione ponto e vírgula ao final de cada CREATE e depois clique em Execute Query Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Tabelas no PostgreSQL Passo 4: Após o Script ser implementado com sucesso, todas as tabelas com suas colunas, chaves primárias e estrangeiras são criadas no PostgreSQL. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Documentação do PostgreSQL http://pgdocptbr.sourceforge.net/pg80/index.html Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Referência Bibliográfica Angelotti, Elaini Simoni. Banco de Dados. Curitiba: Editora do Livro Técnico, 2010. Date, C J. Introdução a Sistemas de Banco de Dados. Rio de Janeiro: Elsevier, 2003. Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR Muito Obrigado! [email protected] [email protected] [email protected] Prof. Marcel Leite Rios Conferência Brasileira PostgreSQL - PGBR