BDDAD Bases de Dados Oracle Nelson Freire (ISEP LEI-BDDAD 2016/17) 1/49
Introdução Instalar Abrir Ligar à BD no Servidor Oracle Programação Manual SQL Worksheet Script Editar Executar Saída Ficheiro Gravar Abrir Numeração de Linhas Programação Visual Tabela Criar, Editar, Abrir, Eliminar Dados Restrições Conta Oracle com Múltiplas Ligações Bibliografia Sumário Nelson Freire (ISEP LEI-BDDAD 2016/17) 2/49
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 estável: 4.1.5. É 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 2016/17) 3/49
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 2016/17) 4/49
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 2016/17) 5/49
Base de Dados Armazenada no servidor Oracle SLQ Developer Cliente do Servidor Ligar à BD no Servidor Oracle 1/5 Rede Cliente Servidor Ligação a BD no Servidor Requisitos Conta no servidor Ligação VPN à DEINET Procedimento Slides seguintes Nelson Freire (ISEP LEI-BDDAD 2016/17) 6/49
Procedimento (1/3) 1. Ligar à rede DEINET Ligação sem-fios 1. Ligar à rede EDUROAM 2. Ligar a VPN da DEINET Usar as credenciais da DEINET Ligação cablada Não é preciso ligar VPN Ligar à BD Alojada no Servidor Oracle 2/5 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 botão Criar. Nelson Freire (ISEP LEI-BDDAD 2016/17) 7/49
Procedimento (2/3) Ligar à BD Alojada no Servidor Oracle 3/5 2. Clique-direito no nó Connections do painel Connections 3. Selecionar New Connection Nelson Freire (ISEP LEI-BDDAD 2016/17) 8/49
Procedimento (3/3) Ligar à BD Alojada no Servidor Oracle 4/5 4. Completar as entradas da caixa de diálogo Database Connection. Exemplo Exemplo de conta no servidor Oracle: grupo 1 da turma 2DA 5. Clique botão Connect p d b o r c l Computador que aloja o servidor Oracle Nelson Freire (ISEP LEI-BDDAD 2016/17) 9/49
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 especifica, 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 5/5 Ligação BDDAD estabelecida Nelson Freire (ISEP LEI-BDDAD 2016/17) 10/49
Solução 1 Comando GUI Reset Password Alterar Password da Conta do Servidor Oracle Solução 2 Comando SQL numa worksheet Ex: BDDAD_2DA_1 Nelson Freire (ISEP LEI-BDDAD 2016/17) 11/49
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 2016/17) 12/49
Painéis do lado esquerdo GUI: Painéis 1/3 Painel Connections Painel Reports Nelson Freire (ISEP LEI-BDDAD 2016/17) 13/49
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 2016/17) 14/49
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 2016/17) 15/49
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 2016/17) 16/49
Programação de BD 1/3 Tipos de Programação Manual Visual Nelson Freire (ISEP LEI-BDDAD 2016/17) 17/49
Programação Manual Escrita de instruções: Em SQL Worksheets. Exemplo: Programação de BD 2/3 Comandos SQL Nelson Freire (ISEP LEI-BDDAD 2016/17) 18/49
Programação de BD 3/3 Programação Visual BD especificada visualmente na GUI. Exemplo: Nelson Freire (ISEP LEI-BDDAD 2016/17) 19/49
Programação Manual SQL Worksheet Nelson Freire (ISEP LEI-BDDAD 2016/17) 20/49
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 2016/17) 21/49
Abrir Clique-direito na ligação > Open SQL Worksheet SQL Worksheet 2/13 Alternativa Nelson Freire (ISEP LEI-BDDAD 2016/17) 22/49
Pode incluir 4 painéis para: Editar código Worksheet // editar scripts SQL ou PL/SQL Query Builder // editar queries graficamente. 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 2016/17) 23/49
Editar Código SQL (1/2) SQL Worksheet 4/13 Completar código Ctrl + Espaço Preciso especificar a ligação da worksheet Especifica a ligação da worksheet Múltiplos comandos Terminar cada comando com ; Facilita a execução isolada dos comandos. Comentário Iniciado por -- 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 2016/17) 24/49
Editar Código SQL (2/2) Menu de contexto Clique-direito na worksheet SQL Worksheet 5/13 Operações da Barra de Ferramentas Alternar comentários 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 2016/17) 25/49
Executar Código SQL Um só comando SQL: 1. Indicar o comando (alternativas): Colocar cursor dentro do comando. Selecionar todo o comando. 2. Executar (alternativas): Clique no comando 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 comando CTRL + ENTER SQL Worksheet 6/13 Execução parcial do script Execução total do script Nelson Freire (ISEP LEI-BDDAD 2016/17) 26/49
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 apaga 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 apaga as saídas: Script Output e Query Result. Clear: Apaga todas as instruções. Nelson Freire (ISEP LEI-BDDAD 2016/17) 27/49
Saída da Execução (1/2) SQL Worksheet 8/13 Apaga resultado Script Output Mostra o resultado da execução de comandos SQL. Tabela criada 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 2016/17) 28/49
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 2016/17) 29/49
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 2016/17) 30/49
Criar Novo Worksheet SQL Worksheet 11/13 Alternativa Nelson Freire (ISEP LEI-BDDAD 2016/17) 31/49
Gravar Script Em ficheiro *.sql Menu File > Save SQL Worksheet 12/13 Nelson Freire (ISEP LEI-BDDAD 2016/17) 32/49
Abrir Ficheiro do Script *.sql Ficheiro *.sql Menu File > Open SQL Worksheet 13/13 Nelson Freire (ISEP LEI-BDDAD 2016/17) 33/49
Programação Visual Exemplo Tabelas Nelson Freire (ISEP LEI-BDDAD 2016/17) 34/49
Procedimento Clique-direito no nó Tables > New Table Tabela: Criação Visual 1/3 Adicionar coluna Nelson Freire (ISEP LEI-BDDAD 2016/17) 35/49
Visualizar SQL-DDL Tabela: Criação Visual 2/3 Nelson Freire (ISEP LEI-BDDAD 2016/17) 36/49
Especificar Chave-Primária Tabela: Criação Visual 3/3 Nelson Freire (ISEP LEI-BDDAD 2016/17) 37/49
Procedimento Clique-direito no nó da tabela > Edit Tabela: Edição Visual Nelson Freire (ISEP LEI-BDDAD 2016/17) 38/49
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 2016/17) 39/49
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 2016/17) 40/49
Modelo da Tabela Tabela: Abertura Visual 3/5 Modelo Refresh desta visualização Copia para Data Modeler Nelson Freire (ISEP LEI-BDDAD 2016/17) 41/49
Restrições da Tabela Tabela: Abertura Visual 4/5 Restrições Refresh desta visualização Edição Nelson Freire (ISEP LEI-BDDAD 2016/17) 42/49
SQL-DDL da Tabela Tabela: Abertura Visual 5/5 SQL-DDL Nelson Freire (ISEP LEI-BDDAD 2016/17) 43/49
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 2016/17) 44/49
Múltiplos Esquemas Relacionais Conta Oracle com Múltiplos Esquemas Relacionais Nelson Freire (ISEP LEI-BDDAD 2016/17) 45/49
Conta no Servidor Oracle Tem acesso: A um 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 2016/17) 46/49
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 2016/17) 47/49
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 2016/17) 48/49
Vídeo Perspetiva Geral https://www.youtube.com/watch?v=u-iigi2obuo Leitura Menu Help > Table of Contents https://docs.oracle.com/cd/e55747_01/index.htm Bibliografia Nelson Freire (ISEP LEI-BDDAD 2016/17) 49/49