Linguagem SQL. Comandos Básicos



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

Comandos de Manipulação

Linguagem de Consulta - SQL

Linguagem SQL (Parte II)

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

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

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

Programação SQL. Introdução

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

Linguagem de Consulta Estruturada (SQL)

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

Linguagem SQL Sub-linguagem DDL

SQL (Structured Query Language)

Comandos DDL. id_modulo = id_m odulo

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

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

EXEMPLOS DE COMANDOS NO SQL SERVER


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

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

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

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

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

SQL DDL. Frederico D. Bortoloti

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

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

SQL. Prof. Márcio Bueno.

SQL (Linguagem de Consulta Estruturada)

Linguagem SQL (Parte I)

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 - Criação de Tabelas

Structured Query Language (SQL)

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

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

Introdução ao SQL. Aécio Costa

SQL. Autor: Renata Viegas

SQL (Structured Query Language)

Linguagem SQL Parte I

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

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

SQL (Structured Query Language)

A linguagem SQL

Structured Query Language (SQL) Aula Prática

SQL (Structured Query Language)

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Á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 - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

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. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

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

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

SQL (Tópicos) Structured Query Language

EXERCÍCIOS PRÁTICOS. Banco de Dados

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

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

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

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

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

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

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

BANCO DE DADOS Parte 4

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)

SQL Structured Query Language

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

SQL DML. Frederico D. Bortoloti

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

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS)

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

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

Fundamentos do Sistema Gerenciador de Banco de Dados

Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai

SQL (STRUCTUREDQUERY LANGUAGE)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (

ADMINISTRAÇÃO DE BANCO DE DADOS

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

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

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

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Introdução ao PostgreSQL

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

Bases de Dados 2005/2006. Aula 5

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

MySql. Introdução a MySQL. Andréa Garcia Trindade

4.6. SQL - Structured Query Language

SQL. Hélder Antero Amaral Nunes

Linguagem de Consulta Estruturada SQL- DML

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.

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

Transcrição:

Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br

Comando CREATE TABLE Cria uma Tabela no Esquema da Aplicação Sintaxe: CREATE TABLE <nome da tabela> ( <definição de Coluna>,...-- tantos atributos quantos necessários <Restrições de Integridade> ); <definição de Coluna> pode ser <nome atr> <tipo de dado> [NULL NOT NULL USER DEFAULT <default- value> COMPUTED BY <expresion>

Comando CREATE TABLE Tipos de dados <tipo de dado> pode ser: {SMALLINT INTEGER FLOAT DOUBLE PRECISION} {DECIMAL NUMERIC} [( precision [, scale])] DATE {CHAR CHARACTER CHARACTER VARYING VARCHAR} [( int)] BLOB }

Comando CREATE TABLE Primeiro Exemplo Exemplo: CREATE TABLE Aluno ( nome varchar(40) NOT NULL, NUSP decimal(8) NOT NULL, idade decimal(2) DEFAULT 18, cidade varchar(30), ID_Responsavel varchar(20) DEFAULT USER ) ;

Comando CREATE TABLE Restrições de Integridade <Restrições de Integridade> podem ser: PRIMARY KEY [<nome da chave>] ( <Atributo>,... ) UNIQUE [<nome da chave>] ( <Atributo>,... ) FOREIGN KEY [<nome da chave>] (< <Atributo>,... > ) REFERENCES <tabela> ( <Atributos chaves>,... ) [ <ações> ] CHECK [<nome da condição>] ( <condição> ) <ações> podem ser: ON { UPDATE DELETE } { CASCADE SET NULL SET DEFAULT }

Comando CREATE TABLE Segundo Exemplo CREATE TABLE Turma ( sigla char(7) NOT NULL, numero decimal(2) NOT NULL, codigo decimal(4) PRIMARY KEY, NNalunos decimal(3), FOREIGN KEY SiglaDaTurma (Sigla) REFERENCES Discip (Sigla) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE SiglaNumero (Sigla, Numero), CHECK LimiteDeVagas (Value <50) );

Comando ALTER TABLE Modifica tabelas já definidas Sintaxe: ALTER TABLE <nome da tabela> ADD <definição de Coluna> ADD <Restrição de integridade> -- Chaves primária, Secund. Estrang. MODIFY <definição de Coluna> MODIFY <definição de Coluna> DEFAULT <default-value> MODIFY <definição de Coluna> [ NOT ] NULL DROP <definição de Coluna> DROP CHECK DROP <nome da chave> DROP UNIQUE ( <definição de Coluna>,... ) DROP PRIMARY KEY DROP FOREIGN KEY RENAME <novo nome> RENAME <Atributo> TO <novo atributo> <definição de coluna> pode ser: <Nome Atributo> <Tipo de Dado> [NULL ] [ DEFAULT default-value ] -- nao vale [NOT NULL]

Comando ALTER TABLE Exemplos ALTER TABLE Professor ADD CorCabelos CHAR(25) DEFAULT Branco ; ALTER TABLE Aluno ADD Altura INT DEFAULT NULL; ALTER TABLE Aluno DROP Altura; ALTER TABLE Professor MODIFY CorCabelos CHAR(30) ; ALTER TABLE Aluno ADD MonitoraDiscip CHAR(7) REFERENCES Disciplina (Sigla) ON UPDATE CASCADE ON DELETE SET NULL; ALTER TABLE Aluno DROP MonitoraDiscip;

Comando DROP TABLE Remove completamente uma tabela e sua definição Sintaxe: DROP TABLE <nome da tabela>; Exemplo: DROP TABLE Aluno;

Comando CREATE DOMAIN Cria um tipo de dado definido pelo usuário Sintaxe: CREATE DOMAIN [ AS ] <Nome do Domínio> <Tipo de Dado> [ [ NOT ] NULL ] [ DEFAULT valor-default ] [ CHECK ( Condição ) ]

Comando CREATE DOMAIN Cria um tipo de dado definido pelo usuário <condição> = { VALUE <operador> <val> VALUE [NOT] BETWEEN <val> AND <val> VALUE [NOT] LIKE <val> [ESCAPE <val>] VALUE [NOT] IN ( <val> [, <val> ]) VALUE IS [NOT] NULL VALUE [NOT] CONTAINING <val> VALUE [NOT] STARTING [WITH] <val> ( <Condição>) NOT <Condição> <Condição> OR <Condição> <Condição> AND <Condição> } <operador> = {= < > <= >=!<!> <>!=

Comando CREATE DOMAIN Exemplos CREATE DOMAIN DNome_Pessoa CHAR (40) NULL; CREATE DOMAIN DCodigo INT NOT NULL; CREATE DOMAIN DIdade INT CHECK (VALUE BETWEEN 1 AND 120);

Comando DROP DOMAIN Elimina um tipo de dado já definido pelo usuário Sintaxe: DROP DOMAIN <Nome do Domínio> Exemplo: DROP DOMAIN Nome_Pessoa;

Exercícios Comandos da DDL Considerando a definição para a Base de Dados ALUNOS, dada previamente, a) (*) Re-escrever o Script original, para definir todas as restrições de integridade; b) (*) Escrever um novo Script, para remover todas as restrições de integridade; c) (*) Escrever um novo Script, para reativar todas as restrições de integridade; d) Escrever um novo Script, para ativar a verificação de pelo menos 4 condições para os atributos individuais. Entregar apenas os Exercícios marcados com (*)

