Sie sind auf Seite 1von 48

FUNDAO EDUCACIONAL DE VOLTA REDONDA

FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Apostila confeccionada por: Snia Reni Prof FAETEC

BIBLIOGRAFIA

Estudo Dirigido SQL Jos Augusto N.G.Manzano


Interbase 6 Guia do Desenvolvedor Ivan Mecenas

1
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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 MAX E MIN........................................................................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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

HISTRICO DA LINGUAGEM DE CONSULTA SQL


SQL (Strutured Query Language Linguagem Estruturada de Consulta) a
formao de seu nome caracteriza sua finalidade. No uma linguagem especificamente
criada para desenvolver sistemas, como so as linguagens de programao:
PASCAL,C,DELPHI, entre outras. to somente uma linguagem utilizada para facilitar
o acesso de informaes (por meio de consultas, atualizaes e manipulaes de dados)
armazenadas em bancos de dados do tipo relacional
VISO GERAL DA LINGUAGEM SQL
A linguagem de consulta estruturada SQL composta por dois grupos de
instrues utilizadas no processo de administrao e controle de bancos de dados, sendo:
DDL (Data Definition Language Linguagem de Definio de Dados) e DML (Data
Manipulation Language Linguagem de Manipulao de Dados), descritos em
seguida:

As instrues do tipo DDL( Data Definition Language) permitem efetuar a


criao das estruturas de tabelas, ndices e bancos de dados como um todo.
Permitem tambm efetuar alteraes nas estruturas criadas, bem como remover
estruturas existentes, Neste grupo esto as instrues: CREATE TABLE, DROP
TABLE, ALTER TABLE, CREATE INDEX e DROP INDEX.

As instrues do tipo DML( Data Manipulation Language) permitem efetuar a


manipulao dos dados que estejam armazenados nas tabelas de um determinado
banco de dados. Desta forma possvel cadastrar, alterar e excluir registros
existentes. Neste grupo encontram-se as instrues: INSERT, SELECT, UPDATE
e DELETE.

De todos os comandos existentes , o comando SELECT o mais importante e


utilizado, pois com ele que se obtm a extrao de listas de informao.

4
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Os comandos do tipo DML possuem uma grande variedade de aplicao. Para


que isto ocorra, eles operam com um grande conjunto de clusulas (FROM, WHERE,
GROUP BY, HAVING e ORDER BY) predefinidas que permitem efetuar a aplicao
de condies que alteram a forma de funcionamento.
SQL uma linguagem de Quarta gerao muito poderosa, porque com poucas
instrues possvel fazer acessos informao de bancos de dados. Ao passo que, se
esses acessos forem feitos com uma linguagem de terceira gerao, como C e PASCAL
ou mesmo linguagens de macrocomandos como CLIPPER, obrigariam a escrever
muitas vezes algumas pginas de programas.
Devido a esta caracterstica operacional, a linguagem de consulta estruturada
SQL ganhou grande espao, e utilizada atualmente como linguagem padro de acesso a
bases de dados dos variados distribuidores de software para esta rea.
CONCEITOS BSICOS

Banco de Dados est associado ao conjunto de tabelas (ou arquivos, dependendo


do banco de dados em uso) existente para a administrao de um determinado evento
do mundo real .

SGBD ( Sistema de Gerenciamento de Banco de Dados) est relacionado ao


software (ferramenta) que possibilita a facilidade de gerenciar as funes de edio,
consulta, controle e remoo de registros ou tabelas de um banco de dados

Chave Primria Seu conceito est associado ao campo ou conjunto de campos de


uma tabela que possuir um nico valor, que no ser repetido para nenhum outro
registro. Como exemplo desta situao podem-se considerar os nmeros de
CPF,CNPJ,RG ou qualquer cdigo de controle utilizado.

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Relacionamento Um para Um A chave estrangeira pode ser criada em


qualquer uma das tabelas;

Relacionamento Um para Muitos A chave estrangeira pode ser criada apenas


na tabela do lado muitos;

