Pular para o conteúdo principal

Postagens

O que devemos conhecer sobre SQL/Oracle Parte 11: Gerenciando objetos de schema

Adicionando e modificando colunas É possível alterar colunas existentes em uma tabela, seja adicionando uma nova ou alterando uma já existente. Durante a adição de uma coluna é necessário especificar seu nome e seu tipo de dados, também é possível incluir um valor default e uma restrição. Toda coluna adicionada é incluída no final da lista de colunas de uma tabela, vejamos um exemplo: ALTER TABLE FUNCIONARIOS ADD (DATA_DEMISSAO VARCHAR2(20), ATIVO CHAR(1) DEFAULT ‘S’ NOT NULL); No exemplo acima incluímos duas novas colunas, sendo que em uma delas especificamos um valor default e uma restrição. É importante ressaltar que para o caso de restrições NOT NULL devemos especificar um valor default se essa tabela já possuir registros. Para o caso de modificações em colunas existentes é possível alterar o tipo de dados, o valor default e as restrições, quando o comando for construído e mais de uma modificação for necessária ela deve obedecer a essa ordem, porém o comando não

O que devemos conhecer sobre SQL/Oracle Parte 10: Criando outros objetos de schema

Criando e usando VIEWS simples e complexas Uma VIEW (visão) nada mais é que um comando SELECT nomeado, e armazenado na base de dados, sendo acessado da mesma maneira que uma tabela comum. Possui como objetivo ocultar a complexidade da consulta que o forma, seja apenas para méritos de facilidade de uso ou segurança. A criação de uma VIEW é muito simples, basta utilizar o comando de criação seguido da consulta, vale ressaltar que expressões devem ser nomeadas caso contrário um erro ocorrerá, sua sintaxe é a seguinte: CREATE VIEW VW_FUNCIONARIOS AS SELECT F.COD, F.NOME FROM FUNCIONARIOS F; Também é possível criar VIEWs capazes de atualizar a tabela na qual ela é baseada, para tal devemos ter em mente: As restrições da tabela devem ser respeitadas; Se a consulta utilizar a cláusula GROUP BY ou qualquer outro tipo de agregação ela não será gerada; Se a cláusula DISTINCT for utilizada também não será possível à criação; Se na cláusula FROM houver referencia a outras

O que devemos conhecer sobre SQL/Oracle Parte 9: Recuperando dados utilizando subconsultas

Definindo subconsultas Como visto anteriormente uma consulta é um comando SELECT, logo uma subconsulta é um comando SELECT dentro de outro comando, que pode ser outro SELECT, INSERT, UPDATE, DELETE, CREATE TABLE ou CREATE VIEW: Subconsulta é um SELECT dentro de outro comando SQL; O outro comando SQL é chamado de pai. O nível externo é chamado de top-level; O comando SQL top-level contendo a subconsulta pode ser um SELECT, INSERT, UPDATE, DELETE, CREATE TABLE ou CREATE VIEW; Subconsultas podem estar aninhadas em outras subconsultas; Algumas subconsultas podem funcionar de forma autônoma. Outras funcionam de modo correlacionado, sempre que possuem referencia a suas consulta pai; Descrevendo os tipos de problemas que subconsultas podem resolver As subconsultas podem ser utilizadas para resolver uma série de problemas, sendo eles: Consultas complexas: subconsultas podem encontrar respostas para perguntas e então usar essas respostas para responder novas pergunt

O que devemos conhecer sobre SQL/Oracle Parte 8: Apresentando dados de varias tabelas

