Anda di halaman 1dari 49

Banco de Dados com MySQL

Thiago Nelson Clique para editar o estilo do subttulo mestre


thiagonelson@gmail.com

1/7/13

APRESENTA BANCO DE DADOS O

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

Analista Judicirio do Tribunal de Justia do Maranho 1/7/13

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

Conjunto de dados integrados que visa a

um conjunto de aplicaes [Heuser, 2001]

Sistema de manuteno de registros por computador [Date, 1990] uma coleo de dados integrados [Navathe, 2002]
Sistema

(SGBD)

Gerenciador de Banco de Dados

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

Capacidade dos dados de um BD persistirem ao longo de diferentes execues de programas de aplicao

Definio e manipulao de dados

Funcionalidades fornecidas pelas linguagens do SGBD

Cpia, restaurao e recuperao de dados Segurana

backup, restore (restaurao), recovery (recuperao)

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

Controle de concorrncia de transaes


Transao uma seqncia atmica de operaes

Desempenho
Mecanismos de otimizao

1/7/13

APRESENTAO

BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Modelos

Lgicos de Banco de Dados

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

Exemplo: Oracle 8i e PostgreSQL

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

Anlise de Requisitos Projeto Conceitual

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

Projeto Lgico Projeto Fsico

BD

APRESENTAO

BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Anlise de Requisitos Projeto Conceitual

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

Projeto Lgico Projeto Fsico

BD

APRESENTAO

BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Anlise de Requisitos Projeto Conceitual

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

Projeto Lgico Projeto Fsico

BD

APRESENTAO

BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Usurios

do SBD: atores e papis

Administrador de Banco de Dados (DBA)


Responsvel pelos esquemas fsico e lgico do BD Gerencia o controle de acesso aos dados Monitora a performance do SBD

Analista/Programador de aplicao (analista de sistemas)


Define e projeta a informatizao da aplicao Projetista de Banco de Dados (DB Designer)

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

do Banco de Dados Hoje?

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

rea com melhor remunerao, em relao Analista de Sistema e Analista de Redes

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Comercializao

Gratuita
Verso Community

Assinatura anual (USD 2.000 a 10.000)


Standard Enterprise Cluster Suporte e Consultoria Ferramentas adicionais

1/7/13

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Fonte: Oracle.com

1/7/13

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Fonte: Oracle.com

1/7/13

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Fonte: Oracle.com

1/7/13

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Fonte: 1/7/13

Oracle.com

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Fonte: Oracle.com

1/7/13

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Fonte: 1/7/13 Oracle.com

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

IF e Case Loop, While e Repeat Dentre outros


1/7/13

Cursor

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Atribuio

de Valores

Para atribuio de valores s variveis, deve-se usar o comando SET ou INTO Ex.

Begin

Declare idade int; Declare nome varchar(50);

Set idade = 10;

select strnome into nome from tblcadastro where codigo = 1;


1/7/13

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

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.

Select DiaSemana (2007-01-01)

1/7/13

APRESENTAO BANCO DE DADOS

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

SET @increment = 10;

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

APRESENTAO BANCO DE DADOS

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

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Principais

Usos

Log de alterao de dados


O qu: Armazenar as alteraes feitas Quem: Quem fez as alteraes Quando: Quando as alteraes foram feitas

Verificao de dados Integridade Definio de valores padro

1/7/13

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Tabelas

de Triggers

Existem duas tabelas internas nas Triggers

NEW Existe nos eventos: Insert


Dados

do registro que esta sendo inserido

Update
Novos

dados do registro que esta sendo atualizado

OLD Existe nos eventos

1/7/13

APRESENTAO BANCO DE DADOS

MYSQL

RECURSOS

CONCLUSO

Segurana

SSL Hosts Permisses


Grupos Usurios Tabelas Execuo

1/7/13

APRESENTAO BANCO DE DADOS

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

Anda mungkin juga menyukai