Relacionamento Muitos para Muitos - A chave estrangeira deve ser criada


numa terceira tabela que faa o relacionamento entre as outras duas tabelas.

Integridade Referencial - um mecanismo utilizado que evita a quebra de ligao


entre os relacionamentos estabelecidos entre tabelas.

ACESSO AO GERENCIADOR DE BANCO DE DADOS INTERBASE


O acesso ao Interbase ocorre com a utilizao do programa Interbase Console
(Ibconsole) que uma ferramenta de interface grfica que facilita a administrao de
Banco de dados neste ambiente.
Com ele possvel efetuar:

Criao e manuteno de bancos de dados;

Testes de comunicao entre o cliente e o servidor;

Execuo de instrues SQL.

Para iniciar a interface grfica Interbase Console, necessrio executar os


comandos Iniciar/programas/Interbase/IBConsole, que ser apresentada a tela
principal do programa, como mostra a figura abaixo.

6
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Aps o acesso tela principal necessrio ter acesso ao modo de


administrao do Gerenciador de banco de dados. Isto feito com a identificao do
nome e senha do usurio ativo.
Para entrar, selecione no lado esquerdo da tela o cone Local Server (ou talvez
esteja Remote Server) situado abaixo do cone Interbase Server com um duplo-clique.
Ao ser apresentada a caixa de dilogo Server Login, informe o nome de acesso
no campo User Name (SYSDBA( maisculo)) e a senha ( masterkey (minsculo) no
campo Password, como mostra a figura abaixo:

7
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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.

COMO FECHAR O AMBIENTE DE TRABALHO


Para Fechar e Sair do ambiente de trabalho, o ideal primeiro fechar o servidor
do banco de dados com o comando Server/ Logout
Para ento executar o comando Console / Exit

8
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

CRIAO DO BANCO DE DADOS


Na criao de um Banco de Dados o Interbase cria um banco de dados na
forma de um nico arquivo, o qual conter todos os elementos de formao do banco de
dados agregados.
Para criar um banco de dados no Interbase proceda da seguinte maneira:

Menu Database comando CREATE DATABASE

Ex.: CREATE DATABASE Nome_Banco


Em que a indicao nome deve ser substituda pelo nome do banco de dados a ser
criado.

Aparecer a caixa de dilogo Create Database;

Fornea para o campo alias o apelido de referncia ao arquivo de trabalho


Ex.: teste

Para o campo filename(s) fornea o local e o nome do arquivo


Ex.: c:\meus documentos\teste

Aps preencher os dados na caixa de dilogo, clique em OK

O banco de dados teste foi criado na forma de um arquivo dentro do diretrio


(pasta) meus documentos. Para trabalhar com o banco de dados, necessrio
mant-lo selecionado.

9
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Algumas das propriedades para um Banco Interbase so:


PAGE SIZE O valor default (padro) para essa propriedade 1024 bytes (1K),
podendo ser: 2048,4096 ou 8192. Esta propriedade define o tamanho das pginas de
dados(blocos) que sero utilizadas fetchs(I/O Operaes de leitura e escrita em
disco). relativamente importante ajustar esta propriedade para um fator adequado
banda da rede, assim como coerentemente com o tamanho de cluster do sistema de
arquivos do Hard-Disk do equipamento sob o qual o arquivo residir, , pois este
um dos fatores de performance para o Interbase.
DEFAULT CHARACTER SET Esta propriedade, que no Interbase tem tambm
alcance de tabelas e at mesmo de colunas, define qual o conjunto de caracteres
(character set) suportado em dados do tipo CHAR,VARCHAR e BLOB, e tambm
qual o collation order (tabela que define a ordem de classificao dos caracteres de
um determinado character set)
O character set default, tanto para um banco de dados, tabelas e colunas de tabelas,
no Interbase NONE, o que faz com que o Interbase armazene um dado string,
exatamente como voc o est entregando.
SQL DIALECT
O Dialeto 1 (Dialect 1) garante compatibilidade com bases de dados criadas
com verses anteriores.
O Dialeto 2 (Dialect 2) apenas um modo de diagnstico e provavelmente
voc no precisar utiliza-lo.
O Dialeto 3 (Dialect 3) permite acesso total s novas caractersticas do
banco.

10
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

REMOO DO BANCO DE DADOS


A remoo de banco de dados em SQL faz-se normalmente com a utilizao do
comando DROP DATABASE, seguido do nome do banco de dados. No caso do
programa Interbase est ao conseguida com a utilizao dos comandos :
Selecione o Banco de dados que ser excludo;
No Menu Database/ comando Drop Database;
Em seguida solicitada a confirmao da excluso com a caixa de mensagem
Confirm;
A partir deste momento, o banco de dados foi removido do diretrio .

A CRIAO DE TABELAS NO INTERBASE


As tabelas so os componentes mais importantes para a efetivao do trabalho
de manuteno dos bancos de dados, pois nas tabelas so inseridos os registros.
A criao de tabelas em SQL se faz com a utilizao do comando CREATE
TABLE, seguido do nome da tabela, bem como de outros parmetros para a
determinao de sua estrutura.
A sintaxe padro pode ser:

CREATE TABLE Nome da-Tabela


( nome-do-campo tipo-do-campo NULL/NOT NULL,
nome-do-campo tipo-do-campo,
nome-do-campo tipo-do-campo,
primary key (nome-do-campo que chave primria));
CRIANDO TABELA COM CHAVE ESTRANGEIRA ( FOREIGN KEY)
CREATE TABLE Nome-da-tabela
( nome-do-campo tipo-do-campo NULL/NOT NULL,
nome-do-campo tipo-do-campo,
11
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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));

