Structured Query Language (SQL)

Documentos relacionados
SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Linguagem de Consulta Estruturada SQL- DML

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Comandos de Manipulação

Banco de Dados. Prof. Antonio

Linguagem SQL (Parte I)

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

Linguagem SQL Sub-linguagem DDL

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Linguagem SQL Parte I

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

SQL. Autor: Renata Viegas

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

A linguagem SQL

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Pedro F. Carvalho OCP Oracle g LINGUAGEM SQL. São José do Rio Preto

Introdução à linguagem SQL

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

EXEMPLOS DE COMANDOS NO SQL SERVER

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

EXERCÍCIOS PRÁTICOS. Banco de Dados

SQL. Prof. Márcio Bueno.

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Introdução ao SQL Avançado

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL DDL. Frederico D. Bortoloti

SQL Structured Query Language

Introdução ao SQL. O que é SQL?

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Comandos DDL. id_modulo = id_m odulo

Introdução ao SQL. Aécio Costa

Programação em Banco de Dados. Dailton Trevisan

SQL DML. Frederico D. Bortoloti

Programação SQL. Introdução

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

1. Domínio dos Atributos

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Linguagem de Consulta - SQL

Treinamento sobre SQL

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

Banco de Dados. Maurício Edgar Stivanello

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

ADMINISTRAÇÃO DE BANCO DE DADOS

NOME SEXO CPF NASCIMENTO SALARIO

Linguagem de Consulta - SQL

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

Linguagem de Consulta Estruturada (SQL)

Linguagem SQL. Comandos Básicos

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

O que são Bancos de Dados?

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Operação de União JOIN

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

4.6. SQL - Structured Query Language

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

BANCO DE DADOS CONCEITOS BÁSICOS

Fundamentos do Sistema Gerenciador de Banco de Dados

Structured Query Language (SQL) Aula Prática

Principais Comandos SQL Usados no MySql

Principais Instruções em SQL

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Curso PHP Aula 08. Bruno Falcão

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

SQL (Structured Query Language)

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

SQL (Structured Query Language)

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

SQL UMA ABORDAGEM INTERESSANTE

Bases de Dados 2005/2006. Aula 5

Projeto de Banco de Dados: Empresa X

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

SQL (Structured Query Language)

Exercícios de Lógica Exercícios de Fixação 08

Memória de aula Semanas 15 e 16

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

Tarefa Orientada 13 Agrupamento e sumário de dados

Linguagem de Banco de Dados DML Exercícios

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

Definida pelo American National Standard Institute (ANSI) em 1986

Transcrição:

SQL

Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas de desenvolvimento de bancos de dados relacionais.

Histórico O SQL tornou-se de fato o padrão depois de 1986, quando o American National Standards Institute (ANSI), a organização responsável pelos padrões industriais nos Estados Unidos, endossou o SQL como linguagem padrão para os bancos de dados relacionais.

Histórico Desde então o SQL vem sofrendo atualizações; já sofreu duas atualizações oficiais: em 1989; em 1992: esse é o usado atualmente mas ainda sofre atualizações, para se adequar as últimas versões de banco de dados relacionais lançadas no mercado.

Histórico SQL3 Padrão aprovado em 1999; Versão da linguagem orientada a objetos; SGBDs comerciais oferecem parte da SQL3; Falta de padronização.

O que é SQL O SGBD (Sistema Gerenciador de Banco de Dados) necessita de uma linguagem que permita aos usuários acesso aos dados. SQL (Structured Query Language) é a linguagem de consulta adotada pela maioria dos SGBDs relacionais.

Características do SQL Linguagem English-like Processa conjunto de registros (tabelas) ao invés de registros individuais Padronizada Fornece comandos para uma série de tarefas, como: Recuperação de dados; Inclusão, atualização e exclusão de registros; Criar, modificar e excluir objetos do banco; Etc.

Comandos SQL

Comandos SQL Comandos DDL (Data Definition Language) Usados para construir e modificar estruturas de tabelas e outros objetos no BD. Têm efeito imediato. Comandos DML(Data Manipulation Language) Usados para trabalhar com os dados nas tabelas. Necessitam de um COMMIT para sua confirmação.