Comando SELECT Realiza as consultas em uma base de dados Sintaxe: SELECT [ ALL DISTINCT ] <lista de atributos> FROM <lista de Tabelas> [ WHERE <condição> ] [ GROUP BY <Atributo>,... [ HAVING <condição> ] ] ORDER BY <Lista de atributos> [ ASC DESC ],... ]

SELECT A1 FROM R WHERE C1 Comando SELECT Realiza as consultas em uma base de dados R... C1 A1

SELECT A1 FROM R WHERE C1 GROUP BY A2 HAVING C2 Comando SELECT Realiza as consultas em uma base de dados C2 A1 R... C1 A1+A2

Comando SELECT Realiza as consultas em uma base de dados Exemplo:Listar os alunos, disciplinas e notas tiradas em turmas com mais de 10 alunos SELECT A.Nome, T.Sigla Disciplinas, M.Nota FROM Alunos A, Turma T, Matricula M WHERE A.NUSP=M.NUSP AND M.CodigoTurma=T.Codito AND T.NNAlunos>10 ORDER BY A.Nome, T.Sigla; R Alunos A Turma T Matricula M C1 A.NUSP=M.NUSP M.CodigoTurma= T.Codigo T.NNAlunos>10 A.Nome A1 T.Sigla Disciplinas M.Nota

Comando SELECT Realiza as consultas em uma base de dados Exemplo:Listar A média das notas das disciplinas em turmas com mais de 10 alunos SELECT T.Sigla Disciplinas, AVG(M.Nota) FROM Turma T, Matricula M WHERE M.CodigoTurma=T.Codito AND GROUP BY T.Sigla HAVING T.NNAlunos>10; C2 T.NNAlunos >10 A1 T.Sigla Disciplinas AVG(M.Nota) R Turma T Matricula M C1 M.CodigoTurma= T.Codigo A2 T.Sigla ( Disciplinas ) T.NNAlunos +A1 AVG(M.Nota)

Comando SELECT Realiza as consultas em uma base de dados O Modelo Relacional é um Meta Modelo: é capaz de modelar a si mesmo. Assim existem: Tabelas de Tabelas, Tabelas de Atributos, etc. No gerenciador Interbase (e vários outros), as tabelas do sistemas são filtradas para não serem mostradas no ISQL, mas podem ser acessadas normalmente. Seus nomes começam com RDB$. Exemplo: SELECT RDB$Field_Name, RDB$Relation_Name, RDB$Field_Position FROM RDB$Relation_Fields WHERE RDB$Relation_Name NOT LIKE 'RDB$%' ORDER BY RDB$Relation_Name, RDB$Field_Position