CRIANDO TABELA ASSOCIATIVA


CREATE TABLE Nome_da_tabela (
Nome_do_campo tipo_do_campo NULL/NOT NULL,
Nome_do_campo tipo_do_campo (FK),
Nome_do_campo tipo_do_campo (FK),
Primary Key (Nome_do_campo, nome_do_campo),
Foreign Key (Nome_do_campo) references nome_da_tabela FK(nome_do_campo FK),
Foreign Key (nome_do_campo) references nome_da_tabela FK (nome_do_campo FK));
Sendo:

Nome_da_tabela a definio do nome da tabela a ser criada;


Nome_do_campo o nome do campo a ser definido;
Tipo_do_campo indica o tipo do campo;
NULL ou NOT NULL a definio do campo em aceitar ou no valores nulos;
PRIMARY KEY determina que o campo a chave primria da tabela;
FOREIGN KEY determina que o campo a chave estrangeira;
Nome_tabela_da_chave_estrangeira determina a tabela Foreign Key

EX.:
1

FUNCIONARIO

Matr_Func

Nome

Dept

Funo

Cod_Dep

12
Prof Sonia Reni

DEPENDENTES

Matr_Func

Nome

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Sexo
Salario
Dt_Nasc

CREATE TABLE CadFun (


MatrFunc
INTEGER NOT NULL PRIMARY KEY,
Nome
CHAR(40) NOT NULL,
Dept
CHAR(2),
Funcao
CHAR(20),
Salario
DECIMAL(10,2));
EX.: COM CHAVE ESTRANGEIRA
CREATE TABLE DepFun(
CodDep INTEGER NOT NULL,
Nome
CHAR(40),
Sexo
CHAR(8),
DataNasc DATE,
MatrFunc
INTEGER NOT NULL, * Campo-chave-estrangeira*
PRIMARY KEY (CodDep),
FOREIGN KEY (CodFun) references CadFun(CodFun));

EX.: COM TABELA ASSOCIATIVA


LECIONA
PROFESSOR

TURMA

13
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Matr_Prof

Cod_Turma

CREATE TABLE Leciona(


Matrprof
INTEGER NOT NULL,
CodTurma INTEGER NOT NULL,
PRIMARY KEY (CodTurma,MatrProf),
FOREIGN KEY (CodTurma) REFERENCES Turma(CodTurma),
FOREIGN KEY (Matrprof) REFERENCES Professor(Matrprof));