Construções básicas Comando SELECT Recupera informações do banco de dados Sintaxe: SELECT lista_de_colunas FROM lista_de_tabelas WHERE condições GROUP BY agrupamento *** ORDER BY ordenação_para_apresentação

Construções básicas Exemplo: SELECT nome FROM Departamentos; ou SELECT * FROM Departamentos; * =>Seleção de todas os campos (ou colunas) da tabela de Departamentos

Construções básicas Distinct Elimina duplicidades, significando que somente relações distintas serão apresentadas como resultado de uma pesquisa. Exemplo SELECT DISTINCT nome FROM Empregado;

Construções básicas TOP n Seleciona um número específico de registros. Exemplo SELECT TOP 10 * FROM Cidade;

Funções Agregadas (ou de Agrupamento) Função Avg(n) Count(expr) Max(expr) Min(expr) Sum(n) Retorno Média do valor n, ignorando nulos Vezes que o número da expr avalia para algo não nulo Maior valor da exp Menor valor da expr Soma dos valores de n, ignorando nulos

Construções básicas Select AVG (salarios) From Funcionario Select Count (codigopessoa) From Pessoa Select MAX (datainclusao) FROM Pessoa Select MIN (datainclusao) FROM Pessoa Select SUM (salarios) FROM Funcionario

Construções básicas Cláusula WHERE Usada para selecionar as linhas para consultar ou alterar. Se omitida, todas as linhas da tabela serão submetidas à ação referente ao comando em questão. Exemplo: SELECT nome FROM Pessoa WHERE idade >= 10;

Construções básicas Você pode fazer condições compostas com AND, OR ou NOT. SELECT nome FROM empregados (AND) WHERE (nome = JOSE AND salario = 20) (OR) WHERE (salario = 10 OR salario = 20) (NOT) WHERE (nome IS NOT NULL)

Operadores lógicos Operador = > >= < <= Significado Igual a Maior que Maior que ou igual a Menor que Menor que ou igual a

Construções básicas Você pode fazer condições compostas com like, between ou is null. SELECT nome FROM empregados (like) WHERE (nome like %JOSE% ) (between) WHERE (salario between 10 and 100) (is null) WHERE (nome is null) % => independente, qualquer coisa

Demais Operadores Operador Between...and... In (...) Like Is null Significado Entre dois valores (inclusive) Lista de valores Com padrão de caracteres É um valor nulo

Operadores Negativos Operador <> Significado Diferente Not nome coluna= Not nome coluna> Not between Not in Not like Is not null Diferente da coluna Não maior que Não entre dois valores informados Não existente numa dada lista de valores Diferente do padrão de caracteres informado Não é um valor nulo

Construções básicas Cláusula Group By Realiza o agrupamento por uma coluna da tabela SELECT nomefuncionario, nomedepartamento FROM Empregado GROUP BY nomedepartamento;

Construções básicas Cláusula Order By Modifica a ordem de apresentação do resultado da pesquisa (ascendente ou descendente). SELECT nome, datanascimento FROM Empregado ORDER BY nome ASC; *** ASC Ascendente *** DESC Descendente

Construções básicas Junção de Tabelas Join O uso da operação JOIN numa cláusula FROM especifica como se deseja que as tabelas sejam vinculadas. Use INNER JOIN para associar somente os tuplas coincidentes de ambas as tabelas. O OUTER JOIN liga as linhas de tabelas, mas não necessariamente precisam casar entre si. Desta forma, mesmo as linhas que não se encontrou referência no cruzamento das tabelas aparecerá no Resultado de Dados. Existem tipos de OUTER JOIN:

Construções básicas LEFT JOIN usado para associar todas as tuplas da primeira tabela com apenas as coincidentes na segunda tabela. O Access retorna com valor nulo para as tuplas que não coincidem na segunda tabela. RIGHT JOIN usado para associar todas as tuplas da segunda tabela com apenas as coincidentes na primeira tabela

Construções básicas SELECT nome_da_tabela1.nome_do_campo, nome_da_tabela2.nome_do_campo FROM nome_da_tabela1 inner join nome_da_tabela2 on nome_da_tabela1.nome_da_chaveprimaria1= nome_da_tabela2.nome_da_chave_estrangeira

