Linguagem de Consulta - SQL



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

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

Structured Query Language (SQL) Aula Prática

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

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

Á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:

Linguagem SQL Sub-linguagem DDL

SQL. Autor: Renata Viegas

A linguagem SQL

Comandos de Manipulação

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

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

Programação SQL. Introdução

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

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

Linguagem SQL. Comandos Básicos

SQL DDL. Frederico D. Bortoloti

SQL (Structured Query Language)

Linguagem de Consulta - SQL

SQL (Structured Query Language)

SQL (Structured Query Language)

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

SQL - Criação de Tabelas

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

SQL. Prof. Márcio Bueno.

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

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

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

Introdução ao SQL. Aécio Costa

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

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

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

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

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

Introdução à linguagem SQL

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

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Comandos DDL. id_modulo = id_m odulo

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

EXERCÍCIOS PRÁTICOS. Banco de Dados

Linguagem de Consulta Estruturada (SQL)

1. Domínio dos Atributos

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

Linguagem SQL (Parte II)

Structured Query Language (SQL)

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

SQL: Definição de tabelas, Modificações à Base de Dados

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

DESENVOLVIMENTO DE SOFTWARE

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

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

SQL (STRUCTUREDQUERY LANGUAGE)

Curso PHP Aula 08. Bruno Falcão

O que são Bancos de Dados?

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

Projeto de Banco de Dados: Empresa X

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

SQL (STRUCTUREDQUERY LANGUAGE)

SQL Structured Query Language

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

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Linguagem de Consulta Estruturada SQL- DML

Disciplina: Unidade V: Prof.: Período:

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

EXEMPLOS DE COMANDOS NO SQL SERVER

SQL (Structured Query Language)

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

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

Banco de Dados. Prof. Antonio

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Linguagem SQL (Parte I)

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

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

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

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

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

SQL Básica. Andre Noel


SQL DDL ALTERAÇÃO DA ESTRUTURA DE TABELAS - ALTER TABLE - ALTER TABLE NOME_TABELA ADD [COLUMN] NOME_COLUNA TIPO_COLUNA RESTRIÇÕES

MYSQL BÁSICO. 12 Horas Instrutor: Antonio Itamar Júnior

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

Profº Aldo Rocha. Banco de Dados

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

SQL (Linguagem de Consulta Estruturada)

Capítulo 1 INTRODUÇÃO A BANCO DE DADOS

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

4.6. SQL - Structured Query Language

Linguagem SQL Parte I

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS)

09/06/2015 EXEMPLO COM A CONSTRAINTS CHECK: CHECK EXISTEM ALGUNS TIPOS DISTINTOS DE RESTRIÇÕES QUE SE PODEM APLICAR A COLUNAS: Constraint NOT NULL

Transcrição:

SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987 a IBM lança seu próprio padrão - SAA-SQL; Criada extensão para o padrão SQL - a SQL-89, em 1989; Versão em uso do padrão ANSI-ISO: SQL-92; Em 1999, aprovada SQL-3. 1 Os comandos SQL podem ser agrupados em algumas classes: Linguagem de Definição de Dados (DDL): proporciona comandos para definição, exclusão e modificação de relações (tabelas), bem como definição de índices; Linguagem de Manipulação de Dados (DML): linguagem de consulta baseada em álgebra e cálculo relacional. Engloba também comandos para inserção, exclusão e modificação de tuplas; Outras: DML incorporada, definição de visões, autorização, integridade e controle de transações. 2 1

Autor cod_autor nome nascimento (1,1) Escreve (1,n) Livro (1,n) titulo cod_autor cod_editora valor publicacao volume Exemplo Modelo Entidade-Relacionamento Publicado (1,1) Editora cod_editora razao endereco CGC cidade 3 Exemplo Modelo Relacional AUTOR ( COD_AUTOR, NOME, NASCIMENTO) LIVRO (TITULO, COD_AUTOR, COD_EDITORA, VALOR REAL, PUBLICACAO, VOLUME) Cod_Autor referencia AUTOR Cod_Editora referencia EDITORA EDITORA( COD_EDITORA, RAZAO, CGC, ENDERECO, CIDADE ) 4 2

