Buscar

29 SQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Structured Query Language (SQL)
A SQL é a linguagem padrão para trabalhar com banco de dados relacionais nos diferentes SGBDs disponíveis no mercado. Sua primeira versão foi desenvolvida pela IBM no início da década de 70 e, em 1986, o American National Standards Institute (ANSI) e a International Organization for Standardization (ISO) publicaram o primeiro padrão SQL, hoje disponível na versão SQL:2016 or ISO/IEC 9075:2016.
A SQL é composta por um conjunto de linguagens que permitem a definição, consulta e atualização de dados, além de recursos adicionais para a segurança e gestão do BD, distribuídas em:
DDL (Linguagem de Definição de Dados) – comandos usados para a definição das estruturas de dados, fornecendo as instruções que permitem a criação, modificação e remoção de objetos de banco de dados. A DDL trabalha com os metadados (dados acerca dos dados) que ficam armazenados no dicionário de dados (catálogo). 
DML (Linguagem de Manipulação de Dados) - comandos dentro da linguagem SQL utilizado para a recuperação, inclusão, remoção e modificação de informações no banco de dados. Aqui são realizadas as operações CRUD (Create, Retrieve, Update e Delete), através de comandos tais como: INSERT, SELECT, UPDATE e DELETE.
DCL (Linguagem de Controle de Dados) - comandos que permitem ao administrador de banco de dados gerenciar os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.
DTL (Linguagem de Controle de Transações) - linguagem de Controle de Transações e fornece mecanismos para controlar transações no banco de dados, usando comandos como BEGIN TRANSACTION, COMMIT e ROLLBACK.
Comandos SQL/DML para gerenciamento do banco de dados
CREATE DATABASE <nomeDB>;
Cria o BD chamado “nomeDB”
ALTER DATABASE <nomeDB> RENAME <novoNomeDB>;
ALTER DATABASE <nomeDB> TO OWNER <novoUser>;
Altera o nome do BD e seu proprietário
DROP DATABASE <nomeDB>;
Apaga todas as tabelas e estruturas associadas e, consequentemente, todos os dados existentes no BD.
CREATE TABLE <nomeTb>(
<nomeCampo1> <tipoDado> [<restrições>],
<nomeCampo2> <tipoDado> [<restrições>],
... [<restriçõesTabela>]
);
Cria a tabela “nomeTb” dentro do BD atual, contendo as colunas (campos) “nomeCampo1” e “nomeCampo2”, que deverão conter os tipos de dados definidos como “tipoDado” e as restrições de integridade indicadas. Os tipos de dados mais comuns são numéricos (integer, numeric, double precision), literal (char, varchar), lógico (bool) e temporal (date, time).
Cláusulas
As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta.
FROM – especifica a tabela de onde serão selecionados os registros.
WHERE – especifica as condições que devem reunir os registros que serão selecionados.
GROUP BY – separa os registros selecionados em grupos específicos.
HAVING – define a condição que deve satisfazer cada grupo.
ORDER BY – ordenar os registros selecionados com uma ordem especifica.
DISTINCT – selecionar apenas os dados distintos, sem repetição.
 
Operadores Lógicos
AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos.
OR – Ou lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto.
NOT – Negação lógica. Devolve o valor contrário da expressão.
Operadores Relacionais
< (menor que), > (maior que), <> (diferente de), <= (menor ou igual que), >= (maior ou igual que), = (igual a), BETWEEN (especifica um intervalo de valores), LIKE (compara um modelo e especifica registros de um banco de dados que tenham o mesmo início da extensão)
Funções de Agregação
As funções de agregação são usadas dentro de uma cláusula SELECT, em grupos de registros, para devolver um único valor que se aplica a um grupo de registros.
AVG – calcula a média dos valores de um campo determinado.
COUNT – devolve o número de registros da seleção.
SUM – devolve a soma de todos os valores de um campo determinado.
MAX – devolve o valor mais alto de um campo especificado.
MIN – devolve o valor mais baixo de um campo especificado.
Código comentado
	
	
	
	os dados em VALUES tem que ser informados na ordem exata em que as colunas foram citadas dentro do comando.
