A linguagem SQL

Documentos relacionados
Banco de Dados I Introdução SQL

A linguagem SQL

SQL. Autor: Renata Viegas

A linguagem SQL

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

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. Conteúdo: DDL Prof. Patrícia Lucas

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

Banco de Dados. Linguagem SQL

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

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

SQL Básica. Andre Noel

Banco de Dados. Professora: Luciana Faria

Manipulação de Dados com SQL

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Linguagem de Consulta Estruturada (SQL)

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Modelagem Física e SQL

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

BCD29008 Banco de dados

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Modelagem Física e SQL

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

MODELAGEM DE DADOS MODELO FÍSICO

BANCO DE DADOS GERENCIAL 1 A U L A 2

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

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

SQL Linguagem de Definição de Dados

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Structured Query Language (SQL) Aula Prática

Bases de Dados. DDL Data Definition Language

Aula 06 Sistemas Embarcados LT38C

Linguagem de Definição de Dados (DDL)

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

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

Bancos (Bases) de Dados

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Fundamentos de Banco de Dados Postgre com Sql

BANCO DE DADOS PARA NINJAS

UFG - Instituto de Informática

Tabelas. Banco de Dados I MySQL

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

PSI Linguagem de Definição de dados. Módulo 15

SQL (Tópicos) Structured Query Language

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

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Definição de Dados com SQL

SQL (Structured Query Language)

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

PHP INTEGRAÇÃO COM MYSQL PARTE 1

SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

SQL (Structured Query Language)

SQL. Prof. Roger Cristhian Gomes

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

Linguagem SQL Sub-linguagem DDL

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Comandos DDL. id_modulo = id_m odulo

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS


Revisão de Bancos de Dados

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

Programação SQL. Introdução

Professor Leonardo Larback

Modelo Relacional Prof. Msc Denival A. dos Santos

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Projeto e Administração de Banco de Dados

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

SQL - Criação de Tabelas

Introdução em Banco de Dados

Para criarmos um banco de dados no MySql, utilizamos à instrução:

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

IMPLEMENTAÇÃO DE BANCO DE DADOS

BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE

MySQL + PHP 06/05/2015. IFSC/campus Florianópolis Programação para a WEB Prof. Herval Daminelli

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS)

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

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

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

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Marcelo Henrique dos Santos

Revisão Banco de Dados

Linguagem SQL (Parte II)

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

Modelo Entidade-Relacionamento (E-R)

Transcrição:

SQL 2008.1

A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão recebeu o nome de SEQUEL - Structured English Query Language

A linguagem SQL Órgãos como ANSI e ISO adotaram a SQL como o padrão oficial de linguagem em ambiente relacional. O ANSI publicou as padronizações SQL ANSI-89 e ANSI-92. Revisões da SQL: SQL99 (SQL 3)

A linguagem SQL É uma linguagem usada em SGBDs para: Definir estruturas de dados (Ex: criar tabelas) Modificar dados no BD (Ex: inserir e alterar dados) Especificar restrições de segurança (Ex: privilégios de acesso) Realizar consultas Não é uma linguagem case-sensitive

A linguagem SQL Definição de Dados: através da DDL possibilita a definição da estrutura e organização dos dados Manipulação de Dados: através da DML possibilita a manipulação dos dados armazenados, compreendendo inclusão, consulta, alteração e eliminação.. Controle de Acesso: protege os dados de manipulações não autorizadas, através de comandos de autorização de acesso. Integridade dos Dados: define as regras de integridade dos dados contra corrupções, inconsistências e falhas do sistema. Controle de Transações: inclui comandos que controlam a especificação do início e do fim das transações.

A linguagem SQL Independência de fabricante: está incorporada em quase todos os SGBDs em seu padrão ANSI, com as extensões proprietárias de cada fabricante. Portabilidade entre computadores: pode ser usada desde um PC até um mainframe. Redução de custos com treinamento: as aplicações podem migrar de ambiente com custo reduzido em treinamento. Facilidade no entendimento: oferece um rápido entendimento, com comandos escritos em um inglês estruturado de alto nível. Múltiplas visões de dados: possibilita levar diferentes visões dos dados a diferentes usuários.

