Oracle 11g - Fundamentos

605 visualizações

Publicada em

Fundamentos sobre Oracle 11g.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
605
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
34
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Oracle 11g - Fundamentos

  1. 1. Banco de Dados II Fundamentos Oracle Gustavo S´avio gsoprofessor@gmail.com 2015.2
  2. 2. SQL Structured Query Language Anos 70 Padr˜ao BD Relacionais 1986 American National Standards Institute (ANSI1) Atualmente... Estamos no padr˜ao ANSI3 1 / 27
  3. 3. DDL Data Definition Language DDL O que ´e? Instruc¸˜oes que criam os objetos do banco de dados Exemplos... CREATE TABLE, ALTER TABLE, DROP TABLE 2 / 27
  4. 4. DML Data Manipulation Language O que ´e? Instruc¸˜oes que manipulam (acesso e armazenamento) os dados Exemplos... SELECT, INSERT , DELETE , UPDATE 3 / 27
  5. 5. DCL Data Control Language O que ´e? Instruc¸˜oes que controlam o acesso aos dados Grupos: controle de transac¸˜ao, sess˜ao e sistema Exemplos... COMMIT, ROLLBACK, GRANT, REVOKE 4 / 27
  6. 6. Oracle Fundada em 1977 formada por Larry Ellison, Bob Miner, Ed Oates e Bruce Scott, chamada de Software Development Laboratories (SDL) Larry e Bob vieram da Ampex, trabalhavam em um projeto da CIA chamado de Oracle Em 1978 mudou o nome para Relational Software Inc (RSI) 5 / 27
  7. 7. Oracle Em 1979 surgiu a primeira vers˜ao comercial, vendida `a Forc¸a A´erea Americana Primeiro RDBMS comercial do mercado Em 1982 mudou o nome para Oracle Systems Corporation (OSC) Posteriormente simplificada para Oracle Corporation 6 / 27
  8. 8. Oracle 11g XE Oracle Database 11g Express Edition Express Edition Oracle XE ´e uma vers˜ao gratuita oferecida pela Oracle, livre para de- senvolver e distribuir Entretanto, possui as seguintes limitac¸˜oes: 1 por servidor 1 CPU Usa apenas 1GB/RAM 11 GB de espac¸o em disco 7 / 27
  9. 9. SQL Developer SQL Developer is a free integrated development environment that sim- plifies the development and management of Oracle Database in both traditional and Cloud deployments. SQL Developer offers complete end-to-end development of your PL/SQL applications, a worksheet for running queries and scripts, a DBA console for managing the database, a reports interface, a complete data modeling solution, and a migration platform for moving your 3rd party databases to Oracle” 8 / 27
  10. 10. Instala¸c˜ao do Banco / SQL Developer OracleXE112 Win64 Sqldeveloper-4.1.0.19.07 9 / 27
  11. 11. Acessando o Banco Quando instalamos o Oracle, os usu´arios Sys e System s˜ao criados com perfil DBA (Role) Privil´egio Administrativos Existem dois privil´egios de sistema especiais, SYSDBA e SYSOPER Conecte com o usu´ario System 10 / 27
  12. 12. Tablespace Subdivis˜ao l´ogica de um banco de dados Especifica a localizac¸˜ao f´ısica do armazenamento em datafiles System ´e a primeira tablespace criada pelo Oracle 11 / 27
  13. 13. Tablespace Criando o tablespace disciplina CREATE TABLESPACE disciplina LOGGING DATAFILE ’C:oraclexeapporacleoradataXEdisciplina.dfb’ SIZE 1024m AUTOEXTEND ON NEXT 500m EXTENT MANAGEMENT LOCAL; 12 / 27
  14. 14. Usu´ario Criando o usu´ario aluno CREATE USER aluno IDENTIFIED BY aluno DEFAULT TABLESPACE disciplina QUOTA UNLIMITED ON disciplina; Usu´ario e Schema = Confus˜ao! Um schema ´e uma colec¸˜ao de objetos de um usu´ario Um usu´ario est´a relacionado a um schema Quando o Oracle cria um usu´ario, automaticamente tamb´em cria um schema com o mesmo nome do usu´ario 13 / 27
  15. 15. Permiss˜ao de Usu´ario Definindo as permiss˜oes do usu´ario aluno GRANT CREATE SESSION, ALTER SESSION, CREATE TABLE, CREATE PROCEDURE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE TRIGGER, CREATE SEQUENCE, CREATE ANY DIRECTORY, CREATE TYPE, CREATE SYNONYM, DEBUG CONNECT SESSION, DEBUG ANY PROCEDURE TO aluno; 14 / 27
  16. 16. Parˆametros do Banco Visualizando as configura¸c˜oes do banco de dados SELECT * FROM nls_database_parameters; 15 / 27
  17. 17. Importando dados DROP TABLE IF EXISTS O oracle n˜ao possui uma func¸˜ao nativa para a funcionalidade de deletar uma tabela, caso ela exista... CREATE OR REPLACE PROCEDURE dropTable(tabela IN VARCHAR2) IS BEGIN FOR i IN (SELECT NULL FROM user_tables WHERE table_name = UPPER(tabela)) LOOP EXECUTE IMMEDIATE ’DROP TABLE ’ || tabela || ’ CASCADE CONSTRAINTS’; END LOOP; END; 16 / 27
  18. 18. Importando dados Analisando tabelas.sql... Analisando inserts.sql... 17 / 27
  19. 19. Importando dados Conectar com o usu´ario criado ’aluno’ Executar os scripts seguindo a ordem: tabelas.sql inserts.sql 18 / 27
  20. 20. Transa¸c˜ao O que ´e? Permite englobar v´arias ac¸˜oes em uma ´unica operac¸˜ao tudo ou nada SET TRANSACTION, COMMIT OU ROLLBACK 19 / 27
  21. 21. Executando um SQL Como o oracle executa uma consulta SQL? PARSE, EXECUTE e FETCH 20 / 27
  22. 22. Executando um SQL PARSE Valida a sintaxe (Syntax Parse) Verifica se a consulta j´a foi carregada na mem´oria (Shared Pool) Cen´ario 1 Se j´a foi carregada, o plano de execuc¸˜ao j´a est´a feito Reutiliza o plano de execuc¸˜ao 21 / 27
  23. 23. Executando um SQL PARSE Valida a sintaxe (Syntax Parse) Verifica se a consulta j´a foi carregada na mem´oria (Shared Pool) Cen´ario 2 Se n˜ao foi carregada, verifica o dicion´ario de dados, checando a existˆencia das tabelas/colunas/permiss˜oes de acesso dos objetos Trac¸a o plano de execuc¸˜ao (Parse Tree) Coloca o plano de execuc¸˜ao na mem´oria (Shared Pool) 22 / 27
  24. 24. Executando um SQL EXECUTE Aplica o plano de execuc¸˜ao Efetua a leitura dos dados (em disco ou mem´oria) Verifica as regras de integridade (Constraints) Executa 23 / 27
  25. 25. Executando um SQL FETCH Retorna as informac¸˜oes 24 / 27
  26. 26. Banco Pais (sigla, nome) Cidade (codigo, nome, UF, pais) pais referencia Pais (sigla) Cliente (codigo, nome, tipo, contrato, cargo, endereco, cidade, cep, fone, fax, obs) cidade referencia Cidade (codigo) Funcao (codigo, nome, gratif) Setor (sigla, nome, ramal, chefe) Funcionario (codigo, nome, sexo, rg, cpf, datanasc, naturalidade, dataadm, funcao, cidade, setor, ...) naturalidade referencia Cidade (codigo) funcao referencia Funcao (codigo) cidade referencia Cidade (codigo) setor referencia Setor (sigla) Tipo (codigo, nome, descricao) Pedido (codigo, cliente, vendedor, dataPedido, dataFatura, via, frete) cliente referencia Cliente (codigo) vendedor referencia Funcionario (codigo) Produto (codigo, nome, descricao, apresent, venda, custo, quantest, estmin, tipo, situacao, status) tipo referencia Tipo (codigo) Itens (pedido, produto, preco, quant, desconto) pedido referencia Pedido (codigo) produto referencia Produto (codigo) 25 / 27
  27. 27. Exerc´ıcio 1. Crie uma consulta SQL que retorne o c´odigo e o nome de todos os funcion´arios da base de dados 2. Crie uma consulta SQL que retorne o c´odigo e o nome dos funcion´arios do sexo masculino 3. Crie uma consulta SQL que retorne o c´odigo e o nome dos produtos cujo valor de venda ´e maior do que 500 reais 4. Crie uma consulta SQL que retorne o c´odigo e o nome do produto, al´em do nome do tipo do produto para todos os produtos da base de dados 5. Crie uma consulta SQL que retorne o nome do cliente e o nome da cidade onde o cliente mora, para todos os clientes da base de dados 26 / 27
  28. 28. Bibliografia Oracle Database XE 11g Release 2 Dispon´ıvel em: http://www.oracle.com/technetwork/database/ database-technologies/express-edition/overview/ index.html Database Express Edition Installation Guide Dispon´ıvel em: http://docs.oracle.com/cd/E17781 01/install.112/ e18802/toc.htm Oracle SQL Developer Dispon´ıvel em: http://www.oracle.com/technetwork/developer-tools/ sql-developer/overview/index-097090.html 27 / 27

×