2_ATPS_Exemplo
description
Transcript of 2_ATPS_Exemplo
FACULDADE ANHANGUERA DE CAMPINAS
Sistemas de informação
Programação em bando de dados
Nelson Manoel da silva RA: 1299113233
ATPS - Atividade Prática Supervisionada
Prof. Paulo Guimaraes
Campinas
24/09/2015
Sumário
Desafio....................................................................................................................................3
Etapa 1....................................................................................................................................4
Passo 1........................................................................................................................
Passo 2........................................................................................................................
Passo 3.......................................................................................................................
Passo 4.......................................................................................................................
Etapa 2...................................................................................................................................
Passo 1........................................................................................................................
Passo 2........................................................................................................................
Passo 3.......................................................................................................................
Passo 4.......................................................................................................................
Referências............................................................................................................................
DESAFIO
A empresa de desenvolvimento de software chamada Microsys XYZ S.A. está projetando
um novo produto a ser lançado. Este novo software chamado SIG – Sistema Integrado de
Gerenciamento 1.0 irá atender a diversas empresas que precisam de um sistema para
controlar suas operações de vendas, controle de estoque, funcionários e demais atividades.
As consultas e outras atividades relacionadas a Banco de Dados devem ser realizadas com
o melhor desempenho possível, pois as empresas que utilizarão o SIG possuem grandes
volumes de dados. A Microsys XYZ S.A. também necessita de consultoria em algumas
áreas mais abrangentes que podem fazer parte do projeto como Banco de Dados
Distribuídos e Data Warehouse. Devido a esses requisitos a Microsys XYZ S.A. está
recrutando uma equipe para trabalhar na base de dados do SIG
ETAPA 1
Fazer uma pesquisa no livro texto ou nos livros complementares da disciplina
sobre os fundamentos de Consultas SQL e comandos DML (Data Manipulation
Languagem). Em seguida, elaborar um resumo de pelo menos três páginas sobre o
resultado da pesquisa.
Desenvolvida e implementada pelo Laboratório de Pesquisa da IBM em San
Jose entre os anos de 1964 e 1969, a Linguagem SQL “ Structured Query Language",
inicialmente chamada \SEQUEL", foi criada como uma interface entre os usuários e o
Sistema de Gerenciamento de Bancos de Dados Relacional, o \System R", que estava
sendo desenvolvido no Laboratório.
Por apresentar-se promissora devido a sua simplicidade e o grande poder de
consulta em GBDR, a linguagem SQL e atualmente o padrão industrial em linguagem de
consultas a banco de dados, e atinge mais de 95% do mercado de sistemas de
gerenciamento de bases de dados.
SQL é uma linguagem de consulta sofisticada, que vem evoluindo
continuamente, embora Mantendo um nível de padronização muito alto.
Entre seus principais atrativos esta a pequena quantidade de comandos
extremamente poderosos, atendendo ao paradigma Relacional, ou seja, o programador
expressa em SQL\o que" ele quer recuperar, não\como" deve ser recuperado.
SQL é padronizado pelo “American National Standart Institute"(ANSI) e pela
“International Standard Organization" (ISO). A _ultima versão foi aprovada pela ISO em
2001, tendo sido designada SQL: 2001.
O sucesso da linguagem foi tal que obrigou o Instituto Americano de Padrões
(ANSI) a padronizar as implementações do produto. Assim, a maior parte - senão todas -
as implementações da linguagem seguem de perto o padrão ANSI definido.
As pequenas variações existentes não afetam a padronização global e
costumam ser incorporadas para complementar as capacidades da linguagem. Ainda que
tais variações possam aumentar a complexidade da migração de um ambiente para outro,
elas não afetam a estratégia global de portabilidade entre plataformas.
Se for o caso de desenvolver aplicações portáteis, o padrão ANSI - suportado
por todos os produtos, de uma forma geral - deve ser seguido rigorosamente. Ainda que se
percam alguns pontos em desempenho e facilidade, a portabilidade estará garantida. Então
meado da década de 80 foi publicado a primeira versão padronizada da linguagem SQL,
dois institutos trabalharam na sua padronização, o ANSI e o ISO. Desde então, a
linguagem vem evoluindo o que leva à criação de novas versões padronizadas, a saber, a
SQL-92 e a SQL-99, assim chamadas em regerências aos anos em que foram publicadas.
Com suas seguidas evoluções, a linguagem se tornou a mais poderosa
ferramenta de definição e manipulação de Bancos de Dados relacionais, e é hoje Utilizada
na grande maioria dos sistemas de Bancos de Dados relacionais, tais como MySQL, DB2,
SQLServer etc..
3. Paradigma
A linguagem SQL possui um paradigma cliente/servidor.
4.Características
A SQL estabeleceu-se como linguagem padrão de Banco de Dados Relacional. SQL
apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL
(Data Definition Language), composta entre outros pelos comandos Create, que é
destinado à criação do Banco de Dados, das Tabelas que o compõe, além das relações
existentes entre as tabelas. Como exemplo de comandos da classe DDL temos os
comandos Create, Alter e Drop.
Os comandos da série DML (Data Manipulation Language), destinados a consultas,
inserções, exclusões e alterações em um ou mais registros de uma ou mais tabelas de
maneira simultânea. Como exemplo de comandos da classe DML temos os comandos
Select, Insert, Update e Delete. Uma subclasse de comandos DML, a DCL (Data Control
Language), dispõe de comandos de controle como Grant e Revoke.
A Linguagem SQL tem como grandes virtudes sua capacidade de gerenciar índices, sem a
necessidade de controle individualizado de índice corrente, algo muito comum nas
linguagens de manipulação de dados do tipo registro a registro. Outra característica muito
importante disponível em SQL é sua capacidade de construção de visões, que são formas
de visualizarmos os dados na forma de listagens independente das tabelas e organização
lógica dos dados.
Outra característica interessante na linguagem SQL é a capacidade que dispomos de
cancelar uma série de atualizações ou de as gravarmos, depois de iniciarmos uma
sequência de atualizações. Os comandos Commit e Rollback são responsáveis por estas
facilidades.
Devemos notar que a linguagem SQL consegue implementar estas soluções, somente pelo
fato de estar baseada em Banco de Dados, que garantem por si mesmo a integridade das
relações existentes entre as tabelas e seus índices.
4.1.Utilização da SQL.
A compreensão e a utilização da SQL é decisiva por alguns bons motivos:
-É poderosa e flexível.
É muito mais rápida a recuperação e a manipulação de dados utilizando a SQL que os
objetos disponíveis na DAO. Com uma única instrução SQL podemos substituir dezenas
ou mesmo centenas de linhas de código baseadas nos objetos da biblioteca DAO.
-É um padrão na indústria.
Como a SQL, com pequenas variações, é suportada pelos mais importantes bancos de
dados relacionais, podemos criar programas de front-end para a administração de bancos
de dados relativamente independentes do back-end.
Por exemplo, podemos escrever um aplicativo voltado para administração de um banco de
dados Access e, sem alterações significativas, portá-lo de modo a utilizar o Microsoft SQL
Server ou outro banco de dados ODBC. Frequentemente, a implementação da linguagem
SQL incorporada ao Microsoft Jet será utilizada para desempenho máximo, em conjunto
com os objetos da DAO.
Uma utilização comum poderá ser selecionar um subconjunto dos dados através de uma
instrução SQL, gerar um objeto Recordset e manipulá-lo com os métodos navegacionais
disponibilizados pela DAO. Com isso, o programador obterá o melhor de dois mundos.
Além disso, essa estratégia costuma facilitar a portabilidade do aplicativo: deve variar
somente o mecanismo de conexão com a fonte de dados SQL, tudo o mais permanecendo
constante.
O objetivo fundamental da SQL é fornecer ao usuário de um RDBMS uma interface de
alto nível, capaz de isolá-lo completamente das complexidades de implementação do
sistema. Com tal objetivo em mente, desenvolveu-se uma linguagem totalmente não-
procedural.
Ao usuário da SQL não cabe definir como o gerenciador do banco de dados executará uma
tarefa em particular, mas somente o que deve ser feito.
4.2. Sintaxe do SQL
Uma declaração SQL pode consistir dos seguintes componentes:
- Uma declaração de parâmetros.
Quando uma declaração requer parâmetros, isto é, valores somente disponíveis em tempo
de execução a partir da interação com o usuário, é conveniente - ainda que opcional - a
declaração explícita dos parâmetros utilizados. Tal declaração deve ser feita da seguinte
forma: PARAMETERS nomeDoParâmetro tipoDeDado; Qualquer quantidade de
parâmetros, dentre os tipos de dados suportados pelo dispositivo Jet (ou pelo sistema
gerenciador ao qual o aplicativo está conectado via ODBC), é inteiramente válida.
- O comando SQL.
Este componente informa ao gerenciador a ação a ser executada. Por exemplo, a
declaração SELECT * FROM Clientes solicita ao dispositivo gerenciador que retorne
todos os campos da tabela Clientes.
- Cláusulas opcionais.
Informam ao dispositivo gerenciador as condições segundo as quais os registros serão
selecionados, tais como ordenações, condições lógicas de filtro, agrupamentos, etc. Se o
comando SQL informa ao dispositivo o que fazer, as cláusulas opcionais especificam os
registros a serem incluídos no processamento e o critério específico dessa inclusão.
SQL _e composta por 3 “sub-linguagens":
Linguagem de Definição de Dados - DDL
2 Linguagem de Manipulação de Dados - DML
3 Linguagem de Controle de Dados - DCL
Linguagem de Definição de Dados - DDL
Elementos fundamentais da linguagem:
DATABASE
USER
ROLE
SCHEMA
TABLESPACE
TABLE
INDEX
DOMAIN
FUNCTION
SEQUENCE
TRIGGER
VIEW
Todos os elementos podem ser criados (CREATE), corrigidos (ALTER) e removidos
(DROP), totalizando 36 comandos (cada um com sintaxe própria).
Linguagem de Manipulação de Dados – DML.
A sub-linguagem de Manipulação de Dados tem quatro comandos:
1. 1 SELECT
2. 2 INSERT INTO
3. 3 UPDATE
4. 4 DELETE
5. Gru
Linguagem de Controle de Dados – DCL
Os comandos da sub-liguagem de Manipulação de Dados têm estrutura individual. Alguns
exemplos são:
CONNECT: Permite a conexão a uma base de dados através de um gerenciador;
DISCONNECT: Desconecta de uma base de dados;
COMMIT: Torna permanente todas as alterações feitas desde o início da conexão;
ROLLBACK: Descarta todas as alterações feitas desde o início da conexão, ou do último
comando COMMIT ou ROLLBACK.
PASSO 2
A)
SELECT NOME, CIDADE, UF, IDADE, GENERO
FROM CLIENTE
WHERE CIDADE = 'CAMPINAS';
B)
SELECT NOME, CARGO, IDADE, DATAADMISSAO, COMISSAO
FROM FUNCIONARIO
WHERE ATIVO = TRUE
ORDER BY CARGO;
C)
SELECT F.NOME AS NOME_FUNCIONARIO, V.VALORTOTAL AS
VALOR_DA_VENDA
FROM FUNCIONARIO F, VENDA V
WHERE DATA = '11/01/2013'
AND F.IDFUNCIONARIO = FUNCIONARIO_VENDA
ORDER BY VALOR_DA_VENDA DESC;
D)
SELECT P.DESCRICAO, I.VALORUNITARIO, I.VALORTOTAL
FROM PRODUTO P, ITEMVENDA I
WHERE DATA = '11/01/2013'
AND P.IDPRODUTO = I.PRODUTO_ITEMVENDA
ORDER BY I.VALORTOTAL DESC
Exibir o nome do cliente, cidade, quantidade total de vendas, valor total de vendas. A
consulta deve exibir todos os clientes, inclusive aqueles que não possuem registros de
venda. Os registros devem estar ordenados por nome e cidade. Filtros da consulta: mês em
que foram realizadas as vendas.
E)
SELECT C.NOME AS NOME_CLIENTE, C.CIDADE, I.QTDE, V.VALORTOTAL
FROM CLIENTE C, VENDA V, ITEMVENDA V
WHERE V.DATA = TO_DATE('01/2013','MM/YYYY')
AND C.IDCLIENTE = V.CLIENTE_VENDA
AND I.VENDA_ITEMVENDA = V.IDVENDA
ORDER BY C.NOME, C.CIDADE;
PASSO 3
INSERT INTO CLIENTE
(IDCLIENTE, NOME, CPF, RG, ENDERECO, CIDADE, UF, FONE, CELULAR,
EMAIL, DATANASCIMENTO, GENERO)
VALUES
(1,'PLINIO
ARRUDA','12345678909','1234567-7','PALACIO DO PLANALTO, 171, CENTRO',
'BRASILIA','DF','1919191', '', '[email protected]','07/09/1822','P');
UPDATE CLIENTE
SET GENERO = 'M'
WHERE IDCLIENTE = 1;
DELETE FROM CLIENTE
WHERE CPF = '12345678909';
INSERT INTO VENDA
(IDVENDA, CLIENTE_VENDA, DATA, HORA, VALORTOTAL,
FUNCIONARIO_VENDA)
VALUES
(15,1,TO_DATE('24/08/2013','DD/MM/
YYYY'),TO_DATE('15:00:00','HH24:MI:SS'),154.50,12);
UPDATE VENDA
SET VALORTOTAL = 15.35;
WHERE IDCLIENTE = 1
AND DATA = TO_DATE('24/08/2013','DD/MM/YYYY');
DELETE FROM CLIENTE
WHERE IDVENDA = 15;
INSERT INTO ITEMVENDA
(IDITEMVENDA, VENDA_ITEMVENDA, PRODUTO_ITEMVENDA, QTDE,
VALORUNITARIO, VALORDESCONTO, VALORTOTAL)
VALUES
(1,15,20,2,1.00,0.20,2.00);
UPDATE ITEMVENDA
SET VALORTOTAL = 15.35;
WHERE IDITEMVENDA = 1;
DELETE FROM ITEMVENDA
WHERE IDITEMVENDA = 15;
INSERT INTO PRODUTO
(IDPRODUTO, DESCRICAO, PRECOVENDA, PRECOCOMPRA, MARCA, TIPO)
VALUES
(20,'CHOCOLATE AERADOS',1.20,0.80,1,2);
UPDATE PRODUTO
SET IDPRODUTO = 50;
WHERE IDPRODUTO = 1;
DELETE FROM PRODUTO
WHERE IDPRODUTO = 15;
INSERT INTO FUNCIONARIO
(IDFUNCIONARIO, NOME, CPF, RG, CTPS, CARGO, DATANASCIMENTO,
DATAADMISSAO, DATADEMISSAO, ATIVO, COMISSAO)
VALUES
(1,'GARIBALDO','36293577445','45454555','12','MANOBRISTA','15/05/1988','15/10/200
0','',TRUE,45.50);
UPDATE FUNCIONARIO
SET NOME = 'NESTOR';
WHERE CPF = '36293565445';
Figura 1 – Processador Intel i7-3770
Fonte: fx8120, 2013
Especificações:
Velocidade padrão de 3,1 GHz
Oito núcleos reais
8192 kB de cache L3, 1024 kB de cache L2 e 48 kB de cache L1
Conjunto de instruções 32 e 64 bits
(AMD2, 2013)
Memórias: Os memórias escolhidos foram: . . .
Passo 2
Faça uma descrição a respeito dos tipos de equipamentos, Descritos no passo 1,
adequados para criação de um laboratório de multimídia....
ReferênciasAMD. Processadores AMD Phenom™ II. Disponível em: <http://www.amd.com/br/products/desktop/processors/phenom-ii/Pages/phenom-ii.aspx> Acesso em: 19 abr. 2013.
AMD_2. Desktop Processor Solutions. Disponível em: <http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=771&f1=&f2=&f3=&f4=&f5=&f6=&f7=&f8=&f9=&f10=&f11=&f12=> Acesso em: 19 abr. 2013.
FX8120. AMD FX-8120 review. Disponível em: <http://www.expertreviews.co.uk/processors/1293553/amd-fx-8120> Acesso em: 19 abr. 2013.
INTEL. Desktop Processor Solutions. Disponível em: <http://www.intel.com.br/content/www/br/pt/benchmarks/desktop/3rd-gen-core-i7-3770.html> Acesso em: 19 abr. 2013.
INTEL2. Intel® Core™ i7-3770T Processor (8M Cache, up to 3.70 GHz). Disponível em: <http://ark.intel.com/pt-br/products/65525/intel-core-i7-3770t-processor-8m-cache-up-to-3_70-ghz> Acesso em: 19 abr. 2013.
i7-3770. Intel Core i7-3770. Disponível em: <http://www.techpowerup.com/cpudb/1002/Intel_Core_i7-3770.html> Acesso em: 19 abr. 2013.