SQL (Structured Query Language)



Documentos relacionados
SQL (Structured Query Language)

SQL (Structured Query Language)

SQL (STRUCTUREDQUERY LANGUAGE)

SQL (STRUCTUREDQUERY LANGUAGE)

SQL (Structured Query Language)

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

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

SQL. Autor: Renata Viegas

A linguagem SQL

Marcelo Henrique dos Santos

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Linguagem de Consulta - SQL

Linguagem SQL Sub-linguagem DDL

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

Structured Query Language (SQL) Aula Prática

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

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

SQL DDL. Frederico D. Bortoloti

SQL - Criação de Tabelas

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

Linguagem SQL (Parte II)

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

Introdução ao SQL. Aécio Costa

Programação SQL. Introdução

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

Comandos de Manipulação

Comandos DDL. id_modulo = id_m odulo

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

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

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

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

Linguagem SQL. Comandos Básicos

Projeto de Banco de Dados: Empresa X


Linguagem SQL Parte I

Structured Query Language (SQL)

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: Definição de tabelas, Modificações à Base de Dados

Linguagem de Consulta Estruturada (SQL)

Banco de Dados. Professora: Luciana Faria

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

4.6. SQL - Structured Query Language

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

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

IFSP Campus Presidente Epitácio. BND Banco de Dados. Professora: Márcia Jani. 1.1 Apresentação: Márcia Jani

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

EXEMPLOS DE COMANDOS NO SQL SERVER

Linguagem SQL (Parte I)

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

BANCO DE DADOS CONCEITOS BÁSICOS

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

SQL Consultas Básicas

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

O que são Bancos de Dados?

1. Domínio dos Atributos

Banco de Dados I Introdução SQL

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

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

Banco de Dados. Maurício Edgar Stivanello

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

Fundamentos do Sistema Gerenciador de Banco de Dados

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

SQL Structured Query Language

SQL. Prof. Márcio Bueno.

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

A linguagem SQL

Curso PHP Aula 08. Bruno Falcão

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

Introdução à linguagem SQL

Prof. Carlos Majer Aplicações Corporativas UNICID

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)

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

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

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

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

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

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

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

SQL. Hélder Antero Amaral Nunes

Operação de União JOIN

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

SQL (Structured Query Language)

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

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

MYSQL BÁSICO. 12 Horas Instrutor: Antonio Itamar Júnior

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

ADMINISTRAÇÃO DE BANCO DE DADOS

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)

Transcrição:

SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL (86); SQL-2 (92); SQL-3 (99) e SQL:2003 não é apenas uma linguagem de consulta! como o nome sugere... Base Formal álgebra relacional e cálculo relacional 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 (I / E / A atributos; I / E RIs) RIs básicas: atributos chave não podem ser removidos de uma tabela atributos NOT NULL não podem ser inseridos em uma tabela 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}] ) Principais tipos de dados 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

Exemplos de Criação de Tabela CREATE TABLE Ambulatorios ( nroa int, andar numeric(3) NOT NULL, capacidade smallint, PRIMARY KEY(nroa) ) CREATE TABLE Medicos ( codm int, nome varchar(40) NOT NULL, idade smallint NOT NULL, especialidade char(20), CPF numeric(11) UNIQUE, cidade varchar(30), nroa int, PRIMARY KEY(codm), FOREIGN KEY(nroa) REFERENCES Ambulatorios )

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...]

Exemplos de Alteração de Tabelas ALTER TABLE Ambulatórios ADD nome VARCHAR(30) ALTER TABLE Médicos DROP PRIMARY KEY ALTER TABLE Pacientes DROP COLUMN doenca, DROP COLUMN cidade ALTER TABLE Funcionários ADD FOREIGN KEY(nroa)REFERENCES Ambulatórios ALTER TABLE Funcionarios ADD constraint fk_nroa FOREIGN KEY(nroa) REFERENCES Ambulatorios

SQL Índices Definidos sobre atributos para acelerar consultas a dados Índices são definidos automaticamente para chaves primárias Operações CREATE [UNIQUE] INDEX nome_índice ON nome_tabela (nome_atributo_1[{, nome_atributo_n }]) DROP INDEX nome_índice ON nome_tabela Exemplos CREATE UNIQUE INDEX indpac_cpf ON Pacientes (CPF) DROP INDEX indpac_cpf ON Pacientes

SQL DML Define operações de manipulação de dados I (INSERT) A (UPDATE) E (DELETE) C (SELECT) Instruções declarativas manipulação de conjuntos especifica-se o que fazer e não como fazer

