php e mysql · pdf filesgbd mysql sistema e gerenciamento de banco de dados. possui 10...

31
MySql Introdução a MySQL Andréa Garcia Trindade

Upload: vothuan

Post on 14-Mar-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

MySql

Introdução a MySQL

Andréa Garcia Trindade

Introdução

O que é Banco de Dados

SGBD MYSQL

Tipos de Tabelas

Tipos de Dados

Linguagem SQL

Comandos SQL

O que é um Banco de Dados?

Conjuntos de dados

Grupo de dados que são utilizados para o

mesmo fim

Banco de dados <> de SGBD, porém é utilizado

como sinônimo

SGBG Software para Gerenciamento de

Banco de dados

SGBD MYSQL

Sistema e Gerenciamento de Banco de Dados.

Possui 10 milhões de instalações atualmente.

Ficou muito popular com a união com o PHP.

Banco de Dados Relacional

Por que usar o MySQL?

Banco open source mais popular do mundo.

Consistência

Alta Performance

Confiabilidade

Fácil de ser usado

Conjunto de funções.

Segurança.

MySQL - Características

Gratuito

Código Aberto

Escrito em C e C++

Suporta mais de 20 plataformas diferentes:

Win32, Linux, FreeBSD, Unix, etc.

.Diversidade de APIs

MySQL - Características

Rapidez

Baixa exigência de processamento.

Mais de 50 milhões de registros

Mais de 60.000 tabelas e aproximadamente

5.000.000.000 linhas

São permitidos mais de 64 indexações por

tabela

Tipos de Tabelas

MyISAM

InnoDB

Merge

Memory (HEAP)

Federated

Tabela MyISAM

Melhor Desempenho para aplicações com baixa

concorrência sobre os dados. (Leitura ou

Escrita)

Ótimo desempenho quando é predominante a

leitura

Não provê controle de transações e nem

integridade referencial

Tabela InnoDB

Incluída a partir da versão 4.0 do MySQL.

Usada para aplicações que possuam controle de

Transações.

Suporte de Integridade Referencial

Facilidade de implementação dos níveis de isolamento

Alto desempenho com grandes volumes de dados e um

número elevado de concorrência entre leitura e escrita;

Implementa o lock de registro o que fornece um melhor

gerenciamento da concorrência

Tabela MERGE

Conhecida como MRG_MyISAM.

São coleções de tabelas MyISAM idênticas

Permite a divisão de uma tabela Grande em

varias partes menores.

Tabela MEMORY (HEAP)

Tabela Temporária

Usadas para consultas com muita freqüência e que não sofrem muitas alterações.

Aumenta a performance e a velocidade de Consulta

Conteúdo volátil, pois não são gravados no disco

Não suporta colunas do tipo BLOB/TEXT;

Tabelas FEDERATED

Versão do Mysql 5.0.3

Acesso remoto melhor do que acesso local.

Disponíveis apenas nas Versões Max do

MySQL

Não há suporte para transação

Não Suporta comandos DDL

A tabela FEDERATED não trabalha com cache

query

Tipos de Dados

Domínio Descrição

char(n) conjunto de n caracteres de tamanho definido

varchar(n) conjunto de n caracteres de tamanho variável

Int Inteiro

SmallInt Inteiro

numeric(p, d) real com precisão definida

real real com precisão dupla

float(n) real com precisão de pelo menos n dígitos

date data com 4 dígitos para ano e 2 dígitos para mês e

dia

Time hora do dia em horas, minutos e segundos

Auto incremento Inteiro . Usado como contador

Restrições de Integridades

primary key (Aj1, Aj2, ..., Ajm)

unique key (A1)

foreign key (A) references T

not null

Null

check (P)

Usando PHPMyADMIN

Criar Banco de Dados

Criar tabela:• Numero de Campos

– Criar campos

• Nome,Tipo,Tamanho,Definir Chave Primaria,Definir Índices

• Define o Tipo da Tabela

• Para terminar clicar em Salvar

Usando MySQL FRONT

Inserindo Dados no Banco

– Clicar sobre o a base de dados curso

• Escolha a tabela que você deseja inserir dados

• Clique na opção Data Browser

• Digite os dados nos campos que deseja inserir

• Aperte F5 para atualizar os dados inseridos na Base.

Exercicio

Crie um banco de dados com o nome ‘curso’.

Crie uma tabela com o nome ‘clientes’.

Crie 3 campos para a Tabela clientes , definindo o tipo da tabela, o tipo de dado e tamanho de cada campo, chave primaria, índice. – Campos a serem Criados

