Introdução a linguagem SQL

Slides:



Advertisements
Apresentações semelhantes
Aula – Comandos SQL no MYSQL Prof. Francisco Olivar Junior
Advertisements

Ana Paula B. Barboza Ivana Xavier Rodrigues
Tópicos em Banco de Dados
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Banco de Dados Prof. Antonio.
Banco de Dados Prof. Antonio.
SQL Renata Viegas.
SQL Avançado Continuação
SQL Structured Query Language
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof.: Bruno Rafael de Oliveira Rodrigues
Projeto e Organização de BD
Visões Marilde Santos.
SQL Structured Query Language Juliano Brito da Justa Neves PESCD – Programa de Estágio Supervisionado de Capacitação Docente.
Maurício Edgar Stivanello
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
SQL – Consultas Básicas
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Operadores Especiais da SQL
Introdução à Engenharia da Computação
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
Material III-Bimestre Wagner Santos C. de Jesus
Operação de União “JOIN”
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Bancos de Dados – SQL – parte 1
Banco de dados Profª Kelly Medeiros.
1 SQL (Structured Query Language) Linguagem padrão usada em BD relacionais –SQL1 ou SQL-86: primeira versão do padrão. –SQL2 ou SQL-92: versão usada atualmente.
Banco de Dados Aplicado ao Desenvolvimento de Software
Monitoria GDI Aula Prática
SQL Álvaro Vinícius de Souza Coêlho
BANCO DE DADOS UNIVERSIDADE ESTADUAL DE SANTA CRUZ
Design Patterns / Acesso ao banco de dados (java.sql)
Tipos de Linguagens do Banco de Dados
(Linguagem de Consulta Estruturada)
SEGUNDA FASE / S2B MIC PERNAMBUCO SEGUNDA FASE / S2B MIC PERNAMBUCO
Oracle 9i: SQL e PL/SQL Bruno Celso Cunha de Freitas
Desenvolvendo um script SQL
Linguagem SQL.
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
Colégio da Imaculada Curso Técnico em Informática
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Banco de dados.
Linguagem de Definição de Dados
Baseado no material do Professor Raul Paradeda
Comandos SQL.
Definições de Esquemas, Restrições básicas e buscas
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
SCC Bancos de Dados e Suas Aplicações
Contatos Gladimir Catarino
Curso de Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Marcelo da Silveira Siedler.
Banco de Dados I I Comandos SQL
NOTA DE AULA SQL.
Linguagem SQL Prof. Juliano.
Structured Query Language
SQL (Structured Query Language)
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
Banco de Dados Maria Augusta (Magu).
VBA – Visual Basic para Aplicativos
Linguagem de definição de dados - SQL
Banco de Dados SQL (Structured Query Language) Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Kelyn Schenatto. Definição Linguagem de Consulta Estruturada (Structured Query Language); Desenvolvida inicialmente nos anos 70 nos laboratórios da IBM.
José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright © Dale Carnegie & Associates, Inc.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
MS-SQL Server Structure Query Language
Transcrição da apresentação:

Introdução a linguagem SQL Vandeclécio Lira da Silva Bacharel em Ciência da Computação - UERN

Introdução a SQL SQL (Structured Query Language) Linguagem Estruturada de Consulta; Criado no Inicio dos 70, pela IBM; É uma linguagem de altíssimo nível, bem próxima da linguagem humana (inglês); Linguagem declarativa, detalha a forma do resultado; Novos dialetos surgiram, derivando e evoluindo o SQL;

Introdução a SQL Padronização American National Standards Institute (ANSI) em 1986 International Organization for Standardization (ISO) em 1987 É a linguagem utilizada em praticamente todos os SGBDs do mercado. Mesmo com a padronização cada fabricante tem suas características

Introdução a SQL Formada pelo conjunto das linguagens: DDL (Data Definition Language): Liguagem de definição de dados DML (Data Manipulation Language): Linguagem de Manipulação de dados DQL (Data Query Language): Linguagem de consulta de Dados DCL (Data Control Language): Linguagem de Controle de Dados DTL (Data Transaction Language): Linguagem de Transação de Dados SQL DDL DML DQL DCL DTL

DDL Linguagem de Definição de Dados CREATE: Cria uma estrutura ALTER: Altera uma estrutura DROP: Exclui uma estrutura SQL DDL DML DQL DCL DTL

DML Linguagem de Manipulação de Dados INSERT: Insere dados UPDATE: Altera dados DELETE: Deleta dados SQL DDL DML DQL DCL DTL

