Structured Query Language (SQL) Aula Prática



Documentos relacionados
Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

SQL - Criação de Tabelas

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

Linguagem de Consulta - SQL

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

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

Linguagem SQL Sub-linguagem DDL

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

SQL. Autor: Renata Viegas

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Linguagem SQL (Parte II)

A linguagem SQL

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

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

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Comandos de Manipulação

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

SQL DDL. Frederico D. Bortoloti

SQL (Structured Query Language)

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)

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 (Structured Query Language)

SQL (Structured Query Language)

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

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

Programação SQL. Introdução

Comandos DDL. id_modulo = id_m odulo

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

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

SQL (STRUCTUREDQUERY LANGUAGE)

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

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

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

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

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)

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

SQL Structured Query Language

Introdução à linguagem SQL

Linguagem de Consulta Estruturada (SQL)


SQL (STRUCTUREDQUERY 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

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 BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

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

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

Structured Query Language (SQL)

SQL Básica. Andre Noel

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

EXEMPLOS DE COMANDOS NO SQL SERVER

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

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

Linguagem SQL. Comandos Básicos

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

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

Fundamentos do Sistema Gerenciador de Banco de Dados

SQL. Prof. Márcio Bueno.

1. Domínio dos Atributos

SQL (Structured Query Language)

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

A linguagem SQL

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

Structured Query Language (SQL)

Introdução ao SQL. Aécio Costa

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

Banco de Dados. Maurício Edgar Stivanello

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 -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

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

SQL Linguagem de Definição de Dados

O que são Bancos de Dados?

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

Banco de Dados I Introdução SQL

SQL. Hélder Antero Amaral Nunes

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

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico

Linguagem SQL (Parte I)

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

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

Banco de Dados. Prof. Antonio

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

Projeto de Banco de Dados: Empresa X

BANCO DE DADOS Parte 4

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

ADMINISTRAÇÃO DE BANCO DE DADOS

A Linguagem SQL. Introdução a Banco de Dados DCC 011

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

Transcrição:

Structured Query Language (SQL) Aula Prática

Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas Gerenciadores de Banco de Dados Relacionais. ISO e ANSI lançou em 1986 a primeira versão do padrão da linguagem SQL, o SQL-86. A linguagem passou por aperfeiçoamentos em 1989 e, em 1992, foi lançada a SQL-92 ou SQL2. Um novo padrão, chamado de SQL-99 ou SQL3 foi lançado no ano de 2000. Foi o primeiro padrão a estender a linguagem para permitir a utilização de tipos de dados complexos e a incorporar características da orientação a objetos. Após uma grande revisão do padrão SQL3 foi lançada a SQL:2003. Nesta verão foi adicionada uma nova parte ligada ao tratamento de XML. 2

Linguagens de SGBD Linguagem de Definição de Dados (DDL): usada para especificar o esquema conceitual. Linguagem de Definição de Armazenamento (SDL): usada para especificar o esquema interno, mas na maioria dos SGBDs a DDL é usada para definir este esquema. Linguagem de Definição de Visões (VDL): usada para especificar as visões dos usuários e os seus mapeamentos para o esquema conceitual, mas na maioria dos SGBDs a DDL é usada para definir ambos os esquemas, o conceitual e o externo. Linguagem de Manipulação de Dados (DML): usada para manipular os dados em um banco de dados. As manipulações típicas são a recuperação, inserção, remoção e modificação dos dados. 3

Tipos de Dados (4 GB) (4 GB) 4

Modelo Utilizado 5

Pessoa(CPF, Nome, Sexo) Piloto (CPF, Cart_Trab) CPF Referencia Pessoa Passageiro(CPF, Dieta) CPF Referencia Pessoa Voo(Numero, Data, P_CPF) CPF Referencia Piloto Reserva(V_Numero, P_CPF) V_Numero Referencia Voo P_CPF Referencia Passageiro Modelo Utilizado Telefone(Numero, P_CPF) CPF Referencia Pessoa 6

Criação de Tabelas: CREATE TABLE NOME_TABELA( COL1 TIPO_COLUNA [NOT NULL], COL1 TIPO_COLUNA [NOT NULL], COL1 TIPO_COLUNA [NOT NULL] ) 7

Na criação de tabelas, é possível especificar vários tipos de restrições: Chave Primária: PRIMARY KEY ; Chave Estrangeira: FOREIGN KEY; Chave Alternativa (ou alternada): UNIQUE; Restrição de Domínio: CHECK. Pode-se atribuir nomes às restrições de integridade: CONSTRAINT NOME_RESTRIÇÃO TIPO RESTRIÇÃO. 8

CREATE TABLE Pessoa(CPF VARCHAR(11) NOT NULL, Nome VARCHAR(30) NOT NULL UNIQUE, Sexo VARCHAR(1) NOT NULL, PRIMARY KEY (CPF)); CREATE TABLE Piloto(CPF VARCHAR(11) NOT NULL, Cart_Trab VARCHAR(13) NOT NULL UNIQUE, PRIMARY KEY (CPF), FOREIGN KEY (CPF) REFERENCES Pessoa (CPF)); 9

CREATE TABLE Passageiro(CPF VARCHAR(11) NOT NULL CONSTRAINT PK_PASSAGEIRO PRIMARY KEY CONSTRAINT FK_PESSOA REFERENCES Pessoa (CPF), Dieta VARCHAR(1) CHECK (Dieta IN( S, N ))); CREATE TABLE Voo(Numero Numeric NOT NULL CONSTRAINT PK_VOO PRIMARY KEY, Data Date NOT NULL, TIPO VARCHAR2(15) DEFAULT NACIONAL, P_CPF VARCHAR(11) NOT NULL CONSTRAINT FK_PILOTO REFERENCES Piloto (CPF)); 10

Deleção de item referenciado:... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF) REFERENCES Piloto (CPF) ON DELETE RESTRICT); -- impede a exclusão (default)... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF) REFERENCES Piloto (CPF) ON DELETE SET NULL); -- transforma o valor em nulo... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF) REFERENCES Piloto (CPF) ON DELETE CASCADE); -- exclui a linha da tabela 11

