Vous êtes sur la page 1sur 6

13/9/2010

SQL Completo
Criando um Banco de Dados

SQL ANSI, ISO e outros


SQL (Structured Query Language)
Linguagem declarativa, detalha a forma do resultado
Criado no incio dos anos 70, em laboratrios da IBM
Novos dialetos surgiram, derivando e evoluindo o SQL

Necessidade de padronizao
American National Standards Institute (ANSI) em 1986
International Organization for Standardization (ISO) em 1987
Revisto pela primeira vez em 1992 originando o padro SQL-92
Outras revises:
 SQL:1999 incorporou caractersticas de expresses regulares, queries
recursivas e triggers
 SQL:2003 incorporou caractersticas de XML, sequncias
Bancos de dados criam e evoluem suas prprias derivaes do SQL
Curso aborda SQL padro, com menes a outras derivaes

Tipos de dados
Boleano e Numricos
Name

MySQL

Postgre

SQL Server

Firebird

Intervalo (MySQL)

Bytes

BOOLEAN

TINYINT

SIM

TINYINT

ENUM

SMALLINT

0 ou 1 (FALSE ou TRUE)

1 bit

TINYINT

SIM

SMALLINT

SIM

NUMBER

Oracle

SMALLINT

SMALLINT

SIM

SIM

SIM

NUMBER

SIM

INT

SIM

SIM

SIM

NUMBER

SIM

BIGINT

SIM

SIM

SIM

NUMBER

INT64

FLOAT

SIM

REAL

SIM

FLOAT

SIM

DOUBLE

SIM

DOUBLE
PRECISION

DOUBLE
PRECISION

FLOAT

SIM

NUMERIC

SIM

SIM

DECIMAL

NUMBER

SIM

-128 127
0 255 se UNSIGNED
-32,768 32,767
0 65,535 se UNSIGNED
-2,147,483,648 2,147,483,647
0 4,294,967,295 se UNSIGNED
-9,223,372,036,854,775,808 +9,223,372,036,854,775,807
0 18,446,744,073,709,551,615 se UNSIGNED
-3.402823466E+38 -1.17544351E-38
1.175494351E-38 3.402823466E+38 se UNSIGNED
-1.7976931348623157E+308 -2.2250738585072014E-308,
2.2250738585072014E-308 1.7976931348623157E+308 se UNSIGNED
Mesmo intervalo de DOUBLE

1
2
4
8
4
8
X+2

13/9/2010

Tipos de dados
String
Name

MySQL

Postgre

SQL Server

Oracle

Firebird

CHAR

SIM

SIM

SIM

SIM

SIM

VARCHAR

SIM

SIM

SIM

SIM

SIM

Bytes
X+1

Date e hora
Name

MySQL

Postgre

SQL Server

DATE

SIM

SIM

SIM

TIME

SIM

SIM

SIM

TIMESTAMP TIMESTAMP "-838:59:59" "838:59:59" (horas, minutos, segundos)

Oracle

Firebird

Intervalo (MySQL)

SIM

TIMESTAMP

"1000-01-01" "9999-12-31" (ano, ms, dia)

DATETIME

SIM

TIMESTAMP

SIM

TIMESTAMP TIMESTAMP

TIMESTAMP

SIM

SIM

SIM

SIM

SIM

Bytes
3
3

"1000-01-01 00:00:00" - "9999-12-31 23:59:59"

19700101000000 2037+

Listas customizadas
Name

MySQL

Postgre

SQL Server

Oracle

Firebird

ENUM

SIM

SIM

NO TEM

SIM

NO TEM

Outros tipos de dados


BLOB
Permite o armazenamento de informaes binrias, arquivos e imagens

TEXT
Permite o armazenamento de grandes informaes de strings

Redes
Permite o armazenamento de endereos IP, MAC-ADDRESS e outros

Monetrios
Permite o armazenamento de valores monetrios com formatao

Geomtricos
Permite o armazenamento de informaes de formas geomtricas

Atributos
NULL / Not NULL
Permite ou no valores nulos

Unsigned / Signed
Permite ou no nmeros negativos

Auto-increment
Sequncias, contadores

Zerofill
Preenche o valor numrico completando com zeros a esquerda

13/9/2010

Boas prticas de armazenamento


Espao em disco
Quanto menor o tipo de dado, menos espao ele ocupar

Processamento e busca
Quanto menor o tipo de dado, mais rpido o processamento

Maus usos dos tipos de dados


Armazenar dados numricos em colunas string
Armazenar dados numricos em campos maiores que o necessrio
Criar campos de string maiores do que o necessrio

Bom usos dos tipos de dados


Escolher o menor tipo de dados possvel para armazenar suas informaes
Pergunta: Qual o menor e maior valor que o campo poder receber?

DDL (Data Definition Language)


Linguagem de Definio de Dados
CREATE: Cria uma estrutura
ALTER: Altera uma estrutura
DROP: Exclui uma estrutura

Manuais dos bancos de dados


Links dos manuais dos principais bancos de dados
esto disponveis na seo Links do site da Softblue

Criando um banco de dados


Como funciona
Servidor

Servidor

Bancos
Tabelas

RH

Pessoas

Estoque

Cargos

Produtos

13/9/2010

Criando um banco de dados


CREATE DATABASE Nome
Nomes sem espaos e sem caracteres especiais
Os conjuntos mais utilizados so Latin1 e UTF-8

ALTER DATABASE Nome Propriedade


DROP DATABASE Nome
Excluso definitiva e irreversvel

Criando uma tabela


Como funciona
Tabela

Campos

Atributos
Not Null

CPF
Pessoas
NOME

Primary
Key
Not Null

Criando uma tabela


CREATE TABLE Nome (Campos)
Sintaxe de descrio de campo:
TipoDeDado Nome Atributos

Atributos
Null, Zerofill, Unsigned, Auto-increment, Chave

ALTER TABLE Nome Propriedade


DROP TABLE Nome
Excluso definitiva e irreversvel

13/9/2010

Criando um ndice
O que so ndices
Como funciona
ndice CPF
CPF
111.111.111-11
222.222.222-22
Tabela PESSOAS

333.333.333-33

NOME

CPF

ESTADO

Mario

333.333.333-33

PR

Gustavo

111.111.111-11

SP

Fabio

222.222.222-22

RJ

ndice NOME
NOME
Fabio
Gustavo
Mario

Criando um ndice
CREATE INDEX Nome ON TabelaEColuna
ALTER INDEX Nome Propriedade
DROP INDEX Nome

Criando uma sequncia

O que so sequncias
CREATE SEQUENCE Nome
ALTER SEQUENCE Nome Propriedade
DROP SEQUENCE Nome
Excluso definitiva e irreversvel

13/9/2010

Aulas prticas e manuais on-line

Assista agora as aulas prticas, que


apresentam o uso dos comandos
abordados nesta aula terica.
Manuais dos principais bancos de
dados esto disponveis na seo
Links do curso de SQL.

Clique aqui para visualizar as aulas prticas disponveis

Vous aimerez peut-être aussi