Você está na página 1de 19

Aula 25 e 26

Estudo do SQL
(STRUCTURED QUERY
LANGUAGE)

Técnicas e Linguagens de Programação


Professor: Lucas Pazito
Introdução
A linguagem SQL é usada para comunicar com
bases de dados. É uma linguagem padrão para base
de dados, declarativa, ao contrário das linguagens
habituais que são do tipo procedimental. O SQL é
uma linguagem de programação que serve criar,
actualizar e responder a questões apartir da
informação armazenada num Sistema Gerenciador
de Base de Dados (SGBD).
Introdução
SQL é a Sigla para Structured Query
Language. (Linguagem estruturada para
consulta.)
O que é uma Consulta? È uma Pergunta que
eu faço no banco de dados.

Alguns dos principais sistemas que utilizam


SQL são: MySQL, Oracle, Firebird, Microsoft
Access, PostgreSQL (código aberto), HSQLDB
(código aberto e escrito em Java).
Introdução
A linguagem SQL surgiu em 1974 e foi desenvolvida nos
laboratórios da IBM como interface para o Sistema
Gerenciador de Banco de Dados Relacional (SGBDR)
denominado SYSTEM R. Esse sistema foi criado com base
em um artigo de 1970 escrito por Edgar F. Codd.
Outras linguagens do gênero surgiram, mas a SQL tornou-
se a mais utilizada. A criação de um padrão para a SQL
foi realizada em 1986 pelo American National Standard
Institute (ANSI) e em 1987 pela International
Organization for Standards (ISO).
Subdivisão da Linguagem
A linguagem SQL é constituída por três sublinguagens:
➢DDL (Data Definition Language)
✓Create
✓Alter
✓Drop
➢ DML (Data Manipulation Language)
✓Select
✓Insert
✓Update
✓Delete
➢DCL (Data Control Language)
✓Grant
✓Revoke
DDL – Data Definition Language

É a área do SQL que se encarrega da definição dos


Bancos de dados. Criação dos Banco de dados, Criação
das Tabelas, e alteração das tabelas, dos campos e seus
respectivos tipos de dados.
COMANDO CREATE

É usado para criar uma base de dados ou uma tabela.


Para criar um novo banco de dados usamos a sintaxe

CREATE DATABASE nomeDoBancoDeDados;


COMANDO CREATE
Para criar uma nova tabela usamos a sintaxe
CREATE TABLE nome_tabela (
coluna1 tipo,
coluna2 tipo,
... ...
colunak tipo)
Exemplo:

