0% acharam este documento útil (0 voto)
19 visualizações31 páginas

SQL

SQL, ou Structured Query Language, é uma linguagem de consulta estruturada desenvolvida pela IBM em 1974, baseada no modelo relacional e adotada como padrão por órgãos como ANSI e ISO. A linguagem permite a definição, manipulação e controle de dados em bancos de dados, incluindo a criação de tabelas, inserção, atualização e exclusão de dados, além de garantir a integridade e segurança das informações. SQL é amplamente utilizada em sistemas de gerenciamento de banco de dados e é independente de fabricante, oferecendo portabilidade e facilidade de aprendizado.

Enviado por

Pazoca Ue
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
19 visualizações31 páginas

SQL

SQL, ou Structured Query Language, é uma linguagem de consulta estruturada desenvolvida pela IBM em 1974, baseada no modelo relacional e adotada como padrão por órgãos como ANSI e ISO. A linguagem permite a definição, manipulação e controle de dados em bancos de dados, incluindo a criação de tabelas, inserção, atualização e exclusão de dados, além de garantir a integridade e segurança das informações. SQL é amplamente utilizada em sistemas de gerenciamento de banco de dados e é independente de fabricante, oferecendo portabilidade e facilidade de aprendizado.

Enviado por

Pazoca Ue
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 31

SQL

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 cliente(
CodC int not null identity,
nome varchar(80) not null,
cpf char(11) 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)
)
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)

• Identity – indica que o atributo será preenchido automaticamente com


valores auto-incrementados (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 identity,
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’))
)
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
CRIANDO TABELAS
CREATE TABLE locacoes (
CodC int not null,
CodD int not null,
data date,
FOREIGN KEY (CodC) REFERENCES clientes,
FOREIGN KEY (CodD) REFERENCES dvd,
PRIMARY KEY (CodC, CodD)
)
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 ser o mesmo 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,...)
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 sequê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
• Campos definidos como IDENTITY não podem assumir valores
informados pelo usuário, e não precisam ser incluídos na lista de
atributos da tabela.

• Os valores desse campo vão sendo incrementados automaticamente


e não são reaproveitados (Ex: mesmo que o DVD de código 5 seja
excluído do banco, nenhum outro DVD receberá esse código )

• No SQL Server, o valor inicial de campos IDENTITY é 1 e o incremento


tem valor 1.
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-minuto-segundo)

 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 restrição_integridade

• Exclusão
ALTER TABLE tabela
DROP COLUMN atributo
COMANDOS SQL – ALTERAÇÃO
DE TABELAS
• 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
DROP COLUMN sexo

Você também pode gostar