Inserção de dados SQL DML INSERT INTO nome_tabela [(lista_atributos)] VALUES (lista_valores_atributos) Exemplos INSERT INTO Ambulatorios VALUES (1, 1, 30) INSERT INTO Medicos (codm, nome, idade, especialidade, CPF, cidade) VALUES (4, Carlos, 28, ortopedia, 11000110000, Joinville );

Alteração de dados SQL DML UPDATE nome_tabela SET nome_atributo_1 = Valor [{, nome_atributo_n = Valor}] [WHERE condição] Exemplos UPDATE Medicos SET cidade = Florianopolis UPDATE Ambulatorios SET capacidade = capacidade + 5, andar = 3 WHERE nroa = 2

Exclusão de dados SQL DML DELETE FROM nome_tabela [WHERE condição] Exemplos DELETE FROM Ambulatorios DELETE FROM Medicos WHERE especialidade = cardiologia or cidade < > Florianopolis

Exercícios 1. Crie um BD com nome Clinica 2. Crie as seguintes tabelas neste BD, considerando que os atributos sublinhados são chaves primárias e os em itálico são chaves estrangeiras: Ambulatorios: nroa (int), andar (numeric(3)) (não nulo), capacidade (smallint) Medicos: codm (int), nome (varchar(40)) (não nulo), idade (smallint) (não nulo), especialidade (char(20)), CPF (numeric(11)) (único), cidade (varchar(30)), nroa (int) Pacientes: codp (int), nome (varchar(40)) (não nulo), idade (smallint) (não nulo), cidade (char(30)), CPF (numeric(11)) (único), doenca (varchar(40)) (não nulo) Funcionarios: codf (int), nome (varchar(40)) (não nulo), idade (smallint), CPF (numeric(11)) (único), cidade (varchar(30)), salario (numeric(10)), cargo (varchar(20)) Consultas: codm (int), codp (int), data (date), hora (time) 1. Crie a coluna nroa (int) na tabela Funcionarios 2. Crie os seguintes índices: Medicos: CPF (único) Pacientes: doenca 1. Remover o índice doenca em Pacientes 2. Remover as colunas cargo e nroa da tabela de Funcionarios

Popular as tabelas: Ambulatorios nroa andar capacidade 1 1 30 2 1 50 3 2 40 4 2 25 5 2 55 Medicos Exercícios codm nome idade especialidade CPF cidade nroa 1 Joao 40 ortopedia 10000100000 Florianopolis 1 2 Maria 42 traumatologia 10000110000 Blumenau 2 3 Pedro 51 pediatria 11000100000 São José 2 4 Carlos 28 ortopedia 11000110000 Joinville 5 Marcia 33 neurologia 11000111000 Biguacu 3 Pacientes codp nome idade cidade CPF doenca 1 Ana 20 Florianopolis 20000200000 gripe 2 Paulo 24 Palhoca 20000220000 fratura 3 Lucia 30 Biguacu 22000200000 tendinite 4 Carlos 28 Joinville 11000110000 sarampo Funcionarios codf nome idade cidade salario CPF 1 Rita 32 Sao Jose 1200 20000100000 2 Maria 55 Palhoca 1220 30000110000 3 Caio 45 Florianopolis 1100 41000100000 4 Carlos 44 Florianopolis 1200 51000110000 5 Paula 33 Florianopolis 2500 61000111000 Consultas codm codp data hora 1 1 2010/10/12 14:00 1 4 2010/10/13 10:00 2 1 2010/10/13 9:00 2 2 2010/10/13 11:00 2 3 2010/10/14 14:00 2 4 2010/10/14 17:00 3 1 2010/10/19 18:00 3 3 2010/10/12 10:00 3 4 2010/10/19 13:00 4 4 2010/10/20 13:00 4 4 2010/10/22 19:30

Exercícios (MySQL) Realizar as seguintes atualizações no BD: 1) O paciente Paulo mudou-se para Ilhota 2) A consulta do médico 1 com o paciente 4 passou para às 12:00 horas do dia 4 de Novembro de 2010 3) A paciente Ana fez aniversário e sua doença agora é cancer 4) A consulta do médico Pedro (codf = 3) com o paciente Carlos (codf = 4) passou para uma hora e meia depois 5) O funcionário Carlos (codf = 4) deixou a clínica 6) As consultas marcadas após as 19 horas foram canceladas 7) Os pacientes com câncer ou idade inferior a 10 anos deixaram a clínica 8) Os médicos que residem em Biguacu e Palhoca deixaram a clínica