INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Documentos relacionados
DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

BCD29008 Banco de dados

mod._1_teoria_sistemas de bancos de dados.doc

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Bancos (Bases) de Dados

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Banco de Dados. Professora: Luciana Faria

A linguagem SQL

Banco de Dados I Introdução SQL

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

IMPLEMENTAÇÃO DE BANCO DE DADOS

MySql. Introdução a MySQL. Andréa Garcia Trindade

Introdução ao Banco de Dados. Banco de Dados

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

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

SQL (Tópicos) Structured Query Language

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

ANÁLISE E PROJETO DE BANCO DE DADOS

BANCO DE DADOS PARA NINJAS

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

Introdução ao PostgreSQL

Manipulação de Dados com SQL

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Banco de Dados. Linguagem SQL

Utilizando o Postgres - comandos SQL para a manipulação de dados

SQL Básica. Andre Noel

Rápida revisão do Modelo Relacional

SQL. Prof. Roger Cristhian Gomes

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Modelagem Física e SQL

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

Marcelo Henrique dos Santos

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Linguagem de Consulta Estruturada (SQL)

Comandos de Manipulação

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Informática I. Aula 8. Aula 8-25/09/2006 1

Modelagem Física e SQL

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

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

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

A linguagem SQL

SQL Linguagem de Definição de Dados

Linguagem SQL. Comandos Básicos

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

Revisão de Bancos de Dados

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

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

Definição de Dados com SQL

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

UFG - Instituto de Informática

Linguagem de Definição de Dados (DDL)

SQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Aula 06 Sistemas Embarcados LT38C

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

Fundamentos de Banco de Dados Postgre com Sql

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

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

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

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

Manipulando a base de dados

SQL DDL. Frederico D. Bortoloti

Disciplina: Banco de Dados Tema: SQL Parte 2

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

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Linguagem de Consulta Estruturada SQL- DML

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL-99: Esquema de BD EMPRESA

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

Prova de Tecnologia da Informação

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011

Múltiplas Tabelas. Disciplina de Banco de Dados

SQL. Prof. Msc Denival A. dos Santos

Bases de Dados. DDL Data Definition Language

Conceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao

BANCO DE DADOS PARA WEB

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

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

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

GBC043 Sistemas de Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados

Transcrição:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016

SUMÁRIO SQL DDL DML

SQL (STRUCTURED QUERY LANGUAGE)

SQL SQL: Linguagem de Consulta Estruturada Conjunto de comandos responsáveis pela definição das tabelas, comandos e atualização dos SGBD's relacionais Partes da SQL Linguagem de Definição de Dados (DDL) Linguagem de Manipulação de Dados (DML) Permite definir regras de integridade Definição de Views Controle de transação Autorização

LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)

LINGUAGEM DE DEFINIÇÃO DE DADOS Permite definir O esquema de cada relação O domínio dos valores associados a cada atributo As regras de integridade O conjunto de índices para manutenção de cada relação Informações sobre segurança e autoridade sobre cada relação A estrutura de armazenamento físico de cada relação

TIPOS DE DOMÍNIO Char(n): Uma string de caracteres de tamanho fixo n Varchar(n): Uma string de caracteres de tamanho variável com n caracteres máximo Int: inteiro Smallint: inteiro pequeno Numeric (p,d): número de ponto flutuante e precisão d casas decimais Real, double precision: números de ponto flutuante Float: número de ponto flutuante com precisão de n dígitos Date: para representar datas Time: para representar horários

BANCO DE DADOS BASE

CRIAÇÃO DE UM ESQUEMA DE BD Cria um banco de dados onde as tabelas e relações serão colocadas Exemplo CREATE SCHEMA BDSistemaVendas;

DEFINIÇÃO BÁSICA DE ESQUEMA SQL Criar uma tabela create table r(a1 D1, A2 D2,..., An Dn, <restrição-de-integridade1>, <restrição-de-integridade2>,..., <restrição-de-integridaden>); r: nome da tabela An: nome do atributo Dn: tipo do domínio restrição-de-integridaden

