Beruflich Dokumente
Kultur Dokumente
BIBLIOGRAFIA
1
Prof Sonia Reni
NDICE
BIBLIOGRAFIA........................................................................................................2
HISTRICO DA LINGUAGEM DE CONSULTA SQL......................................4
VISO GERAL DA LINGUAGEM SQL...................................................................4
CONCEITOS BSICOS............................................................................................ 5
ACESSO AO GERENCIADOR DE BANCO DE DADOS INTERBASE.......6
COMO FECHAR O AMBIENTE DE TRABALHO............................................8
CRIAO DO BANCO DE DADOS...................................................................9
REMOO DO BANCO DE DADOS..............................................................10
A CRIAO DE TABELAS NO INTERBASE.................................................10
CRIANDO TABELA COM CHAVE ESTRANGEIRA ( FOREIGN KEY)...............11
CRIANDO TABELA ASSOCIATIVA.......................................................................11
EX.: COM CHAVE ESTRANGEIRA.......................................................................12
EX.: COM TABELA ASSOCIATIVA........................................................................13
TIPOS DE DADOS.............................................................................................13
O TIPO NUMRICO............................................................................................... 13
O TIPO TEMPORAL............................................................................................... 15
O TIPO LITERAL................................................................................................... 15
CRIANDO A TABELA COM SQL....................................................................16
COMO EXCLUIR UMA TABELA.....................................................................17
INSERO DE REGISTROS............................................................................17
SINTAXE................................................................................................................. 17
LISTAGEM DE REGISTROS............................................................................18
FUNES AGREGADAS..................................................................................20
EXEMPLOS DAS FUNES AGREGADAS...................................................21
UTILIZANDO COUNT...............................................................................21
UTILIZANDO SUM....................................................................................22
UTILIZANDO AVG.....................................................................................22
ALTERAO DE REGISTROS........................................................................23
REMOO DE REGISTROS............................................................................24
MODIFICAO DA ESTRUTURA DE UMA TABELA..................................25
O USO DOS OPERADORES ARITMTICOS, RELACIONAIS E LGICOS
.............................................................................................................................27
OPERADORES ARITMTICOS.............................................................................27
OPERADORES RELACIONAIS............................................................................. 28
OPERADORES LGICOS...................................................................................... 28
2
Prof Sonia Reni
OPERADORES AUXILIARES................................................................................ 31
RELACIONAMENTO ENTRE TABELAS........................................................38
MLTIPLAS TABELAS.......................................................................................... 38
O BANCO DE DADOS IB EXPERT.................................................................41
REGISTRANDO O BANCO..............................................................................43
CRIANDO TABELAS........................................................................................44
CRIANDO CHAVES ESTRANGEIRAS EM TABELAS do IB EXPERT........47
FECHANDO O BANCO DE DADOS................................................................50
3
Prof Sonia Reni
4
Prof Sonia Reni
Chave Estrangeira Caracteriza-se por ser uma chave de uma tabela que possui
associao com a chave primria de uma outra tabela. Assim sendo, podem ocorrer
trs situaes de utilizao de chave estrangeira:
5
Prof Sonia Reni
6
Prof Sonia Reni
7
Prof Sonia Reni
Aps selecionar o boto Login da caixa de dilogo, perceba que o cone Local
Server muda sua aparncia, passando a possuir um sinal de tique em tom verde,
indicando assim a liberao do sistema.
8
Prof Sonia Reni
9
Prof Sonia Reni
10
Prof Sonia Reni
nome-do-campo tipo-do-campo,
primary key (nome-do-campo ),
nome-do-campo tipo-do-campo ,* que chave estrangeira *
Foreign Key (nome-do-campo) references (nome-tabela-da-chave-estrangeira)
(nome_do_campo));
EX.:
1
FUNCIONARIO
Matr_Func
Nome
Dept
Funo
Cod_Dep
12
Prof Sonia Reni
DEPENDENTES
Matr_Func
Nome
Sexo
Salario
Dt_Nasc
TURMA
13
Prof Sonia Reni
Matr_Prof
Cod_Turma
TIPOS DE DADOS
O TIPO NUMRICO
Pode ser utilizado no tratamento de valores numricos inteiros ou reais. Esto
disponveis os seguintes tipos:
14
Prof Sonia Reni
FLOAT Utiliza-se este tipo de dado quando houver a necessidade de fazer uso
de valores com ponto flutuante com sete dgitos de preciso decimais. Este tipo
permite trabalhar com valores na faixa de 3,4 * 10-38 at 3,4 * 1038 ;
O TIPO TEMPORAL
Pode ser utilizado no tratamento de valores relacionados a data e horrio.
Esto disponveis os seguintes tipos:
DATE Utiliza-se este tipo de dado quando houver a necessidade de fazer uso
de uma data de calendrio no formato AAAA-MM-DD (formato
ANSI).
O intervalo aceito depende da ferramenta de gerenciamento de banco de dados em uso.
TIME Utiliza-se este tipo de dado quando houver a necessidade de fazer uso
de uma informao relacionada a um determinado horrio.
15
Prof Sonia Reni
O TIPO LITERAL
O Tipo Literal pode ser para a recepo de valores baseados em cadeias de
caracteres(strings dados alfanumricos delimitados por aspas ou apstrofos). Esto
disponveis os seguintes tipos:
Com o Banco de dados criado e ativo, execute o Menu Tool comando Interactive
SQL, que apresentar a tela de acesso execuo dos comandos SQL como mostra
a figura abaixo.
16
Prof Sonia Reni
INSERO DE REGISTROS
A partir do momento em que uma tabela est criada, ela j pode receber a
entrada de dados.
17
Prof Sonia Reni
OBSERVAES IMPORTANTES:
LISTAGEM DE REGISTROS
18
Prof Sonia Reni
EX.:
SELECT * FROM CADFUN;
SELECT ADMISSAO,SEXO FROM DEPENDENTES;
19
Prof Sonia Reni
EX.:
SELECT * FROM CADFUN,DEPENDENTES;
EX.:
SELECT NOME_FUNCIONARIO,ADMISSAO FROM FUNCIONARIO
WHERE NOME_FUNCIONARIO = Vanete Dias;
GROUP BY determina o agrupamento de informaes para atender a
consulta.
EX.:
SELECT NOME_DEPENDENTE,CODIGO_FUNCIONARIO
FROM DEPENDENTE
GROUP BY NOME_DEPENDENTE,CODIGO_DEPENDENTE;
Nesta pesquisa se houver registro repetido, ou seja, igual no ser apresentado na
listagem.
ORDER BY Determina a forma de ordenao dos registros podendo
ser ASC ASCENDENTE e DESC DESCENDENTE.
EX.:
SELECT NOME_FUNCIONARIO FROM FUNCIONARIO ORDER BY
NOME_FUNCIONARIO ASC
20
Prof Sonia Reni
SELECT
CODIGO_FUNCIONARIO,
ADMISSAO
FUNCIONARIO ORDER BY CODIGO_FUNCIONARIO DESC;
FROM
FUNES AGREGADAS
COUNT - Retorna a quantidade de registros existentes no campo especificado. Quando
a opo * (asterisco) utilizada o resultado a quantidade de registros existentes.
Quando referenciado o nome de um campo retorna a quantidade de valores existentes
na coluna.
SUM Retorna a soma dos valores existentes no campo especificado. Quando a opo
DISTINCT utilizada so consideradas apenas os diferentes valores existentes no
campo.
AVG Retorna a mdia dos valores existentes no campo especificado. Quando a opo
DISTINCT utilizada so consideradas apenas os diferentes valores existentes no
campo
MAX Retorna o maior valor existente no campo especificado
MIN Retorna o menor valor existente no campo especificado
UTILIZANDO SUM
SELECT SUM(MATRFUNCIONARIO) FROM DEPENDENTES;
SELECT SUM(MATRFUNCIONARIO), SUM(CODDEP)
FROM DEPENDENTES;
SELECT SUM(salario) FROM cadfun
SELECT SUM(salario) FROM cadfun WHERE Dept = 5;
ALTERAO DE REGISTROS
No processo de manuteno de registros em bancos de dados necessrio
periodicamente atualizar ou inserir dados e informaes existentes.
Ento utilizaremos o comando UPDATE com a seguinte sintaxe:
UPDATE NOME-TABELA SET CAMPO = EXPRESSO CONDIO;
ONDE:
NOME-TABELA a indicao da tabela em que se deseja efetuar a atualizao dos
registros;
CAMPO a indicao de um campo da tabela;
EXPRESSO a indicao do valor do campo a ser atualizado;
CONDIO Caracteriza-se por ser um parmetro opcional que determina a condio
de ao da pesquisa baseada no argumento WHERE
EX.:
UPDATE FUNCIONARIO SET DEP = PROTOCOL WHERE DEP = INFO;
Aqui onde o Departamento INFO passar para PROTOCOL
23
Prof Sonia Reni
ADMISSAO
03/31/1980
WHERE
REMOO DE REGISTROS
Para remoo de registros utilizamos o comando DELETE, que possui a seguinte
sintaxe:
DELETE FROM NOME-DA-TABELA CONDIO;
ONDE:
TABELA a indicao da tabela que se deseja efetuar a remoo de registros;
CONDIO Caracteriza-se por ser um parmetro opcional que determina a condio
de ao da pesquisa baseada no argumento WHERE.
De todos os comandos existentes em SQL, este o mais delicado e perigoso,
pois se acionado de forma inadequada, pode ocasionar alguns bons prejuzos.
EX.:
24
Prof Sonia Reni
EM QUE:
Operao Caracteriza-se por ser um parmetro que pode receber um dos seguintes
valores:
EX.:
ALTER TABLE cadfun ADD admissao DATE;
Com este comando ser inserido o campo Admissao na tabela cadfun. O novo campo
conter o valor NULL (vazio).
Use o comando UPDATE para atualizar a tabela com as datas de admisso
EX.:
UPDATE cadfun SET admissao = ' 1999-10-21' WHERE matrfunc = 3
OPERADORES ARITMTICOS
Os operadores aritmticos so responsveis pela execuo de operaes matemticas
simples, que venham a efetuar adio, subtrao, multiplicao e diviso
Operador
+
*
/
Descrio
Efetua adio
Efetua subtrao
Efetua multiplicao
Efetua diviso
Descrio
Maior que
Menor que
Igual a
Diferente de
Maior ou igual a
27
Prof Sonia Reni
<=
Menor ou igual a
Exemplo:
SELECT * FROM cadfun WHERE dept = 5;
SELECT * FROM cadfun WHERE funcao = vendedor;
SELECT * FROM cadfun WHERE salario <= 1700;
OPERADORES LGICOS
Existem ocasies em que necessrio trabalhar com o relacionamento de duas
ou mais condies ao mesmo tempo, efetuando desta forma testes mltiplos. Para estes
casos necessrio trabalhar com a utilizao dos operadores lgicos, tambm
conhecidos como operadores booleanos. Um operador lgico pode ser:
Operador
Descrio
Operador de conjuno
Operador de disjuno
Operador de negao
AND
OR
NOT
Condio 1
Falsa
Verdadeira
Falsa
Verdadeira
Condio 2
Falso
Falsa
Verdadeira
Verdadeira
28
Prof Sonia Reni
Resultado
Falso
Falso
Falso
Verdadeiro
O operador AND faz com que somente seja executada uma determinada
operao se todas as condies mencionadas forem simultaneamente verdadeiras,
gerando assim um resultado lgico verdadeiro.
EX.:
SELECT * FROM cadfun WHERE (dept = 5) AND (funcao = vendedor);
Neste comando efetuado a apresentao dos dados de todos os funcionrios que
pertenam ao departamento 5 e que sejam vendedores.
O operador do tipo OR faz com que seja executada uma determinada operao
se pelo menos uma das condies mencionadas gerar um resultado lgico verdadeiro.
SELECT *
supervisor);
Condio
Verdadeira
Falso
Resultado
Falso
Verdadeira
O operador NOT faz com que seja executada uma determinada operao, invertendo o
resultado lgico da condio.
29
Prof Sonia Reni
EX.:
SELECT * FROM cadfun WHERE NOT (funcao = vendedor);
Aqui o comando efetua a apresentao dos dados de todos os funcionrios que na sua
funo no so vendedores (VENDEDOR)
OPERADORES AUXILIARES
DEFINIO DE INTERVALOS
A definio de intervalos de valores para a clusula WHERE em uma condio pode ser
obtida com BETWEEN, que possui a seguinte sintaxe:
<expresso> [NOT] BETWEEN <valor mnimo> AND <valor mximo>
Sendo:
EX.:
SELECT * FROM cadfun WHERE salario BETWEEN 1700 AND 2000
30
Prof Sonia Reni
Caso a expresso analisada esteja dentro (IN) da sequencia de valores indicada, ser
possvel executar a ao estabelecida antes da clusula WHERE.
EX.:
SELECT * FROM cadfun WHERE funcao IN (VENDEDOR, VENDEDORA);
O exemplo acima efetua a apresentao dos dados de todos os funcionrios que ocupem
a funo de vendedor ou vendedora
31
Prof Sonia Reni
VERIFICAO DE CARACTERES
Para verificar sequencias de caracteres dentro de um determinado campo do tipo string
(CHAR ou VARCHAR), pode-se utilizar junto a clusula WHERE uma condio
baseada no uso do operador LIKE que possui a seguinte sintaxe:
<expresso> [NOT] LIKE <valor>
Em que:
Caso a expresso analisada coincida com o valor indicado aps o operador LIKE, a ao
estabelecida antes da clusula WHERE ser executada
EX.:
SELECT * FROM cadfun WHERE nome LIKE A%;
O exemplo acima efetua a apresentao da listagem dos dados de todos os funcionrios
cujo nome comece com a letra A.
Note no exemplo o uso do caracter % (porcentagem) que representa um conjunto de
caracteres que ser desconsiderado na sequencia avaliada.
32
Prof Sonia Reni
Em que:
EX.:
SELECT * FROM cadfun WHERE nome IS NULL;
No exemplo acima apresenta a listagem dos dados de todos os registros que tiverem o
campo Nome gravado em branco, sem nenhum contedo.
33
Prof Sonia Reni
Caso no exista nenhum registro que atenda a este critrio, no ser apresentado nenhum
registro.
EXERCICIO DE FIXAO - 2
1)Crie um Banco de Dados com o nome Empresa e dentro dele crie a tabela contrec
(contas a receber). Com a seguinte estrutura:
Contrec
Campo
Nome
Numero
Tipo
Char(40)
Integer
Descrio
Char(25)
Valor
Vencimento
Decimal(10,2)
Date
Banco
Char(10)
Descrio
Nome do cliente
Nmero do cliente (no
nulo)
Descrio do item de
compra
Valor da duplicata
Data de vencimento da
duplicata
Banco em que est a carteira
de cobrana
2)Aps montar a estrutura acima, insira a entrada dos registros. Para isto crie 10(dez)
registros.
3) Com base nos registros criados, execute as seguintes aes:
1 ) Listar Nome, vencimento e valor de cada cliente da tabela
2) Apresentar o nmero das duplicatas depositadas no Banco Bradesco
3) Efetuar a alterao dos vencimentos das duplicatas do ano de 2000 para o ano de
2002
4) Apresentar uma listagem em ordem de data de vencimento com o nome do cliente,
Banco e valor
5) Apresentar uma listagem em ordem alfabtica por nome do cliente de todos os campos
da tabela
34
Prof Sonia Reni
plano
EXERCICIO DE FIXAO - 3
Uma Empresa fornecedora de planos de sade, a empresa Longa Vida possui
nove planos, sendo divididos em trs categorias: Bsico, Executivo e Master.
Com base no exposto acima, devem ser criadas em um banco de dados
denominado sade duas tabelas: uma denominada plano e outra denominada associado.
1
plano
Num_plano
descricao
associado
valor
Matr_associado
Num_plano
Nome
Endereco
cidade
35
Prof Sonia Reni
Tabela:Plano
Campo
Numero
Descrio
Valor
Tipo
Char(2)
Char(30)
Decimal(10,2)
Descrio
Numero do plano PK
Descrio do plano
Valor da mensalidade
Tabela:Associado
Campo
Numero
Matr_Associado
Tipo
Char(2)
Integer
Nome
Endereo
Cidade
Char(40)
Char(35)
Char(20)
Descrio
Nmero do plano(no nulo) FK
Matricula do associado (no nulo)
PK
Nome do associado
Endereo do Associado
Cidade onde mora o associado
Aps montar a estrutura das tabelas, dever ser efetuada a entrada dos registros.
Indicados em seguida para a Tabela Plano, para a tabela Associado inclua tambm 9
(nove) registros.
Tabela Plano
Numero: B1
Descrio: Basico 1
Valor: 200,00
Numero: B2
Descrio: Basico 2
Valor: 150,00
Numero: B3
Descrio: Basico 3
Valor: 100,00
Numero: E1
36
Prof Sonia Reni
Descrio: Executivo 1
Valor: 350,00
Numero: E2
Descrio: Executivo 2
Valor: 300,00
Numero: E3
Descrio: Executivo 3
Valor: 250,00
Numero: M1
Descrio: Master 1
Valor: 500,00
Numero: M2
Descrio: Master 2
Valor: 450,00
Numero: M3
Descrio: Master 3
Valor: 400,00
37
Prof Sonia Reni
Imagine a necessidade de obter uma listagem das duplicatas (tabela venda) existentes
em cobrana e o nome (tabela cliente) dos clientes que esto com essas duplicatas:
SELECT venda.duplic, cliente.nome
FROM cliente, venda
WHERE cliente.codigo = venda.codigo
ORDER BY cliente.nome;
Exemplo com informaes agrupadas:
SELECT cliente.nome, COUNT(*)
FROM cliente, venda
WHERE cliente.codigo = venda.codigo
GROUP BY cliente.nome
Exemplo 2 :
SELECT funcionario.matrfuncion, funcionario.nome, dependentes.nomedep
FROM funcionario, dependentes
WHERE funcionario.matr.funcion = dependentes.matr.funcion;
40
Prof Sonia Reni
EXERCICIO DE FIXAO - 5
De acordo com DER abaixo:
Professor
Cd_prof
turma
leciona
nome
cd_prof
serie
cd_turma
disciplina
cd_turma
sala
horario
41
Prof Sonia Reni
Onde:
Database name Escolha a pasta e o nome do banco;
User name Digite SYSDBA(maisculo);
Password Digite masterkey (minusculo)
Database SQL Dialect
Dialect 1 Compatvel com verses antigas do Interbase
Dialect 3 Usa todos os recursos de verses Interbase
Register After Creating Ativo registra o Banco na sua criao
Clicar OK para registrar o Banco.
REGISTRANDO O BANCO
42
Prof Sonia Reni
Database File Clicar na pasta direita para procurar pelo banco e abri-lo;
Database Alias Dar um nome ao Banco;
User Name SYSDBA
Password masterkey
Font Characters Set Ansi_charset
Always capitalize database names Ativo todo o banco ser criado com letras
Maisculas.
CRIANDO TABELAS
Siga o procedimento a seguir:
43
Prof Sonia Reni
Onde:
OBSERVAES IMPORTANTES:
45
Prof Sonia Reni
46
Prof Sonia Reni
Foreign key Name: D um nome para a tabela que contm a chave estrangeira.
Ex.: FK_ALUNOS1;
Fields for Foreign key Contm todos os campos da tabela;
Included Fields Insira neste campo o primeiro campo FK;
Foreign Table Selecione a tabela que pertence o campo selecionado acima;
Available Fields Campos que pertencem a tabela Foreign key;
Included Fields Insira novamente o mesmo campo FK
47
Prof Sonia Reni
OBSERVAES IMPORTANTES:
Se a tabela contiver mais de uma FK, o processo de criao uma a uma por
vez, dando nomes diferentes ao campo Foreign key name, Ex.:
FK_ALUNOS2, FK_ALUNOS3, FK_ALUNOS4, sucessivamente.
48
Prof Sonia Reni