Linguagem de Definição de Dados (DDL) - comandos básicos Create Table - define a estrutura de uma tabela, suas restrições de integridade; cria a tabela vazia. Drop Table - elimina a tabela da base de dados; Alter Table - permite modificar a definição de uma tabela, adicionando novas colunas (campos), excluindo campos, modificando chaves primárias e estrangeiras. 5 Linguagem de Definição de Dados (DDL) - Create Table CREATE TABLE Nome_Tabela ( atributo 1 tipo [tamanho] (null/not null), atributo 2 tipo [tamanho] (null/not null),... atributo n tipo [tamanho] (null/not null), PRIMARY KEY (campo), FOREIGN KEY (campo) REFERENCES Tabela UNIQUE KEY (campo) ) 6 3

Alguns Tipos de Dados Aceitos (Padrão SQL-92) char (n) - character int - integer smallint; real; float (n); date : ano com 4 dígitos, mês e dia do mês; time : horário, em horas, minutos e segundos. 7 Linguagem de Definição de Dados (DDL) - Create Table Autor ( Cod_Autor, Nome, Nascimento ) CREATE TABLE Autor ( Cod_Autor integer NOT NULL, Nome char(30) NOT NULL, Nascimento date NULL PRIMARY KEY (Cod_Autor)) 8 4

Linguagem de Definição de Dados (DDL) - Create Table Editora( Cod_Editora, Razao, CGC,Endereco, Cidade ) CREATE TABLE Editora ( Cod_Editora integer NOT NULL, Razao char(40) NOT NULL, CGC char (14) NOT NULL Endereco char(40) NOT NULL, Cidade char(25) NOT NULL, PRIMARY KEY (Cod_Editora), UNIQUE KEY (CGC) ) 9 Linguagem de Definição de Dados (DDL) - Create Table Livro (Titulo, Cod_Autor, Cod_Editora,ValorReal, Publicacao, Volume) Cod_Autor referencia AUTOR CREATE TABLE Livro Cod_Editora referencia EDITORA ( Titulo char(30) NOT NULL, Cod_Autor integer NOT NULL, Cod_Editora integer NOT NULL, ValorReal real NOT NULL, Publicacao date NOT NULL, Volume integer, PRIMARY KEY (Titulo, Cod_Autor), FOREIGN KEY (Cod_Autor) REFERENCES AUTOR, FOREIGN KEY (Cod_Editora) REFERENCES EDITORA) 10 5

Linguagem de Definição de Dados (DDL) - DROP Table DROP TABLE Nome_Tabela DROP TABLE Editora OBS : não exclui se tiverem livros referenciando uma editora. Cláusula ON DELETE CASCADE 11 Linguagem de Definição de Dados (DDL) - Drop Table CREATE TABLE Livro ( Titulo char(30) NOT NULL, Cod_Autor integer NOT NULL, Cod_Editora integer NOT NULL, ValorReal real NOT NULL, Publicacao date NOT NULL, Volume integer, PRIMARY KEY (Titulo, Cod_Autor), FOREIGN KEY (Cod_Autor) REFERENCES AUTOR, FOREIGN KEY (Cod_Editora) REFERENCES EDITORA ON DELETE CASCADE) 12 6

Linguagem de Definição de Dados (DDL) - Alter Table ALTER TABLE Nome_Tabela ADD Campo Tipo Tamanho ALTER TABLE Livro ADD Lingua char(15) OBS: Inclui o campo Lingua na tabela Livro, do tipo varchar com tamanho 15 13 Linguagem de Definição de Dados (DDL) - Alter Table ALTER TABLE Nome_Tabela DROP Campo ALTER TABLE Livro DROP Lingua OBS: Exclui o campo Lingua da tabela Livro. 14 7

Linguagem de Definição de Dados (DDL) - Alter Table Caso tenha sido esquecida a declaração de chave estrangeira ALTER TABLE Livro ADD FOREIGN KEY(Cod_Editora) REFERENCES Cidade 15 Linguagem de Manipulação de Dados (DML) - Comandos Básicos de Manipulação de Dados Sintaxe básica de uma instrução de Consulta SELECT lista de colunas (campos) FROM lista de tabelas WHERE condição 16 8