Escrevendo comandos SELECT que acessam dados de mais de uma tabela  As junções são utilizadas para mesclar registros de uma ou mais tabelas em um único resultado. Temos duas grandes categorias para a criação das junções: Inner joins: conectam registros em duas ou mais tabelas se, e somente se, existirem registros iguais em todas as tabelas relacionadas (a cláusula INNER é opcional): SELECT F.NOME, D.DEPARTAMENTO FROM FUNCIONARIOS F INNER JOIN DEPARTAMENTOS D ON F.DEP = D.DEP; Acima duas tabelas unidas pela condição de igualdade DEP, onde serão apresentados os funcionários que pertencem a um departamento. Outer joins: conectam registros em duas ou mais tabelas de maneira inclusiva, se existirem  dados em uma tabela que não tenha valores correspondentes em outra, esses registros não correspondentes serão incluídos no resultado (a cláusula OUTER é opcional):  SELECT F.NOME, D.DEPARTAMENTO FROM FUNCIONARIOS F LEFT OUTER JOIN DEPARTAMENTOS D ON F.DEP = D

O que devemos conhecer sobre SQL/Oracle Parte 7: Apresentando dados agregados utilizando funções de grupo

Identificando as funções de grupo disponíveis Funções de grupo, ou agregadas, retornam um valor para zero ou mais registros encontrados. São utilizados em comandos SELECT, buscam um grupo de registros retornando um valor para esse grupo. Trabalham com diferentes tipos de dados, mas são as funções agregadas numéricas as mais utilizadas. É importante ter em mente que as funções agregadas devem ser tratadas de maneira separada das funções escalares (de uma única linha), pois enquanto uma trata conjuntos de registros à outra trabalha sobre cada registro retornado. • Funções de grupo são conhecidas como agregadas ou multilinha; • Funções de grupo retornam um valor para cada conjunto de registros (de zero ou mais registros); • Funções de grupo determinam valores máximos, mínimos, media entre outros; • Funções de grupo podem determinar o rank em um grupo de registros; Descrevendo o uso das funções de grupo Funções de grupo podem ser usadas nas clausulas SE

O que devemos conhecer sobre SQL/Oracle Parte 6: Usando funções de linha única (single-row) para customizar a saída de dados

Descrevendo os vários tipos de funções disponíveis em SQL As funções de linha única podem ou não receber dados adicionais, parâmetros, realizar um determinado processamento e em seguida devolver um valor. Elas possuem esse nome por serem processadas a cada registro recuperado de uma consulta, e do mesmo modo retornar um resultado para cada registro. Existem basicamente dois grupos dessas funções, as “built-in” que são parte integrante do Oracle e as “user-defined”, desenvolvidas pelos usuários. Quanto a funções de linha única podemos dizer: Funções SQL aceitam um ou mais parâmetros de entrada. Alguns não recebem nenhum; Cada função retorna um único valor, nem mais nem menos; Funções SQL executam tarefas de vários tipos; Funções podem ser incluídas em qualquer lugar de uma expressão SQL, desde que as regras dos tipos de dados sejam respeitadas; Funções podem ser incluídas na clausula WHERE do SELECT, UPDATE e DELETE; Funções podem ser incluídas nas listas de colunas do S

O que devemos conhecer sobre SQL/Oracle Parte 5: Restringindo e ordenando dados

Limitando registros recuperados por uma consulta Na grande maioria dos casos apenas listar as colunas desejadas de certa tabela não é o suficiente, é necessário restringir o resultado de acordo com regras para que esse resultado possa ter algum significado, isso é alcançado pela cláusula WHERE. O WHERE não é obrigatório, mas quando usado no comando SELECT deve vir depois da cláusula FROM. Ele sempre testa todos os registros recuperados pela consulta, retornando aqueles que o satisfizerem. Para realizar as comparações da cláusula WHERE temos o operador de igualdade “=”, maior que “>”, maior ou igual “>=”, menor que “<”, menor ou igual “<=”, diferente “<>“, “!=” ou “^=”, se pertence “IN” e se contém uma parte especifica “LIKE”. Comparações com números são logicas, onde números menores são menores que números maiores. Os caracteres respeitam a ordem do alfabeto, onde “A” é menor que “Z”, e “Z” é menor que “a” (letras maiúsculas são sempre menores), além disso,