Comando SELECT Lista de tabelas <Lista de Tabelas> = <joined_table> <Tabela> <joined_table> = <Tabela> <join-type> JOIN <Tabela> ON <CondiçãoJunção> ( <joined_table>) <join-type> = { } JOIN

Comando SELECT Lista de tabelas <CondiçãoJunção> = { <val> <operator> <val> <val> [NOT] BETWEEN <val> AND <val> <val> [NOT] LIKE <val> [ESCAPE <val>] <val> [NOT] IN ( <val> [, <val> ] <select_list>) <val> IS [NOT] NULL <val> {[NOT] {= < >} >= <=} {ALL SOME ANY} (<select_list>) EXISTS ( <select_expr>) SINGULAR ( <select_expr>) <val> [NOT] CONTAINING <val> <val> [NOT] STARTING [WITH] <val> ( <CondiçãoJunção>) NOT <CondiçãoJunção> <CondiçãoJunção> OR <CondiçãoJunção> <CondiçãoJunção> AND <CondiçãoJunção> }

Comando SELECT Lista de tabelas Exemplo: SELECT D.Sigla, D.Nome, Pre.Sigla FROM Discip D LEFT OUTER JOIN Discip Pre ON D.SiglaPreReq=Pre.Sigla

Comando INSERT INTO Insere tuplas em uma Relação Sintaxe: Formato 1: -- Insere uma tupla de cada vez. INSERT INTO <Tabela> [( <Atributo>,... )] VALUES ( expression DEFAULT,... ); Formato 2: -- Insere múltiplas tuplas a partir de uma tabela. INSERT INTO <Tabela> [( <Atributo>,... )] <Comando SELECT>;

Comando INSERT INTO Insere tuplas em uma Relação Exemplos Formato 1: - Insere uma tupla de cada vez. insert into Professor values ('Antonio', '5656', 'MS-3', 33); insert into Professor ( Nome, Grau, NNfuncional) values ('Antoninho', 'MS-3', '5757'); Formato 2: -- Insere múltiplas tuplas a partir de uma tabela. INSERT INTO pessoa ( Nome, Idade ) SELECT nome, idade from aluno; INSERT INTO Sancarlenses SELECT * FROM aluno WHERE cidade like S%Carlos ;

Comando UPDATE TABLE Altera o valor de atributos de tuplas de uma relação Sintaxe: UPDATE <tabela> SET <Atributo> = <expressão>,... [ WHERE <Condição> ] <expressão> = {<Atributo> <constante> <expr> NULL USER?} <expr> = Qualquer comand SELECT que resulte em apenas uma tupla e uma coluna.

Comando UPDATE TABLE Altera o valor de atributos de tuplas de uma relação Exemplo: UPDATE Alunos SET Idade=Idade+1 -- Todas as tuplas da relação têm idade incrementada de um (1) UPDATE Turma SET NNAlunos= ( SELECT count (*) FROM matricula WHERE codigoturma=101 ) WHERE Codigo=101 --Apenas as tuplas de Turma com código=101

Comando DELETE FROM Remove tuplas de uma relação Sintaxe: DELETE [FROM] <tabela> [WHERE <Condição>] Exemplos: DELETE FROM Aluno WHERE NUSP=1234; -- Apaga tupla cujo NUSP vale 1234 DELETE FROM Aluno WHERE Cidade = Mirim-Guaçu' -- Remove todos os Alunos em que o atributo Cidade tem o valor indicado. DELETE FROM Aluno; -- Apaga Todas as tuplas da relação

Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br

Esquema Exemplo create table Professor ( nome varchar(40) NOT NULL, NNfuncional char(7) NOT NULL, grau char(7), idade decimal(2)); create table Aluno ( nome varchar(40) NOT NULL, NUSP decimal(8) NOT NULL, idade decimal(2), cidade varchar(30)) ; create table Discip ( sigla char(7) NOT NULL, nome varchar(25) NOT NULL, siglaprereq char(7), NNcred decimal(2) NOT NULL); create table Turma ( sigla char(7) NOT NULL, numero decimal(2) NOT NULL, codigo decimal(4) NOT NULL, NNalunos decimal(3)); create table Matricula ( codigoturma decimal(4) NOT NULL, NUSP decimal(8) NOT NULL, nota decimal(3)); create table Ministra ( NNfuncprof char(7) NOT NULL, codigo decimal(4) NOT NULL, livro varchar(50));

Esquema Exemplo Matriculas de alunos Professor = { Nome, N#Funcional, Grau, Idade} Aluno = { Nome, N#USP, Idade, Cidade} Turma = { Sigla, Número, Código, N#Alunos} Discip. = { Sigla, Nome, SiglaPréReq, N#Créd.} Matrícula = { CódigoTurma, N#USP, nota} Ministra = { N#FuncProf, Código, livro}