DQL Linguagem de Consulta de Dados SELECT: Retorna dados Ordenação de dados Agrupamento de dados Funções aritméticas Filtros de seleção SQL DDL DML DQL DCL DTL

DCL Linguagem de Controle de Dados GRANT: Habilita acesso a dados e operações REVOKE: Revoga acesso a dados e operações SQL DDL DML DQL DCL DTL

DQL Linguagem de Transação de Dados START TRANSACTION: Inicia a transação COMMIT: Concretiza a transação ROLLBACK: Anula a transação SQL DDL DML DQL DCL DTL

Tipo de dados Boleano e Numérico Nome MySQL Postgre SQL Server Oracle FireBird intervalo Bytes BOOLEAN TINYINT SIM ENUM SMALLINT 0 ou 1 (FALSE ou TRUE) 1 bit NUMBER -128 à 127 1 -32,768 à 32,767 0 à 65,535 se UNSIGNED 2 INT -2,147,483,648 à 2,147,483,647 0 à 4,294,967,295 se UNSIGNED 4 BIGINT INT64 -9,223,372,036,854,775,808 à +9,223,372,036,854,775,807 0 à 18,446,744,073,709,551,615 se UNSIGNED 8 FLOAT REAL -3.402823466E+38 à -1.17544351E-38 1.175494351E-38 à 3.402823466E+38 se UNSIGNED DOUBLE DOUBLE PRECISION -1.7976931348623157E+308 à -2.2250738585072014E-308, 2.2250738585072014E-308 à 1.7976931348623157E+308 se UNSIGNED

"-838:59:59" – "838:59:59" (horas, minutos, segundos) Tipo de dados String Nome MySQL 5 SQL Server Oracle FireBird Bytes Char SIM X Varchar X + 1 Data e Hora Nome MySQL Postgre SQL Server Oracle FireBird Intervalo (MySQL) Bytes DATA SIM TIMESTAMP "1000-01-01" – "9999-12-31" (ano, mês, dia) 3 TIME "-838:59:59" – "838:59:59" (horas, minutos, segundos) DATATIIME "1000-01-01 00:00:00" - "9999-12-31 23:59:59" 8 19700101000000 – 2037+ 4

Atributos NULL / NOT NULL Unsigned / Signed Auto-increment Zerofill Permite ou não valores nulos, NULL != vazio Unsigned / Signed Permite ou não números negativos Auto-increment Sequências, contadores Zerofill Preenche o valor numérico completando com zeros a esquerda

Criando um banco de dados DDL – Linguagem de Definição de Dados CREATE DATABASE AulaSQL USE AulaSQL;

Criando tabelas CREATE TABLE nomeTabela(campo tipo atributo, ... campo tipo atributo) CREATE TABLE CLIENTE ( codigo int NOT NULL PRIMARY KEY, nome varchar(30) NOT NULL, cpf int UNIQUE, uf char(2) default null, nascimento date default ’0000-00-00’, telefone char(8) default null, sexo char(1)); codigo nome cpf uf nascimento telefone sexo

Criando tabelas Restrição UNIQUE e PRIMARY KEY: Asseguram que os valores inseridos em uma ou mais colunas são únicos para cada linha da tabela. Uma ou mais colunas definidas com essas restrições devem também ser definidas com o atributo NOT NULL Uma coluna pode ser definida com o atributo NOT NULL. Esse atributo não permite valores nulos na coluna onde é definida e é obrigatório em colunas com restrições PRIMARY KEY ou UNIQUE.