TIPOS DE DADOS
O TIPO NUMRICO
Pode ser utilizado no tratamento de valores numricos inteiros ou reais. Esto
disponveis os seguintes tipos:

SMALLINT [(tamanho)] Utiliza-se este tipo de dado quando houver a


necessidade de fazer uso de valores inteiros curtos entre a faixa de valores de
32.768 at 32.767. O parmetro tamanho opcional e permite estabelecer o tamanho
mximo do valor a ser exibido, podendo ser um valor mximo 255;

INTEGER [(tamanho)] Utiliza-se este tipo de dado quando houver a


necessidade de fazer uso de valores inteiros longos entre a faixa de valores de
2.147.483.648 at 2.147.483.647. O parmetro tamanho opcional e permite
estabelecer o tamanho mximo do valor a ser exibido, podendo ser um valor mximo
255;

14
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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 ;

DECIMAL[(tamanho[,decimal])] Utiliza-se este tipo de dado quando houver a


necessidade de fazer uso de valores com ponto flutuante. O parmetro tamanho
opcional e permite estabelecer o tamanho mximo do valor a ser exibido, podendo
ser um valor mximo 255. Se omitido, o tamanho assumido 10. O parmetro
opcional decimal permite estabelecer o tamanho mximo de casas decimais a ser
exibido, podendo, ser um valor mximo de 30;

NUMERIC[(tamanho[,decimal])] Utiliza-se este tipo de dado quando houver a


necessidade de fazer uso de valores com ponto flutuante, sendo semelhante ao tipo
DECIMAL;

DOUBLE PRECISION[(tamanho.decimal)] Utiliza-se este tipo de dado


quando houver a necessidade de fazer uso de valores com ponto de dupla preciso.
O parmetro tamanho deve estar entre 25 e 53 para estabelecer o tamanho mximo.
O parmetro opcional decima permite estabelecer o tamanho mximo de casas
decimais a ser exibido, podendo ser um valor mximo de 30.

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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:

CHAR(tamanho) Utiliza-se este tipo de dado quando houver a necessidade de


fazer uso de seqncias de caracteres de tamanho fixo que estejam limitadas at 255
caracteres de comprimento. O parmetro tamanho determina o valor mximo em
caracteres que pode conter a seqncia;

VARCHAR(tamanho) Utiliza-se este tipo de dado quando houver a


necessidade de fazer uso de seqncias de caracteres de tamanho varivel que
estejam limitadas at 255 caracteres de comprimento. A diferena entre este tipo e o
CHAR que neste caso, os espaos em branco excedentes do lado direito da
seqncia de caracteres no utilizados so automaticamente desprezados. O
parmetro tamanho determina o valor mximo em caracteres que pode conter a
seqncia .

CRIANDO A TABELA COM SQL


Para que a tabela seja devidamente criada no seu gerenciador de banco de
dados, necessrio seguir a sua forma padro de acesso:

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Depois da criao de tabela Execute no Menu Query o comando Execute ou


na Barra de Ferramentas padro clique em Execute Query

COMO EXCLUIR UMA TABELA


Uma tabela pode ser apagada utilizando o comando DROP TABLE
SINTAXE:
DROP TABLE NOME DA TABELA;
DROP TABLE TESTE;

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Para isto usamos o seguinte comando:


SINTAXE
INSERT INTO tabela (campo,campo,....,campo) VALUES
(valor,valor,....,valor);
INSERT INTO cadfun (CodFun,Nome,Dept,funcao,Salario)
VALUES
(15, MARCOS HENRIQUE,2,GERENTE,1985,75);

O comando de insero de registros bem trabalhoso, pois s deve-se inserir um


aps o outro executando o comando Execute Query;

Os valores do tipo CHAR ficam definidos entre apstrofos;

A entrada de dados baseada em caracteres deve ser efetuada com caracteres em


maisculo e sem acentuao, pois se algum acento for utilizado, pode criar
problemas no momento de uma pesquisa com uma palavra idntica que no possua
acento.

