Linguagem SQL. Bancos de Dados II Linguagem SQL



Documentos relacionados
Banco de Dados. Prof. Antonio

Structured Query Language (SQL)

Comandos de Manipulação

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

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

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

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

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

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

SQL. Prof. Márcio Bueno.

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

O que são Bancos de Dados?

SQL. Autor: Renata Viegas

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

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

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

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

A linguagem SQL

Linguagem de Consulta Estruturada SQL- DML

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

SQL Structured Query Language

Projeto e Implementação

Fundamentos do Sistema Gerenciador de Banco de Dados

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

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

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

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

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

Comandos DDL. id_modulo = id_m odulo

Programação SQL. Introdução

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

Linguagem SQL Sub-linguagem DDL

DML. SQL (Select) Verificando estrutura da tabela

1. Domínio dos Atributos

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

Linguagem de Consulta Estruturada (SQL)

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

EXEMPLOS DE COMANDOS NO SQL SERVER

Structured Query Language (SQL) Aula Prática

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

Banco de Dados. Maurício Edgar Stivanello

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

Prof.: Clayton Maciel Costa

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

Introdução ao SQL Avançado

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

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO.

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

LINGUAGEM SQL. DML - Linguagem de Manipulação 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

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)

Linguagem SQL. Comandos Básicos

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

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

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

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

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

NOME SEXO CPF NASCIMENTO SALARIO

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. Aécio Costa

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

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

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

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

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

SQL - Criação de Tabelas

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

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

SQL DDL. Frederico D. Bortoloti

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

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

Introdução a Sistemas de Bancos de Dados

Definida pelo American National Standard Institute (ANSI) em 1986

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

SQL DML. Frederico D. Bortoloti

Tarefa Orientada 16 Vistas

Bases de Dados 2005/2006. Aula 5

Linguagem de Consulta - SQL

SQL (Structured Query Language)

Junções e Índices em Tabelas

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

SQL. Banco de Dados I. Componentes de SQL

EXERCÍCIOS PRÁTICOS. Banco de Dados

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

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

Bases de Dados. DML Data Manipulation Language Parte 1

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

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

Sistemas de Banco de Dados

António Rocha Nuno Melo e Castro

Sumário Introdução Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL A Composição deste Livro 3

BANCO DE DADOS Parte 4

Transcrição:

Linguagem SQL Bancos de Dados II Linguagem SQL

SQL - Principais conceitos Machado cap.14 Introdução Importância da linguagem SQL; 1970 - Fundamentada no modelo relacional de CODD; 1974 1ª versão - SEQUEL definida na IBM; 1975 Primeiro protótipo em 1975; 1976 Primeira revisão passando após ampliações para SQL por razões jurídicas; 1977 SYSTEM R ORACLE é lançado; 1983 Popularizou-se: SQL/DS e DB2 (IBM), ZIM, RDB, SYBASE; 1983 Padrão de acesso a SGBD Relacionais de fato ; 1986 ANSI padrão oficial; Vários dialetos; 1989 SQL recebe reforço de integridade versão SQL/89; 1992 É apresentada a versão SQL2; 1999 É apresentada a versão SQL3. 2

SQL - Principais conceitos Machado cap.14 Conceitos Bancos de Dados Relacionais Linhas (registros); Colunas (campos); Não ordenadas; Localizadas por campo chave PK; Facilidade de manipulação e entendimento; Voltada para ambiente relacional mas pode ser usada em outros ambientes; 3

SQL - Principais conceitos Machado cap.14 Linguagem SQL Originalmente só interativa; Após acréscimos passou a ser suportada por linguagens hospedeiras (COBOL, PL/I, C, VB, DELPHI, etc.) - DML Embutido; 4

SQL - Principais conceitos Machado cap.14 Variedade de Enfoques FORMS SQL LIGAÇÃO COM OUTROS COMPUTADORES SQL SGBD Sistema Gerenciador de Banco de Dados SQL Consultas AD HOC SQL SQL Relatórios SQL SQL Ferramentas Front-End BD Gateway Programas de Aplicação DBA Bancos de Dados Outros Bancos de Dados Queries AD-HOC 5