• cli_codigo, cli_nome, cli_telefone.

Inserir 10 linhas de registros na base de dados usando o MySQL Front.

Linguagem SQL,

Linguagem de manipulação dos banco de

dados. Que se divide em Três Categorias:

1 – DDL (Linguagem de Definição dos Dados)

2 – DML (Linguagem de Manipulação de Dados)

3 – DCL (Linguagem de Controle de Dados)

Comandos SQL

Comandos Usado para Tipo

select Consultar dados DML

insert, update, delete Incluir, alterar e remover dados DML

commit, rollback Controlar transações DML

create, alter, drop Definir, alterar e remover

esquemas

DDL

Comando CREATE

create table r (A1D1, A2D2, ...., AnDn,

<restrição de integridade1>,

<restrição de integridadek>)• A: nome do atributo

• D: domínio

Exemplo:• create table cliente

(nome char(20) not null, endereço char(30),

cidadechar(30), primary key (nome))

Comando ALTER

Adicionar uma nova coluna

alter table cliente add RG char(10)

Alterar o tipo de uma coluna

alter table cliente modify RG char(20)

Remover uma coluna

alter table cliente drop column RG

Comando DROP

Elimina opção selecionada

Exemplo:• drop table clientes

Comando de INSERT

Permite a inclusão de novas linhas na tabela

INSERT INTO tabela [ ( coluna [, ...] ) ] { DEFAULT

VALUES | VALUES ( expressão [, ...] ) | SELECT

consulta }

INSERT INTO alunos VALUES (001, 'João');

INSERT INTO alunos (id, nome) VALUES (002,

'Maria');

Comando DELETE

Exclui linhas de dados.

DELETE FROM [ ONLY ] tabela [ WHERE condição ]

Exemplos:• DELETE FROM alunos; (Todas as linhas)

• DELETE FROM matricula WHERE disciplina = ‘Estatistica’(linha que satisfazer o where 1 ou mais).

Comando UPDATE

Muda os valores das colunas especificadas em todas as

linhas que satisfazem a condição

UPDATE [ ONLY ] tabela SET coluna = expressão [, ...] [

FROM lista_de ] [ WHERE condição ]

Exemplos:• UPDATE matricula SET disciplina = ‘Estatistica I’

WHERE disciplina = ‘Estatistica’;• UPDATE matricula SET nota = nota + 1.5

WHERE aluno = 001 AND disciplina = ‘Banco de Dados’;

Comando SELECT

Comando de Consulta.

Retorna linhas de uma ou mais tabelas

Exemplo:select [distinct] {*, coluna [alias],

expressões [alias], funções [alias], ...}

from {tabelas [alias],}

[where condição]

[group by colunas]

[having condição]

[order by colunas [asc | desc]

Opções de Consultas

Opções Descrição

distinct

Indica que as linhas duplicadas devem ser eliminadas do resultado

*

Indica que todas as colunas de todas as tabelas da cláusula from devem ser

incluídas no resultado

coluna

Coluna de uma tabela listada na cláusula from que deve ser incluída no

resultado

expressões

Expressões aritméticas envolvendo uma ou mais colunas das tabelas

listadas na cláusula from

funções

Funções definidas em SQL como, por exemplo, funções de agregação, que

calculam estatísticas sobre colunas (avg, min, max, count, etc)

Opções de Consultas

Opções Descrição

aliasNome alternativo para uma coluna, expressão ou tabela

tabelasUma ou mais tabelas envolvidas na consulta

condição

(where)

Especifica um condição à qual as linhas das tabelas da

cláusula from devem satisfazer para gerar uma linha do

resultado

group by colunasIndica que o resultado deve ser agrupado pelas colunas

especificadas

condição

(having)

Limita os grupos a serem mostrados àqueles

satisfazendo a condição

order byOrdenação do resultado, podendo ser crescente (asc) ou

decrescente(desc)

joinSeleciona dados de duas ou mais tabelas gerando uma

consulta completa

Links

Tutoriais: www.illasaron.com

Curso PHP: www.w3schools.com

Indicações de Livros: www.webskill.eti.br

Obrigado

Gabriel Rambaldi Gonçalves Vidal Magalhães

e-mail/msn: [email protected]

José Geraldo Bustamante de Lima

e-mail/msn: [email protected]

Ciência da Computação

Universidade Vale do Rio Verde - UNINCOR

05 de Outubro de 2007