Bases de Dados 2005/2006. Aula 5



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

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

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

Definida pelo American National Standard Institute (ANSI) em 1986

Comandos de Manipulação

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

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

BDII SQL Junção Revisão 8

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

Tarefa Orientada 15 Manipulação de dados

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

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

Memória de aula Semanas 15 e 16

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

Structured Query Language (SQL)

Tarefa Orientada 11 Junção Interna

SQL DML. Frederico D. Bortoloti

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

Junções e Índices em Tabelas

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

SQL. Prof. Márcio Bueno.

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

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

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

Tarefa Orientada 16 Vistas

Bases de Dados 2007/2008. Aula 1. Referências

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

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

Programação SQL. INTRODUÇÃO II parte

António Rocha Nuno Melo e Castro

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

EXEMPLOS DE COMANDOS NO SQL SERVER

IMPLEMENTAÇÃO DE BANCO DE DADOS

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

Banco de dados 1. Linguagem DML SQL Select Avançado. Professor: Victor Hugo L. Lopes

PROGRAMA. Objectivos Gerais :

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

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

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

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

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

Linguagem SQL. Comandos Básicos

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

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

Tarefa Orientada 19 Triggers

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

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

SQL (Structured Query Language)

SQL (Tópicos) Structured Query Language

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Tarefa Orientada 13 Agrupamento e sumário de dados

Linguagem de Banco de Dados DML Exercícios

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Projeto de Banco de Dados

Banco de Dados. Prof. Antonio

Treinamento PostgreSQL - Aula 03

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.

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

Principais Instruções em SQL

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

Programação SQL. Introdução

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

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

Introdução à linguagem SQL

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Bases de Dados. Lab 1: Introdução ao ambiente

Sistemas de Bases de Dados Relacionais Introdução ao SQL. Interrogações diversas sobre a Base de Dados Northwind

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

Banco de Dados I. SQL SELECT Parte 1 - Básico. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Linguagem SQL (Parte I)

Tarefa Orientada 10 Obter informação a partir de uma tabela

INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com

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

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Introdução ao SQL. Aécio Costa

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

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

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Introdução ao PostgreSQL

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 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

Rápida revisão do Modelo Relacional

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Banco de Dados. Maurício Edgar Stivanello

Exercícios. Exercícios

Operação de União JOIN

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

Linguagem SQL Parte I

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

SQL - Criação de Tabelas

Linguagem de Consulta Estruturada SQL- DML

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

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

Transcrição:

Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d. Inner Join e. Outer Join i. Left Join ii. Right Join iii. Full Join f. Self Join 2. Operações sobre conjuntos a. Union b. Intersect c. Except 3. Inserção, actualização e remoção de dados a. Insert b. Update c. Delete -1.(T.P.C.) Uma tabela representa sempre uma relação? Questão para reflecção em casa. 0. A base de dados Projecto Use o programa SQL Query Analyzer e estabeleça uma ligação ao servidor de base de dados ferro.win.di.ubi.pt. Não se esqueça de seleccionar a base de dados apropriada (Projecto!). 1. SQL Join (variantes) Objectivo: estudo dos diferentes tipos de ligação entre tabelas A ligação entre tabelas é frequentemente designada por join. a. Cross join O produto cartesiano de duas tabelas associa a cada linha da primeira tabela o conjunto das linhas da segunda tabela. Select *, Departamento b. Equi-join Select * E, Departamento D Where E.DepNum = D.DepNum A ligação entre as tabelas (via cláusula Where) é realizada através da igualdade entre duas colunas (equi-join).

