Escolar Documentos
Profissional Documentos
Cultura Documentos
1/7/13
MYSQL
RECURSOS
CONCLUSO
Thiago Nelson
thiagonelson@gmail.com
Formao
Graduao em Cincias da Computao Especializao em Anlise e Projeto de Sistemas Especializao em Redes de Computadores MBA em Gerenciamento de Projetos
Atividades
Banco de Dados
1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Banco
de Dados
atender
Sistema de manuteno de registros por computador [Date, 1990] uma coleo de dados integrados [Navathe, 2002]
Sistema
(SGBD)
o software responsvel pelo gerenciamento (armazenamento e recuperao) dos dados no Banco de Dados 1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Funcionalidades
de um SGBD
Persistncia
Prov mecanismos de acesso para consulta ou atualizao dos dados. A segurana pode ser a nvel de coleo de dados, atributos ou valores 1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Funcionalidades
de um SGBD
Integridade
Mecanismos que garantam a consistncia dos dados. Gerenciar as restries de integridade
Desempenho
Mecanismos de otimizao
1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Modelos
Modelo de rede
uma coleo de registros conectados uns aos outros por meio de links (ponteiros)
Modelo Hierrquico
Baseado na estrutura de rvore
Modelo Relacional
Introduzido por Codd em 1970. A estrutura de dados uma relao
Modelo OO
Exemplo: O2 e Jasmine
Modelo Objeto-Relacional
1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Projeto
de um Banco de Dados
Anlise de Requisitos Projeto Conceitual Projeto Lgico Projeto Fsico
BD
1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Projeto
Conceitual
Descrio de mais alto nvel da estrutura do BD No contm detalhes de implementao Independente do tipo de SGBD usado Construo de modelos 1/7/13 semnticos
BD
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Projeto
Descrio da estrutura do BD que pode ser processada pelo SGBD Modelo conceitual mapeado para um modelo lgico de dados Dependente da classe de modelos de dados utilizada pelo SGBD, mas NO do SGBD especfico escolhido para a implementao
1/7/13
Lgico
BD
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Projeto
Fsico
Mapeamento do modelo lgico em um esquema fsico de acordo com o SGBD especfico Descrio da implementao da base de dados Descreve as estruturas de armazenamento e os mtodos de acesso Exemplos: alocao dinmica de espaos, clusterizao,1/7/13
BD
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Usurios
Identifica os requisitos da aplicao e com o auxlio do usurio, cria o modelo conceitual do BD Junto com o DBA, estende e modifica o modelo lgico 1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Importncia
Informao crucial para as Empresas Maioria dos Softwares utilizam um BD A maioria dos Servios de Rede utilizam banco de dados Computao nas Nuvens Internet
Mercado
de Trabalho
1/7/13
APRESENTAO
BANCO DE DADOS
MYSQL
RECURSOS
CONCLUSO
Exemplos
de SGBDs
Oracle; Microsoft SQL Server; PostgreSQL; MySQL; DB2; IBM Informix; Adabas; Etc.
1/7/13
1/7/13
MYSQL
RECURSOS
CONCLUSO
Caractersticas
Banco de Dados Relacional Open Source Rpido, Verstil e fcil de utilizar Cliente / Servidor e Sistemas Distribudos. Grande quantidade de aplicativos e add-on disponveis Multiplataforma 12 milhes de produtos instalados (oracle.com) 65,000 downloads por dia (oracle.com)
1/7/13
MYSQL
RECURSOS
CONCLUSO
Verses
4.x
Ainda muito utilizada Rpida e estvel Limitada com relao recursos
5.x
Verso atualmente comercializada Rpida e estvel Contempla principais recursos de Banco de Dados
7.x
Verso Cluster
1/7/13
MYSQL
RECURSOS
CONCLUSO
Comercializao
Gratuita
Verso Community
1/7/13
MYSQL
RECURSOS
CONCLUSO
Ferramentas
phpMyAdmin MySQL Workbench MySQL Administrator SqlYog MySQLFront MySQL Monitor* MySQL Query Analyzer* MySQL Replication Monitor* MySQL Enterprize Backup* Dentre outras
1/7/13
MYSQL
RECURSOS
CONCLUSO
Fonte: Oracle.com
1/7/13
MYSQL
RECURSOS
CONCLUSO
Fonte: Oracle.com
1/7/13
MYSQL
RECURSOS
CONCLUSO
Fonte: Oracle.com
1/7/13
MYSQL
RECURSOS
CONCLUSO
Principais
Recursos
Alta compatibilidade com linguagens como PHP, Java, Python, C#, Ruby e C/C++; Baixa exigncia de processamento (em comparao como outros SGBD); Vrios sistemas de armazenamento de dados (database engine), como MyISAM, MySQL Cluster, CSV, Merge, InnoDB, entre outros; Recursos como transactions (transaes), conectividade segura, indexao de campos de 1/7/13
MYSQL
RECURSOS
CONCLUSO
Principais
Recursos
Stored procedures; Sub-selects; Suporte total ao Unicode; INFORMATION_SCHEMA (para armazenamento do dicionrio de dados); Server side cursors; Suporte a SSL; Melhoria no tratamento de erros; Particionamento; Replicao
1/7/13
MYSQL
RECURSOS
CONCLUSO
Fonte: 1/7/13
Oracle.com
MYSQL
RECURSOS
CONCLUSO
Tipos
de Tabelas
MyISAM
tipo de tabela padro do MySQL 4.x e muitas distribuies da 5.x As tabelas MyISAM so armazenadas em 3 arquivos: .FRM que armazena a definio da tabela, o arquivo .MYD que contm os dados e o .MYI contendo os ndices. Estas tabelas so de grande desempenho para leitura, uma vez que os seus ndices so armazenados em rvores binrias balanceadas, o que prov um ganho para o acesso s informaes. MyISAM no prov controle de transaes (commit ou rollback) e tambm no possuem integridade referencial, isto , ao incluir uma chave estrangeira 1/7/13 com alguns constraints
MYSQL
RECURSOS
CONCLUSO
Tipos
de Tabelas
HEAP
Tabelas HEAP so armazenadas em memria e por isto so extramente rpidas, por outro lado o seu contedo voltil, uma vez que no so gravadas em disco.
1/7/13
MYSQL
RECURSOS
CONCLUSO
Tipos
de Tabelas
MERGE
As tabelas MERGE so colees de tabelas MyISAM idnticas. Este recurso permite a diviso de uma tabela grande em vrias partes menores, e ainda assim permite acesso ao contedo de todas elas como se fossem uma nica tabela.
1/7/13
MYSQL
RECURSOS
CONCLUSO
Tipos
de Tabelas
BDB
O tipo de tabela BDB vem de BerkeleyDB, e desenvolvido pela Sleepycat (http://www.sleepycat.com). O BDB prov ao MySQL um manipulador de tabelas com controle de transao, isto , voc poder utilizar os comandos COMMIT e ROLLBACK, alm de fornecer a recuperao automtica de dados em caso de queda do sistema.
1/7/13
MYSQL
RECURSOS
CONCLUSO
Tipos
de Tabelas
InnoDB
O InnoDB um tipo de tabela transacional, desenvolvido pela InnoDBase Oy. Funes, Stored Procedures e Triggers Integridade referencial, com implementao dos constraints SET NULL, SET DEFAULT, RESTRICT e CASCADE; Ferramenta de backup on-line (ferramenta comercial, no GPL); Lock de registro, como Oracle, DB2, etc; Nveis de isolamento; Armazenamentos de dados em tablespace.
1/7/13
MYSQL
RECURSOS
CONCLUSO
Fonte: Oracle.com
1/7/13
MYSQL
RECURSOS
CONCLUSO
MYSQL
RECURSOS
CONCLUSO
Principais
Tipos de Dados
BOOL, BOOLEAN INT : 0 to 4.294.967.295 BIGINT: 0 to 18.446.744.073.709.551.615 FLOAT[(M,D)]: -3.402823466E+38 3.402823466E+38 Date Datetime Time CHAR[(M)] VARCHAR(M) BLOB[(M)] TEXT
1/7/13
MYSQL
RECURSOS
CONCLUSO
Transaes
Criao de uma transao com a possibilidade de desfazer as alteraes realizadas e ou efetiv-las em determinado momento.
1/7/13
MYSQL
RECURSOS
CONCLUSO
Transaes
SET AUTOCOMMIT=0;
Desativar a transao automtica.
START TRANSACTION;
Inicia a transao Ponto de restaurao, caso haja falha.
COMMIT;
Efetiva a transao.
ROLLBACK
Desfaz todas as alteraes feitas desde o incio do START TRANSACTION
1/7/13
MYSQL
RECURSOS
CONCLUSO
Desenvolvimento
no Banco de Dados
Vantagens
Independente da Interface Menor trfego na rede Facilita a manuteno do Software Menor tempo de execuo
Recursos
Variveis Atribuio de Valores Comandos
Cursor
MYSQL
RECURSOS
CONCLUSO
Atribuio
de Valores
Para atribuio de valores s variveis, deve-se usar o comando SET ou INTO Ex.
Begin
MYSQL
RECURSOS
CONCLUSO
Cursor
Cursor um encapsulamento de uma consulta que permite navegar entre os registros e utilizar os seus valores. Podem ser criados em
Procedures Funes Triggers
Propriedades
Somente leitura Podem ir somente em uma direo e no podem pular registros
1/7/13
MYSQL
RECURSOS
CONCLUSO
Recursos
Declarao
DECLARE cursor_name CURSOR FOR select_statement
Abrir
OPEN cursor_name
Navegar
FETCH cursor_name INTO var_name [, var_name] ...
Fechar
CLOSE cursor_name
1/7/13
MYSQL
RECURSOS
CONCLUSO
Funes
Funes so programas escritos em SQL que sero executados a partir de um comando SQL e que iro retornar um resultado Ex.
1/7/13
MYSQL
RECURSOS
CONCLUSO
Stored
Procedure
So programas que podem ser executados de qualquer lugar e sempre sero rodados no servidor do banco de dados. Quando utilizar
Rotinas de atualizao Verificao de dados Insero Select Rotinas que possuem muito acesso a dados Entre outros
Ex.
1/7/13
CREATE PROCEDURE curdemo() BEGIN DECLARE done INT DEFAULT 0; DECLARE a CHAR(16); DECLARE b,c INT; DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1; DECLARE cur2 CURSOR FOR SELECT i FROM test.t2; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; OPEN cur1;
1/7/13
MYSQL
RECURSOS
CONCLUSO
Triggers
Triggers so rotinas que so executadas automaticamente quando alguns eventos acontecem na tabela. Eventos
Insero Atualizao Remoo
Momento
Antes dos eventos Depois dos eventos
1/7/13
MYSQL
RECURSOS
CONCLUSO
Principais
Usos
1/7/13
MYSQL
RECURSOS
CONCLUSO
Tabelas
de Triggers
Update
Novos
1/7/13
MYSQL
RECURSOS
CONCLUSO
Segurana
1/7/13
MYSQL
RECURSOS
CONCLUSO
Concluses
Banco de Dados verstil Instalao simples Seguro Rpido Requer poucos requisitos de hardware Possui todos os principais recursos que os demais bancos possuem Vrias ferramentas adicionais Recomenda-se investir em Conhecimento e Treinamento
1/7/13
MUITO OBRIGADO !
thiagonelson@gmail.co
1/7/13
49