Upload
buithuy
View
254
Download
0
Embed Size (px)
Citation preview
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 1/59
Oracle SQL Developer
Bases de DadosBDDAD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 2/59
▪ Introdução
▪ Instalar
▪ Abrir
▪ Ligar à BD no Servidor Oracle
▪ Ativar Commits Automáticos
▪ Alterar a Linguagem Nacional
▪ Programação Manual
▪ SQL Worksheet
▪ Script
▪ Editar
▪ Executar
▪ Saída
▪ Ficheiro
▪ Gravar, Abrir
▪ Numeração de Linhas
SumárioOracle SQL Developer
▪ Programação Visual
▪ Tabela
▪ Criar , Editar , Abrir , Eliminar
▪ Dados
▪ Restrições
▪ Conta Oracle com Múltiplas Ligações
▪ Obter Modelo de Dados Relacional de uma BD
▪ Bibliografia
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 3/59
▪ É um IDE
▪ Ambiente integrado de desenvolvimento e gestão de BDs Oracle // gratuito
▪ Integra diversas ferramentas
▪ Permite:
▪ Criação, edição, debug e execução de queries e scripts // ferramenta: SQL Worksheet
▪ Desenvolvimento completo de aplicações PL/SQL // PL/SQL: linguagem Oracle
▪ Modelação de dados completa // ferramenta: Data Modeler
▪ Gestão de uma BD // ferramenta: Consola DBA
▪ Criação e visualização de relatórios // no interface de reports
▪ Migração de BD de terceiros para o Oracle, p.ex: // plataforma de migração
▪ MySQL
▪ Microsoft SQL Server
▪ Sybase Adaptive server
▪ IBM DB2
▪ Versão atual:
▪ 18.2
▪ É Versão Gráfica do SQL*Plus
▪ SQL*Plus
▪ Programa tipo "linha de comando"
▪ Usado para executar
▪ Comandos SQL e PL/SQL … na base de dados Oracle
▪ De forma interativa
IntroduçãoOracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 4/59
▪ Procedimento
1. Descarregar ficheiro de instalação ZIP em
▪ http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
▪ Exemplo
2. Descompactar para uma pasta (de instalação)
▪ Criada automaticamente a pasta sqldeveloper
InstalarOracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 5/59
▪ Sistemas Windows
▪ Duplo-clique em:
▪ sqldeveloper.exe // dentro da pasta de instalação.
▪ Sistemas Linux and Mac OS X
▪ Executar:
▪ sh sqldeveloper.sh
Abrir Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 6/59
▪ Base de Dados
▪ Armazenada no servidor Oracle
▪ SLQ Developer
▪ Cliente do Servidor
▪ Ligação a BD no Servidor
▪ Requisitos
▪ Conta no servidor
▪ Ligação VPN à DEINET
▪ Apenas para fora do DEI
▪ Procedimento
▪ Slides seguintes
Ligar à BD no Servidor Oracle 1/4
Rede
Oracle SQL Developer
Criar VPN em Windows 10:
1. Abrir o “Painel de Controlo”.
2. Selecionar “Centro de Rede e Partilha”.
3. Selecionar “Configurar uma nova ligação ou rede”.
4. Selecionar “Ligar a uma área de trabalho”.
5. Seleccionar “Sim, vou selecionar uma ligaçãoexistente”.
6. Selecionar “Utilizar a minha ligação à Internet(VPN)”.
7. Indicar o “Endereço de Internet”:deinet.dei.isep.ipp.pt
8. Clique no botão “Criar”.
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 7/59
▪ Procedimento (1/2)
1. Ligar à rede DEINET
2. Ligar à VPN da DEINET
▪ Necessário apenas para fora do DEI
▪ Usar as credenciais da DEINET
3. Clique-direito no nó “Connections” do painel “Connections”
4. Selecionar “New Connection”
Ligar à BD Alojada no Servidor Oracle 2/4Oracle
SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 8/59
▪ Procedimento (2/2)
5. Completar as entradas da caixa de diálogo “Database Connection”.
6. Clique no botão “Connect”
Ligar à BD Alojada no Servidor Oracle 3/4
p d b o r c l
Exemplo Exemplo de conta no servidor Oracle
Computador que alojao servidor Oracle
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 9/59
▪ Após ligação estabelecida
▪ Visualizados objetos da BD:
▪ Tabelas
▪ Vistas
▪ Sequências // usadas em chaves
▪ Procedimentos // em PL/SQL
▪ Funções // em PL/SQL
▪ Triggers // em PL/SQL
▪ Etc.
▪ Notas
▪ Ligação (“connection”)
▪ É um objeto
▪ Especifica a informação necessária para ligar a uma BD,
como utilizador particular dessa BD.
▪ É possível ligar a outros SGBD
▪ Exemplos:
▪ Microsoft SQL Server
▪ IBM DB2
▪ Sybase Adaptive Server
▪ MySQL
Ligar à BD no Servidor Oracle 4/4
Ligação BDDADestabelecida
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 10/59
▪ Solução 2 – Comando SQL numa Worksheet
Alterar Password da Conta do Servidor Oracle▪ Solução 1 – Comando GUI “Reset Password”
Oracle SQL Developer
Ex: BDDAD_DA1
Ligação visada
SQL Worksheet
Cria SQL Worksheet
Surge com clique-direitosobre a ligação BDDAD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 11/59
▪ Opção Autocommit
▪ Ativada: operação COMMIT é realizada, automaticamente, depois de cada comando INSERT,UPDATE ou DELETE ser executado através do SQL Worksheet.
▪ Não Ativada: operação COMMIT não é realizada até ser executado o comando COMMIT.
▪ Procedimento para Ativar Autocommit
▪ Windows: Menu Tools > Preferences > Database > Advanced
▪ Mac: Menu Oracle SQL Developer > Preferences > Database > Advanced
Ativar Commits AutomáticosOracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 12/59
▪ Menu Tools > Preferences
Alterar a Linguagem NacionalOracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 13/59
▪ Organização da Janela Principal
▪ Baseada em painéis
▪ Aparência e comportamento … podem ser personalizados em muitos aspetos.
▪ Menu Tools > Preferences
▪ Configuração inicial … pode ser restaurada.
▪ Menu Window > Reseting Windows to Factory Settings
Interface com o Utilizador (GUI)
Interface por omissão
Painel da direitaMostra informação do
objeto selecionado.
Painel da esquerdapermite encontrar
objetos da BD.
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 14/59
▪ Painéis do lado esquerdo
GUI: Painéis 1/3
Painel “Reports”
Painel “Connections”
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 15/59
▪ Painel “Connections”
▪ Lista as ligações a BDs criadas
▪ Exemplo:
▪ Mostra
▪ Árvore hierárquica de metadados/objetos de ligações a BDs.
▪ Ícones no topo:
▪ Executam ações sobre o objeto selecionado:
GUI: Painéis 2/3
“Refresh”
Atualiza o objeto selecionado,consultando a BD.
Exemplos:
▪ Uma ligação.
▪ Uma tabela..
“Apply Filter”
Filtra os objetosapresentadossegundo filtroespecificadopelo utilizador.
Árvore de objetos da
ligação à BD
Oracle SQL Developer
Criada apenas a ligação BDDAD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 16/59
▪ Painel “Reports”
▪ Lista relatórios … sobre BD e seus objetos.
▪ Relatório selecionado é mostrado em painel à direita.
▪ Se não estiver visível
▪ Menu View > Reports
GUI: Painéis 3/3
Tipo DATE:
▪ Formato por omissão.
Painel “Reports”
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 17/59
▪ Iniciar Ligação
▪ Clique-direito no nó da ligação.
Sessão
▪ Terminar Ligação
▪ Clique-direito no nó da ligação.
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 18/59
▪ Tipos de Programação
▪ Manual
▪ Visual
Oracle SQL Developer Programação de BD 1/3
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 19/59
▪ Programação Manual
▪ Escrita de instruções:
▪ Em SQL Worksheets.
▪ Exemplo:
Oracle SQL Developer
Comandos SQL
Programação de BD 2/3
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 20/59
▪ Programação Visual
▪ BD especificada visualmente na GUI.
▪ Exemplo:
Oracle SQL Developer Programação de BD 3/3
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 21/59
SQL Worksheet
Oracle SQL Developer Programação Manual
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 22/59
▪ Interesse
▪ Scripts e queries // script = sequência de instruções
▪ Criar
▪ Editar
▪ Executar
▪ Debug
▪ Linguagens de Programação
▪ SQL
▪ PL/SQL
▪ Código
▪ Executado
▪ Pela ligação da BD respetiva
▪ i.e., pelo servidor Oracle.
▪ Especifica ações, p.ex.:
▪ Tabela
▪ Criar
▪ Editar
▪ Inserir dados
▪ Selecionar dados
▪ Trigger
▪ Criar
▪ Editar
SQL Worksheet 1/13
Script
Ligação que processaa worksheet
worksheet
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 23/59
▪ Abrir
▪ Clique-direito na ligação > Open SQL Worksheet
SQL Worksheet 2/13
Alternativa
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 24/59
▪ Pode incluir 4 painéis:
▪ 2 para editar código
▪ Worksheet // editar scripts SQL ou PL/SQL
▪ Query Builder // editar queries graficamente.
▪ 2 para saída da execução de código // usando os botões , explicados mais adiante.
▪ Script Output
▪ Query Result // surge quando é executado o comando SELECT.
SQL Worksheet 3/13
worksheet
Query Result▪ Execução SELECT
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 25/59
▪ Editar Código SQL (1/2)
▪ Completar código
▪ Ctrl + Espaço
▪ Lista contém apenas os nomes de objetos que estão armazenados na BD.
▪ Múltiplos comandos
▪ Terminar cada comando com ;
▪ Facilita a execução isolada dos comandos.
▪ Comentários
▪ -- isto é um comentário de linha
▪ /* isto é um
comentário multi-linha */
▪ Alguns tipos de objetos do painel “Connections”
▪ Podem ser arrastados e largados sobre Worksheet
▪ Exemplos:
▪ Tabelas
▪ Campos de tabelas
SQL Worksheet 4/13
Edição de código
Opções “Drag and Drop”
Oracle SQL Developer
Preciso especificar a ligação da worksheet
Especifica a ligação da worksheet
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 26/59
▪ Editar Código SQL (2/2)
▪ Menu de contexto
▪ Clique-direito na worksheet
SQL Worksheet 5/13
Operações também
naBarra de
Ferramentas
Alternar entre comentário e código SQL
Completar código
Formata Código SQL:▪ Palavras-chave em maiúsculas.
Detalhes do objeto selecionado no Worksheet(clique-direito sobre nome do objeto).
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 27/59
▪ Executar Código SQL
▪ Apenas um comando SQL:
1. Indicar o comando (alternativas):
▪ Inserir cursor no comando.
▪ Selecionar todo o comando.
2. Executar (alternativas):
▪ Clique no botão
▪ CTRL + ENTER
▪ Script (todo o código):
▪ Clique no botão
▪ Comando SQL encaixado noutro Comando (Exemplo: subquery):
1. Selecionar todo o comando encaixado.
2. Executar (alternativas):
▪ Clique no botão
▪ CTRL + ENTER
SQL Worksheet 6/13
Execução totaldo script
Execução parcialdo script
Oracle SQL Developer
Commit para atualizar a BD.
Usar sempre após execução de comandos que modificam a BD.
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 28/59
▪ Ferramentas do Separador Worksheet
▪ Execute Statement:
▪ Executa parcialmente o script desde o comando indicado pelo cursor do rato até aoprimeiro ponto-e-vírgula.
▪ Facilita a execução isolada de um comando (terminado com ponto-e-vírgula).
▪ Run Script:
▪ Executa todas as instruções do script.
▪ Commit:
▪ Atualiza a BD e finaliza a transação. Também limpa as saídas: Script Output e Query Result.
▪ Rollback:
▪ Descarta todas as alterações sem atualizar a BD e finaliza a transação. Também limpa assaídas: Script Output e Query Result.
▪ Clear:
▪ Elimina todas as instruções.
SQL Worksheet 7/13
Execução totaldo script
Execução parcialdo script
Commit para atualizar a BD
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 29/59
▪ Saída da Execução (1/2)
▪ Tabela criada mas não visível na árvore de objetos
SQL Worksheet 8/13
Script Output
▪ Mostra o resultado da execução de comandos SQL.
Limpa resultado
Oracle SQL Developer
Funciona se: ▪ BD estiver
atualizada
Senão: 1. Fazer commit2. Refresh
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 30/59
▪ Saída da Execução (2/2)
SQL Worksheet 9/13
Query Result
▪ Mostra o resultado da execução do comando SELECT.
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 31/59
▪ Mostrar Numeração de Linhas
▪ Clique-direito na margem esquerda > Toggle Line Numbers
▪ Preferências
▪ Menu Tools > Preferences > Line Gutter > Show Line Gutter
SQL Worksheet 10/13Oracle
SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 32/59
▪ Criar Novo Worksheet
SQL Worksheet 11/13
Alternativa ao comando do menu
Oracle SQL Developer
Especifica a ligação que processa a Worksheet
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 33/59
▪ Gravar Script
▪ Em ficheiro *.sql
▪ Menu File > Save
SQL Worksheet 12/13Oracle
SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 34/59
▪ Abrir Ficheiro do Script *.sql
▪ Ficheiro *.sql
▪ Menu File > Open
SQL Worksheet 13/13Oracle
SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 35/59
ExemploTabelas
Oracle SQL Developer Programação Visual
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 36/59
▪ Procedimento
▪ Clique-direito no nó “Tables” > New Table
Tabela: Criação Visual 1/3Oracle
SQL Developer
Adicionar coluna
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 37/59
▪ Visualizar SQL-DDL
Tabela: Criação Visual 2/3Oracle
SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 38/59
▪ Especificar Chave-Primária
Tabela: Criação Visual 3/3Oracle
SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 39/59
▪ Procedimento
▪ Clique-direito no nó da tabela > Edit
Tabela: Edição VisualOracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 40/59
▪ Interesse
▪ Visualizar/editar:
▪ Especificação … da tabela
▪ Dados … da tabela
▪ Procedimento
▪ Clique-direito no nó da tabela > Open
Tabela: Abertura Visual 1/5Oracle
SQL Developer
Para editar
Dados Modelo Restrições SQL-DDL
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 41/59
▪ Dados da Tabela
▪ Editar ……… registos
▪ Adicionar … registos
▪ Eliminar ….. registos
Tabela: Abertura Visual 2/5Oracle
SQL Developer
Commit para atualizar BD
Dados
Adicionar Registo
Eliminar Registo
Refresh desta visualização
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 42/59
▪ Modelo da Tabela
Tabela: Abertura Visual 3/5Oracle
SQL Developer
Refresh desta visualização
Modelo
Copia para Data Modeler
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 43/59
▪ Restrições da Tabela
Tabela: Abertura Visual 4/5Oracle
SQL Developer
Refresh desta visualização
Restrições
Edição
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 44/59
▪ SQL-DDL da Tabela
Tabela: Abertura Visual 5/5Oracle
SQL Developer
SQL-DDL
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 45/59
▪ Procedimento
▪ Clique-direito no nó da tabela > Table > Drop
Tabela: Eliminação Visual
Elimina a tabela do “Recycle Bin”.
Objetos dropped sãoguardados no “Recycle Bin” até surgir um commit.
Oracle SQL Developer
Elimina a tabela mesmo com referências dela noutras tabelas, aplicando as restrições “Cascade”..
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 46/59
Conta Oraclecom
Múltiplos Esquemas Relacionais
Oracle SQL Developer Múltiplos Esquemas Relacionais
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 47/59
▪ Conta no Servidor Oracle
▪ Tem acesso:
▪ A um único esquema de BD.
▪ Mistura:
▪ Tabelas de diversos esquemas relacionais.
▪ Exemplo:
Conta Oracle com Múltiplos Esquemas Relacionais 1/3
Ligação MinhaBD
▪ Mistura dois esquemas relacionais:
▪ Tabelas: ALUNO, DISCIPLINA e INSCRICAO
▪ Tabelas: CLIENTE, ENCOMENDA, LINHA_ENCOMENDA e PRODUTO
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 48/59
▪ Para Facilitar o Trabalho
▪ Filtrar as tabelas do esquema relacional pretendido. // exemplo: esquema Alunos.
▪ Procedimento:
Conta Oracle com Múltiplos Esquemas Relacionais 2/3
Especificar o filtro:▪ Usar o botão + para adicionar critério.▪ Selecionar a opção Match Any.
Selecionar1. Nó Tables. 2. Botão “Apply Filter”.
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 49/59
▪ Outra Solução
1. Criar uma ligação para cada esquema relacional:
▪ “Alunos”
▪ “Encomendas”
2. Em cada ligação:
▪ Filtrar o esquema relacional correspondente.
Conta Oracle com Múltiplos Esquemas Relacionais 3/3
Ligação filtraesquema Alunos.
Ligação filtraesquema
Encomendas.
Todas as ligações da mesma conta do servidorOracle partilham o mesmo esquema de BD.
Oracle SQL Developer
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 50/59
Obter Modelo de Dados Relacionalde uma BD
Oracle SQL Developer Modelo de Dados Relacional de BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 51/59
Obter Modelo de Dados Relacional de uma BD 1/8Oracle
SQL Developer
Tabelas
Modelo Relacional
Ligação da conta Oracle
NMF
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 52/59
▪ Importar o Dicionário de Dados da BD
2/8Oracle
SQL Developer
Selecionar
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 53/59
▪ Passo 1 – Ligar à BD (exemplo)
3/8Oracle
SQL Developer
1. Selecionar a ligação à BD 2. Clique
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 54/59
4/8Oracle
SQL Developer
▪ Passo 2 – Selecionar a BD
1. Selecionar a BD 2. Clique
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 55/59
▪ Passo 3 – Selecionar Tabelas da BD
5/8Oracle
SQL Developer
1. Selecionar 2. Clique
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 56/59
6/8Oracle
SQL Developer
▪ Passo 4 – Gerar o Modelo
Clique
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 57/59
7/8Oracle
SQL Developer
Geraçãodo
modelo
▪ Geração do Modelo
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 58/59
▪ Modelo de Dados Relacional Gerado
8/8Oracle
SQL Developer Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP–LEI-BDDAD 2018/19) 59/59
▪ Vídeo▪ Perspetiva Geral
▪ https://www.youtube.com/watch?v=U-Iigi2oBUo
▪ Leitura
▪ Menu Help > Table of Contents
▪ https://docs.oracle.com/en/database/oracle/sql-developer/18.2/index.html
BibliografiaOracle SQL Developer