Criação de uma tabela com linhas de outra: CREATE TABLE Pessoa_Nova AS SELECT CPF, Nome, Sexo FROM Pessoa; 12

CREATE VIEW <nome-de-visão> [ (lista-de-colunas) ] AS <comando-de-seleção> [WITH CHECK OPTION] CREATE VIEW Empregados_Sede AS SELECT (Nome, Endereco, Sexo, Data-nasc) FROM EMPREGADO Atualização (INSERT, UPDATE, DELETE) de visão: A query não pode conter join, ou seja, deve ser baseada apenas em uma tabela. A query deve conter todas as colunas nott null da tabela referenciada. A query não pode conter operadores de conjunto: UNION, EXCEPT e INTERSECT. A query não pode conter o operador DISTINCT. A query não pode conter funções de agregação. A query não pode conter GROUP BY. 13

Alteração de Tabelas: Incluir novas colunas em uma tabela; Excluir colunas existentes em uma tabela; Adicionar a definição de uma restrição em uma tabela; Excluir a definição de uma restrição existente em uma tabela; Modificar uma coluna. 14

CREATE TABLE Reserva(V_Numero Numeric NOT NULL, P_CPF VARCHAR(11) NOT NULL); CREATE TABLE Telefone(Numero VARCHAR(15) NOT NULL, P_CPF VARCHAR(11) NOT NULL, PRIMARY KEY (Numero, P_CPF), FOREIGN KEY (P_CPF) REFERENCES Pessoa(CPF)); 15

ALTER TABLE Telefone ADD COLUMN TIPO VARCHAR2(5) DEFAULT FIXO NOT NULL; ALTER TABLE Telefone DROP COLUMN Tipo; ALTER TABLE TELEFONE ADD CONSTRAINT TIPO_TELEFONE CHECK (TIPO IN( Fixo, Movel )); ALTER TABLE TELEFONE DROP CONSTRAINT TIPO_TELEFONE; ALTER TABLE TELEFONE MODIFY (TIPO VARCHAR2(5)); -- para diminuir tamanho a coluna precisa estar vazia. 16

ALTER TABLE Reserva ADD CONSTRAINT PK_RESERVA PRIMARY KEY (V_Numero, P_CPF); ALTER TABLE Reserva ADD CONSTRAINT FK_RESERVA_VOO FOREIGN KEY (V_Numero) REFERENCES Voo (Numero); ALTER TABLE Reserva ADD CONSTRAINT FK_RESERVA_PASSAGEIRO FOREIGN KEY (P_CPF) REFERENCES Passageiro (CPF); ALTER TABLE Reserva ENABLE CONSTRAINT FK_RESERVA_PASSAGEIRO; ALTER TABLE Reserva DISABLE CONSTRAINT FK_RESERVA_PASSAGEIRO; 17

Renomear Tabela: Não é um comando SQL:2003. RENAME Pessoa TO Pessoa_Nova; -- Oracle RENAME TABLE Pessoa TO Pessoa_Nova; Deletar Tabela (estrutura): DROP TABLE Pessoa; 18

FIM