Unidade G - Linguagem de consulta estruturada - SQL

Linguagem de consulta estruturada - SQL II

Linguagem interativa de manipulação de dados (DML).

Algebra Relacional

Linguagem de consulta que consiste em um conjunto de operações, tendo como entrada uma ou duas relações e produz como resultado uma nova relação.

Composta por um conjunto básico de operações que permitem ao usuário especificar novas relações em um banco de dados.

É uma linguagem de consulta formal, porém procedural que possibilita ao usuário realizar uma sequência de operações na base de dados para calcular o resultado desejado, implementa e otimiza consultas em SGBD’s.

Os conceitos da Algebra Relacional são utilizados na linguagem de consulta padrão SQL.

Características:

- usuários especificam os dados necessários e como obtê-los;

- entrada: uma ou duas relações;
- saída: uma nova relação resultado.

Expressão da Álgebra Relacional

Sequência de operações.

Operadores de Comparação

=, <, <=, >, >=, ≠

Operadores lógicos

^ (and), v (or), ¬ (not)

Teoria dos Conjuntos

- Utiliza operações usuais da Teoria dos Conjuntos, na Álgebra Relacional cada relação é considerada um conjunto de tuplas. Levam em consideração apenas a estrutura da relação e não a semântica, nas operações binárias sobre conjuntos a maioria exige Compatibilidade de Domínio nas relações.

Relação = Uma relação é um conjunto de tuplas, todos os elementos de um conjunto são distintos. Nenhuma tupla pode ter a mesma combinação de valores para todos os seus atributos.

Operações

Indicada por σ (a letra grega sigma), é uma operação que para um conjunto inicial fornecido como argumento, produz um subconjunto estruturalmente idêntico, mas apenas com os elementos do conjunto original que atendem a uma determinada condição. A seleção pode ser entendida como uma operação que filtra as linhas de uma tabela, e é também uma operação unária, já que opera sobre um único conjunto de dados.

Seleção - Produz um subconjunto das linhas da tabela, sendo dada uma condição a ser verificada.

Exemplo: Selecionar os produtos com preço < 300,00.

Geralmente indicada na literatura por π (a letra grega pi) produz um conjunto onde há um elemento para cada elemento do conjunto de entrada, sendo que a estrutura dos membros do conjunto resultante é definida nos argumentos da operação. Pode ser entendida como uma operação que filtra as colunas de uma tabela. Por operar sobre apenas um conjunto de entrada, a projeção é classificada como uma operação unária.

Projeção - Produz um subconjunto das colunas da tabela, sendo dados os atributos desejados no resultado.

Ex.: Projetar a tabela Produtos para Produto e Valor

É uma operação que produz uma combinação entre as linhas de uma tabela com as linhas correspondentes de outra tabela, sendo em princípio correspondente a uma seleção pelos atributos de relacionamento sobre um produto cartesiano dessas tabelas.

Junção - Produz uma tabela composta de duas outras que se relacionam.

Ex.: Juntar a tabela Produtos e Fornecedor através de Fornecedor e Cod_Fornec.

SQL – DML

Linguagem de manipulação de dados (ou DML, de Data Manipulation Language) é uma linguagem para a recuperação, inclusão, remoção e modificação de informações em um banco de dados.

Linguagem de manipulação de dados (ou DML, de Data Manipulation Language. Pode ser procedural, que especifica como os dados devem ser obtidos do banco; pode também ser declarativa (não procedural), em que os usuários não necessitam especificar o caminho de acesso, isto é, como os dados serão obtidos.

INSERT - usado para inserir um registro (formalmente uma tupla) a uma tabela existente.

INSERT INTO tabela (coluna1, [coluna2, ...]) VALUES (valor1, [valor2, ...])>INSERT INTO tabela (coluna1, [coluna2, ...]) VALUES (valor1, [valor2, ...])

SELECT - declaração SQL que retorna uma lista com os resultados de registros de uma ou mais tabelas.

SELECT * FROM <nome_tabela> * - Retorna todos os campos da tabela

Select <campos da tabela>
From <nome da tabela>
Where <condição>

Este comando recupera zero ou mais linhas de uma ou mais tabelas-base, tabelas temporárias ou visões em um banco de dados.

UPDATE - altera os dados de um ou mais registros em uma tabela. Todas as linhas podem ser atualizadas, ou um subconjunto pode ser escolhido através de uma condição.

UPDATE <nome da tabela>
SET <coluna1 = valor1, coluna2 = valor2>
WHERE <condição>

DELETE - permite remover linhas existentes de uma tabela.

DELETE FROM <nome da tabela>
WHERE <condição>

DML – Distinct

A cláusula DISTINCT elimina os dados duplicados em um Select.

Exemplo:

SELECT DISTINCT * FROM CLIENTE;

DML - Funções Agregadas

COUNT(*) Obtém o número total de registros, incluindo nulos.

SELECT COUNT(*) FROM <nome da tabela>
COUNT(<campo>) Obtém o número de registros, excluindo os nulos
SELECT COUNT(coluna1) FROM <nome da tabela>

AVG(<campo>) Obtém o valor médio (média dos valores) do campo especificado

SELECT AVG(coluna1) FROM <nome da tabela>

MIN(<campo>) Obtém o valor mínimo (menor valor) do campo especificado

SELECT MIN(coluna1) FROM <nome da tabela>

MAX(<campo>) Obtém o valor máximo (maior valor) do campo especificado

SELECT MAX(coluna1) FROM <nome da tabela>

SUM(<campo>) Obtém a soma dos valores para o campo especificado

SELECT SUM(coluna1) FROM <nome da tabela>