A linguagem SQL Em todos os exemplos a seguir, será utilizado o exemplo de uma locadora de DVD Tabela Clientes (CodC, nome, cpf, data_nasc, sexo, salario) Tabela Dvd (CodD, titulo, genero, duracao, situacao) Tabela Locacoes (CodC, CodD, data) Observação: os nomes das tabelas e dos atributos não podem conter acentos ou espaços em branco

Criando Tabelas O nome de uma tabela em um banco de dados deverá ser único para cada proprietário; Cada coluna deverá ser criada através da especificação do seu nome, tipo e tamanho do dado que irá armazenar O nome de uma coluna deverá ser único dentro de cada tabela podendo, entretanto, existir colunas com o mesmo nome em tabelas diferentes. Uma tabela representa uma entidade do banco de dados onde cada linha equivale a uma ocorrência e cada coluna equivale a um atributo dessa entidade.

Criando Tabelas - Sintaxe CREATE TABLE tabela( atributo1 tipo1, atributo2 tipo2,..., restrições de integridade )

Criando Tabelas CREATE TABLE clientes( CodC int not null auto_increment, nome varchar(80) not null, cpf char(12) not null, data_nasc date, sexo char(1), salario numeric (9,2), PRIMARY KEY (CodC), UNIQUE (cpf), CHECK (sexo in ( M, F )), CHECK (salario > 0) )engine=innodb

Criando Tabelas Not null indica que o atributo deverá ser obrigatoriamente informado pelo usuário na hora de inserir dados na tabela. (Todos os campos, por default, aceitam valores nulos) Auto_incremente,Identity indica que o atributo será preenchido automaticamente com valores autoincrementados (não é possível definir um valor para esse atributo na hora de inserir dados) Varchar (tamanho) tipo de String com tamanho de armazenamento variável, de acordo com os valores inseridos pelo usuário (o tamanho indicado na criação da tabela é a quantidade máxima de caracteres que poderão ser armazenados no campo)

Criando Tabelas Char (tamanho) tipo de String com tamanho de armazenamento fixo, de acordo com a quantidade de caracteres definidos na criação da tabela Date tipo data no formato ano-mes-dia (Obs: no SQL- Server, o tipo é datetime) Numeric(n,d) tipo numérico que aceita valores reais (n indica o total de números e d indica a quantidade de decimais) Primary Key restrição de integridade que define a chave primária da tabela (se a chave for composta, os nomes devem ser separados por vírgulas)

Criando Tabelas Unique restrição de integridade que indica que um campo não poderá receber valores repetidos na tabela (ou seja, dois registros não podem ter o mesmo valor para esse campo) Check restrição de integridade que indica condições para o preenchimento de um campo In (conjunto de valores) indica que o valor de um determinado atributo deve estar presente no conjunto de valores definido, para que os dados possam ser inseridos na tabela

Criando Tabelas CREATE TABLE dvd ( CodD int not null auto_increment, titulo varchar(40) not null, genero varchar(15), duracao time, situacao varchar(12) default ( Disponível ), PRIMARY KEY (CodD), CHECK (situacao in ( Alugada, Disponível )) )engine=innodb

Criando Tabelas Time tipo tempo no formato hora:minuto:segundo (Obs: no SQL-Server, o tipo é datetime) Default indica um valor que será armazenado no atributo caso não seja informado outro valor pelo usuário

CREATE TABLE locacoes ( CodC int not null, CodD int not null, data date, Criando Tabelas constraint loc_cli FOREIGN KEY (CodC) REFERENCES clients(codc), constraint loc_dvd FOREIGN KEY (CodD) REFERENCES dvd(codd) )engine=innodb

Criando Tabelas FOREIGN KEY restrição de integridade que define uma chave estrangeira para a tabela Obs: Para que um atributo seja chave estrangeira de uma tabela, é necessário que ele seja chave primária da tabela referenciada O nome do campo na tabela que terá a chave estrangeira não precisa ter o mesmo nome do campo na tabela referenciada (Exemplo: o campo CodD em locacoes poderia ser substituído por CodDvd), mas deve ser do mesmo tipo

Comandos SQL - Inserção Inserção de dados nas tabelas INSERT INTO tabela(atributo1,atributo2,...) VALUES(valor1,valor2,...) Ou INSERT INTO tabela VALUES(valor1,valor2,...) Neste último caso, deve-se informar todos os campos na ordem que foram criados

