Beruflich Dokumente
Kultur Dokumente
Em Banco de Dados
1
Aula 1:
História e conceitos
Básicos de SQL
2
História:
3
• O nome original da linguagem era SEQUEL, acrônimo
para “Structured
Structured English Query Language”
Language (Linguagem
de Consulta Estruturada em Inglês).
g g
• O SQL se diferencia de outras linguagens de consulta
a banco de dados no sentido em que a consulta SQL
especifíca a FORMA DO RESULTADO e não o caminho
para chegar a ela
ela.
• A ANSI (American National Standards Institute) definiu
um ppadrão do SQL
Q em 1986 e ISSO em 1987.
4
A linguagem SQL é dividida em diversas partes, as mais
comuns são:
5
DML: Data Manipulation
p Language,
g g , ou linguagem
g g de
manipulação de dados. Executa a manutenção do banco de
dados. Com esta ferramenta eficiente, você pode
especificar
ifi exatamente
t t o que deseja
d j ffazer com os ddados
d
contidos no seu banco de dados - inseri-los, alterá-los ou
extraí-los.
extraí los. Aqui é definido as pesquisas que serão feitas no
banco de dados baseado tanto na álgebra relacional quanto
no calculo relacional de tuplas (linha ou record).
(E
(Exemplos:
l iinsert,
t update,
d t select,
l t ttruncate,
t etc).
t )
6
DCL: Data Control Language.
Language Proteção contra várias
formas de danos a seu banco de dados. Usado
corretamente,, a DCL fornece segurança
g ç ao seu banco de
dados, o grau de proteção depende da implementação. Se
sua implementação não oferecer proteção suficiente,
adicione
di i esta
t proteção
t ã ao programa aplicativo.
li ti
(Exemplo: GRANT, REVOKE).
7
Constraint (Restrições):
As restrições são limites aplicados aos dados que uma
pessoa poded iinserir
i em uma ttabela
b l dde um bbanco d
de d
dados.
d
As Constraints principais são:
Oracle 10: create table teste1(cod number(3)not null constraint PK_cod primary key)
8
Constraint (Restrições):
Chave E
Ch Estrangeira
t i (Foreign
(F i kkey / FK):
FK) CColuna,
l ou grupo
de colunas, que estabelece o relacionamento com a chave
primária de outra tabela.
Exemplo:
9
Constraint (Restrições):
Default
D f lt :Serve
S para incluir
i l i um conteúdo
t úd padrão
d ã na ttabela
b l
todas as vezes que uma linha for incluída. Deve-se
especificar a palavra
palavra-chave
chave DEFAULT, seguida do
conteúdo-padrão.
Exemplo:
10
10
Constraint (Restrições):
NOT NULL:Indica
NULL I di que o conteúdo
t úd dda coluna
l não
ã pode
d ser
nulo.
Exemplo:
O l 10
Oracle 10: create
t table
t bl teste1(cod
t t 1( d number(3)not
b (3) t null
ll constraint
t i t PK_cod
PK d primary
i kkey))
11
11
Constraint (Restrições):
UNIQUE: Indica
UNIQUE I di que nãoã pode
d h haver repetição
ti ã ddo conteúdo
t úd
da coluna, o valor deve ser único, a princípio a única
diferença para uma FK é que ela permite NULL.
Exemplo:
12
12
Constraint (Restrições):
CHECK: Definição
CHECK D fi i ã d de d
domínio.
í i V
Vocêêddefine
fi quais
i são
ã os
valores possíveis para aquele campo, como "verdadeiro ou
falso" ou "F
falso F ou M",
M , etc.
Exemplo:
Oracle 10: alter table teste6 add sexo char(1) check (UPPER(SEXO)='M'or
UPPER(SEXO) = 'F')
13
13
Tipo de Dados:
TINYINT ( )
NUMBER(3)
DECIMAL(N,D) ou
DECIMAL(N,D) ou NUMERIC(N,D) NUMBER(N,D)
NUMERIC(N,D)
MONEY NUMBER(19,4)
SMALLMONEY NUMBER(10 4)
NUMBER(10,4)
14
14
Tipo de Dados:
Armazenamento de Chars de
CHAR(N) CHAR(N) CHAR(N)
tamanho fixo
Armazenamento de Chars de
VARCHAR(N) VARCHAR(N) VARCHAR2(N)
tamanho Variável
Armazenamento de longas
CLOB TEXT CLOB
cadeias de chars
Armazenamento de chars
Unicode de tamanho fixo CHAR(N) NCHAR(N) NCHAR(N)
(inferior a 254)
Armazenamento de chars
Unicode de tamanho variável VARCHAR(N) VARCHAR(N) VARCHAR2(N)
(inferior a 32.672)
Armazenamento de longas
NTEXT NCLOB
cadeias de chars Unicode
15
15
Tipo de Dados:
DATA e hora com
hora em três partes:
hora em três partes:
TIME SMALLDATETIME precisão de 1
hora, minuto e segundo
minuto
Momento:ano,mês,dia,
Momento com
TIMESTAMP hora,minuto,segundo e TIMESTAMP
precisão de 1ms
microsegundo
16
16
Utilizando DDL:
E
Exemplo:
l
Comando Nome da Nome da Tipo da Restrições
Criação Tabela Coluna Coluna
Oracle 10: create table teste1(cod number(3)not null constraint PK_cod primary key)
17
17
Utilizando DDL:
Oracle 10: create table teste1(cod number(3), Nome varchar2(50), cpf number(11))
Virgula
18
18
Utilizando DDL:
Oracle 10: alter table teste2 add cpf number(11)not null unique
19
19
Utilizando DDL:
Oracle 10: alter table teste2 modify cpf number(14)not null unique
20
20
Utilizando DDL:
21
21
Utilizando DDL:
E
Exemplo:
l
Comando Nome da
DROP Tabela
Comando Nome da
DROP Tabela
22
22
BIBLIOGRAFIA:
[SILBERSCHATZ,1999]
[SILBERSCHATZ 1999] SILBERSCHATZ,A.,
SILBERSCHATZ A KORTHKORTH,H.H F
F.,
SUDARSHAN,S.; Sistema de Banco de Dados, 3ª ed.,Editora
Makron Books, São Paulo, 1999. (Capítulo 4).
[DATE,
[DATE 2004] DATE,
DATE C.C J.;
J ; Introdução a Sistemas de Banco
de Dados, 8ª ed., Editora Campus, São Paulo 2004. (Capítulo 4).
23
23
BIBLIOGRAFIA:
BIBLIOGRAFIA
24
24
BIBLIOGRAFIA:
[OLIVEIRA,
[OLIVEIRA 2002] OLIVEIRA,
OLIVEIRA Celso Henrique,
Henrique SQL: Curso
Prático, Novatec, São Paulo 2002, Capítulo 4).
HTTP://www.wikipedia.org/wiki/Sql,
HTTP // iki di / iki/S l São
Sã P
Paulo
l FFevereiro
i 2009
25
25