Linguagem SQL Parte I

Documentos relacionados
Linguagem SQL (Parte I)

Structured Query Language (SQL)

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

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

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

SQL. Autor: Renata Viegas

Introdução ao SQL. Aécio Costa

A linguagem SQL

Linguagem SQL. Comandos Básicos

SQL (Structured Query Language)

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

SQL (Structured Query Language)

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

SQL (Structured Query Language)

Programação SQL. Introdução

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

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

Linguagem SQL (Parte II)

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

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

Introdução à linguagem SQL

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

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

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

Linguagem de Consulta Estruturada SQL- DML

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

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

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

Curso PHP Aula 08. Bruno Falcão

Projeto de Banco de Dados: Empresa X

Linguagem de Consulta - SQL

SQL (STRUCTUREDQUERY LANGUAGE)

4.6. SQL - Structured Query Language

Memória de aula Semanas 15 e 16

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

Linguagem SQL Sub-linguagem DDL

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

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

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

SQL DML. Frederico D. Bortoloti

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

Comandos DDL. id_modulo = id_m odulo

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

Prof.: Clayton Maciel Costa

O que são Bancos de Dados?

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Profº Aldo Rocha. Banco de Dados

Linguagem de Consulta Estruturada (SQL)

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

Comandos de Manipulação

SQL Server Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

EXEMPLOS DE COMANDOS NO SQL SERVER

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

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

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

SQL DDL. Frederico D. Bortoloti

Disciplina de Banco de Dados Parte V

Laboratório de Banco de Dados II

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

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

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

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

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

SQL - Criação de Tabelas

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

ADMINISTRAÇÃO DE BANCO DE DADOS

1. Domínio dos Atributos

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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


Linguagem de Consulta - SQL

EXERCÍCIOS PRÁTICOS. Banco de Dados

Principais Comandos SQL Usados no MySql

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

Operação de União JOIN

NOME SEXO CPF NASCIMENTO SALARIO

BANCO DE DADOS CONCEITOS BÁSICOS

Structured Query Language (SQL) Aula Prática

Banco de Dados. Prof. Antonio

Banco de Dados. Maurício Edgar Stivanello

Núcleo de Pós Graduação Pitágoras

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SQL (STRUCTUREDQUERY LANGUAGE)

Prof. Carlos Majer Aplicações Corporativas UNICID

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

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

SQL. Prof. Márcio Bueno.

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

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

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

Transcrição:

FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento

Conteúdo A Linguagem SQL Sql Server 2000 Ferramentas Criando Tabelas Comando INSERT Comando UPDATE Comando DELETE Comando SELECT

A Linguagem SQL O que é SQL? Linguagem de consulta declarativa para manipulação de dados em SGBDs (Sistemas Gerenciadores de Banco de Dados) Relacionais. O que é ANSI-SQL? Especificação feita pela ANSI em 1986. SQL1 ou ANSI 1986 ANSI 1989 SQL2 ou SQL92 SQL3 ou SQL99.

A Linguagem SQL Dialetos SQL A linguagem SQL possui diversos dialetos pertencentes a vários produtos. Comandos desses dialetos podem apresentar diferenças na sintaxe ou na semântica, sendo que a última é bem mais rara. O que é Transact-SQL ou T-SQL? Dialeto da Linguagem SQL utilizado pelo SQL Server.

Sql Server 2005 O que é o SQL Server 2005? Sistema gerenciador de banco de dados relacional (RDBMS) Responsável por : Manter os relacionamentos entre os dados de um banco de dados; Garantir integridade dos dados; Garantir recuperação do banco de dados para um estado consistente em caso de falhas de sistema.

Ferramentas Principais Ferramentas: SQL Server Management Studio Possibilita o gerenciamento do banco e execução de comandos SQL Server Profiler Verifica os comandos que estão sendo executado no banco de dados Books on-line Ajuda

Sql Server 2005 Bancos de Dados SQL Server É uma Coleção de Objetos que armazenam e manipulam dados Possui seu próprio conjunto de tabelas de sistema que armazenam a definição do banco de dados Possui um log de Transações

Sql Server 2005 Bancos de Dados SQL Server Fisicamente, é composto por dois ou mais arquivos. O SQL Server 2005 admite os seguintes tipos de arquivos: Primário, Secundário e Arquivo de Log.

Sql Server 2005 Bancos de Dados SQL Server Primary Data Files: Todo banco de dados possui um arquivo primário que, além de armazenar dados, gerencia ou outros arquivos (.MDF) Secondary Data Files: Um banco de dados pode possuir 0 ou mais arquivos secundários (.NDF) Log Files: Todo banco de dados possui um ou mais arquivos de log (.LDF)

Sql Server 2005 Bancos de Dados Padrão do SQL Server Master Guarda Informações dos outros bancos de dados. Model - Modelo para a criação dos novos bancos Msdb Usado pelo serviço SQL Server Agent para agendamentos e o histórico de serviços

Sql Server 2005 Bancos de Dados Padrão do SQL Server : Tempdb Banco temporário usado para as classificações, associações e outras atividades Northwind e Pubs Exemplos que podem ser instalados