OBSERVAES IMPORTANTES:

NOT NULL Os atributos que os contm, devero apresentar um valor


qualquer em determinado instante. Ou seja, as colunas nunca podero estar
vazias.

A chave primria Sempre deve ser definida como NOT NULL, ou


Interbase rejeitar a instruo com uma mensagem de erro.

LISTAGEM DE REGISTROS
18
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Para extrair listagens de registros de uma tabela necessrio utilizar o comando


SELECT com alguns parmetros.A sintaxe deste comando baseia-se na seguinte
estrutura bsica:
SELECT TIPO CAMPOS FROM TABELA CONDIO;
ONDE:

TIPO - Parmetro opcional que possibilita determinar o tipo de registro a ser


selecionado, que pode ser:
DISTINCT Suprime as linhas duplicadas
ALL - visualizamos todos os registros

EX. COM ALL


SELECT * FROM DEPENDENTES;
Todos os registros sero visualizados
EX.: COM DISTINCT
SELECT DISTINCT SEXO FROM DEPENDENTES;
Se houver registros repetidos no sero visualizados.
OBS.:
O comando DISTINCT suprime apenas linhas duplicadas e no valores
duplicados.

CAMPOS a lista de campos a serem selecionados podendo ser utilizado o


valor * (asterisco) representando todos os campos da tabela.

EX.:
SELECT * FROM CADFUN;
SELECT ADMISSAO,SEXO FROM DEPENDENTES;
19
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

TABELA a indicao da tabela ou tabelas de onde se deseja efetuar a


visualizao dos registros.

EX.:
SELECT * FROM CADFUN,DEPENDENTES;

CONDIO Caracteriza-se por ser um parmetro opcional que determina a


condio de ao de pesquisa, sendo aceito os valores:
WHERE Determina o critrio de seleo dos registros nas tabelas
especificadas.

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

SELECT
CODIGO_FUNCIONARIO,
ADMISSAO
FUNCIONARIO ORDER BY CODIGO_FUNCIONARIO DESC;

FROM

SELECT CODIGO_FUNCIONARIO,DEPT FROM FUNCIONARIO


WHERE DEPT = INFO ORDER BY CODIGO_FUNCIONARIO

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

EXEMPLOS DAS FUNES AGREGADAS


UTILIZANDO COUNT
SELECT COUNT (*) MATR FUNCIONARIO
FROM DEPENDENTES;
21
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

SELECT COUNT(MATRFUNCIONARIO), COUNT(CODDEP)


FROM DEPENDENTES;
SELECT COUNT(*) FROM cadfun WHERE Dept = 3;
SELECT COUNT(DISTINCT Dept) FROM cadfun

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;

UTILIZANDO MAX E MIN


SELECT MIN(MATRFUNCIONARIO), MAX(MATRFUNCIONARIO)
FROM DEPENDENTES;
SELECT MAX(salario) FROM cadfun
SELECT MIN(salario) FROM cadfun
UTILIZANDO AVG
SELECT AVG(CODDEP)
FROM DEPENDENTES;
22
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

SELECT AVG(MATRFUNCIONARIO), AVG(CODEDEP)


FROM DEPENDENTES;
SELECT AVG(salario) FROM cadfun WHERE Dept 3;

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

UPDATE FUNCIONARIO SET NOME_FUNCIONARIO = FRANCISCO


JUNIOR WHERE NOME_FUNCIONARIO JUNIOR
Aqui mudaremos o Nome funcionrio Jnior para Francisco Jnior
UPDATE FUNCIONARIO SET
CODIGO_FUNCIONARIO = 001;

ADMISSAO

03/31/1980

WHERE

Aqui mudaremos a data de admisso do funcionrio 001


UPDATE CADFUN SET ADMISSAO = 03/12/2002 WHERE CODFUN = 3;
Inserir a data de admisso onde o Cdigo do funcionrio = 3

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

DELETE FROM FUNCIONARIO;