SQL - Principais conceitos Machado cap.14 Linguagem SQL - Usos Linguagem interativa de Consulta; Linguagem de programação DML Embutido; Linguagem de Administração de Banco de Dados; Linguagem cliente/servidor; Linguagem para Banco de Dados Distribuído; Caminho de acesso a outros Bancos de Dados em outras máquinas. 6

SQL - Principais conceitos Machado cap.14 Classes de Objetos (principais) DDL Criar Destruir Modificar Implementação do Ambiente SQL Segurança Controle Administração DML Consultar Inserir Alterar Apagar 7

SQL - Principais conceitos Machado cap.14 Classes de Objetos DDL Data Definition Language (Linguagem de Definição de Dados); Create, Alter, Drop DML Data Manipulation Language (Linguagem de Manipulação de Dados); Select, Insert, Update Controle de acessos; Grant, Revoke Compartilhamento de Dados; Controle de Usuários e instâncias Integridade dos Dados; Foreign Keys, constraints 8

SQL - Principais conceitos Machado cap.14 Vantagens Independência de fabricante; Portabilidade entre computadores; Redução dos custos com treinamento; Sentenças padrão em inglês para acesso e manipulação; Consulta interativa (atualmente há ferramentas visuais que facilitam ainda mais); Múltiplas visões dos dados; Definição dinâmica dos dados. 9

SQL - Principais conceitos Machado cap.14 Desvantagens A maioria dos fabricantes implementa suas próprias versões muitas vezes ignorando os padrões ISO e ANSI; A portabilidade é relativa em função das limitações do item acima; Padronização leva à inibição da criatividade; Interfaces gráficas; Não atende a todas as necessidades de processamento. 10

SQL - Principais conceitos SQL Ferramenta de acesso aos bancos de dados Relacionais Algumas características: PL/SQL Linguagem não procedural; Não atende a todas as necessidades de processamento. Linguagem de acesso a bancos de dados Relacionais Algumas características: Linguagem procedural; Supre as limitações de processamento da linguagem SQL. 11

SQL - Principais conceitos Classes de Comandos DRL Data Retrieval Language Recuperação ou extração de dados do BDR; Seleção (Select); DML Data Manipulation Language Linguagem de Manipulação de Dados do BDR; Inclusão (Insert), Alteração (Update) e Exclusão (Delete); DDL Data Definition Language Linguagem de Definição Tabelas no BDR; Criar (Create), Alterar (Alter), Eliminar (Drop); DCL Data Configuration Language Define autorização de acesso aos dados do BDR; Garanta (Grant), Revogue (Revoke). 12

SQL - Principais conceitos Estrutura básica dos DRL O que mostrar? SELECT atributos (colunas de tabelas, constantes, variáveis de sistema, resultados de cálculos, etc...); De onde? FROM tabelas apelidos (quais tabelas preciso consultar para obter os dados necessários para a consulta); Em que condições? WHERE condições de seleção (critérios de seleção ou filtragem para obtenção dos dados desejados); Organizado como? ORDER atributos (quais atributos deverão ser utilizados para ordenação dos resultados); 13

SQL - Principais conceitos Modelo e tabelas utilizadas para os exemplos e exercícios. Registro de trabalhos selecionados para eventos acadêmicos. Modelo Conceitual POSSUI (1:N) ACEITOS (N:1) POSSUI ARTIGOS AUTOR TÍTULO UNIVERSIDADEORIGEM ÓRGÃOFINANCIADOR NOTA EVENTO AUTOR TITULO EVENTOS EVENTO LOCAL MÊS NUMPARTICIPANTES UNIVERSIDADEORGANIZADORA NOTA_DE_CORTE NOTA_CORTE 14

