SQL (STRUCTUREDQUERY LANGUAGE)



Documentos relacionados
SQL (STRUCTUREDQUERY LANGUAGE)

SQL (Structured Query Language)

SQL (Structured Query Language)

SQL (Structured Query Language)

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

SQL (Structured Query Language)

SQL. Autor: Renata Viegas

A linguagem SQL

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

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Structured Query Language (SQL) Aula Prática

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Introdução ao SQL. Aécio Costa

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

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

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

Linguagem SQL Sub-linguagem DDL

SQL - Criação de Tabelas

SQL DDL. Frederico D. Bortoloti

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

Linguagem de Consulta - SQL

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

Comandos de Manipulação

Marcelo Henrique dos Santos

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

Banco de Dados. SQL Structured Query Language

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

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL

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

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr

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

Comandos DDL. id_modulo = id_m odulo

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


Linguagem SQL Parte I

Linguagem SQL (Parte I)

Structured Query Language (SQL)

Linguagem SQL. Comandos Básicos

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

Programação SQL. Introdução

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

Linguagem SQL (Parte II)

Projeto de Banco de Dados: Empresa X

BANCO DE DADOS CONCEITOS BÁSICOS

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 - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

Introdução à linguagem SQL

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

4.6. SQL - Structured Query Language

SQL. Prof. Márcio Bueno.

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

Á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. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

Fundamentos do Sistema Gerenciador de Banco de Dados

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

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Professora: Luciana Faria

Curso PHP Aula 08. Bruno Falcão

O que são Bancos de Dados?

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

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

EXEMPLOS DE COMANDOS NO SQL SERVER

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

Linguagem de Consulta Estruturada (SQL)

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

SQL Structured Query Language

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

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

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

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

INTRODUÇÃO. Enfoque abstrato. Enfoque Intermediário

1. Domínio dos Atributos

Sistemas de Banco de Dados

Prof.: Clayton Maciel Costa

A linguagem SQL

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

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

SQL (Structured Query Language)

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

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

Banco de Dados I Introdução SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

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

Structured Query Language (SQL)

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1.

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Prof. Carlos Majer Aplicações Corporativas UNICID

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

SQL. Hélder Antero Amaral Nunes

Banco de Dados. DIEGO BARCELOS RODRIGUES 2015 (2015/1) 1. Ifes - Campus Cachoeiro de Itapemirim

CICLO DE VIDA DE UM BD

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

Transcrição:

BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br

SQL (STRUCTUREDQUERY LANGUAGE) Linguagem comercial para BD relacional: Padrão ISO desde a década de 80: SQL-1 (86); SQL-2 (92); SQL-3 (99). Não é apenas uma linguagem de consulta! Embora o nome sugira! Base Formal: Álgebra relacional e cálculo relacional.

SQL (STRUCTUREDQUERY LANGUAGE) Pode ser considerada uma das maiores razões para o sucesso dos sistemas de banco de dados relacionais. É suportada por todos os SGBDs relacionais comerciais. Estes deveriam suportar um padrão SQL padrão. Alguns fornecedores incluem outros comandos próprios.

SQL (STRUCTUREDQUERY LANGUAGE) Em resposta a proliferação dos dialetos do SQL, ANSI publicou seu primeiro padrão SQL em 1986 [1989] alterações ao padrão SQL 1986 [1992 e 1993] padrões SQL adotados pela ISO [1999 e 2003] busca por uma sinergia entre ANSI e ISO [2006] tentativa de aproximar dialetos SQL de expressões XML

SQL (STRUCTURED QUERY LANGUAGE) Funcionalidades principais: Definição (DDL) e manipulação (DML) de dados; Definição de visões e autorizações de acesso; Definição de restrições de integridade; Definição de transações; Comandos para embutimento em LPs.

SQL: DDL Criação de um BD: SQL padrão não oferece tal comando: BDs são criados via ferramentas do SGBD. Alguns SGBDs (SQL Server, DB2, MySQL) oferecem este comando: CREATE DATABASE nome_bd DROP DATABASE nome_bd

SQL: DDL Comandos para definição de esquemas: CREATE TABLE Define a estrutura da tabela, suas restrições de integridade e cria uma tabela vazia. ALTER TABLE Modifica a definição de uma tabela: Inclusão / Exclusão / Alteração de atributos; Inclusão / Exclusão de regras de integridade. DROP TABLE Remove uma tabela com todas as suas tuplas.

