Técnicas de Database Refactoring para ambientes 24x7. Matheus de Oliveira
|
|
- Rodrigo Molinari Branco
- 8 Há anos
- Visualizações:
Transcrição
1 Técnicas de Database Refactoring para ambientes 24x7 Matheus de Oliveira
2 Matheus de Oliveira DBA PostgreSQL consultorias e suportes 24x7/8x5 Instrutor dos treinamentos PostgreSQL Concepção, desenvolvimento e suporte à produção
3 Matheus de Oliveira Mais de 15 anos trabalhando de suporte e consultoria PostgreSQL Crafting Software, Transforming Business Instrutor dos treinamentos PostgreSQL Concepção, desenvolvimento e suporte à produção
4 Matheus de Oliveira 10 anos e mais de 10 mil profissionais capacitados em todo o Brasil. Aprenda com quem faz na prática Mais de 15 anos trabalhando de suporte e consultoria PostgreSQL Crafting Software, Transforming Business Concepção, desenvolvimento e suporte à produção
5 Matheus de Oliveira 10 anos e mais de 10 mil profissionais capacitados em todo o Brasil. Aprenda com quem faz na prática Mais de 15 anos trabalhando de suporte e consultoria PostgreSQL Crafting Software, Transforming Business SaaS para análise e monitoramento PostgreSQL Facilitando a vida do DBA
6 Database Refactoring
7 Database Refactoring A simple change to a database schema that improves its design while retaining both its behavioral and informational semantics in other words, you can neither add new functionality nor break existing functionality, nor can you add new data nor change the meaning of existing data. Scott Ambler and Pramod Sadalage (2006). Refactoring databases: Evolutionary database design. Addison-Wesley. 4 / 26
8 Database Refactoring Segue a mesma ideia e princípios de refatoração de código, só que é considerado um pouco mais difícil. Escrever e evoluir o código de forma disciplinada: nem tão importante durante o desenvolvimento inicial (antes de entrar em produção); essencial (pra todos?) após ter entrado em produção. Desenvolvedores, DBAs, sysadmins... DevOps... Todos trabalhando juntos com um objetivo em comum 5 / 26
9 Database Refactoring Estratégia: 6 / 26
10 Database Refactoring Mais difícil do que parece: 7 / 26
11 Database Refactoring exemplos Podemos dividir os tipos de refatoração em 6 categorias: Estrutural (structural); Qualidade dos dados (data quality); Integridade referencial (referential integrity); Arquitetural (architectural); Métodos/funções (method); Transformação (non-refactoring transformation). 8 / 26
12 Database Refactoring exemplos Incrementar o esquema é fácil: 9 / 26
13 Database Refactoring exemplos SELECT... FROM mensagens m LEFT JOIN usuario_ local l ON l. usuario_ id = m. de_id AND m. data_ hora BETWEEN l. data_ ini AND l. data_ fim 10 / 26
14 Database Refactoring exemplos Em alguns casos, como no exemplo, não há necessidade de sincronização: adicionar colunas à tabelas, desde que essas possam ser NULL ou tenham um valor DEFAULT definido; adicionar novas tabelas, visões ou funções ao modelo; adicionar funções que mantenham compatibilidade. 11 / 26
15 Database Refactoring exemplos Mudar a estrutura já é mais complicado: 12 / 26
16 Database Refactoring sincronização Para muitos casos, como renomear uma coluna, mover de uma tabela para outra, remover uma tabela, entre outros; é necessário um mecanismo de sincronização. Estes podem ser feitos via: gatilhos (triggers); visões (views); atualizações em lote (batch updates); 13 / 26
17 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); 14 / 26
18 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); 14 / 26
19 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); Use ambientes de Integração Contínua (Continuous Integration); 14 / 26
20 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); Use ambientes de Integração Contínua (Continuous Integration); Pequenas modificações são mais fáceis de aplicar e testar (tente dividir uma grande tarefa e várias menores); 14 / 26
21 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); Use ambientes de Integração Contínua (Continuous Integration); Pequenas modificações são mais fáceis de aplicar e testar (tente dividir uma grande tarefa e várias menores); Automatize tudo; 14 / 26
22 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); Use ambientes de Integração Contínua (Continuous Integration); Pequenas modificações são mais fáceis de aplicar e testar (tente dividir uma grande tarefa e várias menores); Automatize tudo; Faça as pazes entre desenvolvedores e DBAs (dica: pair-programming entre ambos sempre que possível)... =) ; 14 / 26
23 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); Use ambientes de Integração Contínua (Continuous Integration); Pequenas modificações são mais fáceis de aplicar e testar (tente dividir uma grande tarefa e várias menores); Automatize tudo; Faça as pazes entre desenvolvedores e DBAs (dica: pair-programming entre ambos sempre que possível)... =) ; Teste / 26
24 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); Use ambientes de Integração Contínua (Continuous Integration); Pequenas modificações são mais fáceis de aplicar e testar (tente dividir uma grande tarefa e várias menores); Automatize tudo; Faça as pazes entre desenvolvedores e DBAs (dica: pair-programming entre ambos sempre que possível)... =) ; Teste... Teste / 26
25 14 / 26 Database Refactoring dicas Tenha diversos ambientes (sandboxes para desenvolvedores, ambiente de teste de carga, demonstração, QA, etc.); Mantenha o versionamento da base num controle de versões, e também a informação da versão atual na própria base (use ferramentas como Sqitch, dbdeploy, Flyway, etc... ou faça a sua); Use ambientes de Integração Contínua (Continuous Integration); Pequenas modificações são mais fáceis de aplicar e testar (tente dividir uma grande tarefa e várias menores); Automatize tudo; Faça as pazes entre desenvolvedores e DBAs (dica: pair-programming entre ambos sempre que possível)... =) ; Teste... Teste... TESTE...
26 Zero Downtime Upgrades
27 Zero Downtime Upgrades Existe um mito que qualquer atualizações em bancos de dados relacionais é extremamente lenta. É fato que operações DDL (Data Definition Language) muitas vezes bloqueiam operações DML (Data Manipulation Language), mas é possível fazer com que este bloqueio seja extremamente rápido na grande maioria dos casos. 16 / 26
28 Zero Downtime Upgrades ALTER TABLE Sem dúvida o comando que gera maiores dúvidas e dores de cabeça. Para executar um ALTER TABLE o banco de dados necessita de um bloqueio exclusivo da tabela (em muitos casos bloqueando até consultas), mas existem basicamente dois mecanismos para um ALTER TABLE atualizar o esquema: com necessidade de reescrita a tabela é atualizada completamente (in-place ou usando arquivos temporários) + atualização de catálogo; sem necessidade de reescrita apenas atualização de catálogo. A necessidade ou não de reescrita depende do SGDB e do comando executado, vamos ver alguns exemplos e como são tratados no PostgreSQL, Oracle e MySQL. 17 / 26
29 Zero Downtime Upgrades ALTER TABLE Adicionar coluna, sem valor DEFAULT: ALTER TABLE usuarios ADD lat NUMERIC; PostgreSQL : sem reescrita; Oracle : sem reescrita; MySQL : com reescrita (mas a partir da versão 5.6 é possível reescrita in-place e sem bloqueio de operações DML exceto para auto increment); 18 / 26
30 Zero Downtime Upgrades ALTER TABLE Adicionar coluna, com valor DEFAULT: ALTER TABLE usuarios ADD ativo BOOLEAN DEFAULT t r u e ; PostgreSQL : com reescrita (devido à necessidade do valor DEFAULT); Oracle : com reescrita (devido à necessidade do valor DEFAULT); MySQL : com reescrita (mesmas considerações do anterior); 19 / 26
31 Zero Downtime Upgrades ALTER TABLE Adicionar coluna, com valor DEFAULT e NOT NULL: ALTER TABLE usuarios ADD ativo BOOLEAN DEFAULT t r u e NOT NULL; PostgreSQL : com reescrita (devido à necessidade do valor DEFAULT); Oracle : sem reescrita (a partir da versão 11g, anteriormente a reescrita era necessária); MySQL : com reescrita (mesmas considerações do anterior); Para adição de colunas com valor DEFAULT (exceto MySQL 5.6+), uma prática comum é adicionar a coluna sem DEFAULT, definir o DEFAULT em outra operação e fazer um UPDATE em grupos (batches) e/ou em paralelo para aplicar às linhas antigas. 20 / 26
32 Zero Downtime Upgrades ALTER TABLE Remover coluna: ALTER TABLE usuarios DROP fone_ casa ; PostgreSQL : sem reescrita; Oracle : sem reescrita se usando o comando: ALTER TABLE usuarios ALTER fone_casa SET UNUSED ; MySQL : com reescrita (mas a partir da versão 5.6 é possível reescrita in-place e sem bloqueio de operações DML); 21 / 26
33 Zero Downtime Upgrades ALTER TABLE Alterar tipo de uma coluna: ALTER TABLE usuarios ALTER lat TYPE b i g i n t ; PostgreSQL : com reescrita; Oracle : com reescrita; MySQL : com reescrita; 22 / 26
34 Zero Downtime Upgrades ALTER TABLE Alterar limite de uma coluna: ALTER TABLE usuarios ALTER nome TYPE v a r c h a r (100) ; PostgreSQL : a partir da versão 9.2, sem reescrita somente se o limite estiver aumentando (ou remoção de limite); Oracle : sem reescrita somente se o limite estiver aumentando; MySQL : a partir da versão 5.6, sem reescrita somente se o limite estiver aumentando; 23 / 26
35 Zero Downtime Upgrades ALTER TABLE Criação de índices. PostgreSQL : diminui o bloqueio se usado CREATE INDEX CONCURRENTLY...; Oracle : diminui o bloqueio se usado CREATE INDEX... ONLINE; MySQL : não bloqueia para índices secundários, exceto FULLTEXT (InnoDB 5.1+, demais 5.6+). 24 / 26
36 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; 25 / 26
37 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; Nunca utilize o famigerado SELECT * ; 25 / 26
38 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; Nunca utilize o famigerado SELECT * ; Tente executar essas migrações em momentos de menor atividade, mesmo que sejam sem reescrita; 25 / 26
39 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; Nunca utilize o famigerado SELECT * ; Tente executar essas migrações em momentos de menor atividade, mesmo que sejam sem reescrita; Execute scripts de migração parte a parte, algumas vezes um único script de migração pode levar dias; 25 / 26
40 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; Nunca utilize o famigerado SELECT * ; Tente executar essas migrações em momentos de menor atividade, mesmo que sejam sem reescrita; Execute scripts de migração parte a parte, algumas vezes um único script de migração pode levar dias; Automatize tudo que for possível, mas acompanhe a execução quando for em produção. 25 / 26
41 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; Nunca utilize o famigerado SELECT * ; Tente executar essas migrações em momentos de menor atividade, mesmo que sejam sem reescrita; Execute scripts de migração parte a parte, algumas vezes um único script de migração pode levar dias; Automatize tudo que for possível, mas acompanhe a execução quando for em produção. Teste / 26
42 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; Nunca utilize o famigerado SELECT * ; Tente executar essas migrações em momentos de menor atividade, mesmo que sejam sem reescrita; Execute scripts de migração parte a parte, algumas vezes um único script de migração pode levar dias; Automatize tudo que for possível, mas acompanhe a execução quando for em produção. Teste... Teste / 26
43 Zero Downtime Upgrades dicas Nunca se preocupe com a posição das colunas numa tabela, mapeia as posições lógicas no seu código/aplicação; Nunca utilize o famigerado SELECT * ; Tente executar essas migrações em momentos de menor atividade, mesmo que sejam sem reescrita; Execute scripts de migração parte a parte, algumas vezes um único script de migração pode levar dias; Automatize tudo que for possível, mas acompanhe a execução quando for em produção. Teste... Teste... TESTE / 26
44 Obrigado! Dúvidas? Matheus de Oliveira IRC irc.freenode.net: /join #postgresql,#postgresql-br,#dextra Meu nick: MatheusOl matheus LinkedIn: br.linkedin.com/in/matheusdeoliveira/ SlideShare: slideshare.net/matheus de oliveira
APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
Leia maisCriando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL
Leia maisLinguagem SQL Sub-linguagem DDL
Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas
Leia maisSQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix
Leia maisBanco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011
Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de
Leia maisStructured Query Language (SQL) Ambiente Simplificado de um SGBD
Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando
Leia maisBanco de Dados. Prof. Antonio
Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards
Leia maisMigrations for Java EVOLUINDO SEU BANCO DE MANEIRA INCREMENTAL
Migrations for Java EVOLUINDO SEU BANCO DE MANEIRA INCREMENTAL Rafael Ponte QCon SP 2013 EM 2005 EU SÓ QUERIA SABER DE FRAMEWORKS ANALISTA DE SISTEMAS NA EQUIPE I HIBERNATE I HIBERNATE persistence.xml
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisO que são Bancos de Dados?
SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados
Leia maisCRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre
Leia maisTreinamento PostgreSQL - Aula 10
Treinamento PostgreSQL - Aula 10 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 11 de Junho de 2013 Eduardo Ferreira dos Santos
Leia maisEXEMPLOS DE COMANDOS NO SQL SERVER
EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;
Leia maisFundamentos dos Sistemas de Informação Organização de Dados e Informações
Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação
Leia maisNo Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:
Instalando o MySQL O MySQL é um banco de dados extremamente versátil, usado para os mais diversos fins. Você pode acessar o banco de dados a partir de um script em PHP, através de um aplicativo desenvolvido
Leia maisBANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com
BANCO DE DADOS WEB AULA 4 linguagem SQL: subconjuntos DCL, DDL e DML professor Luciano Roberto Rocha www.lrocha.com O que é SQL? Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL,
Leia maisTreinamento. DBA Oracle 11g. Duração: 120 horas
Treinamento DBA Oracle 11g Duração: 120 horas Neste curso no primeiro módulo (Introdução ao Oracle 11g SQL e PL_SQL) é oferecido um curso introdutório à tecnologia do banco de dados Oracle 11g. Também
Leia maisComandos de Manipulação
SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL
Leia maisBases de Dados. Lab 1: Introdução ao ambiente
Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisFAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure
Leia maisIntrodução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Leia maisTransações Seguras em Bancos de Dados (MySQL)
Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o
Leia maisSQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec
SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos
Leia maisProgramação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar
Leia maisSQL - Criação de Tabelas
SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas
Leia maisFullCopyConvert Data
FullCopyConvert Data Prezados Senhores. Sobre FullCopyConvert Data É uma ferramenta especializada em conversão e migração de dados, oferece uma forma confortável e fácil de converter suas informações de
Leia maisModelo de Dados Relacional Restrições de um Banco de Dados Relacional
Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação
Leia maisBackup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?
Backup O backup tem dois objetivos principais: Permitir a recuperação de arquivos individuais é a base do típico pedido de recuperação de arquivo: Um usuário apaga acidentalmente um arquivo e pede que
Leia maisComandos DDL. id_modulo = id_m odulo
Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos
Leia maisOperação de União JOIN
Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisManual de Operação do Sistema de Tickets Support Suite
Manual de Operação do Sistema de Tickets Support Suite Sumário Acessando a página do HelpDesk helpdesk.virtuem.com.br... 3 Criando um Ticket... 6 Visualizando Tickets Existentes... 9 Respondendo um Ticket...
Leia maisINSTALANDO E CONFIGURANDO O MY SQL
INSTALANDO E CONFIGURANDO O MY SQL Este tutorial tem como objetivo mostrar como instalar o banco de dados My SQL em ambiente Windows e é destinado aqueles que ainda não tiveram um contato com a ferramenta.
Leia maisBanco de Dados Oracle 10g: Introdução à Linguagem SQL
Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,
Leia maisBanco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.
Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel
Leia maisDisciplina: Unidade V: Prof.: E-mail: Período:
Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução
Leia maisStructured Query Language (SQL)
SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Leia maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisProgramação SQL. Introdução
Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:
Leia maisStructured Query Language (SQL) Aula Prática
Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas
Leia maisBANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisManual AGENDA DE BACKUP
Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu
Leia maisProjeto de Banco de Dados: Empresa X
Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II
UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados
Leia mais1. Domínio dos Atributos
Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisBases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.
Departamento de Engenharia Informática 2008/2009 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia maisDisciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Leia maisNovell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR
Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,
Leia maisIntrodução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos
Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária
Leia maisTUTORIAL PRÁTICO SOBRE Git. Versão 1.1
TUTORIAL PRÁTICO SOBRE Git por Djalma Oliveira Versão 1.1 "Git é um sistema de controle de revisão distribuida, rápido e escalável" (tradução rápida do manual). Basicamente é
Leia maisTópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.
Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico
Leia maisTOTVS BA Guia de Customização Linha Logix
TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:
Leia mais10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE
Leia maisControle do Arquivo Técnico
Controle do Arquivo Técnico Os documentos existentes de forma física (papel) no escritório devem ser guardados em pastas (normalmente pastas suspensas) localizadas no Arquivo Técnico. Este Arquivo pode
Leia maisVersionamento de Código. Núcleo de Desenvolvimento de Software
Versionamento de Código Núcleo de Desenvolvimento de Software Por quê? Facilidades de utilizar um sistema de versionamento de código. Várias versões Quando se salva uma nova versão de um arquivo, a versão
Leia maisSQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL
Leia maisMULTIACERVO - VERSÃO 17.*
MULTIACERVO - VERSÃO 17.* MANUAL PARA CONVERSÃO DA VERSÃO 16.* PARA 17.* CONTEÚDO: A) Procedimentos comuns para todas as arquiteturas B) Procedimentos exclusivos arquitetura Cliente/Servidor MS-SQL-SERVER
Leia maisManual AGENDA DE BACKUP
Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu
Leia maisThunder Pro II Gold Edition Manual de operações v 8.7 Rev:b
Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b Este manual foi escrito exclusivamente para o chip Thunder Pro II Gold e será atualizado juntamente com as atualizações do chip, portanto acesse
Leia maisPlano de Gerenciamento do Projeto
Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações
Leia maisProdutos de Comunicação por vídeo da Talk Fusion,
Marketing na Internet as vezes pode parecer uma tarefa impossível. E-mail Marketing é relativamente simples e um canal incrivelmente eficaz, de acordo com a Associação de Marketing Direto. Para cada dólar
Leia maisGuia de Atualização TOTVS Segurança e Acesso 12.1
06/2015 Sumário 1 Prefácio... 3 1.2 Finalidade... 3 1.3 Público Alvo... 3 1.4 Organização deste Guia... 3 1.5 Documentações Importantes... 3 2 Atualização... 4 2.1 Executando o Updater de Atualização...
Leia maisSistemas de Banco de Dados
Sistemas de Banco de Dados Everson Santos Araujo everson@por.com.br Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de Banco
Leia maisBanco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.
Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação
Leia maisAULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas
ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos
Leia maisIntrodução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
Leia maisGPEC FORMA Formação & Aperfeiçoamento www.gpecforma.com.br PRO JURÍDICO XE WEB SOFTWARE WEB PARA ESCRITÓRIOS DE ADVOCACIA
GPEC FORMA Formação & Aperfeiçoamento www.gpecforma.com.br PRO JURÍDICO XE WEB SOFTWARE WEB PARA ESCRITÓRIOS DE ADVOCACIA PRO JURÍDICO XE WEB Todo escritório de advocacia, de pequeno a grande porte necessita
Leia maisLidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.
, ()! $ Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. Uma estratégia muito utilizada para organizar visualmente informações numéricas
Leia maisIntrodução Banco de Dados
Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em
Leia maisBANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010
BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language
Leia maisENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS
ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Uma estrutura para um projeto arquitetural de software pode ser elaborada usando camadas e partições. Uma camada é um subsistema que adiciona valor a subsistemas
Leia maisBANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição
Leia maisFACULDADE SENAC-RS PELOTAS RODRIGO ALMEIDA PEREIRA. Sistemas de Informação
FACULDADE SENAC-RS PELOTAS Analise e Desenvolvimento de Sistemas RODRIGO ALMEIDA PEREIRA Sistemas de Informação Pelotas/RS Maio de 2013 Sumário 1. Introdução 1 2. Um pouco de sua história 1 3. Requerimentos
Leia maisZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011
Manual Profissional BackOffice Mapa de Mesas v2011 1 1. Índice 2. Introdução... 2 3. Iniciar ZSRest Backoffice... 3 4. Confirmar desenho de mesas... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5. Desenhar
Leia maisAVISO. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.
AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma parte desta publicação pode ser reproduzida nem transmitida
Leia maisProf. Carlos Majer Aplicações Corporativas UNICID
Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença
Leia maisTreinamento PostgreSQL - Aula 03
Treinamento PostgreSQL - Aula 03 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 29 de Maio de 2013 Eduardo Ferreira dos Santos
Leia maisFormação em Banco de Dados
Formação em Banco de Dados Sobre a KTEC A KTEC Escola de Tecnologia oferece uma série de cursos, para os que procuram uma base sólida no aprendizado, com foco nas boas práticas que fazem a diferença no
Leia maisO primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações.
Integração de Controle de versão com Redmine. A integração do controle de versão pode permitir uma interatividade bem interessante entre os tickets e projetos do redmine com o controle de versão segue
Leia maisComo funcionam os comandos de SQL no Logic Basic Por Alan Oliveira
Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira www.linksinfo.com.br Tutorial versão 1.0 Sobre o Logic basic: Parte 1 Sobre o Logic Basic e o SQL O Logic Basic é uma linguagem de programação
Leia maisBANCO DE DADOS EVER SANTORO
BANCO DE DADOS EVER SANTORO EVER SANTORO DBA Oracle e desenvolvedor Java Processamento de dados MBA em Gestão Empresarial Mestrando em Engenharia da Produção DBA Oracle desde 2001 Sun Certified Associate
Leia maisAPRENDA AS MUDANÇAS DE FORMA FÁCIL
2014 APRENDA AS MUDANÇAS DE FORMA FÁCIL I S O esocial está causando arrepios, mas pouca gente já sabe exatamente o que é. Em poucas palavras, o esocial é um programa do governo federal que tenta consolidar
Leia maisData Transformation Services (DTS) por Anderson Ferreira Souza
Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo
Leia maisConhecendo o Visual FoxPro 8.0 Parte 1
AULA Conhecendo o Visual FoxPro 8.0 Parte 1 Em qualquer profissão é importante que se conheça bem as ferramentas que serão usadas para executar o trabalho proposto. No desenvolvimento de software não é
Leia maisMANUAL TISS Versão 3.02.00
MANUAL TISS Versão 3.02.00 1 INTRODUÇÃO Esse manual tem como objetivo oferecer todas as informações na nova ferramenta SAP que será utilizada pelo prestador Mediplan, a mesma será responsável para atender
Leia maiswww.nddigital.com.br Manual de Administração DPS Printer 2.1 NDDigital S/A - Software
www.nddigital.com.br Manual de Administração DPS Printer 2.1 NDDigital S/A - Software 2 Introdução Este manual foi elaborado para administradores, para entendimento do funcionamento do produto e administração
Leia mais4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
Leia mais02. O software ainda permite instalar a barra de ferramentas do Google como recurso extra. Faça a escolha desejada e continue a instalação.
Contra-ataque os spywares com o Spyware Doctor! Antigamente, a única preocupação dos usuários em termos de segurança era os vírus. Hoje existem tantas palavras relacionadas a softwares maliciosos que qualquer
Leia maisEm 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos.
VERSÃO 5 Outubro/2012 Release Notes Não deixe de atualizar o seu sistema Planejamos a entrega ao longo do exercício de 2012 com mais de 140 melhorias. Mais segurança, agilidade e facilidade de uso, atendendo
Leia maisManual do Módulo SAC
1 Manual do Módulo SAC Índice ÍNDICE 1 OBJETIVO 4 INICIO 4 SAC 7 ASSOCIADO 9 COBRANÇA 10 CUSTO MÉDICO 10 ATENDIMENTOS 11 GUIAS 12 CREDENCIADO 13 LIVRETO 14 BUSCA POR RECURSO 15 CORPO CLÍNICO 16 MENU ARQUIVO
Leia maisINTRODUÇÃO. Diferente de Bando de Dados
INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.
Leia mais4 passos para uma Gestão Financeira Eficiente
4 passos para uma Gestão Financeira Eficiente Saiba como melhorar a gestão financeira da sua empresa e manter o fluxo de caixa sob controle Ciclo Financeiro Introdução Uma boa gestão financeira é um dos
Leia mais