Você está na página 1de 25

Banco de Dados Fsico

Manipulao

Professor Manfrine Tapiramut

Agradecimentos professora Elcione Lima 2008

DML Linguagem de Manipulao de Dados


Primeiro h os elementos da DML (Data Manipulation Language - Linguagem de Manipulao de Dados). A DML um subconjunto da linguagem usada para selecionar, inserir, atualizar e apagar dados.
SELECT INSERT UPDATE DELETE
Professor Manfrine

DML Linguagem de Manipulao de Dados


SELECT o comumente mais usado do DML, comanda e permite ao usurio especificar uma query como uma descrio do resultado desejado. A questo no especifica como os resultados deveriam ser localizados. INSERT usada para somar uma fila (formalmente uma tupla) a uma tabela existente. UPDATE para mudar os valores de dados em uma fila de tabela existente. DELETE permite remover filas existentes de uma tabela.
Professor Manfrine

DDL Linguagem de Definio de Dados


Uma DDL permite ao usurio definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extenses proprietrias no DDL.
CREATE TABLE. DROP TABLE ALTER TABLE CREATE INDEX ALTER INDEX DROP INDEX CREATE VIEW DROP VIEW
Professor Manfrine

DDL Linguagem de Definio de Dados


CREATE cria um objeto (uma Tabela, por exemplo) dentro da base de dados. DROP apaga um objeto do banco de dados. Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usurio alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente. outros comandos DDL:
ALTER TABLE CREATE INDEX ALTER INDEX DROP INDEX CREATE VIEW DROP VIEW

Professor Manfrine

Modelo Fsico a ser criado

Professor Manfrine