SQL - Principais conceitos Modelo e tabelas utilizadas para os exemplos e exercícios. Registro de trabalhos selecionados para eventos acadêmicos. Modelo Lógico ACEITOS ARTIGOS AUTOR TÍTULO UNIVERSIDADEORIGEM ÓRGÃOFINANCIADOR NOTA EVENTO AUTOR TITULO EVENTOS EVENTO LOCAL MÊS NUMPARTICIPANTES UNIVERSIDADEORGANIZADORA NOTA_DE_CORTE NOTA_CORTE 15

SQL - Principais conceitos Modelo e tabelas utilizadas para os exemplos e exercícios. Modelo Físico AUTOR ARTIGOS TÍTULO UNIVERSIDADEORIGEM ÓRGÃOFINANCIADOR NOTA VARCHAR2(30) Varchar2(30) Varchar2(30) Varchar2(30) Number(2,1) EVENTOS EVENTO LOCAL MÊS NUMPARTICIPANTES UNIVERSIDADEORGANIZADORA Varchar2(30 VARCHAR2(30) NUMBER(02) NUMBER(03)S VARCHAR2(30) ACEITOS EVENTO AUTOR TITULO VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) NOTA_DE_CORTE NOTA_CORTE NUMBER(2,1) 16

SQL - Principais conceitos Morelli Comandos para criar ou alterar Tabelas CREATE TABLE parâmetros CREATE TABLE [schema.] tabela (coluna1 tipo_de_dado [default expressão] [constraint_coluna],... (colunan tipo_de_dado [default expressão] [constraint_coluna], [constraint_tabela] ); ALTER TABLE parâmetros ALTER TABLE [schema.] tabela [add (coluna tipo_de_dado [default expressão] [constraint_coluna],...)]... [modify (coluna tipo_de_dado [default expressão] [constraint_coluna],...)] [rename to novo_nome_tabela] [add constraint_coluna/constraint_tabela] [drop constraint_coluna/constraint_tabela [cascade]] [enable/disable constraint_coluna/constraint_tabela]; 17

SQL - Principais conceitos Bandeira Criação das Tabelas do exemplo: ARTIGOS CREATE TABLE artigos ( Autor varchar2(30), Titulo varchar2(30), Universidadeorigemvarchar2(30), Orgaofinanciador varchar2(30), Nota number(2,1) ); EVENTOS CREATE TABLE eventos ( Evento varchar2(30), Local varchar2(30), Mês number(02), numparticipantes number(03), universidadeorganizadora varchar2(30) ); 18

SQL - Principais conceitos Bandeira Criação das Tabelas do exemplo (cont): ACEITOS CREATE TABLE aceitos ( Evento varchar2(30), Autor varchar2(30), Titulo varchar2(30) ); NOTA_DE_CORTE CREATE TABLE nota_de_corte ( Nota_corte number(2,1) ); 19

SQL - Principais conceitos Morelli pág. 12 Tipos de dados (principais) CHAR(N) Campos caracter de tamanho fixo. VARCHAR2(N) Campos caracter de tamanho variável (só considera os caracteres utilizados). LONG Utilizado para campos muito grandes. RAW e LONG RAW Equivalentes aos VARCHAR2 e LONG respectivamente mas binários para guardar imagens, sons, etc... NUMBER(p,e) Campos numéricos (p=parte inteira e e=número de decimais). DATE Campos de datas. 20

SQL - Principais conceitos Morelli pág. 12 Restrições de dados (constraints) Destinadas a garantir a integridade dos dados em determinadas condições NULL NOT NULL Coluna aceita ou não valores nulos. UNIQUE Coluna somente aceita valores únicos. CHECK Coluna aceita somente os valores constantes na lista informada. PRIMARY KEY Identifica a chave primária da tabela. FOREIGN KEY Identifica que a coluna é uma chave estrangeira. 21

SQL - Principais conceitos Morelli pág. 15 Operadores Relacionais = <> > < >= <= Igual Diferente Maior Menor Maior ou igual Menor ou igual 22

SQL - Principais conceitos Morelli pág. 15 Operadores Lógicos And Or Not Is null Operador restritivo equivale a uma intersecção Operador associativo equivale a uma união Negação Se o campo é nulo 23

SQL - Principais conceitos Machado cap.14 Comando para recuperar dados de Tabelas SELECT parâmetros SELECT [distinct] {*,colunas [alias], expressões, funções,...} FROM {tabelas [alias],} [WHERE condição] [GROUP BY colunas] [HAVING condição] [ORDER BY colunas [asc desc]]; 24

SQL - Principais conceitos Machado cap.14 Funções de linha para manipular dados UPPER/LOWER; Cálculos (SELECT 10 * 20 FROM DUAL); CONCAT ou ; INITCAP; LENGTH; SUBSTR; LTRIM/RTRIM; ROUND; TRUNC MOD (resto da divisão); 25

SQL - Principais conceitos Machado cap.14 Funções de linha para manipular datas ADD_MONTHS (data,n); MONTHS_BETWEEN (data1,data2); NEXT_DAY (data, dia_da_semana ); TO_DATE(campo,máscara); TO_CHAR(campo,máscara); 26

SQL - Principais conceitos Machado cap.14 Funções de linha para efetuar cálculos; AVG (campo); COUNT (campo *); MAX (campo); MIN(campo); SUM(campo); 27

SQL - Principais Morelli 3.1 e 3.2 Seleções básicas, ordenações e filtros SELECT [distinct] {*,colunas [alias], expressões, funções,...} FROM {tabelas [alias],} [WHERE condição] [GROUP BY colunas] [HAVING condição] [ORDER BY colunas [asc desc]]; Exercícios: 28

SQL - Principais Recuperando dados de várias tabelas; Conceitos Qualificadores de nomes Permitem a efetivação de uma junção entre tabelas em uma consulta pois, pode haver colunas de mesmo nome em tabelas diferentes. Duas sintaxes diferentes: Padrão standard Equalização de colunas na cláusula WHERE (utilizada pelo MS-SQL e ORACLE). Padrão ANSI SQL Parâmetro JOIN na cláusula FROM 29

SQL - Principais Recuperando dados de várias tabelas; Padrão ANSI SQL Parâmetro JOIN na cláusula FROM Tipos: INNER JOIN Inclui somente as linhas que satisfacam a condição de junção; CROSS JOIN Inclui cada uma das combinações de todas as linhas entre as tabelas; OUTER JOIN Inclui as linhas que satisfaçam a condição de junção mais as linhas restantes de uma das tabelas da junção 30

SQL - Principais Recuperando dados de várias tabelas; Padrão ANSI SQL (cont) Exemplos: INNER JOIN Ver os títulos de cada autor aceitos para um evento qualquer; Select artigos.autor, aceitos.titulo From artigos INNER JOIN aceitos ON artigos.autor = aceitos.autor; CROSS JOIN (produto cartesiano) Mostrar os eventos de todos os artigos; Select artigos.autor, artigos.titulo, aceitos.evento From artigos CROSS JOIN aceitos; 31

SQL - Principais Recuperando dados de várias tabelas; Padrão ANSI SQL (cont) Exemplos (cont) : OUTER JOIN Possui um parâmetro adicional para indicar de qual tabela se deseja incluir todas as linhas. Utilidades: verificar quais linhas de uma tabela possuem relacionamento com a outra e quais não possuem. Qualificadores: LEFT OUTER JOIN inclui todas as linhas da tabela do primeiro lado (esquerdo) RIGHT OUTER JOIN inclui todas as linhas da tabela do segundo lado (direito) Select artigos.autor, aceitos.titulo From artigos LEFT OUTER JOIN aceitos ON artigos.autor = aceitos.autor; 32

SQL - Principais Morelli 3.3 Seleções join (junção) de tabelas; Tipos de junções (relações) Padrão STANDARD. Equijoin campos iguais de tabelas diferentes; SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções,...} FROM tabela1 alias1, tabela2 alias2 WHERE alias1.coluna1 = alias2.coluna2; Exemplo: Ver os títulos de cada autor aceitos para um evento qualquer; Select art.autor, ace.titulo From artigos art, aceitos ace Where art.autor = ace.autor; 33