CREATE TABLE Funcionario (


codFuncionario INTEGER,
Nome CHAR (50),
Data_Nasc DATE,
COMANDO DROP
O comando DROP TABLE permite apagar uma tabela. É apagada
toda a estrutura e o conjunto de valores lá existentes.

Sintaxe:
DROP TABLE nome_tabela
Exemplo:
DROP TABLE Funcionario
Nota: O comando DROP TABLE apaga a tabela especificada pelo
utilizador com todos os seus dados. Depois de executado o
comando, não existe qualquer forma de “desfazer” a operação.
COMANDO ALTER
Este comando permite alterar a estrutura de uma tabela.
Sintaxe:

ALTER TABLE nome_tabela


ADD Nome_Coluna Tipo_Coluna

ALTER TABLE nome_tabela


MODIFY Nome_Coluna Tipo_Coluna

ALTER TABLE nome_tabela


DROP Nome_Coluna
COMANDO ALTER
Exemplo:
ALTER TABLE Funcionario
ADD Telefone CHAR (15)

ALTER TABLE Funcionario


MODIFY Nome CHAR (100)

ALTER TABLE Funcionario


DROP COLUMN Telefone
CONSTRAINTS (RESTRIÇÕES)
Constraints são regras a que os valores de uma ou mais colunas
devem obedecer.
A utilização de Constraints é a única garantia que temos de que os
dados existentes nas colunas estão de acordo com as regras
especificadas no desenho de base de dados.

❖EX1: o conteúdo da coluna Sexo só poderá conter os valores ‘F’ ou


‘M’

❖EX2 : A coluna idade não pode ter valores negativos, etc.


CONSTRAINT NOT NULL
A Constraint NOT NULL é a restrição de uso mais
generalizado, pois impede a introdução de valores nulos na
coluna em que é especificada.

Ex: CREATE TABLE Pessoa

( Bi INTEGER NOT NULL,


Nome CHAR (20) NOT NULL
);
CONSTRAINT CHECK
Permite realizar a validação dos dados introduzidos na coluna, através
da especificação de uma condição. São admitidos apenas os dados cujo
resultado da avaliação da condição seja verdadeiro.

Ex: CREATE TABLE Pessoa ( BI INTEGER NOT NULL,


Nome CHAR(20) NOT NULL CHECK (Nome NOT Like ‘%Joao%’),
Idade INT NOT NULL CHECK (Idade BETWEEN 0 AND 150),
Sexo CHAR NOT NULL CHECK (Sexo IN (‘M’, ‘F’)),
C_Postal INT NULL
CONSTRAINT UNIQUE
Serve para garantir que não existem dados
repetidos numa coluna. Numa tabela podem existir
tantas colunas UNIQUE quantas forem necessárias.

EX: CREATE TABLE Pessoa ( BI INTEGER NOT NULL,


Nome CHAR (20) NOT NULL,
Apelido CHAR (20) NOT NULL,
Telefone INTEGER NULL,
UNIQUE (Nome, Apelido),
UNIQUE (BI)
);
CONSTRAINT PRIMARY KEY
É equivalente às cláusulas NOT NULL + UNIQUE juntas, isto é, o conteúdo
da coluna ou colunas não pode ser nulo e não pode admitir repetições.

EX: CREATE TABLE Pessoa ( BI INTEGER PRIMARY KEY,


Nome CHAR (20) NOT NULL,
Apelido CHAR (20) NOT NULL,
Telefone INTEGER NULL,
UNIQUE (Nome, Apelido),
UNIQUE (BI)
);
Se for composta:

CREATE TABLE Pessoa ( BI INTEGER NOT NULL,


Nome CHAR (20) NOT NULL,
Apelido CHAR (20) NOT NULL,
Telefone INTEGER NULL,
PRIMARY KEY (BI, Apelido)
);
CONSTRAINT REFERENCES
Permite fazer a validação das chaves estrangeiras. Isto é, não se
podem introduzir nos campos referenciados como chave
estrangeira, valores que não existam na tabela onde os campos são
chave primária.
EX: CREATE TABLE Pessoa ( BI INTEGER PRIMARY KEY ,
Nome CHAR (20) NOT NULL,
Apelido CHAR (20) NOT NULL,
Telefone INTEGER NULL,
Cod_Postal NUMERIC(4) REFERENCES Postal (codigo));

Neste caso qualquer valor introduzido na coluna Cod_Postal da tabela


Pessoa será automaticamente validado na coluna Codigo da tabela Postal. Se o
valor não existir na tabela Postal, o registo não pode ser introduzido ou
alterado na tabela pessoa
CONSTRAINT FOREIGN KEY
è um método de verificar a integridade dos dados e a manifestação de relação entre as tabelas.

EX :

CREATE TABLE pessoa ( BI NUMERIC PRIMARY KEY,

Nome CHAR(40) NOT NULL,

Idade INT NOT NULL CHECK (Idade BETWEEN 0 AND 80),

Salario NUMERIC (15,2) NOT NULL CHECK (Salario > 0),

Telefone CHAR(40) NULL,

Cod_Postal NUMERIC (10) REFERENCES Postal (Codigo),

FOREIGN KEY (BI, Salario) REFERENCES Pessoal (N_Emp, Valor)

);

Este exemplo, está a supor que exista uma outra tabela denominada Pessoal, sendo a sua
chave primaria constituída pelos campos N_Emp e Valor com tipos compatíveis aos campos BI e salario.

Você também pode gostar