SQL: CREATE TABLE CREATE TABLE nome_tabela ( nome_atributo_1 tipo_1 [[NOT]NULL][UNIQUE] [{, nome_atributo_ntipo_n}] [, PRIMARY KEY (nome(s)_atributo(s))] [{, FOREIGN KEY (nome_atributo) REFERENCES nome_tabela(nome_atributo}] )

SQL: CREATE TABLE Principais tipos de dados do MySQL: int, smallint, tinyint, numeric(tamanho[,nro_casas_decimais]), char(tamanho), varchar(tamanho), date, time, datetime,... Formato para data e hora: YYYY-MM-DD HH:MM:SS

SQL: CREATETABLE-EXEMPLOS CREATE TABLE laboratorio( cdlabo INT NOT NULL, delabo VARCHAR(50), PRIMARY KEY (cdlabo)); CREATE TABLE consulta( cdconsulta INTEGER NOT NULL AUTO_INCREMENT, cdmedico INT NOT NULL, cdpaciente INT NOT NULL, deconsulta VARCHAR(50), dtconsulta DATE, hrconsulta TIME, demedicacao VARCHAR(100), dediagnostico VARCHAR(200), nuvalor DECIMAL(10,2), PRIMARY KEY (cdconsulta), FOREIGN KEY (cdmedico) REFERENCES medico (cdmedico), FOREIGN KEY (cdpaciente) REFERENCES paciente (cdpaciente));

SQL: ALTER TABLE ALTER TABLE nome_tabela ADD [COLUMN] nome_atributo_1 tipo_1 [{RIs}] [{, nome_atributo_n tipo_n [{RIs}]}] MODIFY [COLUMN] nome_atributo_1 tipo_1 [{RIs}] [{, nome_atributo_n tipo_n [{RIs}]}] DROP COLUMN nome_atributo_1 [{, nome_atributo_n }] ADD CONSTRAINT nome_ri_1 def_ri_1 [{, nome_ri_n def_ri_n}] DROP CONSTRAINT nome_ri_1 [{, nome_ri_n}] [ADD DROP] [PRIMARY KEY... FOREIGN KEY...]

SQL: ALTERTABLE-EXEMPLOS ALTER TABLE consulta ADD nuvalor DECIMAL(10,2); ALTER TABLE medico DROP PRIMARY KEY; ALTER TABLE paciente DROP COLUMN detelpaciente, DROP COLUMN cdplanosaude; ALTER TABLE paciente ADD cdplanosaude REFERENCES cdplanosaude (plano_saude);

SQL: ÍNDICES Definidos sobre atributos para acelerar consultas a dados; Índices são definidos automaticamente para chaves primárias. Índices cd_médico 1 2 3 4 5 6 7 cdmedico nmmedico dtadm dtnasc deespecializacao 3 João 2005-04-21 1978-03-15 Oncologia 2 José 2001-02-25 1970-10-22 Otorrinolaringologia 1 Pedro 1998-01-30 1966-05-12 Cardiologia 5 Ana 2004-08-12 1972-12-21 Pediatria 7 Tiago 2000-11-25 1970-11-25 Oncologia 6 Joana 2003-10-10 1976-05-18 Ortopedia 4 Elisa 2002-06-21 1975-05-02 Cardiologia

SQL: ÍNDICES Comando: CREATE [UNIQUE] INDEX nome_indice ON nome_tabela (nome_atributo_1[{, nome_atributo_n }]) DROP INDEX nome_indice ON nome_tabela Exemplos: CREATE UNIQUE INDEX ind_cpf ON medico(nucpf) DROP INDEX ind_cpf ON medico

SQL: DML Define operações de manipulação de dados: (INSERT) (UPDATE) (DELETE) (SELECT) Instruções declarativas: Manipulação de conjuntos; Especifica-se o que fazer e não como fazer.

SQL: DML Inserção de dados: INSERT INTO nome_tabela [(lista_atributos)] VALUES (lista_valores_atributos) [, (lista_valores_atributos)] Exemplos INSERT INTO laboratorio VALUES(1,"Laboratório São Francisco"); ou INSERT INTO laboratorio(cdlabo, delabo) VALUES(1, "Laboratório São Francisco")

SQL: DML Alteração de dados: UPDATE nome_tabela SET nome_atributo_1 = Valor [{, nome_atributo_n = Valor}] [WHERE condição] Exemplos: UPDATE consulta SET cdmedico = 601 UPDATE paciente SET deendpaciente = SC 301, cdplanosaude = NULL WHERE cdpaciente = 12;

SQL: DML Exclusão de dados: DELETE FROM nome_tabela [WHERE condição] Exemplos DELETE FROM medico DELETE FROM consulta WHERE cdpaciente = 21 AND dtconsulta >= 2013/03/20

EXERCÍCIO Considerando o script de criação de tabelas para o esquema EasyTrip gerado na aula anterior: Cliente Crie o Banco de Dados EasyTrip Crie as tabelas do BD Popule as tabelas com os seguintes dados: CPF Nome Ender Fone_Com Fone_Res Fone_Cel Cidade Estado 123 Maria das Dores Rua das Mangabeiras, 230 (41)234-5678 (41)345-7890 (41)9999-1111 Curitiba PR 456 Madalena Dortheia Avenida dos Andradas, 1002 ap. 109 789 Arnaldo Silva Rua Sete, 215 Bloco A ap. 321 (47)456-7890 (47)465-0001 (47)8888-0001 Joinville SC (47)222-3333 (47)363-1000 (47)9999-0001 Joinville SC

EXERCÍCIO Viagem Origem Destino Data_Ida Data_Retorno Hora_Ida Hora_Retorno Qde_Passageiros CPF Data_Pgto Valor Modalidade Curitiba Brasilia 20/02/2012 20/03/2012 13:50 07:06 3 123 15/01/2012 960,00 AV Joinville Cuiabá 15/03/2014 19/03/2014 14:00 20:45 2 456 16/03/2024 1844,00 AV Joinville Manaus 10/10/2013 25/11/2013 07:45 09:05 1 789 10/10/2013 1200,00 CC Bilhete Localizador CPF A568VM 123 9442JP 123 KK8801P 123 YGLL991 456 99AAPPW 456 007YOTG 789

EXERCÍCIO Insira na tabela Bilhete a Origem, o Destino, a Data de Ida, a Data de Retorno, o Horário de Ida e o Horária de Retorno das viagens de cada CPF. Atualize a data de ida e a data de retorno do voo do CPF 123 para 20/02/2014 e 20/03/2014 respectivamente.