Construções básicas SELECT Nome_Tabela.nome_campo FROM Tabela1 LEFT OUTER JOIN Tabela2 ON Tabela1.chave_primaria = Tabela2.chave_estrangeira SELECT Nome_Tabela.nome_campo FROM Tabela1 RIGHT OUTER JOIN Tabela2 ON Tabela1.chave_primaria = Tabela2.chave_estrangeira

Construções básicas Um comando SELECT também pode fazer uma consulta que traz dados de duas ou mais tabelas. SELECT nome_da_tabela1.nome_do_campo, nome_da_tabela2.nome_do_campo FROM nome_da_tabela1, nome_da_tabela2 WHERE nome_da_tabela1.nome_da_chaveprimaria1= nome_da_tabela2.nome_da_chave_estrangeira

Construções básicas Comando INSERT Permite adicionar linhas à uma tabela Sintaxe INSERT INTO [(coluna1,..., colunan)] VALUES (<value1>,..., <valuen>); Exemplo INSERT INTO Pessoa (rg, nome, sexo) VALUES (435442829, João, M );

Construções básicas Comando UPDATE Permite a alteração de valores de uma tabela Sintaxe: UPDATE <tabela> SET <coluna> [..., colunan]= <expressão> WHERE <condição>; Exemplo: UPDATE Pessoa SET nome= José WHERE rg=435442829;

Construções básicas Comando DELETE Remove linhas de uma tabela Sintaxe: DELETE FROM <tabela> WHERE <condição>; Exemplo: DELETE FROM Pessoa WHERE rg=435442829;

Tipos de dados TINYINT: Valores numéricos inteiros variando de 0 até 256 SMALLINT: Valores numéricos inteiros variando de 32.768 até 32.767 INT: Valores numéricos inteiros variando de -2.147.483.648 até 2.147.483.647 BIT: Somente pode assumir os valores 0 ou 1. Utilizado para armazenar valores lógicos DECIMAL(I,D) e NUMERIC(I,D): Armazenam valores numéricos inteiros com casas decimais utilizando precisão. I deve ser substituído pela quantidade de dígitos total do número e D deve ser substituído pela quantidade de dígitos da parte decimal (após a vírgula) SMALLMONEY: Valores numéricos decimais variando de -214.748,3648 até 214.748,3647

Tipos de dados MONEY: Valores numéricos decimais variando de - 922.337.203.685.477,5808 até 922.337.203.685.477,5807 REAL: Valores numéricos aproximados com precisão de ponto flutuante, indo de -3.40E + 38 até 3.40E + 38 FLOAT: Valores numéricos aproximados com precisão de ponto flutuante, indo de -1.79E + 308 até 1.79E + 308 SMALLDATETIME: Armazena hora e data variando de 1 de janeiro de 1900 até 6 de junho de 2079. A precisão de hora é armazenada até os segundos. DATETIME: Armazena hora e data variando de 1 de janeiro de 1753 até 31 de Dezembro de 9999. A precisão de hora é armazenada até os centésimos de segundos

Tipos de dados CHAR(N): Armazena N caracteres fixos (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco VARCHAR(N): Armazena N caracteres (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido TEXT: Armazena caracteres (até 2.147.483.647) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que 2.147.483.647, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado

Tipos de dados NCHAR(N): Armazena N caracteres fixos (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco NVARCHAR(N): Armazena N caracteres (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido NTEXT: Armazena caracteres (até 1.073.741.823) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que 1.073.741.823, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado

Criando tabelas Uma tabela pode ser criada com o comando Create Table CREATE TABLE Cliente1 ( CodCliente int NOT NULL, Nome varchar(50), CPF varchar(11) NULL, DataCadastro datetime NOT NULL DEFAULT (getdate()), Cidade varchar(20) NULL, UF char(2) NULL, País varchar(20) DEFAULT ('Brasil') ) ** NOT NULL (Campo não pode ser nulo) ** NULL (Campo pode ser nulo) ** DEFAULT (Valor padrão para campo caso o mesmo não seja informado)