Aqui ocorrer a remoo de todos os registros da tabela funcionrio.
DELETE FROM FUNCIONARIO WHERE MATR_FUNCIONARIO = 2
Todos os funcionrios que possurem a matricula 2 sero removidos

MODIFICAO DA ESTRUTURA DE UMA TABELA


A Estrutura de uma tabela algo que pode ser modificado com o tempo, devido
a alguma necessidade especfica. Existe uma grande possibilidade de precisar incluir um
determinado campo, retir-lo ou at mesmo modificar a sua estrutura.
Para isto usaremos ento o seguinte comando:
ALTER TABLE <tabela> <operao>;

EM QUE:

Tabela a indicao da tabela em que se deseja efetuar a alterao de registros;

Operao Caracteriza-se por ser um parmetro que pode receber um dos seguintes
valores:

ADD <campo> <tipo> - Utiliza-se este valor quando da necessidade


de insero de um novo campo em uma determinada tabela. O
parmetro campo representa o nome do novo campo e tipo a sua
estrutura (INTEGER, DECIMAL, CHAR, VARCHAR, etc);
25
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

DROP <campo> - Utiliza-se este valor quando da necessidade de


remover um campo de uma determinada tabela. O parmetro campo
representa o nome do campo a ser retirado da tabela.

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

ALTER TABLE turma DROP horario ;


Aqui ser excludo o campo horario na tabela turma
EXERCICIOS DE FIXAO - 1
1 - Qual comando utilizado para efetuar a criao de tabelas em SQL?
2 - Quais so os parmetros utilizados na criao de uma determinada tabela?
3 - Qual a finalidade de definir um tipo de dados para um campo de uma tabela?
4 - Defina os tipos de dados: numricos, temporais e literais
5 Qual o comando usado para efetuar entrada de dados em uma tabela? Exemplifique
6 Qual o comando utilizado para obter listagens dos registros cadastrados?
Exemplifique
7 Qual a finalidade das clusulas WHRERE, ORDER BY e DESC?
8 Qual comando utilizado para fazer atualizaes em registros que estejam gravados
na tabela?
9 Qual comando utiliza-se para remover registros de uma tabela?
10 como se faz para alterar a estrutura de uma tabela existente?

O USO DOS OPERADORES ARITMTICOS, RELACIONAIS E


LGICOS
26
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

Pode-se utilizar o comando SELECT para selecionar registros em que a


condio est sendo fornecida com um clculo.
Por exemplo, apresentar os registros dos funcionrios que ganham acima de
1.700,00 (valor do salrio) mais uma comisso de 50,00 (totalizando 1.750,00). Desta
forma poderia ser executado o comando:
SELECT nome, salario FROM cadfun WHERE salario > 1700 + 50;
Os clculos podem ter sua prioridade matemtica alterada com a utilizao de
parnteses.
OPERADORES RELACIONAIS
Os operadores relacionais so utilizados em condies em que h necessidade
de efetuar comparao entre dois valores. Um operador relacional pode ser um dos
seguintes tipos:
Operador
>
<
=
<>
>=

Descrio
Maior que
Menor que
Igual a
Diferente de
Maior ou igual a
27
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

<=

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

O operador do tipo AND utilizado quando dois ou mais relacionamentos lgicos de


uma determinada condio necessitam ser verdadeiros. Em seguida apresentada a
tabela-verdade para este tipo de operador:

Condio 1
Falsa
Verdadeira
Falsa
Verdadeira

Condio 2
Falso
Falsa
Verdadeira
Verdadeira
28
Prof Sonia Reni

Resultado
Falso
Falso
Falso
Verdadeiro

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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);