SQL - Principais Morelli 3.3 Seleções join (junção) de tabelas (cont); Tipos de junções (relações) (cont); Outerjoin campos em comum existam em duas tabelas e os que faltam; SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções,...} FROM tabela1 alias1, tabela2 alias2 WHERE alias1.coluna1 = alias2.coluna2(+) [ORDER BY colunas]; Exemplos: Ver os títulos de cada autor aceitos para um evento qualquer e os que não o foram; Select art.autor, art.titulo, ace.evento From artigos art, aceitos ace Where art.autor(+) = ace.autor; 34

SQL - Principais Morelli 3.32 Seleções join (junção) de tabelas (cont); Tipos de junções (relações) (cont); NonEquijoin reunir campos de tabelas que não tenham nada em comum. SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções,...} FROM tabela1 alias1, tabela2 alias2, tabela3 alias3 WHERE alias1.coluna1 = alias2.coluna2 AND alias3.coluna3 between valor_mínimo AND valor_máximo; Exemplo: Ver os títulos, as notas, os eventos e a nota de corte dos trabalhos aceitos; Select art.titulo, art.nota, ace.evento, nc.nota_corte From artigos art, aceitos.ace, nota_de_corte nc Where art.autor = ace.autor And art.titulo = ace.titulo; 35

