apresentação do powerpointnfreire/bddad-oracle-sql...criar vpn em windows 10: 1. clique no botão...
TRANSCRIPT
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 1/60
Oracle SQL Developer
Bases de DadosBDDAD
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 2/60
▪ 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-DEI-LEI-BDDAD 2020/21) 3/60
▪ É 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, e.g.: // plataforma de migração
▪ MySQL
▪ Microsoft SQL Server
▪ Sybase Adaptive server
▪ IBM DB2
▪ Versão atual:
▪ 20.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-DEI-LEI-BDDAD 2020/21) 4/60
▪ Procedimento
1. Descarregar ficheiro de instalação ZIP em
▪ https://www.oracle.com/tools/downloads/sqldev-downloads.html
▪ Exemplo
2. Descompactar para uma pasta (de instalação)
▪ Criada automaticamente a pasta sqldeveloper
InstalarOracle SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 5/60
▪ 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-DEI-LEI-BDDAD 2020/21) 6/60
▪ Base de Dados
▪ Armazenada no servidor Oracle
▪ SQL Developer
▪ Cliente do Servidor Oracle
▪ Ligação a BD no Servidor Oracle
▪ Requisitos
▪ Conta no servidor
▪ Ligação VPN à DEINET
▪ Apenas para fora do ISEP
▪ Procedimento
▪ Slides seguintes
Ligar à BD no Servidor Oracle 1/4Oracle
SQL Developer
Criar VPN em Windows 10:
1. Clique no botão Iniciar.
2. Clique em Definições.
3. Clique em Rede e Internet.
4. Clique VPN.
5. Clique Adicionar uma ligação VPN.
6. Campos
Fornecedor de VPN = Windows (incorporado)
Nome ou endereço do servidor = deinet.dei.isep.ipp.pt
Tipo de VPN = SSTP
Tipo de informações de início de sessão = nome deutilizador e palavra-passe
Nome de utilizador e palavra-passe = credenciais da rededeinet
Rede
Cliente
Servidor
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 7/60
▪ Procedimento (1/2)
1. Ligar à VPN da DEINET
▪ Necessário apenas para fora do ISEP
▪ Usar as credenciais da DEINET
2. Clique-direito no nó “Connections” do painel “Connections”
3. Selecionar “New Connection”
Ligar à BD Alojada no Servidor Oracle 2/4Oracle
SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 8/60
▪ Procedimento (2/2)
4. Completar as entradas da caixa de diálogo “New / Select Database Connection”.
5. 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
Ligação com sucesso
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 9/60
▪ 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-DEI-LEI-BDDAD 2020/21) 10/60
▪ Solução 2 – Comando SQL numa Worksheet
Alterar Password da Conta do Servidor Oracle▪ Solução 1 – Comando GUI “Reset Password”
Oracle SQL Developer
e.g.: BDDAD
Ligação visada
SQL Worksheet
Cria SQL Worksheet
Surge com clique-direitosobre a ligação BDDAD
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 11/60
▪ 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
Oracle SQL Developer Ativar Commits Automáticos 1/2
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 12/60
▪ Opção Autocommit
▪ Não existe
▪ No servidor Oracle
▪ Existe (tipicamente)
▪ Em aplicação cliente de servidor de BD
▪ Exemplo
Oracle SQL Developer Ativar Commits Automáticos 2/2
Rede
Cliente
Servidor
Autocommit
Autocommit
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 13/60
▪ Menu Tools > Preferences
Alterar a Linguagem NacionalOracle SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 14/60
▪ 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 > Reset 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-DEI-LEI-BDDAD 2020/21) 15/60
▪ Painéis do lado esquerdo
GUI: Painéis 1/3
Painel “Reports”
Painel “Connections”
Oracle SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 16/60
▪ 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-DEI-LEI-BDDAD 2020/21) 17/60
▪ 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-DEI-LEI-BDDAD 2020/21) 18/60
▪ 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-DEI-LEI-BDDAD 2020/21) 19/60
▪ Tipos de Programação
▪ Manual
▪ Visual
Oracle SQL Developer Programação de BD 1/3
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 20/60
▪ 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-DEI-LEI-BDDAD 2020/21) 21/60
▪ Programação Visual
▪ BD especificada visualmente na GUI.
▪ Exemplo:
Oracle SQL Developer Programação de BD 3/3
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 22/60
SQL Worksheet
Oracle SQL Developer Programação Manual
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 23/60
▪ 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-DEI-LEI-BDDAD 2020/21) 24/60
▪ Abrir
▪ Clique-direito na ligação > Open SQL Worksheet
SQL Worksheet 2/13
Alternativa
Oracle SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 25/60
▪ 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-DEI-LEI-BDDAD 2020/21) 26/60
▪ 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-DEI-LEI-BDDAD 2020/21) 27/60
▪ 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-DEI-LEI-BDDAD 2020/21) 28/60
▪ 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-DEI-LEI-BDDAD 2020/21) 29/60
▪ 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-DEI-LEI-BDDAD 2020/21) 30/60
▪ 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-DEI-LEI-BDDAD 2020/21) 31/60
▪ 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-DEI-LEI-BDDAD 2020/21) 32/60
▪ 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-DEI-LEI-BDDAD 2020/21) 33/60
▪ 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-DEI-LEI-BDDAD 2020/21) 34/60
▪ Gravar Script
▪ Em ficheiro *.sql
▪ Menu File > Save
SQL Worksheet 12/13Oracle
SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 35/60
▪ Abrir Ficheiro do Script *.sql
▪ Ficheiro *.sql
▪ Menu File > Open
SQL Worksheet 13/13Oracle
SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 36/60
ExemploTabelas
Oracle SQL Developer Programação Visual
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 37/60
▪ Procedimento
▪ Clique-direito no nó “Tables” > New Table
Tabela: Criação Visual 1/3Oracle
SQL Developer
Adicionar coluna
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 38/60
▪ Visualizar SQL-DDL
Tabela: Criação Visual 2/3Oracle
SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 39/60
▪ Especificar Chave-Primária
Tabela: Criação Visual 3/3Oracle
SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 40/60
▪ Procedimento
▪ Clique-direito no nó da tabela > Edit
Tabela: Edição VisualOracle SQL Developer
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 41/60
▪ 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-DEI-LEI-BDDAD 2020/21) 42/60
▪ 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-DEI-LEI-BDDAD 2020/21) 43/60
▪ Modelo da Tabela
Tabela: Abertura Visual 3/5Oracle
SQL Developer
Refresh desta visualização
Modelo
Copia para Data Modeler
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 44/60
▪ Restrições da Tabela
Tabela: Abertura Visual 4/5Oracle
SQL Developer
Refresh desta visualização
Restrições
Edição
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 45/60
▪ SQL-DDL da Tabela
Tabela: Abertura Visual 5/5Oracle
SQL Developer
SQL-DDL
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 46/60
▪ 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-DEI-LEI-BDDAD 2020/21) 47/60
Conta Oraclecom
Múltiplos Esquemas Relacionais
Oracle SQL Developer Múltiplos Esquemas Relacionais
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 48/60
▪ 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-DEI-LEI-BDDAD 2020/21) 49/60
▪ 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-DEI-LEI-BDDAD 2020/21) 50/60
▪ 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-DEI-LEI-BDDAD 2020/21) 51/60
Obter Modelo de Dados Relacionalde uma BD
Oracle SQL Developer Modelo de Dados Relacional de BD
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 52/60
Obter Modelo de Dados Relacional de uma BD 1/8Oracle
SQL Developer
Tabelas
Modelo Relacional
Ligação da conta Oracle
NMF
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 53/60
▪ Importar o Dicionário de Dados da BD
2/8Oracle
SQL Developer
Selecionar
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 54/60
▪ 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-DEI-LEI-BDDAD 2020/21) 55/60
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-DEI-LEI-BDDAD 2020/21) 56/60
▪ 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-DEI-LEI-BDDAD 2020/21) 57/60
6/8Oracle
SQL Developer
▪ Passo 4 – Gerar o Modelo
Clique
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 58/60
7/8Oracle
SQL Developer
Geraçãodo
modelo
▪ Geração do Modelo
Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 59/60
▪ Modelo de Dados Relacional Gerado
8/8Oracle
SQL Developer Obter Modelo de Dados Relacional de uma BD
Nelson Freire (ISEP-DEI-LEI-BDDAD 2020/21) 60/60
▪ Vídeo▪ Perspetiva Geral
▪ https://www.youtube.com/watch?v=EguMf4HbPU8&feature=youtu.be
▪ Leitura
▪ Menu Help > Table of Contents
▪ https://docs.oracle.com/en/database/oracle/sql-developer/18.2/index.html
BibliografiaOracle SQL Developer