SQL (STRUCTUREDQUERY LANGUAGE)



Documentos relacionados
SQL (STRUCTUREDQUERY LANGUAGE)

SQL (Structured Query Language)

SQL (Structured Query Language)

SQL (Structured Query Language)

SQL. Autor: Renata Viegas

A linguagem SQL

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

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

SQL (Structured Query Language)

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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 -

Linguagem de Consulta - SQL

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

SQL DDL. Frederico D. Bortoloti

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

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

Introdução ao SQL. Aécio Costa

SQL - Criação de Tabelas

Comandos de Manipulaçã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. info 3º ano. Prof. Diemesleno Souza Carvalho

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

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

Marcelo Henrique dos Santos

Comandos DDL. id_modulo = id_m odulo

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

Introdução à linguagem SQL

O que são Bancos de Dados?

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

Linguagem SQL (Parte I)

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

Linguagem SQL Parte I

Projeto de Banco de Dados: Empresa X

Programação SQL. Introdução


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

Structured Query Language (SQL)

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

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. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

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

4.6. SQL - Structured Query Language

SQL Structured Query Language

1. Domínio dos Atributos

Linguagem SQL (Parte II)

SQL. Prof. Márcio Bueno.

Structured Query Language (SQL)

Linguagem SQL. Comandos Básicos

Banco de Dados. Prof. Antonio

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

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)

Banco de Dados. Maurício Edgar Stivanello

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

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

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

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

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

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

A linguagem SQL

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

Fundamentos do Sistema Gerenciador de Banco de Dados

Curso PHP Aula 08. Bruno Falcão

Sistemas de Banco de Dados

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

Prof.: Clayton Maciel Costa

EXEMPLOS DE COMANDOS NO SQL SERVER

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

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

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Banco de Dados. Professora: Luciana Faria

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

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

Linguagem de Consulta Estruturada (SQL)

CICLO DE VIDA DE UM BD

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

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

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

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

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

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

SQL. Hélder Antero Amaral Nunes

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

Laboratório de 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! É usada para que se permita comunicar com um BD 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) Sua origem se confunde com a concepção do modelo relacional Tão logo Codd apresentou os princípios formais do Modelo Relacional, a IBM iniciou trabalhos em um projeto de uma linguagem que pudesse facilitar o acesso a BDs: SEQUEL (Structured English Query Language) Por causa dessa iniciativa, muitos sugerem que a IBM foi a precursora da definição da linguagem SQL No entanto, outras empresas também trabalhavam em paralelo, entre elas a ORACLE, desenvolvendo suas próprias versões de linguagem. [1986] ANSI (American NationalStandartsInstitute) publicou as primeiras definições padronizadas de SQL [1987] ISO (InternationalOrganizationfor Standardization) também define padrões para SQL

SQL (STRUCTUREDQUERY LANGUAGE) Em resposta à 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 ISSO Embora o SQL, venha sendo padronizado pela ANSI e ISO, existem muitas variações e extensões produzidos por diferentes fabricantes de SGBDs. [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_n tipo_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 Dica: Caso esteja usando MySQL, dados podem ser inseridos diretamente de um arquivo padrão CSV (Comma-Separated Values) LOAD DATA INFILE 'c:/bd/clientes.csv' INTO TABLE Cliente FIELDS TERMINATED BY ;' LINES TERMINATED BY '\n' 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; (47)456-7890; (47)465-0001; (47)8888-0001; Joinville; SC 789; Arnaldo Silva; Rua Sete, 215 Bloco A ap. 321; (47)222-3333; (47)363-1000; (47)9999-0001; Joinville; SC

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ÍCIOS Considerando o script de criação de tabelas para o esquema EasyTrip gerado na aula anterior: Crie o Banco de Dados EasyTrip Crie as tabelas do BD

EXERCÍCIOS Popule as tabelas (Insira) com os seguintes dados: Clientes 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ÍCIOS Viagens IdViagem Origem Destino Data_Ida Data_Retorno Hora_Ida Hora_Retorno Qde_Passageiros CPF Data_Pgto Valor Modalidade 001 Curitiba Brasilia 20/02/2012 20/03/2012 13:50 07:06 3 123 15/01/2012 960,00 AV 002 Joinville Cuiabá 15/03/2014 19/03/2014 14:00 20:45 2 456 16/03/2024 1844,00 AV 003 Joinville Manaus 10/10/2013 25/11/2013 07:45 09:05 1 789 10/10/2013 1200,00 CC Bilhetes Localizador CPF A568VM 123 9442JP 123 KK8801P 123 YGLL991 456 99AAPPW 456 007YOTG 789

EXERCÍCIOS Atualize a data de ida e a data de retorno da viagem do cliente com CPF 123 para 20/02/2014 e 20/03/2014 respectivamente.