Comandos SQL - Inserção INSERT INTO clientes (nome,cpf,data_nasc,sexo,salario) VALUES ( Ana Moura, 8245738, 1979-10-02, F, 650.39) INSERT INTO dvd (titulo,genero,duracao) VALUES ( Matrix, Ficção, 02:30:00 ) INSERT INTO locacoes VALUES (1, 1, 2003-11-11 )

Comandos SQL - Inserção A lista de atributos é usada para indicar que campos da tabela devem ser preenchidos, e com que valores. Se não for incluída, o BD tentará preencher todos os campos da tabela na seqüência em que foram criados. Portanto, a lista é obrigatória quando alguns campos não forem preenchidos, ou quando a ordem dos valores estiver alterada.

Comandos SQL - Inserção Ex: INSERT INTO dvd VALUES ( X-Men, Ação ) Seria um comando incorreto pois não há como saber a que atributos se referem os valores. O correto seria INSERT INTO dvd (titulo,genero) VALUES ( X-Men, Ação ). Os campos não informados seriam preenchidos com Null (se não tiverem sido definidos como not null), ou com valores default definidos na criação da tabela.

Comandos SQL - Inserção Valores do tipo char, varchar, date e time (ou datetime no SQL-Server) devem ser representados entre apóstrofos (aspas simples ). No SQL-Server, o formato padrão para datas é YYYY-MM-DD (ano-mes-dia) e para horas é HH:MM:SS (hora-minutosegundo) As casas decimais dos números devem ser separadas por pontos, em vez de vírgulas Valores do tipo varchar podem conter acentos e espaços em branco

Comandos SQL - Atualização Atualização de dados nas tabelas UPDATE tabela SET atributo = valor WHERE condicao

Comandos SQL - Atualização Mudar o salário do cliente com código 1 para 1400 UPDATE clientes SET salario = 1400 WHERE CodC = 1 Mudar a situação do DVD de código 1 para alugada UPDATE dvd SET situacao = alugada WHERE CodD = 1

Comandos SQL - Atualização A cláusula WHERE é opcional no comando UPDATE. Se não for informada, a atualização será realizada em toda a tabela Ex: O comando abaixo muda o preço de todos os DVDs cadastrados para 2.20 UPDATE dvd SET preco = 2.20

Comandos SQL - Exclusão Exclusão de dados das tabelas DELETE FROM tabela WHERE condição

Comandos SQL - Exclusão Apagar cadastros de todos os clientes do sexo masculino DELETE FROM clientes WHERE sexo = M Apagar cadastros de todos os DVDs de terror DELETE FROM dvd WHERE genero = terror

Comandos SQL - Exclusão A cláusula WHERE é opcional no comando DELETE. Se não for informada, a exclusão será realizada em toda a tabela Ex: O comando abaixo exclui todas as locacoes cadastradas DELETE FROM locacoes O comando DELETE exclui os dados, mas não exclui a tabela do BD. Para excluir a tabela inteira (dados e estrutura), o comando é: DROP TABLE tabela DROP TABLE locacoes

Comandos SQL Alteração de Tabelas Alteração de tabelas para inclusão ou exclusão de campos Inclusão ALTER TABLE tabela ADD atributo tipo ALTER TABLE tabela ADD primary key (chave) Exclusão ALTER TABLE tabela DELETE atributo ALTER TABLE tabela DELETE primary key ALTER TABLE tabela DELETE foreign key constraint No Oracle usar DROP

Comandos SQL Alteração de Tabelas Exemplos Inclusão do campo ano na tabela DVD ALTER TABLE dvd ADD ano int Exclusão do campo sexo da tabela Clientes ALTER TABLE clientes DELETE sexo

Comandos SQL Alteração de Tabelas Modificar colunas de tabelas ALTER TABLE tabela MODIFY nome coluna tipo Ex. ALTER TABLE cliente MODIFY email varchar(150) not null **Alguns bancos podem aceitar apenas valores maiores que os anteriores Trocar nome de tabelas ou colunas ALTER TABLE tabela RENAME nome-tabela Ex. ALTER TABLE cliente RENAME cli ALTER TABLE tabela RENAME velha-coluna TO nova Ex. ALTER TABLE cliente RENAME nomecli TO nome Eliminar uma Tabela DROP TABLE tabela