SQL - Principais Morelli 3.3 Seleções join (junção) de tabelas (cont); Tipos de junções (relações) (cont); Selfjoin reunir campos diferentes de uma mesma tabela que possam ter conteúdo do mesmo tipo. SELECT [distinct] {*,alias.colunas [alias_coluna], expressões, funções,...} FROM tabela1 alias1, tabela1 alias2 WHERE alias1.coluna1 = alias2.coluna2; Nota: note que a tabela é a mesma embora os aliases sejam diferentes; Exemplos: Ver os artigos financiados pela própria universidade; Select art1.autor, art1.titulo, art1.universidadeorigem, art2.orgaofinanciador From artigos art1, artigos art2 Where art1.universidadeorigem = at2.orgaofinanciador; 36

SQL - Principais Morelli 3.4.1 Seleções usando funções de linha; Funções de caracteres; Função lower/upper (coluna) initcap (coluna) concat (coluna1,coluna2) substr (coluna, posição,tamanho) length (coluna) lpad/rpad (campo, n,c) Descrição Converte caracteres em minúsculas ou maiúsculas. Converte o primeiro caractere de cada palavra em maiúsculo e o resto minúsculo. Concatena duas colunas ou cadeia de caracteres (semelhante ao operador de concatenação ). Extrai parte dos caracteres de uma coluna ou grupo de caracteres. Informa a quantidade de caracteres da coluna. Preenche à esquerda ou à direita com o caractere indicado em c até o tamanho n, o campo indicado. 37

SQL - Principais Morelli 3.4.2 Seleções usando funções de linha; Funções de datas; No ORACLE, o tipo DATE armazena internamente: século, ano, mês, dia, hora, minuto e segundo. O formato padrão é DD-MMM-AA. O usuário poderá, a seu critério, utilizar estes dados de formas diferentes, utilizando as funções abaixo. A variável de sistema sysdate, armazena a data/hora corrente. Função months_between (data1,data2) add_months (data, n) next_day (data, dia_da_semana ) last_day (data) round (data, formato) trunc (data, formato) Descrição Retorna o número de meses entre duas datas. Adiciona n meses à data informada Retorna uma data, após a data informada, em que o dia da semana seja igual a dia_da_semana. Retorna a data do último dia do mês em que se encontra a variável data. Arredonda a data informada para o primeiro ou último dia do mês (quando o formato for MONTH) ou ano (quando formato for YEAR). Trunca data informada (idem round) 38