Na equi-join todas as colunas (de todas as tabelas) são apresentadas e a ligação entre as tabelas fazse através de uma igualdade (nota: aparecem colunas com conteúdo igual.). Só os registos que satisfazem a condição de junção aparecem no resultado. c. Natural join Select E.*, D.Nome, Local E, Departamento D Where E.DepNum = D.DepNum Na junção natural não são apresentadas colunas (com conteúdo) repetidas. d. Inner join Select Departamento.*, Departamento Where Empregado.DepNum = Departamento.DepNum Numa inner join só são apresentadas as linhas em que exista ligação entre as tabelas. Em SQL Server: Select Departamento.* INNER JOIN Departamento ON Empregado.DepNum = Departamento.DepNum e. Outer join (em SQL Server) A outer join permite obter a totalidade das linhas de uma tabela, mesmo quando não existe o correspondente valor na outra tabela. A junção externa pode ser realizada à esquerda ou à direita. i. Left join Quando a junção externa é realizada à esquerda, aparecem todas as linhas da tabela na esquerda e apenas as linhas correspondentes da tabela na direita. LEFT JOIN Departamento ON Empregado.DepNum = Departamento.DepNum ii. Right join Quando a junção externa é realizada à direira, aparecem todas as linhas da tabela na direita e apenas as linhas correspondentes da tabela na esquerda. RIGHT JOIN Departamento ON Empregado.DepNum = Departamento.DepNum iii. Full join Combina as duas junções anteriores FULL JOIN Departamento ON Empregado.DepNum = Departamento.DepNum f. Self join Variante da Inner join em que se comparam duas colunas da mesma tabela. Select Distinct A1.EmpNum From Atribuicao A1, Atribuicao A2 Where A1.EmpNum = A2.EmpNum and A1.ProjNum <> A2.ProjNum

2. Operações sobre conjuntos a. Union A união permite juntar o conteúdo de vários comandos Select. As tabelas que participam na união têm que ser compatíveis em união: 1. Ambas têm de ter o mesmo grau (mesmo número de colunas) 2. Colunas correspondentes em cada tabela têm de ter o mesmo domínio (o mesmo tipo de dados). Select Nome UNION Select Nome From Departamento O nome das colunas que aparece no resultado é o nome das colunas seleccionadas com o primeiro Select. As restrições presentes na cláusula Where são aplicadas ao respectivo Select. Só poderá aparecer uma única cláusula Order By (e no último Select), sendo a ordenação aplicada a todo o resultado. Por defeito uma união remove as linhas duplicadas (para duplicados usar UNION ALL). UNION Select DepNum, Nome, NULL From Departamento Where nome Like %c% Order By 2 b. Intersect Não está disponível no SQL Server 2000. INTERSECT Where Nome LIKE %da% c. Except Não está disponível no SQL Server 2000. EXCEPT Where Salario Between 140000 and 180000

3. Inserção, actualização e remoção de dados a. Insert Insert Into table_name [(column_list)] Values (data_value_list) column_list é opcional. Se omitida, é assumida a ordem indicada no CREATE TABLE. As colunas omitidas devem ser declaradas como NULL quando a tabela foi criada, a menos que DEFAULT tenha sido especificado aquando da criação da coluna. data_value_list deve corresponder ao column_list do seguinte modo: - O número de elementos em cada lista deve ser igual. - Deve haver uma correspondência directa na posição dos elementos de cada lista. - O tipo de dados de cada item na data_value_list deve ser compatível com o tipo de dados na correspondente coluna. Insert Into Departamento Values (13, Informática, Covilhã ) Insert Into Departamento (DepNum, Nome, Local) Values (14, Matemática, Covilhã ) Nota: consulte a DDL para a criação da tabela Departamento e teste as constraints. INSERT...SELECT Uma segunda forma de INSERT permite que várias linhas sejam copiadas de uma ou mais tabelas para outra. Insert Into table_name [(column_list)] Select... b. Update O comando UPDATE permite alterar os valores existentes existentes nos campos de uma (única) tabela. Update table_name Set column_name1 = data_value1 [, column_name2 = data_value2...] [Where search_condition] table_name pode ser o nome de uma tabela de base ou de uma view actualizável. A cláusula SET especifica uma ou mais colunas a serema ctualizadas. A cláusula WHERE é opcional: - Se omitida, as colunas indicadas são actualizadas para todas as linhas da tabela. - Se especificada, somente as linhas que satisfazem a search_condition são actualizadas. Os data_value(s) devem ser compatíveis com os tipos de dados das colunas correspondentes. Update Departamento Set Local = Fundão Where DepNum = 13

Nota: consulte a DDL para a criação da tabela Departamento e teste as constraints. c. Delete O comando DELETE permite apagar linhas de uma (única) tabela. Delete From table_name [Where search_condition] table_name pode ser o nome de uma tabela de base ou de uma view actualizável. A cláusula WHERE é opcional: - Se omitida, todas as linhas da tabela são apagadas da tabela (a tabela não é apagada). - Se especificada, somente as linhas que satisfazem a search_condition são apagadas. Delete Departamento Where DepNum = 13