FROM cadfun WHERE (funcao = supervisora) OR (funcao =

Aqui neste comando ele efetua a apresentao dos dados de todos os


funcionrios que tenham a funo supervisora ou a funo de supervisor.
O operador NOT utilizado quando se necessita estabelecer que uma
determinada condio deve no ser verdadeira ou deve no ser falsa. O operador NOT
se caracteriza por inverter o estado lgico de uma condio. Em seguida apresentada a
tabela-verdade para este tipo de operador:

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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:

Expresso pode ser a definio de um campo, valor numrico, sequencia de


caracteres, sendo que este parmetro serve para definir a efetivao da comparao;

Valor mnimo a definio do menor valor da faixa de intervalo;

Valor mximo a definio do maior valor da faixa de intervalo.

O operador BETWEEN ... AND efetua a definio de uma condio baseada na


expresso: <valor mnimo> <= <expresso> AND <expresso> <= <valor mximo>.

EX.:
SELECT * FROM cadfun WHERE salario BETWEEN 1700 AND 2000
30
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Neste exemplo efetuado a apresentao dos dados de todos os funcionrios que


recebem salrios entre 1700 e 2000
VERIFICAO DE EXISTNCIA
Algumas vezes no possvel definir um intervalo sequencial de valores. Nestes casos,
junto clusula WHERE em uma condio, utiliza-se o operador IN que possui a
seguinte sintaxe:
<expresso> [NOT] IN <valor1, valor2,valorN,....>
Em que:

Expresso pode ser a definio de um campo, valor numrico, sequencia de


caracteres, sendo que este parmetro serve para definir a efetivao da comparao;

Valor1,valor2,valorN, so as definies do grupo de valores em que a expresso


ser verificada.

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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:

Expresso pode ser a definio de um campo, valor numrico, sequencia de


caracteres, sendo que este parmetro serve para definir a efetivao da comparao;

Valor a definio do que ser pesquisado;

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

SELECT * FROM cadfun WHERE nome LIKE _A%;


No exemplo acima efetuamos a apresentao da listagem dos dados de todos os
funcionrios que possuam como Segunda letra de seus nomes a letra A. O caracter _
(underline) , representa um nico caracter na sequencia avaliada.
SELECT * FROM cadfun WHERE Nome LIKE %AN%;
No exemplo acima ser apresentado a listagem dos dados de todos os funcionrios que
possuam a sequencia de caracteres AN em qualquer posio de seu nome;
SE VAZIO
Uma ocorrncia bastante til verificar a existncia de campos que possuam valores em
branco ou no. Nestes casos, utiliza-se junto a clusula WHERE em uma condio o
operador IS NULL que possui a seguinte sintaxe:
<expresso> IS [NOT] NULL

Em que:

Expresso pode ser a definio de um campo, valor numrico, sequencia de


caracteres, sendo que este parmetro serve para definir a efetivao da
comparao.

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

Estrutura proposta para a tabela plano

35
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

RELACIONAMENTO ENTRE TABELAS


MLTIPLAS TABELAS
Uma das grandes caractersticas de um sistema de banco de dados relacional a
capacidade de interagir com mltiplas tabelas, como se elas fossem apenas uma.
Para determinar o relacionamento entre tabelas, necessrio ter no mnimo duas
tabelas que possuam entre si algum campo em comum.
A obteno desta informao existente em tabelas relacionadas conseguida
com o comando SELECT, que utiliza a seguinte sintaxe:
SELECT <tabela1.campo>, <tabela2.campo>, <...>
FROM <tabela1>, <tabela2>
WHERE tabela1.campo PK = tabela2.campo FK;
Onde:
tabela1.campo Ser o campo da primeira tabela a ser apresentado na extrao das
informaes;
tabela2.campo Ser o campo da segunda tabela a ser apresentado na extrao das
informaes;
O campo da segunda tabela ser diferente do campo da primeira tabela e devem estar
indicados na ordem em que se deseja v-los na extrao.
tabela1 Ser a indicao da primeira tabela a ser pesquisada;
tabela2 Ser a indicao da segunda tabela a ser pesquisada;
A ordem de definio das tabelas no influencia na extrao das informaes.
tabela.campo PK Ser a tabela que contm o campo com chave primaria;
tabela.campo FK ser a tabela que contm o campo que a chave estrangeira, que
chave primria na tabela1
Ex.:
38
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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;

SELECT funcionario.nomefuncion, COUNT(*)


FROM funcionario , dependentes
WHERE funcionario.matrfuncion = dependentes.matrfuncion
GROUP BY funcionario.nomefuncion;
EXERCICIO DE FIXAO - 4
De acordo com o banco de dados sade e com os registros j inseridos. Responda as
seguintes questes abaixo:
1) Quais os campos das tabelas associado e plano devem ser utilizados para efetuar o
relacionamento entre as tabelas?
39
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