Criando tabelas Restrição FOREIGN KEY: Chave estrangeira é uma ou mais colunas em uma tabela que corresponde exatamente a uma ou mais colunas definida(s) como chave primária em outra tabela. CREATE TABLE PRODUTO( codigo int NOT NULL PRIMARY KEY, produto varchar(30) NOT NULL, preco decimal(5,2) NOT NULL, ); CREATE TABLE PEDIDO( cod_pedido int NOT NULL PRIMARY KEY, data date, cod_cliente int, cod_produto int, FOREIGN KEY (cod_produto) REFERENCES PRODUTO (codigo) ON DELETE SET NULL, FOREIGN KEY (cod_cliente) REFERENCES CLIENTE (codigo) ON DELETE SET NULL ON UPDATE CASCADE codigo produto preco cod_pedido data cod_cliente cod_produto

Alterar uma tabela Apagar uma tabela Exemplos: Incluir nova coluna ALTER TABLE CLIENTE ADD email VARCHAR(20); ALTER TABLE CLIENTE ADD fax VARCHAR(18) AFTER uf; Eliminar uma coluna existente ALTER TABLE CLIENTE DROP fax; Alterar o tipo de dado de uma coluna ALTER TABLE CLIENTE MODIFY email VARCHAR(40); DROP TABLE [nome da tabela]; Apagar uma tabela

Manipulando dados DML – Linguagem de Manipulação de Dados Exercício INSERT INTO Tabela VALUES (valores) Exemplo: INSERT INTO CLIENTE VALUE (‘007’, ‘Bond’, ‘11111111111’, ‘UK’, ’1111-11- 11’, ‘1111111’, ’M’, ’james@email.com’ ); INSERT INTO CLIENTE (nome, cpf) VALUE (‘Maria’, ‘22222222222’); LOAD DATA LOCAL INFILE 'arquivo.txt' INTO TABLE Tabela; Exercício Carregar os arquivos nas tabelas;

Manipulando dados com filtro UPDATE Tabela SET Campo = Valor WHERE Condição UPDATE CLIENTE SET nome = ‘Camila’ WHERE cpf = ‘22222222222’; UPDATE CLIENTE SET nome = ‘James Bond’ WHERE nome = ‘Mario’; DELETE FROM Tabela WHERE Condição DELETE FROM CLIENTE WHERE cpf = ‘2222222222’ DELETE FROM CLIENTE WHERE nome = ‘Bonde’

Consulta de dados DQL – Linguagem de Consulta de Dados SELECT : retorna dados Ordenação de dados Agrupamento de dados Filtros de seleção Funções aritméticas

Consulta de dados SELECT campos FROM Tabela Condição; SELECT * FROM CLIENTE; ‘ * ’ imprime todos os campos da tabela SELECT nome, cpf FROM CLIENTE;

Consulta de dados Filtros de seleção (WHERE) Operadores relacionais Igual ( = ), Diferente ( != ) Maior ( > ), Maior ou igual ( >= ) Menor ( < ), Menor ou igual (<= ) Nulo (IS NULL), Não nulo ( IS NOT NULL) Entre intervalo ( BETWEEN ) Valor parcial ( LIKE ) Operadores lógicos AND, OR, NOT

Consulta de dados SELECT nome FROM CLIENTE WHERE sexo = ‘f’; SELECT * FROM PRODUTO WHERE preco > 50; SELECT produto FROM PRODUTO WHERE preco BETWEEN 10 AND 30; SELECT nome FROM CLIENTE WHERE nome NOT LIKE ‘A%’; SELECT * FROM CLIENTE WHERE telefone IS NOT NULL;

Consulta de dados Uso da cláusula ORDER BY Uso da cláusula GROUP BY SELECT * FROM CLIENTE ORDER BY nome; ASC, DESC Uso da cláusula GROUP BY SELECT * FROM CLIENTE GROUP BY uf ; Exercício Mostrar o nome dos clientes do mais velho ate os mais novos, agrupados por estado;

Consulta de dados Uso de funções AVG COUNT MAX MIN DISTINCT SELECT AVG(preco) FROM PRODUTO; COUNT SELECT COUNT(*) FROM CLIENTE; MAX SELECT MAX(preco) FROM PRODUTO; MIN SELECT MIN(preco) FROM PRODUTO; DISTINCT SELECT DISTINCT nome FROM CLIENTE;

Consulta de dados Relacionamento entre tabelas Quais as datas dos pedidos de cada cliente? SELECT CLIENTE.nome, PEDIDO.data from CLIENTE, PEDIDO WHERE PEDIDO.cod_cliente = CLIENTE.codigo; Inserindo apelido nas tabela SELECT C.nome, P.data from CLIENTE ASC, PEDIDO ASP WHERE P.cod_cliente = C.codigo;

Consulta de dados Relacionamento entre tabelas UNION IN SELECT nome FROM CLIENTE UNION SELECT produto FROM PRODUTO; IN SELECT nome FROM CLIENTE WHERE codigo IN (SELECT codigo FROM PEDIDO);

Armazém -- Exercicos -- 1) Alterar a tabela produto, agregando um campo preço. -- 2) Listar todos os produtos/funcionarios ordenados pelo codigo e alfabeticamente. -- 3) Listar os nomes dos funcionarios que geraram solicitaçõe -- 4) Listar todas as solicitações efectuadas no mes de fevereiro. -- 5) Actualice os preços de cada produto. -- 6) Que funcionarios executaram mais solicitações. -- 7) Que funcionario vendio mais nos primeiros 15 dias do mes de fevereiro.