Linguagem de Manipulação de Dados (DML) - Comandos Básicos de Manipulação de Dados O modelo básico de execução SQL é o seguinte: é feito o produto cartesiano das tabelas envolvidas (caso haja mais de uma); são selecionadas as linhas da tabela que obedecem a condição estabelecida; é feita a projeção sobre as colunas que vão ao resultado. 17 Linguagem de Manipulação de Dados (DML) - Comandos Básicos de Manipulação de Dados Projeção SELECT lista de colunas(campos) FROM lista de tabelas Produto Cartesiano WHERE condição Seleção 18 9

Exemplo: selecionar todas as informações sobre os livros publicados no ano de 2000 SELECT Titulo, CodEditora,ValorReal, Publicacao,Volume FROM Livro WHERE publicacao = 2000 OU SELECT * FROM Livro WHERE publicacao = 2000 19 Operadores Utilizados para a Condição Where =, <>, <, <=, >=, and, not, or (já conhecidos) BETWEEN AND : condição entre um limite de valores LIKE : a coluna pesquisada tem que ser do char ou varchar % - indica um conjunto de caracteres - um caracter 20 10

Exemplo Cláusula Between And : selecionar todas as informações sobre os livros publicados entre os anos de 1980 e 2000 SELECT * FROM Livro WHERE publicacao BETWEEN 1980 AND 2000 21 banco de dados Exemplo Cláusula like : selecionar todos os livros cujos títulos iniciem com a palavra banco SELECT * FROM Livro WHERE Título LIKE banco% Exemplo: banco de jardim 22 11

Exemplo Cláusula like : selecionar todos os livros cujos títulos terminem com a palavra banco SELECT * FROM Livro WHERE Título LIKE %banco Exemplo: caixa de banco 23 Exemplo Cláusula like : selecionar todos os livros cujos títulos tenham a palavra banco SELECT * FROM Livro WHERE Título LIKE %banco% Exemplo: Sistemas de Banco de Dados 24 12

Exemplo Cláusula like : selecionar todos os livros cujos títulos iniciem com a letra B e tenham a terceira letra do título N SELECT * FROM Livro WHERE Título LIKE B_N% Exemplo: BANCO DE DADOS 25 JUNÇÃO DE RELAÇÕES Mostrar os dados da editora que publicou o livro de título Banco de Dados SELECT Editora.Codigo, Editora.CGC, Editora.Razao... FROM Editora, Livro WHERE Editora.CodEditora = Livro.CodEditora AND Livro.Título = Banco de Dados Produto Cartesiano Filtro do Produto Cartesiano 26 13

JUNÇÃO DE RELAÇÕES - Utilizando Apelidos Mostrar os dados da editora que publicou o livro de título Banco de Dados SELECT Editora.Codigo, Editora.CGC, Editora.Razao... FROM Editora E, Livro L WHERE E.CodEditora = L.CodEditora AND Livro.Título = Banco de Dados 27 Obter o nome do autor dos livros da editora Santa Maria, que tenham, nos títulos do livro, a frase Banco de Dados Em primeiro lugar, o que precisamos? Nome do autor : Autor Editoras de Santa Maria - nome da editora somente em : Editora Ter no título do Livro a frase Banco de Dados - título : Livro LIVRO X EDITORA X AUTOR 28 14

Obter o nome do autor dos livros da editora Santa Maria, que tenham, nos títulos do livro, a frase Banco de Dados Em primeiro lugar, o que precisamos? Nome do autor : Autor Editoras de Santa Maria - nome da editora somente em : Editora Ter no título do Livro a frase Banco de Dados - título : Livro LIVRO X EDITORA X AUTOR Condições: Editora - Santa Maria WHERE Razao = Santa Maria Livro - frase Banco de Dados WHERE Título LIKE %Banco de Dados% Relacionamentos dos produtos cartesianos: Livros da Editora : Livro.CodEditora = Editora.CodEditora Autor dos Livros : Livro.CodAutor = Autor.CodAutor 29 Obter o nome do autor dos livros da editora Santa Maria, que tenham, nos títulos do livro, a frase Banco de Dados JUNÇÃO SELECT Autor.Nome FROM Autor,Editora,Livro WHERE Editora.Nome = Santa Maria AND Livro.Titulo like %Banco de Dados% AND Editora.CodEditora = Livro.CodEditora AND Autor.CodAutor = Livro.CodAutor 30 15