2) Quantos associados possuem o plano B1?


3) Apresente uma listagem com todos os nomes, planos e valores que eles possuem
4) Listar o nome e o valor de todos os associados que possuem os planos B1, E1 e M1
5) Quais so os associados que possuem plano dos tipos BASICO e MASTER
6) A empresa fechou seu escritrio da cidade de SANTO ANDR e transferiu os
clientes para um terceirizado. Remova da tabela associado todos os registros existentes
de associados da cidade de SANTO ANDR
7) Apresentar uma relao de todos os associados que no possuem o plano MASTER

40
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

1) Crie as tabelas professor, leciona e turma


2) Insira os registros nas tabelas
3) Responda as questes abaixo:
a) Listar todos os professores da turma 001
b) Listar as disciplinas da turma 004
c) Listar os nomes de todos os professores em ordem alfabtica
d) Listar todas as turmas da srie 8
e) listar o nome dos professores que possuem turma

O BANCO DE DADOS IB EXPERT

41
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Para que o banco seja devidamente criado no seu gerenciador de banco de


dados, necessrio seguir a sua forma padro de acesso:

Ative o Menu Database comando Create database , que apresentar a tela de


acesso criao do banco como mostra a figura abaixo.

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Clique duplo no nome do Banco para ativa-lo;

Ative o Menu Database e clique no comando New Table; aparecer a seguinte


janela

Onde:

Ative a guia FIELDS

New table name Digite o nome da tabela;

OBSERVAES IMPORTANTES:

O nome da tabela dever ser em letras maisculas;


Nome composto no pode conter espaos. Ex.: Turma Manh errado
Turma_Manh correto
44
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Nomes de tabelas sempre no plural . Ex.: ALUNOS, DEPENDENTES,


FUNCIONRIOS;
Nome de campos tambm no pode conter espaos

PK Neste campo digitaremos o campo que Chave primria da tabela, ou chave


concatenada . Adicione o campo chave com um clique duplo, ou a Barra de espao;
Field name Digite o nome do campo;
Field Type Selecione o tipo de campo para o campo;
Domain Fica em branco, pois, no criamos ainda o domnio;
Length Comprimento do campo, ou seja, o tamanho do campo.
Depois do ltimo campo criado para a tabela, clique no comando compile para a
compilao da tabela,

45
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Se a tabela no contiver erros, clique no comando Commit para salva-la, se contiver


erros clique Rollback para voltar tabela.

CRIANDO CHAVES ESTRANGEIRAS EM TABELAS do IB EXPERT


Siga o procedimento abaixo:

No campo PK no marcado quando se trata de Chave Estrangeira e chave


secundria;
Criamos o campo normalmente e ativamos a opo NOT NULL
Ative a guia Constraints;
Clique com o boto direito do mouse em qualquer espao vazio da janela,
aparecer o menu de atalho, ento clique New Constraints;

46
Prof Sonia Reni

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Ative a guia Foreign key onde teremos as seguintes opes:

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

FUNDAO EDUCACIONAL DE VOLTA REDONDA


FUNDAO DE APOIO A ESCOLA TCNICA

COLGIO DELCE HORTA

APOSTILA BANCO DE DADOS MODULO III

Clique no comando Commit para confirmar a criao do campo FK, ou,


comando Rollback, para voltar a janela;

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.

FECHANDO O BANCO DE DADOS

Selecione o Menu Database;


Clique no comando Disconnect from Database
O comando Exit Fecha o IB Expert.

48
Prof Sonia Reni

Das könnte Ihnen auch gefallen