A sequência de códigos abaixo, que cria uma tabela, 
CREATE TABLE TB_AULA
	 (CO_SEQ_AULA NUMERIC(8,0) IDENTITY NOT NULL,
	 DT_AULA DATETIME NOT NULL,
	 TP_PRESENCA VARCHAR(1) NOT NULL,
	 CO_ALUNO NUMERIC(6,0) NOT NULL,
 CONSTRAINT PK_AULA PRIMARY KEY (CO_SEQ_AULA),
 CONSTRAINT CK_AULA_TPPRESENCA CHECK (TP_PRESENCA IN ('P','F'));
 CONSTRAINT FK_ALUNO_AULA 
 FOREIGN KEY (CO_ALUNO) REFERENCES TB_ALUNO (CO_SEQ_ALUNO));
pode ser entendida da seguinte forma:
DELETE FROM TB_ALUNO;
Exclui todos os dados da tabela TB_ALUNO
DELETE FROM TB_ALUNO WHERE NU_MATRICULA = 'ARLETE';
Exclui os dados da tabela TB_ALUNO apenas onde o campo NU_MATRICULA tiver a informação ARLETE
UPDATE TB_ALUNO SET NO_ALUNO = 'MARCELO ANDRADE' WHERE NU_MATRICULA = '010004';
Atualiza/modifica a tabela TB_ALUNO aplicando/atribuindo à coluna NO_ALUNO o valor MARCELO ANDRADE, apenas onde/naquelas células onde o valor da coluna NU_MATRICULA for 010004
A expressão CAST altera um tipo de dados para outro:
SELECT CAST(NU_MATRICULA AS NUMERIC(5,0)) FROM TB_ALUNO
WHERE NU_MATRICULA = '010001’;
O valor de NU_MATRICULA que é originalmente VARCHAR (alfanumérico) será modificado para NUMERIC, e o zero à esquerda em '010001’ não será mais mostrado.
SELECT COUNT (*) FROM TB_ALUNO
Seleciona/mostra a quantidade/contagem de registros na tabela TB_ALUNO
Sistemas de Banco de Dados (SGBD) que usam SQL
Apache Derby, Caché, DB2, Firebird, HSQLDB (banco de dados implementado em Java), Informix, Ingres, InterBase, Microsoft SQL Server, MySQL, Oracle, PointBase (banco de dados relacional implementado em Java), PostgreSQL, SQLite, LiteBase Mobile (dedicado a plataformas móveis como Palm OS, Pocket PC, WinCE, Symbian), Sybase Adaptive Server Enterprise, Teradata.
Normalização de dados
Normalização de dados é o processo formal e passo a passo que examina os atributos de uma entidade, com o objetivo de evitar anomalias observadas na inclusão, exclusão e alteração de registros.
Entidade é qualquer coisa, pessoa ou objeto que abstraído do mundo real torna-se uma tabela para armazenamento de dados. Normalmente usa-se o Modelo de Entidade e Relacionamento para criar o modelo do banco.
Chave primária
Valor que identifica de forma única um registro da tabela. Cada tabela deve incluir uma coluna ou conjunto de colunas que identifique de forma exclusiva, cada registro armazenado na tabela.
Com a chave primária cria-se uma identificação única que dá segurança para que aplicações possam acessar, alterar ou excluir dados.
É um importante objeto para aplicar regras de normalização de dados, onde muitas das formas normais tem por base as relações entre as tabelas.
Chave estrangeira
A chave estrangeira ocorre quando um atributo de uma relação for chave primária em outra relação. Em outras palavras sempre que houver o relacionamento 1:N entre duas tabelas, a tabela 1 receberá a chave primária e a tabela N receberá a chave estrangeira.
Integridade referencial
Referências entre colunas atribuídas como Chave Primária (Primary Key - PK) ou Chave Estrangeira (Foreign Key - FK) entre tabelas. Não é possível criar uma referência (relacionamento) de uma coluna se esta não for uma chave primária de outra tabela. Este tipo de integridade é fundamental para verificar se um dado será inserido de forma correta e, como é uma chave estrangeira, se este dado realmente existe.

Continue navegando