SQL - Principais Morelli 3.4.3 Seleções usando funções de linha; Funções de numéricas; Função round (coluna, d) trunc (coluna, d) mod (a,b) power (n1, n2) sqrt (n) ceil/floor (num) Descrição Arredonda o valor ou coluna informada, em que d indica o número de casas decimais desejado. Trunca o valor ou coluna informada, em que d indica o número de casas decimais desejado. Retorna o resto da divisão de a por b, em que a e b podem ser constantes, colunas ou expressões. Calcula n1 elevado a n2. Calcula a raiz quadrada de n. Arredonda num para cima ou para baixo. 39

SQL - Principais Morelli 3.4.4 Seleções usando funções de linha; Funções de conversão de dados; Função to_char (número ou data, formato ) to_number (char) to_date (char, formato ) nvl (coluna, valor) Descrição Converte um campo numérico ou data em uma cadeia de caracteres do tipo varchar2, com o formato definido pela variável formato. Converte a cadeia de caracteres numericos informados em um número inteiro. Converte uma cadeia de caracteres, informando uma data, no tipo date, de acordo com a variável formato. Converte um null encontrado na coluna, em um valor especificado. 40

SQL - Principais Morelli 3.4.5 Seleções usando funções de linha; Funções de grupo; Função Avg (coluna) Count (coluna) Max (coluna) Min (coluna) Sum (coluna) Descrição Calcula a média dos valores de uma coluna. Informa o total de linhas selecionadas. Informa o valor máximo de uma coluna. Informa o valor mínimo de uma coluna. Calcula a soma dos valores de uma coluna. Todas as funções desconsideram valores nulos, exceto count, quando o argumento for *. 41

SQL - Principais Morelli 3.5 Seleções usando operadores de conjunto; Operador Union Intersect Minus Descrição Retorna a união entre dois conjuntos de dados com estruturas semelhantes. Retorna os dados que são comuns a dois conjuntos de dados. Retorna o que um conjunto possui e o outro não. 42

SQL - Principais Morelli 3.5 Seleções usando conjuntos; Lista de valores Parâmetro IN no comando WHERE; Ver os eventos dos meses de férias escolares (01, 07 e 12); Select evento, mês From eventos Where mês IN (1, 7, 12); Intervalos Parâmetro BETWEEN no comando WHERE; Ver os eventos dos meses letivos do primeiro semestre (02 a 06); Select evento, mês From eventos Where mês BETWEEN 2 AND 6; 43

SQL - Principais Morelli 4.2 Atualização de dados; Alteração de linhas; UPDATE tabela SET coluna = valor [, coluna = valor...] [WHERE condição]; Se a cláusula WHERE for omitida, todas as linhas da tabela serão alteradas. 44

SQL - Principais Morelli 4.3 Atualização de dados; Eliminação de linhas; DELETE [from] tabela [WHERE condição]; Se a cláusula WHERE for omitida, todas as linhas da tabela serão eliminadas. 45

SQL - Principais Morelli 6.3 Outras estruturas de dados; Visões de dados; Uma visão (view) é uma tabela virtual na qual os dados não estão fisicamente armazenados. É apenas uma visão de um grupo de colunas de uma ou mais tabelas do banco. Vantagens: Evitar que usuários não autorizados tenham acesso a todos os dados de uma tabela; Associar a uma visão, consultas que utilizam critérios de seleção complexos, para facilitar o acesso pelos usuários. 46

SQL - Principais Outras estruturas de dados; Criando visões; CREATE [OR REPLACE] [force noforce] VIEW nome_visão [alias,...] as subquery; Onde: Opção replace force noforce Descrição Recria a view, se ela já existir Morelli 6.3 Cria a view, mesmo que a tabela base não exista Só cria a view se a tabela base existir. subquery Sentença select na qual será baseada a view. Há outros parâmetros que foram omitidos e que poderão ser consultados no livro. 47

SQL - Principais Outras estruturas de dados; Criando seqüências; Valores que podem ser gerados automaticamente pelo Oracle. Morelli 6.4 Muito útil na geração de valores para chaves primárias; 48