REGRAS DE INTEGRIDADE Chaves primárias primary key (A1, A2,..., An) check (P) not null: caso queiramos dados obrigatórios Onde P é um predicado Exemplo CREATE TABLE Clientes ( idcliente INT NOT NULL AUTO_INCREMENT, nome VARCHAR(200) NOT NULL, datanascimento DATE NOT NULL, sexo CHAR NOT NULL, cpf VARCHAR(11) NOT NULL, endereco VARCHAR(200) NOT NULL, PRIMARY KEY (idcliente) );

EXERCÍCIO Agora crie a tabela produto

DEFINIÇÃO BÁSICA DE ESQUEMA SQL Excluir uma tabela Drop table r Exemplo DROP TABLE clientes; Alterar tabela ALTER TABLE r add A D; ALTER TABLE r drop A; Exemplo ALTER TABLE clientes add telefone char(12);

INTEGRIDADE REFERENCIAL Quando queremos que um conjunto de valores que aparece em uma relação também apareça em outra relação Chaves estrangeiras podem ser especificadas como parte da instrução SQL FOREIGN KEY (chave estrangeira) REFERENCES tabela Se alguma ação violar alguma regra de integridade, o banco pode realizar as seguintes ações FOREIGN KEY(chave estrangeira) REFERENCES tabela on delete cascade on update cascade

DEFINIÇÃO BÁSICA DE ESQUEMA SQL Chaves estrangeiras FOREIGN KEY (chave_estrangeira) REFERENCES Tabela (chave_primária)); Exemplo CREATE TABLE CuponsFiscais ( ccf INT NOT NULL AUTO_INCREMENT, data DATE NOT NULL, hora TIME NOT NULL, formapagamento INT NOT NULL, vltotal DOUBLE NOT NULL, idcliente INT NOT NULL, PRIMARY KEY (ccf), FOREIGN KEY (idcliente) REFERENCES Clientes (idcliente));

EXERCÍCIO Agora crie a tabela produto

LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML)

INSERÇÃO DE DADOS SQL Permite inserir uma tupla no BD Os valores inseridos devem permanecer no domínio dos atributos Forma padrão INSERT INTO r values ( value1, value2,..., value3); INSERT INTO r (A1, A2,..., A3) values ( value1, value2,..., value3); Exemplo INSERT INTO clientes (nome, datanascimento, sexo, cpf, endereco, telefone) values ( Maria José, 2000-03-07, F, 09890998812, av. Afonso Pena, 8434540987 );

ESTRUTURAS BÁSICAS DE CONSULTAS SQL Cláusula SELECT SELECT a1, a2,..., an FROM r1, r2,..., rn where P; Onde a é um atributo Onde r é uma tabela Onde P é um predicado Exemplos SELECT nome, endereco FROM Clientes;

ESTRUTURAS BÁSICAS DE CONSULTAS SQL Cláusula SELECT Distinct All SELECT distinct nome FROM Clientes; SELECT * from Clientes Expressões aritméticas SELECT vltotal * 0.9 FROM CuponsFiscais;

ESTRUTURAS BÁSICAS DE CONSULTAS SQL Cláusula WHERE Conectivos lógicos AND, OR e NOT Operadores de comparação <, <=, >, >=, = e <> Exemplo SELECT * FROM CuponsFiscais WHERE vltotal > 500;

ESTRUTURAS BÁSICAS DE CONSULTAS SQL Cláusula WHERE BETWEEN SELECT * FROM CuponsFiscais WHERE vltotal BETWEEN 1000 AND 5000; SELECT * FROM CuponsFiscais WHERE vltotal >= 1000 AND vltotal <= 5000

ESTRUTURAS BÁSICAS DE CONSULTAS SQL Ligação entre Tabelas Cláusula FROM SELECT nome, cpf, data, hora, vltotal FROM clientes, cuponsfiscais WHERE clientes.idcliente = cuponsfiscais.idcliente;