Conceitos Básicos A estrutura básica do modelo relacional é a Relação (uma tabela) Um esquema de banco de dados é dito relacional quando o mesmo está representado como uma coleção de Relações Uma Relação pode ser vista como uma Tabela

Conceitos Básicos Exemplo de uma Relação MATRICULA NOME RG DATA NASCIMENTO 7423456 Ricardo 987456 12//04/1974 7345678 João 234578 04/08/1973 6534578 Pedro 123678 25/12/1965

Conceitos Básicos Exemplos de Esquemas de Relações Empregado (Matricula, Nome, RG, Data de Nascimento) Departamento (Número, Endereço, Telefone)

Conceitos Básicos Terminologia Relacional Tabela = Relação Linhas = Tuplas Cabeçalho de Coluna = Atributo Tipo de Dado de Cada Coluna = Domínio

Conceitos Básicos Domínio Um conjunto de valores atômicos Características de um Domínio Nome Tipo de Dado Formato

Conceitos Básicos Os valores de alguns atributos em uma tupla podem não ser conhecidos ou podem não se aplicar. Nesses casos, utilizamos um valor especial chamado null.

Criando Tabelas Tipos de dados Toda coluna, variável, parâmetro possui um tipo de dado associado. No Sql Server temos vários tipos de dados definidos pelo sistema (pré-definidos).

Criando Tabelas Alguns tipos de dados fornecidos pelo sistema Inteiro : bigint, int, smallint, tinyint Numérico exato : numeric, decimal Numérico aproximado : float, real Data e Hora : datetime, smalldatetime Caracter : char, varchar, text Caracter Unicode : nchar, nvarchar, ntext Binário : binary, varbinary

Criando Tabelas O Comando Create Table Utilizamos o comando CREATE TABLE para criar tabelas no banco de dados Definição de colunas e tipos de dados Definição de restrições (NULL, NOT NULL) Definição de valores padrão

Criando Tabelas CREATE TABLE Tb_Cliente ( cd_cliente int NOT NULL, nm_cliente varchar(50) NOT NULL, rua varchar(50) NOT NULL, bairro varchar(50) NOT NULL, telefone varchar(15) NULL, dt_nascimento datetime, cd_titular int NULL, dt_inclusao datetime default (getdate()), )

Criando Tabelas As colunas de uma Tabela podem ser campos calculados CREATE TABLE Tb_Estoque ( cd_produto int, qt_produto int, vl_unitario numeric(15,2), vl_estoque AS (qt_produto * vl_unitario) )

Criando Tabelas As colunas de uma Tabela podem possuir a propriedade autoincremento (contador automático) Create Table Tb_Categoria_Fita ( cd_categoria int identity(1,1) NOT NULL, nm_categoria varchar(50) NOT NULL, valor_diario numeric(15,2) )

Criando Tabelas IDENTITY(Valor_Inicial, INCREMENTO) Somente para os tipos de dados: bigint, int, smallint, tinyint, decimal e numeric com escala 0. Somente uma coluna por tabela Ex.:...... Nome_Coluna int identity (1,1),

Adicionando uma coluna a uma tabela existente Comando para criar uma coluna a uma tabela existente ALTER TABLE TB_ESTOQUE ADD NM_PRODUTO VARCHAR(40) NULL Adicionando mais de uma coluna a uma tabela ALTER TABLE TB_ESTOQUE ADD NM_PRODUTO VARCHAR(40) NULL, QT_MINIMA_ESTOQUE NUMERIC(5) NOT NULL

Criando Tabelas Alterando uma coluna de uma tabela ALTER TABLE TB_ESTOQUE ALTER COLUMN NM_PRODUTO VARCHAR(50) NULL

Criando Tabelas Removendo uma coluna de uma tabela ALTER TABLE TB_ESTOQUE DROP COLUMN NM_PRODUTO Removendo uma Tabela DROP TABLE TB_ESTOQUE

Prática Crie uma tela para guardar os carros que entram em um estacionamento. Deverão ser armazenados os seguintes dados: Ordem de chegada Placa Nome do proprietário Cidade Estado e Data de entrada

Comando Insert Considere as tabelas da prática anterior CREATE TABLE Estacionamento ( orderm int identity(1,1) NOT NULL, placa varchar (8) NOT NULL, proprietario varchar(50) NULL, cidade varchar(50) not null, estado char(2) default('ba'), dtentrada datetime not null )

Comando Insert Utilizado para inserir valores em uma tabela INSERT INTO Estacionamento(placa, proprietario, cidade, estado, dtentrada) VALUES('JBA-1234', 'Exemplo BD', 'Salvador', 'BA', '2009-01-01') INSERT INTO Estacionamento(placa, proprietario, cidade, estado, dtentrada) VALUES('JBA-8529', 'Exemplo BD 2', 'Feira de Santana', 'BA', '2009-01-02') INSERT INTO Estacionamento(placa, proprietario, cidade, estado, dtentrada) VALUES('JBA-8529', 'Exemplo BD 2', 'Feira de Santana', 'BA', '2009-13-29') ERRADO