Criando a tabelas
Tabelas Criadas
TB_CARGO (COD_CARGO#, NOME_CARGO, SIGLA_CARGO) TB_DEPARTAMENTO (COD_DEPTO#, NOME_DEPTO, SIGLA_DEPTO) TB_EMPREGADO (COD_EMPREGADO# , COD_DEPTO, COD_CARGO, NOME_EMPR, ENDERECO, GERENTE, CTPS, DATA_ADMIN, DATA_NASC, VL_SALARIO, CPF, RG)

TB_PROJETO (COD_PROJETO#, NOME_PROJETO, SIGLA_PROJETO, DURACAO, DT_INICIO_PROJETO, DT_FIM_PROJETO)


TB_PARTICIPANTES_PROJETOS (COD_EMPREGADO#, COD_PROJETO#, DT_INICIO_ATIV_PROJ, DT_FIM_ATIV_PROJ, FUNCAO)

Professor Manfrine

Inserindo dados nas Tabelas

Inserindo dados nas tabelas


INSERT INTO <TABELA> (CAMPOS) VALUES (CAMPO1, CAMPO2, ... , CAMPON)
OU

INSERT INTO <TABELA> VALUES (CAMPO1, CAMPO2, ... , CAMPON) Lembre-se:


A seqncia de insero dos dados dever obedecer a seqncia dos campos.
Campos do tipo texto devem ser informados entre Aspas simples (' ' ).
Professor Manfrine

Inserindo dados na TB_CARGO


INSERT INTO TB_CARGO (COD_CARGO, NOME_CARGO, SIGLA_CARGO) VALUES (1, Analista de Rede , ANRD) OU INSERT INTO TB_CARGO VALUES (1, Analista de Rede , ANRD)

Professor Manfrine

Inserindo dados na TB_CARGO


Insira os Cargos:
2 3 4 5 6 7 8 - Tcnico em Rede - Analista de Sistemas - Gerente de RH - Analista de RH - Gerente de Informtica - Tcnico de Informtica Analista de Suporte

Professor Manfrine

Inserindo dados na TB_DEPARTAMENTO


Agora faa o mesmo para a TB_DEPARTAMENTO. Insira os seguintes Departamentos
1 - Informtica 2 - Recursos Humanos 3 - Financeiro 4 - Treinamento 5 Almoxarifado INFO RH FINAN TREIN ALMO

Professor Manfrine

Inserindo dados na TB_Empregado


INSERT INTO TB_EMPREGADO VALUES (1, 1, null, Jos da Silva, Rua 30 nr. 33 - Flores, 10245 - AM, 05-nov-2003, 14mar-1968, 2546, 15748698522, 548694-EX)

TB_CARGO
1 - Tcnico em Rede 2 - Analista de Sistemas 3 - Gerente de RH 4 - Analista de RH 5 - Gerente de Informtica 6 - Tcnico de Informtica

TB_DEPARTAMENTO
1- Informtica - INFO 2 - Recursos Humanos - RH 3 - Financeiro FINAN 4 - Treinamento TREIN 5 - Almoxarifado - ALMO

Professor Manfrine

ATIVIDADE - 1
Insira vrios empregados na tabela de empregados.
Como exemplo utilize seus dados e de parentes.

Lembre-se de observar o cdigo de cargos e de departamentos para inserir os empregados. Agora para cadastrar outros Empregados informe um cdigo de gerente. Faa o registro de Empregados informando o mesmo departamento, cargo e gerente j utilizados, para que possamos realizar consultas posteriormente.

Professor Manfrine

Atividade 2
Faa inseres na tabela TB_PROJETO e TB_PARTICIPANTES_PROJETOS.

Professor Manfrine

CONSULTAS EM SQL

Comandos de Consultas
Estrutura bsica
SELECT * FROM <TABELA>

Operador de Restries
WHERE

Exemplo:
SELECT * FROM TB_CARGO WHERE COD_CARGO = 1

Professor Manfrine

Comandos de Consultas
Operadores Lgicos
= > >= < <= igual a maior que maior que ou igual a menor que menor que ou igual a

Exemplo:
SELECT * FROM TB_CARGO WHERE COD_CARGO >= 2

Professor Manfrine

Comandos de Consultas
Outros Operadores
between ... and ... in ( .... ) like is null entre dois valores ( inclusive ) lista de valores com um padro de caracteres um valor nulo

Exemplo:
SELECT * FROM TB_CARGO WHERE NOME_CARGO LIKE Informtica

Professor Manfrine

Comandos de Consultas
Operadores Negativos
<> diferente not nome_coluna = diferente da coluna not nome_coluna > no maior que not between no entre dois valores informados not in no existente numa dada lista de valores not like diferente do padrao de caracteres informado is not null no um valor nulo

Exemplo:
SELECT * FROM TB_CARGO WHERE NOME_CARGO <> Informtica

Professor Manfrine

Comandos de Consultas
Funes Agregadas
avg(n) count(expr) algo nao nulo max(expr) min(expr) sum(n) mdia do valor n, ignorando nulos vezes que o nmero da expr avalia para

maior valor da expr menor valor da expr soma dos valores de n, ignorando nulos

Exemplo:
SELECT MIN(VL_SALARIO) FROM TB_EMPREGADO

Professor Manfrine

Comandos de Consultas
Funes Agrupamento
Group By

Exemplo:

SELECT COD_DEPTO, AVG(VL_SALARIO) FROM TB_EMPREGADO GROUP BY COD_DEPTO

Professor Manfrine

Comandos de Consultas
Funo de Ordenao
ORDER BY

Exemplo:

SELECT COD_DEPTO, AVG(VL_SALARIO) FROM TB_EMPREGADO GROUP BY COD_DEPTO ORDER BY COD_DEPTO

Professor Manfrine

Comandos de Consultas
Funo de Juno
O relacionamento existente entre tabelas chamado de equi-juno, pois os valores de colunas das duas tabelas so iguais. A Equi-juno possvel apenas quando tivermos definido de forma adequada a chave estrangeira de uma tabela e sua referncia a chave primria da tabela precedente

Regras:
Vamos trabalhar com duas tabelas. Vamos criar um nome de fictcio para as tabelas, para simplificar a escrita no nome. S poder ser feito entre tabelas que esto relacionadas.

Professor Manfrine

Comandos de Consultas
Exemplo:
Fazer uma consulta que retorne o emprega e os nomes de seu cargo e departamento.

Se for feito um select simples ser:


SELECT * FROM TB_EMPREGAGO

Agora, ser fizermos um juno, teremos:

O resultado neste caso sero todos os dados armazenados e os campos de cargo e departamento sero apenas o cdigo.

SELECT A.COD_EMPREGADO, A.NOME_EMPR, B.NOME_CARGO, C.NOME_DEPTO FROM TB_EMPREGADO A, TB_CARGO B, TB_DEPARTAMENTO C WHERE A.COD_CARGO = B.COD_CARGO AND A.COD_DEPTO = C.COD_DEPTO ORDER BY A.COD_EMPREGADO
Professor Manfrine

Você também pode gostar