BDDAD Bases de Dados Oracle Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/59
Sumário Introdução Instalar Abrir Ligar à BD no Servidor Oracle Ativar Commits Automáticos Alterar a Linguagem Nacional Programação Manual SQL Worksheet 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 Script Editar Executar Saída Ficheiro Gravar, Abrir Numeração de Linhas Nelson Freire (ISEP LEI-BDDAD 2017/18) 2/59
Introdução É 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: 17.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 Nelson Freire (ISEP LEI-BDDAD 2017/18) 3/59
Procedimento 1. Descarregar ficheiro de instalação ZIP em http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html Exemplo Instalar 2. Descompactar para uma pasta (de instalação) Criada automaticamente a pasta sqldeveloper Nelson Freire (ISEP LEI-BDDAD 2017/18) 4/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 Nelson Freire (ISEP LEI-BDDAD 2017/18) 5/59
Base de Dados Armazenada no servidor Oracle Ligar à BD no Servidor Oracle 1/4 SLQ Developer Cliente do Servidor Rede Ligação a BD no Servidor Requisitos Conta no servidor Ligação VPN à DEINET Apenas para fora do DEI Procedimento Slides seguintes 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ção existente. 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 2017/18) 6/59
Procedimento (1/2) 1. Ligar à rede DEINET Ligar à BD Alojada no Servidor Oracle 2/4 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 Nelson Freire (ISEP LEI-BDDAD 2017/18) 7/59
Procedimento (2/2) Ligar à BD Alojada no Servidor Oracle 3/4 5. Completar as entradas da caixa de diálogo Database Connection. Exemplo Exemplo de conta no servidor Oracle 6. Clique no botão Connect p d b o r c l Computador que aloja o servidor Oracle Nelson Freire (ISEP LEI-BDDAD 2017/18) 8/59
Após ligação estabelecida Notas 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. 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 BDDAD estabelecida Nelson Freire (ISEP LEI-BDDAD 2017/18) 9/59
Solução 1 Comando GUI Reset Password Alterar Password da Conta do Servidor Oracle Surge com clique-direito sobre a ligação BDDAD Solução 2 Comando SQL numa Worksheet Cria SQL Worksheet SQL Worksheet Ligação visada Ex: BDDAD_DA1 Nelson Freire (ISEP LEI-BDDAD 2017/18) 10/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 Ativar Commits Automáticos Windows: Menu Tools > Preferences > Database > Advanced Mac: Menu Oracle > Preferences > Database > Advanced Nelson Freire (ISEP LEI-BDDAD 2017/18) 11/59
Menu Tools > Preferences Alterar a Linguagem Nacional Nelson Freire (ISEP LEI-BDDAD 2017/18) 12/59
Organização da Janela Principal Baseada em painéis Interface com o Utilizador (GUI) Interface por omissão Painel da esquerda permite encontrar objetos da BD. Painel da direita Mostra informação do objeto selecionado. 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 Nelson Freire (ISEP LEI-BDDAD 2017/18) 13/59
Painéis do lado esquerdo GUI: Painéis 1/3 Painel Connections Painel Reports Nelson Freire (ISEP LEI-BDDAD 2017/18) 14/59
Painel Connections Lista as ligações a BDs criadas Exemplo: GUI: Painéis 2/3 Criada apenas a ligação BDDAD Árvore de objetos da ligação à BD Mostra Árvore hierárquica de metadados/objetos de ligações a BDs. Ícones no topo: Executam ações sobre o objeto selecionado: Refresh Atualiza o objeto selecionado, consultando a BD. Exemplos: Uma ligação. Uma tabela.. Apply Filter Filtra os objetos apresentados segundo filtro especificado pelo utilizador. Nelson Freire (ISEP LEI-BDDAD 2017/18) 15/59
Painel Reports Lista relatórios sobre BD e seus objetos. Relatório selecionado é mostrado em painel à direita. GUI: Painéis 3/3 Tipo DATE: Formato por omissão. Painel Reports Se não estiver visível Menu View > Reports Nelson Freire (ISEP LEI-BDDAD 2017/18) 16/59
Terminar Ligação Clique-direito no nó da ligação. Sessão Iniciar Ligação Clique-direito no nó da ligação. Nelson Freire (ISEP LEI-BDDAD 2017/18) 17/59
Programação de BD 1/3 Tipos de Programação Manual Visual Nelson Freire (ISEP LEI-BDDAD 2017/18) 18/59
Programação Manual Escrita de instruções: Em SQL Worksheets. Exemplo: Programação de BD 2/3 Comandos SQL Nelson Freire (ISEP LEI-BDDAD 2017/18) 19/59
Programação de BD 3/3 Programação Visual BD especificada visualmente na GUI. Exemplo: Nelson Freire (ISEP LEI-BDDAD 2017/18) 20/59
Programação Manual SQL Worksheet Nelson Freire (ISEP LEI-BDDAD 2017/18) 21/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. SQL Worksheet 1/13 worksheet Script Ligação que processa a worksheet Especifica ações, p.ex.: Tabela Criar Editar Inserir dados Selecionar dados Trigger Criar Editar Nelson Freire (ISEP LEI-BDDAD 2017/18) 22/59
Abrir Clique-direito na ligação > Open SQL Worksheet SQL Worksheet 2/13 Alternativa Nelson Freire (ISEP LEI-BDDAD 2017/18) 23/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 SQL Worksheet 3/13 Query Result // surge quando é executado o comando SELECT. worksheet Query Result Execução SELECT Nelson Freire (ISEP LEI-BDDAD 2017/18) 24/59
Editar Código SQL (1/2) Completar código Ctrl + Espaço Preciso especificar a ligação da worksheet SQL Worksheet 4/13 Especifica a ligação da worksheet 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 */ Edição de código Opções Drag and Drop Alguns tipos de objetos do painel Connections Podem ser arrastados e largados sobre Worksheet Exemplos: Tabelas Campos de tabelas Nelson Freire (ISEP LEI-BDDAD 2017/18) 25/59
Editar Código SQL (2/2) Menu de contexto Clique-direito na worksheet SQL Worksheet 5/13 Operações também na Barra 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). Nelson Freire (ISEP LEI-BDDAD 2017/18) 26/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 parcial do script Execução total do script Commit para atualizar a BD. Usar sempre após execução de comandos que modificam a BD. Nelson Freire (ISEP LEI-BDDAD 2017/18) 27/59
Ferramentas do Separador Worksheet SQL Worksheet 7/13 Execução parcial do script Execução total do script Commit para atualizar a BD Execute Statement: Executa parcialmente o script desde o comando indicado pelo cursor do rato até ao primeiro 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 as saídas: Script Output e Query Result. Clear: Elimina todas as instruções. Nelson Freire (ISEP LEI-BDDAD 2017/18) 28/59
Saída da Execução (1/2) SQL Worksheet 8/13 Limpa resultado Script Output Mostra o resultado da execução de comandos SQL. Tabela criada mas não visível na árvore de objetos Funciona se: BD estiver atualizada Senão: 1. Fazer commit 2. Refresh Nelson Freire (ISEP LEI-BDDAD 2017/18) 29/59
Saída da Execução (2/2) SQL Worksheet 9/13 Query Result Mostra o resultado da execução do comando SELECT. Nelson Freire (ISEP LEI-BDDAD 2017/18) 30/59
Mostrar Numeração de Linhas Clique-direito na margem esquerda > Toggle Line Numbers SQL Worksheet 10/13 Preferências Menu Tools > Preferences > Line Gutter > Show Line Gutter Nelson Freire (ISEP LEI-BDDAD 2017/18) 31/59
Criar Novo Worksheet SQL Worksheet 11/13 Alternativa ao comando do menu Especifica a ligação que processa a Worksheet Nelson Freire (ISEP LEI-BDDAD 2017/18) 32/59
Gravar Script Em ficheiro *.sql Menu File > Save SQL Worksheet 12/13 Nelson Freire (ISEP LEI-BDDAD 2017/18) 33/59
Abrir Ficheiro do Script *.sql Ficheiro *.sql Menu File > Open SQL Worksheet 13/13 Nelson Freire (ISEP LEI-BDDAD 2017/18) 34/59
Programação Visual Exemplo Tabelas Nelson Freire (ISEP LEI-BDDAD 2017/18) 35/59
Procedimento Clique-direito no nó Tables > New Table Tabela: Criação Visual 1/3 Adicionar coluna Nelson Freire (ISEP LEI-BDDAD 2017/18) 36/59
Visualizar SQL-DDL Tabela: Criação Visual 2/3 Nelson Freire (ISEP LEI-BDDAD 2017/18) 37/59
Especificar Chave-Primária Tabela: Criação Visual 3/3 Nelson Freire (ISEP LEI-BDDAD 2017/18) 38/59
Procedimento Clique-direito no nó da tabela > Edit Tabela: Edição Visual Nelson Freire (ISEP LEI-BDDAD 2017/18) 39/59
Interesse Visualizar/editar: Especificação da tabela Dados da tabela Procedimento Clique-direito no nó da tabela > Open Tabela: Abertura Visual 1/5 Dados Modelo Restrições SQL-DDL Para editar Nelson Freire (ISEP LEI-BDDAD 2017/18) 40/59
Dados da Tabela Editar registos Adicionar registos Eliminar.. registos Tabela: Abertura Visual 2/5 Dados Refresh desta visualização Adicionar Registo Eliminar Registo Commit para atualizar BD Nelson Freire (ISEP LEI-BDDAD 2017/18) 41/59
Modelo da Tabela Tabela: Abertura Visual 3/5 Modelo Refresh desta visualização Copia para Data Modeler Nelson Freire (ISEP LEI-BDDAD 2017/18) 42/59
Restrições da Tabela Tabela: Abertura Visual 4/5 Restrições Refresh desta visualização Edição Nelson Freire (ISEP LEI-BDDAD 2017/18) 43/59
SQL-DDL da Tabela Tabela: Abertura Visual 5/5 SQL-DDL Nelson Freire (ISEP LEI-BDDAD 2017/18) 44/59
Procedimento Clique-direito no nó da tabela > Table > Drop Tabela: Eliminação Visual Elimina a tabela mesmo com Objetos dropped são Elimina a tabela referências dela noutras tabelas, guardados no Recycle Bin do Recycle Bin. aplicando as restrições Cascade. até surgir um commit.. Nelson Freire (ISEP LEI-BDDAD 2017/18) 45/59
Múltiplos Esquemas Relacionais Conta Oracle com Múltiplos Esquemas Relacionais Nelson Freire (ISEP LEI-BDDAD 2017/18) 46/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 Nelson Freire (ISEP LEI-BDDAD 2017/18) 47/59
Conta Oracle com Múltiplos Esquemas Relacionais 2/3 Para Facilitar o Trabalho Filtrar as tabelas do esquema relacional pretendido. // exemplo: esquema Alunos. Procedimento: Selecionar 1. Nó Tables. 2. Botão Apply Filter. Especificar o filtro: Usar o botão + para adicionar critério. Selecionar a opção Match Any. Nelson Freire (ISEP LEI-BDDAD 2017/18) 48/59
Outra Solução 1. Criar uma ligação para cada esquema relacional: Alunos Conta Oracle com Múltiplos Esquemas Relacionais 3/3 Encomendas Ligação filtra esquema Alunos. 2. Em cada ligação: Filtrar o esquema relacional correspondente. Todas as ligações da mesma conta do servidor Oracle partilham o mesmo esquema de BD. Ligação filtra esquema Encomendas. Nelson Freire (ISEP LEI-BDDAD 2017/18) 49/59
Modelo de Dados Relacional de BD Obter Modelo de Dados Relacional de uma BD Nelson Freire (ISEP LEI-BDDAD 2017/18) 50/59
Obter Modelo de Dados Relacional de uma BD 1/8 Ligação da conta Oracle NMF Tabelas Modelo Relacional Nelson Freire (ISEP LEI-BDDAD 2017/18) 51/59
Importar o Dicionário de Dados da BD Obter Modelo de Dados Relacional de uma BD 2/8 Selecionar Nelson Freire (ISEP LEI-BDDAD 2017/18) 52/59
Passo 1 Ligar à BD (exemplo) Obter Modelo de Dados Relacional de uma BD 3/8 1. Selecionar a ligação à BD 2. Clique Nelson Freire (ISEP LEI-BDDAD 2017/18) 53/59
Passo 2 Selecionar a BD Obter Modelo de Dados Relacional de uma BD 4/8 1. Selecionar a BD 2. Clique Nelson Freire (ISEP LEI-BDDAD 2017/18) 54/59
Passo 3 Selecionar Tabelas da BD Obter Modelo de Dados Relacional de uma BD 5/8 1. Selecionar 2. Clique Nelson Freire (ISEP LEI-BDDAD 2017/18) 55/59
Passo 4 Gerar o Modelo Obter Modelo de Dados Relacional de uma BD 6/8 Clique Nelson Freire (ISEP LEI-BDDAD 2017/18) 56/59
Geração do Modelo Obter Modelo de Dados Relacional de uma BD 7/8 Geração do modelo Nelson Freire (ISEP LEI-BDDAD 2017/18) 57/59
Modelo de Dados Relacional Gerado Obter Modelo de Dados Relacional de uma BD 8/8 Nelson Freire (ISEP LEI-BDDAD 2017/18) 58/59
Bibliografia Vídeo Perspetiva Geral https://www.youtube.com/watch?v=u-iigi2obuo Leitura Menu Help > Table of Contents http://docs.oracle.com/database/sql-developer-17.2/index.html Nelson Freire (ISEP LEI-BDDAD 2017/18) 59/59