Comando Insert Observe que: Não são informados valores para campos do tipo identity O banco realiza a conversão dos dados quando necessário Os valores default são recuperados automaticamente

Comando Insert Podemos omitir a lista de colunas. Nesse caso todos os valores devem ser fornecidos na ordem em que foram definidos INSERT INTO LOJA VALUES( 1, 'LOJA SUL', 2, 'BA') INSERT INTO LOJA ( codigo, nome, numfilial, estado) VALUES( 1, 'LOJA SUL', 2, 'BA')

Comando Update Utilizado para modificar valores em uma tabela UPDATE Estacionamento SET Proprietario = 'Prefeitura' WHERE cidade = 'Salvador' UPDATE Estacionamento SET Proprietario = 'Não informado' WHERE cidade = 'Feira de Santana'

Comando Delete Utilizado para remover linhas de uma tabela > DELETE FROM Estacionamento WHERE Placa = 'JBA-8529' > DELETE FROM Estacionamento > DELETE Estacionamento Para remover todas as linhas, melhor utilizar o truncate > TRUNCATE Estacionamento

Comando Select (1) Utilizado para retornar um conjunto de linhas de uma ou mais tabelas SELECT <LISTA DE COLUNAS> FROM <LISTA TABELAS> WHERE <CONDICAO> SELECT Placa, Proprietario, Cidade FROM Estacionamento WHERE Estado = 'BA'

Comando Select (2) O * substitui todas as colunas SELECT * FROM Estacionamento

Comando Select Renomeando colunas (1) Podemos informar Aliases (apelido) para as colunas da tabela SELECT ESTADO AS SIGLA FROM Estacionamento O operador AS pode ser omitido. CUIDADO! SELECT ESTADO UF FROM Estacionamento

Comando Select Renomeando colunas (2) Utilizamos para aliases com espaço em branco SELECT ESTADO AS 'SIGLA DO ESTADO' FROM Estacionamento

Filtrando resultados Complementar o comando utilizando o termo WHERE <campo> = <valor> Ex. Select * from Pessoas Where nome = José Update Pessoas set salario = salario + 100 Where idade > 50 Delete from pessoas where demitido = SIM

Operadores na Condição AND OR IN NOT IN

Prática Crie uma tela para guardar os carros que entram em um estacionamento. Deverão ser armazenados os seguintes dados: Ordem de chegada Placa Nome do proprietário Cidade Estado e Data de entrada Inserir valores aleatórios Consulte os carros que possuem o estado = Bahia Adicione a coluna Data de saída Alterar o estado onde possuir Bahia para BA

Comando Select O operador LIKE Permite a comparação de cadeias de caracteres com padrões O operador LIKE serve para buscar algo que contenha o texto informado. O % é o caracter coringa similar ao * do Windows. Select * from <tabela> where <CADEIA DE CARACTERES> LIKE <PADRÃO>

Comando Select SELECT ESTADO FROM TB_LOJA WHERE NOME_LOJA LIKE '%A%' SELECT ESTADO FROM TB_LOJA WHERE NOME_LOJA LIKE '%S_L% SELECT ESTADO FROM TB_LOJA WHERE NOME_LOJA LIKE '%S%% ESCAPE S SELECT ESTADO FROM TB_LOJA WHERE NOME_LOJA LIKE '%S_L%

Comando Ordenação Usar o comando Order by <campo> no final do comando de Select. Ao fazer isso, o resultado será ordenado pelo campo informado -- Ordenação pelo nome da loja SELECT CD_LOJA, NM_LOJA FROM TB_LOJA ORDER BY NM_LOJA -- Ordenação decrescente usando o campo estado e ascendente usando o nome da loja SELECT CD_LOJA, ESTADO, NM_LOJA FROM TB_LOJA ORDER BY ESTADO DESC, NM_LOJA -- Ordenação pela primeira coluna do resultado SELECT CD_LOJA, NM_LOJA FROM TB_LOJA ORDER BY 1

Comando Distinct A cláusula distinct é utilizada para remover linhas repetidas SELECT DISTINCT ESTADO FROM Cidade -- Mostra os estados sem haver repetição dos mesmos

Limitando o tamanho do resultado Informar quantas linhas deseja logo após a palavra TOP SELECT TOP 2 CD_LOJA, NM_LOJA FROM TB_LOJA SELECT TOP 2 CD_LOJA, NM_LOJA FROM TB_LOJA ORDER BY NM_LOJA SELECT TOP 50 PERCENT CD_LOJA, NM_LOJA FROM TB_LOJA ORDER BY NM_LOJA

Select com União de Consultas SELECT CD_LOJA, NM_LOJA FROM TB_LOJA1 UNION SELECT CD_LOJA, NM_LOJA FROM TB_LOJA2 SELECT CD_LOJA, NM_LOJA FROM TB_LOJA1 UNION ALL SELECT CD_LOJA, NM_LOJA FROM TB_LOJA2

Comando Insert + Select Podemos utilizar o resultado de uma consulta como valores para o comando insert INSERT INTO TB_DEPARTAMENTO2(nm_departamento, cd_loja) SELECT nm_departamento, cd_loja from tb_departamento