SQL - Principais Morelli 6.4 Outras estruturas de dados; Criando seqüências; CREATE SEQUENCE seqüência [increment by n] [start with n] [maxvalue n nomaxvalue] [cycle nocycle] [cache n nocache]; Onde: Opção seqüência increment by n start with n maxvalue/minvalue n cycle nocycle cache n nocache Descrição Nome da seqüência que não pode ser o mesmo de uma tabela ou view. Informa de quanto será o incremento ou decremento da seqüência. Informa o primeiro número a ser gerado. Informa o valor máximo ou mínimo que a seqüência pode assumir. Indica que, quando atingir o valor máximo, a numeração continuará a partir do valor inicial ou não. Indica ao Oracle quantos valores são pré-alocados em memória 49

SQL - Principais Outras estruturas de dados; Criando sinônimos; Morelli 6.5 Estabelece nomes alternativos para tabelas, views, índices ou seqüências; Objetiva facilitar a manipulação desses objetos por outros usuários que não o seu dono, dando-lhes nomes mais curtos ou mais significativos; Preservar a definição de um objeto por seu usuário original; Utilizado como forma de compartilhamento de objetos por vários usuários. 50

SQL - Principais Morelli 6.5 Outras estruturas de dados; Criando sinônimos; CREATE [public] SYNONYM sinônimo for objeto; Onde: Opção public objeto Descrição Indica que o sinônimo poderá ser usado por qualquer usuário. Informa o nome do objeto sobre o qual se aplica o sinônimo. 51

SQL - Principais Morelli 7 Subqueries; Consulta utilizada dentro de um comando SQL em diversas situações. Subqueries de uma linha; Quando se espera que a consulta retorne apenas um valor. Formato: SELECT coluna [, coluna...] FROM tabela1 WHERE [tabela1.]coluna = (SELECT [tabela2.]coluna2 FROM tabela2 [WHERE condição] ); Observe: a presença do operador relacional =; que, de fato, a subquery retorne somente um valor; Que a subquery é colocada entre parênteses; Pode ser utilizada para outros alem do select. 52

SQL - Principais Subqueries; Morelli 7 Subqueries de múltiplas linhas; Quando se espera que a consulta retorne um, ou mais de um valor em apenas uma coluna. Formato: SELECT coluna [, coluna...] FROM tabela1 WHERE [tabela1.]coluna IN NOT IN (SELECT [tabela2.]coluna2 FROM tabela2 [WHERE condição] ); Observe: a presença do operador relacional IN, ou NOT IN; que, de fato, a subquery retorne somente uma coluna; Que a subquery é colocada entre parênteses. 53

SQL - Principais Subqueries; Morelli 7 Subqueries de múltiplas colunas; Quando se espera que a consulta retorne um, ou mais de um valor em apenas uma ou várias colunas. Formato: SELECT coluna [, coluna...] FROM tabela1 WHERE [tabela1.]coluna IN NOT IN (SELECT [tabela2.]coluna2, [tabela2.]coluna3 FROM tabela2 [WHERE condição] ); Observe: a presença do operador relacional IN, ou NOT IN; que a subquery retorna mais de uma coluna; Que a subquery é colocada entre parênteses. 54

SQL - Principais Subqueries; Subqueries correlatas; Morelli 7 Quando se utiliza uma coluna da consulta externa na subquery. Formato: SELECT coluna1 [, coluna2...] FROM tabela1 WHERE [tabela1.]coluna IN NOT IN (SELECT [tabela2.]coluna2 FROM tabela2 WHERE tabela2.coluna2 = tabela1.coluna2 ); Observe: a presença do operador relacional IN, ou NOT IN; que a subquery utiliza uma coluna da tabela 1 (mais externa) na sua condição de comparação; Que a subquery é colocada entre parênteses. 55

Orientação Final Página do professor na internet: http://prof.cle.sites.uol.com.br Dúvidas?!? 56