OPERAÇÃO DE RENOMEAÇÃO Utilizado para renomear relações das consultas nome-antigo AS novo-nome Pode aparecer tanto na cláusula SELECT quanto FROM Exemplos SELECT nome, cpf, data, hora, vltotal FROM clientes, cuponsfiscais WHERE clientes.idcliente = cuponsfiscais.idcliente SELECT nome, cpf, data, hora, vltotal FROM clientes AS c, cuponsfiscais AS cf WHERE c.idcliente = cf.idcliente

OPERAÇÕES COM STRINGS Uma string é definida por caracteres entre apóstrofo Um apóstrofo pode ser inserido em uma string usando dois apóstrofos Exemplo: Caixa d agua Pode ser escrita como: Caixa d agua A operação utilizada para correspondência é o operador like: SELECT nome, endereco FROM clientes WHERE endereco like lula gomes ;

OPERAÇÕES COM STRINGS Podemos especificar padrões de string através dos caracteres: %: corresponde a qualquer substring _: corresponde a qualquer caracter Exemplos Maria% : localiza qualquer string começando Maria %José% : localiza qualquer string contendo José _ : localiza qualquer string com exatamente três caracteres _% : localiza qualquer string com pelo menos três caracteres

OPERAÇÕES COM STRINGS Para trabalhar com os caracteres _ e %, a SQL utiliza caracteres de escape Exemplos like ab\%cd% : localiza as string iniciadas com ab%cd like ab\\cd% : localiza as string iniciadas com ab\cd O operador not permite negar uma afirmação not like abc% : localiza as string que não começam com abc not like %abc% : localiza as strings que não possuem abc na string

OPERAÇÕES COM STRINGS Concatenação de strings like CONCAT( Maria,, José ) É o mesmo que Maria José upper(string): coloca a string em maiúsculo low(string): coloca a string em minúsculo

ORDENAÇÃO DE EXIBIÇÃO DE TUPLAS ORDER BY atributo [asc desc]: ordena o resultado de uma seleção de forma ascendente ou descendente tendo como parâmetro o atributo Podemos utilizar vários parâmetros como critério de ordenação Exemplo SELECT * FROM cliente ORDER BY nome asc SELECT * FROM cuponsfiscais ORDER BY vltotal, data desc

FUNÇÕES AGREGADAS Funções agregadas: são aquelas que tomam uma coleção de valores como entrada e retornam um único valor Funções avg (atributo): calcula a média aritmética de um conjunto de valores passados minimum (atributo): retorna o menor valor dentre um conjunto de valores maximum (atributo): retorna o maior valor dentre um conjunto de valores sum (atributo): retorna a soma de um conjunto de valores count (atributo): conta as tuplas de uma seleção

AGRUPAMENTO Quando desejamos aplicar funções de agregação em grupos de tuplas usamos GROUP BY Exemplo SELECT nome, avg(vltotal) FROM clientes AS c, cuponsfiscais AS cf WHERE c.idcliente = cf.idcliente GROUP BY nome Podemos também aplicar predicados a agrupamentos Exemplo SELECT nome, avg(vltotal) FROM clientes AS c, cuponsfiscais AS cf WHERE c.idcliente = cf.idcliente GROUP BY nome HAVING avg(vltotal) > 1200

EXCLUSÃO DELETE: exclui tuplas seguindo um determinado critério Exemplos DELETE FROM Clientes Deleta todas as tuplas de clientes DELETE FROM clientes WHERE nome = José DELETE FROM cuponsfiscais WHERE vltotal BETWEEN 1000 and 5000 Deleta cuponsfiscais entre 1000 e 5000 reais

ATUALIZAÇÃO UPDATE: modifica o valor de atributos de uma ou várias tuplas sob um determinado critério Exemplos UPDATE cuponsfiscais SET vltotal = vltotal * 0.9; UPDATE cuponsfiscais SET vltotal = vltotal * 0.9 WHERE vltotal >= 3000;

AULA PRÁTICA

DATA DA PROVA Dia XX/XX/XXX: Prova Escrita Dia XX/XX/XXX: Prova Prática

DÚVIDAS e-mail: ebertonsm@gmail.com Endereço eletrônico da disciplina: http://docente.ifrn.edu.br/ebertonmarinho 36