SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
SQL Básico:
Teoria e Prática
Um grande resumo...
Um pouco de história
Características básicas
Características básicas
● Exemplo de tabela
● Um banco de dados é um conjunto de
tabelas.
● Representa aspectos da vida real.
Nome RA Nota
Bonifácio Cubas 125159 9,5
Ana Cintra 125148 8,0
Modelos lógicos
● São modelos de dados
● É uma representação teórica
de como será a implementação
do banco de dados
● Deve ser independente de
tecnologia Image: FreeDigitalPhotos.net
Modelos lógicos
● Informações concisas e necessárias para
o negócio
● Identifica redundâncias
● Identifica dados não utilizados
● Permite estabelecer regras de
integridade de dados
Image: FreeDigitalPhotos.net
Modelos lógicos
Image: FreeDigitalPhotos.net
Aluno
Matrícula
Nome
Endereço
Data
Nascimento
● Um modelo é formado
por:
○ Entidades
○ Atributos
Atributo identificador
(Chave Primária)
Modelos lógicos
Image: FreeDigitalPhotos.net
Aluno:
#Matrícula
Nome
Endereço
Data Nascimento
Outra maneira de
representar
Relacionamentos
● Diagramas de entidas
○ Utilizaremos a metodologia DER: Diagrama
Entidade-Relacionamento
○ DER representa a associação de cada entidade
através de relacionamentos
Entidade 1 Entidade 2Relacionamento
Relacionamentos
● DER
Entidade 1 Entidade 2Um ou muitos
Entidade 3
Um e somente
um
Um ou muitos
Um ou nenhum
Exemplo de
relacionamento
Exemplos
● Exemplo: Cliente
○ Uma empresa controla os seguintes dados de seus
clientes:
■ Código
■ Nome
■ Endereço
■ Telefone
Cliente:
#Código
Nome
Endereço
Telefone
Exemplos
● Exemplo: Cliente
○ A empresa vende diversos produtos a seus clientes:
■ Cada cliente pode comprar quantos produtos
precisar
■ Cada pedido de venda pode ser composto por
vários produtos
Pedido:
#Código
Cliente
Data
Valor
Detalhe Pedido:
#Código Pedido
#Código Produto
Quantidade
Valor
Produto:
#Código
Descrição
Valor
Exemplos
● DER: Exemplo Cliente
Cliente Pedido
N
Produto
1
1
1
Faz
Detalhe
Pedido
Forma
NN
Compõe
Modelos Físicos
● São modelos de dados
● É uma representação teórica
de como será a implementação
do banco de dados
● Deve levar em conta as
limitações do SGBD Image: FreeDigitalPhotos.net
Modelos Físicos
● Modelo lógico lhe permite a visão de
negócio. O conceito a ser trabalho.
● O modelo físico lhe permite projetar a
implementação do banco de dados.
● O modelo físico pode ser ligeiramente
diferente do modelo lógico (melhorado).
● Requer conhecimento técnico.
Image: FreeDigitalPhotos.net
Modelos Físicos
● Modelo lógico : Entidades e atributos.
● O modelo físico : Tabelas e campo.
● Modelo lógico : Atributo identificador.
● O modelo físico : Chave primária.
● Modelo físico:
○ Chave estrangeira
○ Cardinalidade
○ Tipo de campo
Modelos Físicos
● Tipos de campos
○ Char(N)
○ Varchar(N)
○ Numeric(N,P)
○ Integer
○ Date
○ Time
○ TimeStamp
N = Tamanho
P = Precisão decimal
Modelos Físicos
O SQL
● A linguagem SQL (Structured Query Language – Linguagem
de Consulta Estruturada) é uma linguagem declarativa
utilizada por Sistemas Gerenciadores de Bancos de Dados
Relacionais como: Oracle, SQL Server, MySQL,
PostgreSQL, Firebird, e outros.
● Devido à sua ampla utilização por diversos SGBDs,
surgiram vários dialetos para os comandos, que geraram a
necessidade de criação de um padrão para a linguagem.
Essa tarefa foi realizada pela American National Standards
Institute (ANSI) em 1986 e ISO em 1987. Em 1992, foi
realização uma revisão da linguagem que recebeu o nome
de SQL-92.
O SQL
● Em 1999 e 2003, ocorreram novas revisões. Na revisão de
1999, foram adicionados padrões para expressões
regulares, consultas recursivas, triggers e algumas
características de orientação a objeto. Na revisão de 2003,
foram introduzidas características relacionadas a XML,
sequências padronizadas e colunas com valores de auto-
numeração.
● Uma dificuldade encontrada na utilização da linguagem SQL
por parte dos desenvolvedores ou administradores de
bancos de dados é a diferença entre os comandos nos
diversos SGBDs, mesmo após a definição dos padrões.
Porém, as diferenças não são grandes.
O SQL - Tipos de linguagens
● DDL (Data Definition Language – Linguagem de Definição
de Dados).
○ Os comandos DDL são usados para definir a estrutura
do banco de dados, organizando em tabelas que são
compostas por campos (colunas). Comandos que
compõem a DDL: CREATE, ALTER, DROP.
O SQL - Tipos de linguagens
● DML (Data Manipulation Language – Linguagem de
Manipulação de Dados).
○ Os comandos DML permitem realizar operações de
inserção, alteração, exclusão e seleção sobre os
registros (linhas) das tabelas. Comandos que compõem
a DML: INSERT, UPDATE, DELETE e SELECT.
○ Alguns autores definem que o comando SELECT faz
parte de uma subdivisão chamada DQL (Data Query
Language – Linguagem de Consulta de Dados).
O SQL - Tipos de linguagens
● DCL (Data Control Language – Linguagem de Controle de
Dados). Os comandos DCL são usados para gerenciar
usuários e permissões de acesso ao Sistema Gerenciador
de Banco de Dados. Comandos que compõem a DCL:
GRANT e REVOKE.
● Alguns autores ainda definem uma subdivisão da linguagem
SQL chamada DTL (Data Transaction Languagem –
Linguagem de Transação de Dados). Uma transação pode
ser compreendida como um conjunto de comandos que é
executado de forma atômica, ou seja, ou todos os
comandos são executados com sucesso ou nenhum dos
resultados obtidos poreles será mantido no banco de dados.
O SQL - Comandos DDL
CREATE TABLE <nome_da_tabela> (
<nome_do_campo> <tipo_do_campo> <opções>,
<nome_do_campo> <tipo_do_campo> <opções>,
...
PRIMARY KEY(<nome_do_campo>)
INDEX <nome_do_índice>(<nome_do_campo>),
FOREIGN KEY(<nome_do_campo>)
REFERENCES <nome_da_tabela_origem>(<nome_do_campo_origem>)
ON DELETE <opção_de_referencia>
ON UPDATE <opção_de_referencia>,
);
● <nome_da_tabela>: Nome da tabela a ser criada, não pode haver espaços e acentuações.
● <nome_do_campo>: Nome do campo da tabela, não pode haver espaços e acentuações.
● <tipo_do_campo>: Tipo do campo. Existem tipos padrões, porém existem tipos de campos específicos de cada SGBD.
● <opções>: Padronização do campo (valor padrão, auto incremento, limite numérico, etc...).
● Chave primária: Deve constar o nome do campo (se forma mais de um, separar por vírgula) que compões a chave primária.
Caso a tabela não contenha uma chave primária, basta suprimir essa linha.
● Índices: Deve constar o nome do índice e o nome do campo (se forma mais de um campo, separar por vírgula) que compões
o índice. Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A tabela pode conter quantos índices
forem necessários.
● Chave estrangeira: Deve constar o nome do campo que compões a chave, o nome da tabela de origem e o nome do campo
da tabela de origem . Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A opção de referência
define o comportamento entre os registros da tabela (Se apagar na tabela-pai, apaga na tabela-filho, por exemplo).
O SQL - Comandos DDL
CREATE DATABASE
Este comando é utilizado para criar um banco de dados. Exemplo: CREATE DATABASE loja;
USE
Sempre que for necessário manipular as tabelas de um banco de dados no SGBD MySQL, será necessário selecionar o banco
de dados que se deseja manipular. Para isso, deve ser utilizado o comando USE. Exemplo: USE loja;
CREATE TABLE
Cria uma tabela de dados. Sintaxe: CREATE TABLE <nome_da_tabela> (definição dos campos);
Exemplo:
CREATE TABLE clientes(
cpf integer unsigned not null,
nome varchar(100) not null,
data_nascimento date not null,
sexo char(1) default ‘M’,
salario decimal(10,2) default 0,
profissao varchar(30),
primary key(cpf)
);
Cláusula DEFAULT
A cláusula DEFAULT permite definir um valor padrão para um campo, que será utilizado caso não seja informado nenhum
valor para esse campo na inserção de um registro na tabela. Exemplo: sexo char(1) default ‘M’,
No exemplo acima, caso o campo “sexo” da tabela não seja preenchido com um valor durante a inserção de um registro, será
assumido o valor ‘M’ para o campo. Para campos do tipo NUMÉRICO, o valor DEFAULT é escrito sem aspas.
Exemplo: salario decimal(10,2) default 0,
O SQL - Comandos DDL
CONSTRAINTS (limitações, restrições)
● NOT NULL: define que um campo da tabela é obrigatório (deve receber um valor na inserção de um registro);
● PRIMARY KEY: define que um campo ou conjunto de campos para garantir a identidade de cada registro. Quando um
campo é definido como chave primária, seu valor não pode se repetir em registros diferentes. Cada tabela só pode ter uma
única chave primária.
○ CHAVE PRIMÁRIA SIMPLES: composta por um único campo. Exemplo: se for definido que em um sistema de hotéis
não podem existir dois clientes com o mesmo CPF, portanto este campo deverá ser definido como CHAVE
PRIMÁRIA.
○ CHAVE PRIMÁRIA COMPOSTA: formada por dois ou mais campos. Exemplo: se for definido em um sistema de
Agências bancárias que não podem existir duas contas com o mesmo número da mesma agência, então esses dois
campos formarão uma CHAVE PRIMÁRIA COMPOSTA, pois a combinação deles não pode se repetir.
Criação de uma chave primária composta
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero)
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
constraint pk_conta primary key (numero,
agencia_numero)
);
Sintaxe:
Criação de uma chave primária simples
CREATE TABLE contas(
numero integer not null primary key,
saldo integer default 0,
agencia_numero integer not null
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero)
);
O SQL - Comandos DDL
CONSTRAINTS
● FOREIGN KEY: Uma chave estrangeira é definida quando se deseja relacionar tabelas do banco de dados.
Sintaxe:
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero),
foreign key(agencia_numero) references agencias(numero)
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero),
constraint fk_contaagencia foreign key(agencia_numero) references agencias(numero)
);
O SQL - Comandos DDL
CONSTRAINTS
● UNIQUE: Uma constraint UNIQUE definie que o valor de um campo ou de uma sequência de campos não pode se
repetir em registros da mesma tabela. Essa constraint é criada de forma implícita quando é definida uma chave primária
para uma tabela. Como só é possível ter uma chave primária por tabela, a utilização de constraints UNIQUE é uma
solução quando se deseja restringir valores repetidos em outros campos.
Exemplo:
CREATE TABLE clientes(
cpf integer not null,
nome varchar(100) not null,
data_nascimento date not null,
sexo char(1) default ‘M’,
salario decimal(10,2) default 0,
profissao varchar(30),
rg integer not null,
estado char(2) not null,
primary key(cpf),
constraint un_rgestado unique(rg,estado)
);
O SQL - Comandos DDL
DROP TABLE
O comando DROP TABLE é usado para apagar uma tabela do Banco de dados. Sintaxe: DROP TABLE <nome_da_tabela>;
ALTER TABLE
Para não se apagar uma tabela e recriá-la, é possível fazer alterações em sua estrutura por meio do comando ALTER TABLE. Isso
é importante pois a execução do comando DROP TABLE apaga (obviamente) todos os registros da tabela, já a execução do
comando ALTER TABLE não exclui nenhum registro.
Adicionar um campo
Sintaxe: ALTER TABLE <nome_da_tabela> ADD <nome_do_campo> <tipo_de_dado> <atributos>
Exemplo: ALTER TABLE clientes ADD endereco varchar(90) not null;
Alterar o tipo de dado de um campo
Sintaxe: ALTER TABLE <nome_da_tabela> MODIFY <nome_do_campo> <tipo_de_dado>
Exemplo: ALTER TABLE clientes MODIFY endereco varchar(200);
Renomear um campo e modificar o tipo
Sintaxe: ALTER TABLE <nome_da_tabela> CHANGE COLUMN <nome_do_campo novo_nome> <tipo>;
O SQL - Comandos DDL
ALTER TABLE
Exemplo para mudar apenas o nome (o tipo do campo é mantido):
ALTER TABLE clientes CHANGE COLUMN data_nascimento datanasc date;
Exemplo para mudar o nome e o tipo do campo:
ALTER TABLE clientes CHANGE COLUMN data_nascimento datahoranasc datetime;
Renomear uma tabela
Sintaxe: ALTER TABLE <nome_da_tabela> RENAME TO <novo_nome_da_tabela>
Exemplo: ALTER TABLE clientes RENAME TO pessoas_fisicas
Apagar um campo
Sintaxe: ALTER TABLE <nome_da_tabela> DROP COLUMN <nome_do_campo>
Exemplo: ALTER TABLE clientes DROP COLUMN endereco;
O SQL - Comandos DDL
ALTER TABLE
Adicionar uma PRIMARY KEY
Sintaxe:
ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> PRIMARY KEY(campo1[,campo2,campo3,...,
campoN])
Exemplo:
ALTER TABLE clientes ADD CONSTRAINT pk_cpf PRIMARY KEY(cpf)
Apagar uma PRIMARY KEY
Sintaxe:
ALTER TABLE <nome_da_tabela> DROP PRIMARY KEY
Ou
ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint_da_primary_key>
Exemplo:
ALTER TABLE clientes DROP PRIMARY KEY;
Ou
ALTER TABLE clientes DROP CONSTRAINT pk_cpf;
O SQL - Comandos DDL
ALTER TABLE
Adicionar uma FOREIGN KEY
Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> FOREIGN KEY(campo1[,campo2,
campo3,...,campoN]) REFERENCES <nome_da_tabela>(campo1[,campo2,campo3,...,campoN]);
Exemplo:
ALTER TABLE contas ADD CONSTRAINT fk_contaagencia FOREIGN KEY(agencia_numero) REFERENCES agencias
(numero);
Adicionar uma constraint UNIQUE
Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> UNIQUE(campo1[,campo2,campo3,...,
campoN])
Exemplo:
ALTER TABLE clientes ADD CONSTRAINT un_rgestado UNIQUE(rg,estado)
Apagar uma CONSTRAINT qualquer
Sintaxe: ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint>
Exemplo:
ALTER TABLE contas DROP CONSTRAINT fk_contaagencia
Comando SHOW TABLES
Para visualizar todas as tabelas em um banco de dados, utilize o comando SHOW TABLES. Exemplo: SHOW TABLES;
Comando DESC
Para visualizar a estrutura de uma tabela, utilize o comando DESC (ou DESCRIBE).
Exemplo: DESC clientes;
O SQL - Exemplo prático
O SQL - Exemplo prático
O SQL - Exemplo prático
CREATE TABLE LIVRO (
idLIVRO INTEGER UNSIGNED NOT NULL
AUTO_INCREMENT,
EXEMPLAR VARCHAR(20) NULL,
ISBN NUMERIC(20) NULL,
TITULO VARCHAR(200) NULL,
AUTORES VARCHAR(500) NULL,
PRIMARY KEY(idLIVRO)
);
CREATE TABLE INSCRICAO (
idINSCRICAO INTEGER UNSIGNED NOT NULL
AUTO_INCREMENT,
NOME VARCHAR(100) NULL,
ENDERECO VARCHAR(500) NULL,
TELEFONE VARCHAR(15) NULL,
DATA_INSCRICAO DATE NULL,
PRIMARY KEY(idINSCRICAO)
);
CREATE TABLE RESERVA (
idRESERVA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
DATA_RESERVA DATE NULL,
PRIMARY KEY(idRESERVA),
INDEX RESERVA_FKIndex1(INSCRICAO_idINSCRICAO),
INDEX RESERVA_FKIndex2(LIVRO_idLIVRO),
FOREIGN KEY(INSCRICAO_idINSCRICAO)
REFERENCES INSCRICAO(idINSCRICAO)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(LIVRO_idLIVRO)
REFERENCES LIVRO(idLIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE REQUISICAO (
idREQUISICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
DATA_REQUISICAO DATE NULL,
DATA_ENTREGA DATE NULL,
PRIMARY KEY(idREQUISICAO),
INDEX REQUISICAO_FKIndex1(INSCRICAO_idINSCRICAO),
INDEX REQUISICAO_FKIndex2(LIVRO_idLIVRO),
FOREIGN KEY(INSCRICAO_idINSCRICAO)
REFERENCES INSCRICAO(idINSCRICAO)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(LIVRO_idLIVRO)
REFERENCES LIVRO(idLIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
O SQL - Manipulando os dados
● A subdivisão da linguagem SQL denominada DML (Data
Manipulation Language) é composta pelos seguintes
comandos:
○ INSERT: Inclui registro na tabela.
○ UPDATE: Atualiza registros já existentes na tabela.
○ DELETE: Exclui registros da tabela.
○ SELECT: Recupera registros armazenados na tabela (uma
ou mais, simultâneamente).
O SQL - Exemplo prático
● INSERT
Sintaxe:
INSERT INTO <nome_da_tabela> (<campo1,campo2,
campo3,...,campoN>) VALUES (<valor1, valor2,
valor3, ..., valorN>);
● Exemplo:
INSERT INTO livro (EXEMPLAR, ISBN, TITULO, AUTORES) VALUES ('1',
98012345678, ’Meu Livro’, 'José da Silva');
● Observações:
1) Valores do tipo TEXTO devem ser envolvidos por aspas simples ( ‘ );
2) Valores do tipo numéricos (INTEGER, NUMERIC, DECIMAL, etc..) não são
envolvidos por aspas simples e devem utilizar o ponto decimal para separação das
casas decimais no lugar na vírgula. Ex.: 3.25
O SQL - Exemplo prático
● Outra sintaxe do comando INSERT permite ocultar os
campos e escrever somente os valores que serão inseridos.
Exemplo:
INSERT INTO livro VALUES ('1', 98012345678, ’Meu Livro’, 'José
da Silva');
● É possível usar o INSERT para múltiplos registros. Exemplo:
INSERT INTO livro_backup SELECT * FROM livro;
● Observações: Para a execução do comando acima é necessário que os tipos de
dados dos campos da tabela cidades_backup estejam na mesma ordem dos tipos
de dados dos campos da tabela cidades.
O SQL - Exemplo prático
● UPDATE
Sintaxe:
UPDATE <nome_da_tabela> SET <campo1 = valor1>,
<campo2 = valor2>, <campo3 = valor3>, ...,
<campoN = valorN> [ WHERE condições]
● Exemplo:
UPDATE livro SET titulo = ‘O Alienista’;
● O comando UPDATE acima altera o campo titulo de todas os livros para ‘O
Alienista’.
O SQL - Exemplo prático
● Para restringir a alteração dos registros a um subconjunto
deles, é utilizada a cláusula WHERE, que permite processar
uma ou mais condições.
● Exemplo:
UPDATE livro SET
titulo = ‘O Alienista’,
Autor = ‘Machado de Assis’
WHERE isbn = 98012345678;
O SQL - Exemplo prático
● DELETE
Sintaxe:
DELETE FROM <nome_da_tabela> [WHERE condições];
● Exemplo:
DELETE FROM livro;
● O comando acima exclui todos os registros da tabela livro.
Para excluir apenas um subconjunto dos registros, é
necessário utilizar a cláusula WHERE. Exemplo:
DELETE FROM livro WHERE isbn = 98012345678;
O SQL - Exemplo prático
● SELECT
Sintaxe:
SELECT <campo1>, <campo2>, ..., <campoN> FROM <tabela1>,
<tabela2>, ..., <tabelaN> [ JOIN <tabela> ON condições]
[ WHERE condições ] [ORDER BY <campos>];
● Exemplos:
Exibir todos os campos de uma tabela
SELECT * FROM livro;
Exibir um campo de uma tabela
SELECT titulo FROM livro;
Exibir mais de um campo de uma tabela
SELECT titulo, autor FROM livro;
O SQL - Exemplo prático
● SELECT
Apelidando campos
SELECT titulo as nome_livro, isbn as isbn_livro FROM livro;
Apelidando tabelas
SELECT titulo, isbn FROM livro as acervo;
Selecionando campos a partir do nome da tabela
SELECT livro.titulo, livro.isbn FROM livro;
Selecionando campos a partir do apelido da tabela
SELECT acervo.titulo, acervo.isbn FROM livro as acervo;
O SQL - Exemplo prático
● Cláusula WHERE
● Igual: =
UPDATE livro SET autor = ‘Machado de Assis’ WHERE isbn = 98012345678;
● Diferente: <>
UPDATE INSCRICAO SET endereco = ‘Rua dos Bobos 0’ WHERE idINSCRICAO <> 1;
● Maior: >
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO > '2006/07/26';
● Menor: <
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO < '2006/07/26';
● Maior ou igual: >=
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO >= '2006/07/26';
● Menor ou igual: <=
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO <= '2006/07/26';
● IN: Comparação de igualdade com múltiplos valores
SELECT * FROM INSCRICAO WHERE nome IN ('José','Maria','Silveira');
O SQL - Exemplo prático
● Cláusula WHERE
● LIKE: Comparação de partes do texto
SELECT * FROM INSCRICAO WHERE nome LIKE ‘a%’;
Seleciona todos o inscritos cujos nomes iniciam pela letra “a”.
SELECT * FROM INSCRICAO WHERE nome LIKE ‘%o’;
Seleciona todos os inscritos cujos nomes terminam pela letra “o”.
SELECT * FROM INSCRICAO WHERE nome LIKE ‘%a%’;
Seleciona todos os inscritos cujos nomes possuem a letra “a” em qualquer posição (início, meio ou fim).
O SQL - Exemplo prático
● Cláusula WHERE
● Soma: +
UPDATE funcionarios SET salario = salario + 10;
Acrescenta R$ 10,00 ao salário dos funcionários.
● Subtração: -
UPDATE funcionarios SET salario = salario – 5 WHERE salario > 1000;
Subtrai R$ 5,00 do salário dos funcionários que ganham mais de R$ 1000,00.
● Multiplicação: *
UPDATE funcionarios SET salario = salario*1.1;
Aumenta o salário dos funcionários em 10%.
● Divisão: /
UPDATE funcionarios SET salario = salario + salario*(10/100);
Aumenta o salário dos funcionários em 10%.
● IS: Operador especial para comparação de igualdade. Este operador é usado para
comparação com o valor NULL.
SELECT nome FROM funcionarios WHERE celular IS NULL.
O SQL - Exemplo prático
● Cláusula WHERE
● AND
SELECT * FROM INSCRICAO WHERE nome LIKE ‘a%’ AND
DATA_INSCRICAO <= ‘1980/01/01’;
Seleciona todos os inscritos cujos nomes iniciam pela letra “a” e cujas datas de inscrição são anteriores a 01/01/1980.
● OR
SELECT * FROM livro WHERE isbn='987123' OR isbn ='987456';
Seleciona os livros cujos os ISBN sejam 987123 ou 987456.
● Multiplicação: *
UPDATE funcionarios SET salario = salario*1.1;
Aumenta o salário dos funcionários em 10%.
● NOT
SELECT nome FROM funcionarios WHERE NOT(salario < 1000);
Seleciona o nome dos funcionários que não possuem salário menor que 1000.
O SQL - Exemplo prático
● Junção de tabelas
● Usando a cláusula WHERE
SELECT * FROM REQUISICAO , LIVRO
WHERE REQUISICAO.LIVRO_idLIVRO = LIVRO.idLIVRO;
Para a junção de tabelas, sempre devem ser escritas as condições entre os campos que estão
relacionados nas tabelas. Geralmente, essas condições envolvem os campos que são chaves
estrangeiras de uma tabela e os que são chaves primárias da outra, porém nada impede de serem feitas
condições entre campos que não são chaves.
● Usando a cláusula JOIN
SELECT * FROM LIVRO INNER JOIN requisicao ON REQUISICAO.
LIVRO_idLIVRO = LIVRO.idLIVRO;
A cláusula INNER JOIN define que serão selecionados somente os registros de uma tabela que possuem
relação com os registros da outra tabela.
O SQL - Exemplo prático
● Junção de tabelas
● Usando a cláusula LEFT JOIN
SELECT requisicao.data_requisicao, inscricao.nome
FROM inscricao
LEFT JOIN requisicao ON requisicao.INSCRICAO_idINSCRICAO = inscricao.
idINSCRICAO;
Para interpretar o LEFT JOIN, faz-se a pergunta: qual tabela está à esquerda do JOIN? No comando acima, a tabela que
está à esquerda da cláusula JOIN é a tabela inscricao. Portanto, serão selecionados todos os registros da tabela inscricao
estando ou não relacionados com a tabela requisicao pelo camp o de chave primária.
● Usando a cláusula RIGHT JOIN
SELECT requisicao.data_requisicao, inscricao.nome
FROM inscricao
RIGHT JOIN requisicao ON requisicao.INSCRICAO_idINSCRICAO = inscricao.
idINSCRICAO;
Para interpretar o RIGHT JOIN, faz-se a pergunta: qual tabela está à direita do JOIN? A tabela requisicao. Portanto, serão
selecionados todos os registros da tabela requisicao que estão ou não relacionados com os registros da tabela inscricao.
O SQL - Exemplo prático
● Cláusula ORDER BY
Sintaxe:
SELECT ... ORDER BY <campo1>, <campo2>, <campoN> ... [desc|asc]
● Exemplos:
Seleciona os livros cujos títulos iniciam pela letra “a” e ordena a lista primeiramente pelo autor e, em seguida, pelos títulos dos livros.
SELECT * FROM livro WHERE titulo LIKE ‘a%’ ORDER BY autor,
titulo;
Seleciona todos os livros ordenando decrescentemente pelo título e, se houver repetição de valores, obedece à ordem crescente do autor.
SELECT * FROM livro ORDER BY titulo DESC, autor;
Seleciona todos os livros ordenando crescentemente pelo título e, se houver repetição de valores, obedece à ordem decrescente do nome do autor.
SELECT * FROM livro ORDER BY titulo, autor DESC;
Concluindo
● É importante possuir uma documentação mínima sobre o
banco de dados para poder se localizar e fazer a
manutenção do mesmo.
● Conhecer pelo menos um tipo de modelo de banco de
dados facilita a interatividade entre ferramentas e a
comunicação com os profissionais envolvidos com o
sistema.
● Decorar comandos não é o importante. O importante é
saber o funcionamento!

Mais conteúdo relacionado

Mais procurados

Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemasFelipe Oliveira
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)Alex Camargo
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosFábio dos Reis
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dadossamlobo
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Gustavo Zimmermann
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 

Mais procurados (20)

Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
A Linguagem sql
A Linguagem sqlA Linguagem sql
A Linguagem sql
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Aula 1
Aula 1Aula 1
Aula 1
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 

Destaque

Apostila introdução à linguagem sql
Apostila introdução à linguagem sqlApostila introdução à linguagem sql
Apostila introdução à linguagem sqlReuel Lopes
 
Capítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteCapítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteMarcio Palheta
 
SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012Hcode
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012Rodrigo Ribeiro
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLFábio Delboni
 
Capítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de ProjetoCapítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de ProjetoMarcio Palheta
 
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...altima°
 
Venice, The City On Water (Please see full screen)
Venice, The City On Water (Please see full screen)Venice, The City On Water (Please see full screen)
Venice, The City On Water (Please see full screen)Jia Liu
 
Parts Of A Story
Parts Of A StoryParts Of A Story
Parts Of A StorySAMIG1445
 
Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)
Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)
Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)Softeam agency
 
Fluid control and Soft tissue management in Prosthodontics
Fluid control and Soft tissue management in ProsthodonticsFluid control and Soft tissue management in Prosthodontics
Fluid control and Soft tissue management in ProsthodonticsVinay Kadavakolanu
 
Completing the Innovation Management Puzzle
Completing the Innovation Management PuzzleCompleting the Innovation Management Puzzle
Completing the Innovation Management PuzzleJulian Keith Loren
 
MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS
MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS
MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS Neha Kumar
 
Native American Cultures 1491-1607
Native American Cultures 1491-1607Native American Cultures 1491-1607
Native American Cultures 1491-1607Tom Richey
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGAvelamakuri
 
Characteristics of gifted students
Characteristics of gifted studentsCharacteristics of gifted students
Characteristics of gifted studentsTrinette Atri
 
Walktwomoons
WalktwomoonsWalktwomoons
WalktwomoonsN8 G
 
Basics of radiation and production of x rays
Basics of radiation and production of x raysBasics of radiation and production of x rays
Basics of radiation and production of x raysdbc9427
 

Destaque (20)

Apostila introdução à linguagem sql
Apostila introdução à linguagem sqlApostila introdução à linguagem sql
Apostila introdução à linguagem sql
 
Capítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteCapítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLite
 
SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Capítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de ProjetoCapítulo 02 - Cadastro de Alunos e Decisões de Projeto
Capítulo 02 - Cadastro de Alunos e Decisões de Projeto
 
Geomatique
GeomatiqueGeomatique
Geomatique
 
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
 
Venice, The City On Water (Please see full screen)
Venice, The City On Water (Please see full screen)Venice, The City On Water (Please see full screen)
Venice, The City On Water (Please see full screen)
 
Parts Of A Story
Parts Of A StoryParts Of A Story
Parts Of A Story
 
Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)
Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)
Search Engine Marketing (SEO, SEA, SSO, LSO, MSO)
 
Fluid control and Soft tissue management in Prosthodontics
Fluid control and Soft tissue management in ProsthodonticsFluid control and Soft tissue management in Prosthodontics
Fluid control and Soft tissue management in Prosthodontics
 
Completing the Innovation Management Puzzle
Completing the Innovation Management PuzzleCompleting the Innovation Management Puzzle
Completing the Innovation Management Puzzle
 
MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS
MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS
MOBILE PHONE & MOBILE TOWER RADIATION HAZARDS
 
Native American Cultures 1491-1607
Native American Cultures 1491-1607Native American Cultures 1491-1607
Native American Cultures 1491-1607
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
Characteristics of gifted students
Characteristics of gifted studentsCharacteristics of gifted students
Characteristics of gifted students
 
Walktwomoons
WalktwomoonsWalktwomoons
Walktwomoons
 
Basics of radiation and production of x rays
Basics of radiation and production of x raysBasics of radiation and production of x rays
Basics of radiation and production of x rays
 

Semelhante a Sql básico - Teoria e prática: Um grande resumo

Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4Ed W. Jr
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01Gilson Figueredo
 
Banco de dados comandos sql
Banco de dados   comandos sqlBanco de dados   comandos sql
Banco de dados comandos sqlNilson Augustini
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxSaraR49
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darinTicianne Darin
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlHelder Lopes
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Emiliano Barbosa
 
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxmodulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxAnaAlmeida462833
 

Semelhante a Sql básico - Teoria e prática: Um grande resumo (20)

Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01
 
Banco de dados comandos sql
Banco de dados   comandos sqlBanco de dados   comandos sql
Banco de dados comandos sql
 
Agbd aula4 sql_ddl
Agbd aula4 sql_ddlAgbd aula4 sql_ddl
Agbd aula4 sql_ddl
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darin
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Sql
SqlSql
Sql
 
Sql01
Sql01Sql01
Sql01
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySql
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
07 sql - parte 01
07   sql - parte 0107   sql - parte 01
07 sql - parte 01
 
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxmodulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
 
SQL.ppt
SQL.pptSQL.ppt
SQL.ppt
 

Mais de Helder Lopes

Resumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeResumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeHelder Lopes
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralHelder Lopes
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphiHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacionalGerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacionalHelder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Helder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Helder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...Helder Lopes
 
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...Helder Lopes
 
Estatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritivaEstatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritivaHelder Lopes
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLMGerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLMHelder Lopes
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeHelder Lopes
 
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplinaGerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplinaHelder Lopes
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de RedesHelder Lopes
 
Redes de computadores e Telecomunicações
Redes de computadores e TelecomunicaçõesRedes de computadores e Telecomunicações
Redes de computadores e TelecomunicaçõesHelder Lopes
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de DadosHelder Lopes
 
Sistemas para Internet e Software Livre
Sistemas para Internet e Software LivreSistemas para Internet e Software Livre
Sistemas para Internet e Software LivreHelder Lopes
 

Mais de Helder Lopes (19)

Resumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio HerbalifeResumo: Oportunidade de Negocio Herbalife
Resumo: Oportunidade de Negocio Herbalife
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geral
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphi
 
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacionalGerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
Gerenciamento de Infra-Estrutura - Aula 5 - contexto organizacional
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
 
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
 
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
Gerenciamento de Infra-Estrutura - Aula 3 - Ferramentas de Gerenciamento - Co...
 
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
Aplicação de Redes Neurais Artificiais Paraconsistentes no auxílio do diagnós...
 
Estatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritivaEstatística - Aula 2 - Estatística descritiva
Estatística - Aula 2 - Estatística descritiva
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLMGerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
Gerenciamento de Infra-Estrutura - Aula 3 - Conceitos sobre SLA & SLM
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de Rede
 
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplinaGerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
Gerenciamento de Infra-Estrutura - Aula 1 - Introdução à disciplina
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de Redes
 
Redes de computadores e Telecomunicações
Redes de computadores e TelecomunicaçõesRedes de computadores e Telecomunicações
Redes de computadores e Telecomunicações
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de Dados
 
Sistemas para Internet e Software Livre
Sistemas para Internet e Software LivreSistemas para Internet e Software Livre
Sistemas para Internet e Software Livre
 

Último

Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 

Último (20)

Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 

Sql básico - Teoria e prática: Um grande resumo

  • 1. SQL Básico: Teoria e Prática Um grande resumo...
  • 2. Um pouco de história
  • 4. Características básicas ● Exemplo de tabela ● Um banco de dados é um conjunto de tabelas. ● Representa aspectos da vida real. Nome RA Nota Bonifácio Cubas 125159 9,5 Ana Cintra 125148 8,0
  • 5. Modelos lógicos ● São modelos de dados ● É uma representação teórica de como será a implementação do banco de dados ● Deve ser independente de tecnologia Image: FreeDigitalPhotos.net
  • 6. Modelos lógicos ● Informações concisas e necessárias para o negócio ● Identifica redundâncias ● Identifica dados não utilizados ● Permite estabelecer regras de integridade de dados Image: FreeDigitalPhotos.net
  • 7. Modelos lógicos Image: FreeDigitalPhotos.net Aluno Matrícula Nome Endereço Data Nascimento ● Um modelo é formado por: ○ Entidades ○ Atributos Atributo identificador (Chave Primária)
  • 9. Relacionamentos ● Diagramas de entidas ○ Utilizaremos a metodologia DER: Diagrama Entidade-Relacionamento ○ DER representa a associação de cada entidade através de relacionamentos Entidade 1 Entidade 2Relacionamento
  • 10. Relacionamentos ● DER Entidade 1 Entidade 2Um ou muitos Entidade 3 Um e somente um Um ou muitos Um ou nenhum Exemplo de relacionamento
  • 11. Exemplos ● Exemplo: Cliente ○ Uma empresa controla os seguintes dados de seus clientes: ■ Código ■ Nome ■ Endereço ■ Telefone Cliente: #Código Nome Endereço Telefone
  • 12. Exemplos ● Exemplo: Cliente ○ A empresa vende diversos produtos a seus clientes: ■ Cada cliente pode comprar quantos produtos precisar ■ Cada pedido de venda pode ser composto por vários produtos Pedido: #Código Cliente Data Valor Detalhe Pedido: #Código Pedido #Código Produto Quantidade Valor Produto: #Código Descrição Valor
  • 13. Exemplos ● DER: Exemplo Cliente Cliente Pedido N Produto 1 1 1 Faz Detalhe Pedido Forma NN Compõe
  • 14. Modelos Físicos ● São modelos de dados ● É uma representação teórica de como será a implementação do banco de dados ● Deve levar em conta as limitações do SGBD Image: FreeDigitalPhotos.net
  • 15. Modelos Físicos ● Modelo lógico lhe permite a visão de negócio. O conceito a ser trabalho. ● O modelo físico lhe permite projetar a implementação do banco de dados. ● O modelo físico pode ser ligeiramente diferente do modelo lógico (melhorado). ● Requer conhecimento técnico. Image: FreeDigitalPhotos.net
  • 16. Modelos Físicos ● Modelo lógico : Entidades e atributos. ● O modelo físico : Tabelas e campo. ● Modelo lógico : Atributo identificador. ● O modelo físico : Chave primária. ● Modelo físico: ○ Chave estrangeira ○ Cardinalidade ○ Tipo de campo
  • 17. Modelos Físicos ● Tipos de campos ○ Char(N) ○ Varchar(N) ○ Numeric(N,P) ○ Integer ○ Date ○ Time ○ TimeStamp N = Tamanho P = Precisão decimal
  • 19. O SQL ● A linguagem SQL (Structured Query Language – Linguagem de Consulta Estruturada) é uma linguagem declarativa utilizada por Sistemas Gerenciadores de Bancos de Dados Relacionais como: Oracle, SQL Server, MySQL, PostgreSQL, Firebird, e outros. ● Devido à sua ampla utilização por diversos SGBDs, surgiram vários dialetos para os comandos, que geraram a necessidade de criação de um padrão para a linguagem. Essa tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e ISO em 1987. Em 1992, foi realização uma revisão da linguagem que recebeu o nome de SQL-92.
  • 20. O SQL ● Em 1999 e 2003, ocorreram novas revisões. Na revisão de 1999, foram adicionados padrões para expressões regulares, consultas recursivas, triggers e algumas características de orientação a objeto. Na revisão de 2003, foram introduzidas características relacionadas a XML, sequências padronizadas e colunas com valores de auto- numeração. ● Uma dificuldade encontrada na utilização da linguagem SQL por parte dos desenvolvedores ou administradores de bancos de dados é a diferença entre os comandos nos diversos SGBDs, mesmo após a definição dos padrões. Porém, as diferenças não são grandes.
  • 21. O SQL - Tipos de linguagens ● DDL (Data Definition Language – Linguagem de Definição de Dados). ○ Os comandos DDL são usados para definir a estrutura do banco de dados, organizando em tabelas que são compostas por campos (colunas). Comandos que compõem a DDL: CREATE, ALTER, DROP.
  • 22. O SQL - Tipos de linguagens ● DML (Data Manipulation Language – Linguagem de Manipulação de Dados). ○ Os comandos DML permitem realizar operações de inserção, alteração, exclusão e seleção sobre os registros (linhas) das tabelas. Comandos que compõem a DML: INSERT, UPDATE, DELETE e SELECT. ○ Alguns autores definem que o comando SELECT faz parte de uma subdivisão chamada DQL (Data Query Language – Linguagem de Consulta de Dados).
  • 23. O SQL - Tipos de linguagens ● DCL (Data Control Language – Linguagem de Controle de Dados). Os comandos DCL são usados para gerenciar usuários e permissões de acesso ao Sistema Gerenciador de Banco de Dados. Comandos que compõem a DCL: GRANT e REVOKE. ● Alguns autores ainda definem uma subdivisão da linguagem SQL chamada DTL (Data Transaction Languagem – Linguagem de Transação de Dados). Uma transação pode ser compreendida como um conjunto de comandos que é executado de forma atômica, ou seja, ou todos os comandos são executados com sucesso ou nenhum dos resultados obtidos poreles será mantido no banco de dados.
  • 24. O SQL - Comandos DDL CREATE TABLE <nome_da_tabela> ( <nome_do_campo> <tipo_do_campo> <opções>, <nome_do_campo> <tipo_do_campo> <opções>, ... PRIMARY KEY(<nome_do_campo>) INDEX <nome_do_índice>(<nome_do_campo>), FOREIGN KEY(<nome_do_campo>) REFERENCES <nome_da_tabela_origem>(<nome_do_campo_origem>) ON DELETE <opção_de_referencia> ON UPDATE <opção_de_referencia>, ); ● <nome_da_tabela>: Nome da tabela a ser criada, não pode haver espaços e acentuações. ● <nome_do_campo>: Nome do campo da tabela, não pode haver espaços e acentuações. ● <tipo_do_campo>: Tipo do campo. Existem tipos padrões, porém existem tipos de campos específicos de cada SGBD. ● <opções>: Padronização do campo (valor padrão, auto incremento, limite numérico, etc...). ● Chave primária: Deve constar o nome do campo (se forma mais de um, separar por vírgula) que compões a chave primária. Caso a tabela não contenha uma chave primária, basta suprimir essa linha. ● Índices: Deve constar o nome do índice e o nome do campo (se forma mais de um campo, separar por vírgula) que compões o índice. Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A tabela pode conter quantos índices forem necessários. ● Chave estrangeira: Deve constar o nome do campo que compões a chave, o nome da tabela de origem e o nome do campo da tabela de origem . Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A opção de referência define o comportamento entre os registros da tabela (Se apagar na tabela-pai, apaga na tabela-filho, por exemplo).
  • 25. O SQL - Comandos DDL CREATE DATABASE Este comando é utilizado para criar um banco de dados. Exemplo: CREATE DATABASE loja; USE Sempre que for necessário manipular as tabelas de um banco de dados no SGBD MySQL, será necessário selecionar o banco de dados que se deseja manipular. Para isso, deve ser utilizado o comando USE. Exemplo: USE loja; CREATE TABLE Cria uma tabela de dados. Sintaxe: CREATE TABLE <nome_da_tabela> (definição dos campos); Exemplo: CREATE TABLE clientes( cpf integer unsigned not null, nome varchar(100) not null, data_nascimento date not null, sexo char(1) default ‘M’, salario decimal(10,2) default 0, profissao varchar(30), primary key(cpf) ); Cláusula DEFAULT A cláusula DEFAULT permite definir um valor padrão para um campo, que será utilizado caso não seja informado nenhum valor para esse campo na inserção de um registro na tabela. Exemplo: sexo char(1) default ‘M’, No exemplo acima, caso o campo “sexo” da tabela não seja preenchido com um valor durante a inserção de um registro, será assumido o valor ‘M’ para o campo. Para campos do tipo NUMÉRICO, o valor DEFAULT é escrito sem aspas. Exemplo: salario decimal(10,2) default 0,
  • 26. O SQL - Comandos DDL CONSTRAINTS (limitações, restrições) ● NOT NULL: define que um campo da tabela é obrigatório (deve receber um valor na inserção de um registro); ● PRIMARY KEY: define que um campo ou conjunto de campos para garantir a identidade de cada registro. Quando um campo é definido como chave primária, seu valor não pode se repetir em registros diferentes. Cada tabela só pode ter uma única chave primária. ○ CHAVE PRIMÁRIA SIMPLES: composta por um único campo. Exemplo: se for definido que em um sistema de hotéis não podem existir dois clientes com o mesmo CPF, portanto este campo deverá ser definido como CHAVE PRIMÁRIA. ○ CHAVE PRIMÁRIA COMPOSTA: formada por dois ou mais campos. Exemplo: se for definido em um sistema de Agências bancárias que não podem existir duas contas com o mesmo número da mesma agência, então esses dois campos formarão uma CHAVE PRIMÁRIA COMPOSTA, pois a combinação deles não pode se repetir. Criação de uma chave primária composta CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero,agencia_numero) ); Ou CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, constraint pk_conta primary key (numero, agencia_numero) ); Sintaxe: Criação de uma chave primária simples CREATE TABLE contas( numero integer not null primary key, saldo integer default 0, agencia_numero integer not null ); Ou CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero) );
  • 27. O SQL - Comandos DDL CONSTRAINTS ● FOREIGN KEY: Uma chave estrangeira é definida quando se deseja relacionar tabelas do banco de dados. Sintaxe: CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero,agencia_numero), foreign key(agencia_numero) references agencias(numero) ); Ou CREATE TABLE contas( numero integer not null, saldo integer default 0, agencia_numero integer not null, primary key(numero,agencia_numero), constraint fk_contaagencia foreign key(agencia_numero) references agencias(numero) );
  • 28. O SQL - Comandos DDL CONSTRAINTS ● UNIQUE: Uma constraint UNIQUE definie que o valor de um campo ou de uma sequência de campos não pode se repetir em registros da mesma tabela. Essa constraint é criada de forma implícita quando é definida uma chave primária para uma tabela. Como só é possível ter uma chave primária por tabela, a utilização de constraints UNIQUE é uma solução quando se deseja restringir valores repetidos em outros campos. Exemplo: CREATE TABLE clientes( cpf integer not null, nome varchar(100) not null, data_nascimento date not null, sexo char(1) default ‘M’, salario decimal(10,2) default 0, profissao varchar(30), rg integer not null, estado char(2) not null, primary key(cpf), constraint un_rgestado unique(rg,estado) );
  • 29. O SQL - Comandos DDL DROP TABLE O comando DROP TABLE é usado para apagar uma tabela do Banco de dados. Sintaxe: DROP TABLE <nome_da_tabela>; ALTER TABLE Para não se apagar uma tabela e recriá-la, é possível fazer alterações em sua estrutura por meio do comando ALTER TABLE. Isso é importante pois a execução do comando DROP TABLE apaga (obviamente) todos os registros da tabela, já a execução do comando ALTER TABLE não exclui nenhum registro. Adicionar um campo Sintaxe: ALTER TABLE <nome_da_tabela> ADD <nome_do_campo> <tipo_de_dado> <atributos> Exemplo: ALTER TABLE clientes ADD endereco varchar(90) not null; Alterar o tipo de dado de um campo Sintaxe: ALTER TABLE <nome_da_tabela> MODIFY <nome_do_campo> <tipo_de_dado> Exemplo: ALTER TABLE clientes MODIFY endereco varchar(200); Renomear um campo e modificar o tipo Sintaxe: ALTER TABLE <nome_da_tabela> CHANGE COLUMN <nome_do_campo novo_nome> <tipo>;
  • 30. O SQL - Comandos DDL ALTER TABLE Exemplo para mudar apenas o nome (o tipo do campo é mantido): ALTER TABLE clientes CHANGE COLUMN data_nascimento datanasc date; Exemplo para mudar o nome e o tipo do campo: ALTER TABLE clientes CHANGE COLUMN data_nascimento datahoranasc datetime; Renomear uma tabela Sintaxe: ALTER TABLE <nome_da_tabela> RENAME TO <novo_nome_da_tabela> Exemplo: ALTER TABLE clientes RENAME TO pessoas_fisicas Apagar um campo Sintaxe: ALTER TABLE <nome_da_tabela> DROP COLUMN <nome_do_campo> Exemplo: ALTER TABLE clientes DROP COLUMN endereco;
  • 31. O SQL - Comandos DDL ALTER TABLE Adicionar uma PRIMARY KEY Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> PRIMARY KEY(campo1[,campo2,campo3,..., campoN]) Exemplo: ALTER TABLE clientes ADD CONSTRAINT pk_cpf PRIMARY KEY(cpf) Apagar uma PRIMARY KEY Sintaxe: ALTER TABLE <nome_da_tabela> DROP PRIMARY KEY Ou ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint_da_primary_key> Exemplo: ALTER TABLE clientes DROP PRIMARY KEY; Ou ALTER TABLE clientes DROP CONSTRAINT pk_cpf;
  • 32. O SQL - Comandos DDL ALTER TABLE Adicionar uma FOREIGN KEY Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> FOREIGN KEY(campo1[,campo2, campo3,...,campoN]) REFERENCES <nome_da_tabela>(campo1[,campo2,campo3,...,campoN]); Exemplo: ALTER TABLE contas ADD CONSTRAINT fk_contaagencia FOREIGN KEY(agencia_numero) REFERENCES agencias (numero); Adicionar uma constraint UNIQUE Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> UNIQUE(campo1[,campo2,campo3,..., campoN]) Exemplo: ALTER TABLE clientes ADD CONSTRAINT un_rgestado UNIQUE(rg,estado) Apagar uma CONSTRAINT qualquer Sintaxe: ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint> Exemplo: ALTER TABLE contas DROP CONSTRAINT fk_contaagencia Comando SHOW TABLES Para visualizar todas as tabelas em um banco de dados, utilize o comando SHOW TABLES. Exemplo: SHOW TABLES; Comando DESC Para visualizar a estrutura de uma tabela, utilize o comando DESC (ou DESCRIBE). Exemplo: DESC clientes;
  • 33. O SQL - Exemplo prático
  • 34. O SQL - Exemplo prático
  • 35. O SQL - Exemplo prático CREATE TABLE LIVRO ( idLIVRO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, EXEMPLAR VARCHAR(20) NULL, ISBN NUMERIC(20) NULL, TITULO VARCHAR(200) NULL, AUTORES VARCHAR(500) NULL, PRIMARY KEY(idLIVRO) ); CREATE TABLE INSCRICAO ( idINSCRICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, NOME VARCHAR(100) NULL, ENDERECO VARCHAR(500) NULL, TELEFONE VARCHAR(15) NULL, DATA_INSCRICAO DATE NULL, PRIMARY KEY(idINSCRICAO) ); CREATE TABLE RESERVA ( idRESERVA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL, INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL, DATA_RESERVA DATE NULL, PRIMARY KEY(idRESERVA), INDEX RESERVA_FKIndex1(INSCRICAO_idINSCRICAO), INDEX RESERVA_FKIndex2(LIVRO_idLIVRO), FOREIGN KEY(INSCRICAO_idINSCRICAO) REFERENCES INSCRICAO(idINSCRICAO) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(LIVRO_idLIVRO) REFERENCES LIVRO(idLIVRO) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE REQUISICAO ( idREQUISICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL, LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL, DATA_REQUISICAO DATE NULL, DATA_ENTREGA DATE NULL, PRIMARY KEY(idREQUISICAO), INDEX REQUISICAO_FKIndex1(INSCRICAO_idINSCRICAO), INDEX REQUISICAO_FKIndex2(LIVRO_idLIVRO), FOREIGN KEY(INSCRICAO_idINSCRICAO) REFERENCES INSCRICAO(idINSCRICAO) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(LIVRO_idLIVRO) REFERENCES LIVRO(idLIVRO) ON DELETE NO ACTION ON UPDATE NO ACTION );
  • 36. O SQL - Manipulando os dados ● A subdivisão da linguagem SQL denominada DML (Data Manipulation Language) é composta pelos seguintes comandos: ○ INSERT: Inclui registro na tabela. ○ UPDATE: Atualiza registros já existentes na tabela. ○ DELETE: Exclui registros da tabela. ○ SELECT: Recupera registros armazenados na tabela (uma ou mais, simultâneamente).
  • 37. O SQL - Exemplo prático ● INSERT Sintaxe: INSERT INTO <nome_da_tabela> (<campo1,campo2, campo3,...,campoN>) VALUES (<valor1, valor2, valor3, ..., valorN>); ● Exemplo: INSERT INTO livro (EXEMPLAR, ISBN, TITULO, AUTORES) VALUES ('1', 98012345678, ’Meu Livro’, 'José da Silva'); ● Observações: 1) Valores do tipo TEXTO devem ser envolvidos por aspas simples ( ‘ ); 2) Valores do tipo numéricos (INTEGER, NUMERIC, DECIMAL, etc..) não são envolvidos por aspas simples e devem utilizar o ponto decimal para separação das casas decimais no lugar na vírgula. Ex.: 3.25
  • 38. O SQL - Exemplo prático ● Outra sintaxe do comando INSERT permite ocultar os campos e escrever somente os valores que serão inseridos. Exemplo: INSERT INTO livro VALUES ('1', 98012345678, ’Meu Livro’, 'José da Silva'); ● É possível usar o INSERT para múltiplos registros. Exemplo: INSERT INTO livro_backup SELECT * FROM livro; ● Observações: Para a execução do comando acima é necessário que os tipos de dados dos campos da tabela cidades_backup estejam na mesma ordem dos tipos de dados dos campos da tabela cidades.
  • 39. O SQL - Exemplo prático ● UPDATE Sintaxe: UPDATE <nome_da_tabela> SET <campo1 = valor1>, <campo2 = valor2>, <campo3 = valor3>, ..., <campoN = valorN> [ WHERE condições] ● Exemplo: UPDATE livro SET titulo = ‘O Alienista’; ● O comando UPDATE acima altera o campo titulo de todas os livros para ‘O Alienista’.
  • 40. O SQL - Exemplo prático ● Para restringir a alteração dos registros a um subconjunto deles, é utilizada a cláusula WHERE, que permite processar uma ou mais condições. ● Exemplo: UPDATE livro SET titulo = ‘O Alienista’, Autor = ‘Machado de Assis’ WHERE isbn = 98012345678;
  • 41. O SQL - Exemplo prático ● DELETE Sintaxe: DELETE FROM <nome_da_tabela> [WHERE condições]; ● Exemplo: DELETE FROM livro; ● O comando acima exclui todos os registros da tabela livro. Para excluir apenas um subconjunto dos registros, é necessário utilizar a cláusula WHERE. Exemplo: DELETE FROM livro WHERE isbn = 98012345678;
  • 42. O SQL - Exemplo prático ● SELECT Sintaxe: SELECT <campo1>, <campo2>, ..., <campoN> FROM <tabela1>, <tabela2>, ..., <tabelaN> [ JOIN <tabela> ON condições] [ WHERE condições ] [ORDER BY <campos>]; ● Exemplos: Exibir todos os campos de uma tabela SELECT * FROM livro; Exibir um campo de uma tabela SELECT titulo FROM livro; Exibir mais de um campo de uma tabela SELECT titulo, autor FROM livro;
  • 43. O SQL - Exemplo prático ● SELECT Apelidando campos SELECT titulo as nome_livro, isbn as isbn_livro FROM livro; Apelidando tabelas SELECT titulo, isbn FROM livro as acervo; Selecionando campos a partir do nome da tabela SELECT livro.titulo, livro.isbn FROM livro; Selecionando campos a partir do apelido da tabela SELECT acervo.titulo, acervo.isbn FROM livro as acervo;
  • 44. O SQL - Exemplo prático ● Cláusula WHERE ● Igual: = UPDATE livro SET autor = ‘Machado de Assis’ WHERE isbn = 98012345678; ● Diferente: <> UPDATE INSCRICAO SET endereco = ‘Rua dos Bobos 0’ WHERE idINSCRICAO <> 1; ● Maior: > SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO > '2006/07/26'; ● Menor: < SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO < '2006/07/26'; ● Maior ou igual: >= SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO >= '2006/07/26'; ● Menor ou igual: <= SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO <= '2006/07/26'; ● IN: Comparação de igualdade com múltiplos valores SELECT * FROM INSCRICAO WHERE nome IN ('José','Maria','Silveira');
  • 45. O SQL - Exemplo prático ● Cláusula WHERE ● LIKE: Comparação de partes do texto SELECT * FROM INSCRICAO WHERE nome LIKE ‘a%’; Seleciona todos o inscritos cujos nomes iniciam pela letra “a”. SELECT * FROM INSCRICAO WHERE nome LIKE ‘%o’; Seleciona todos os inscritos cujos nomes terminam pela letra “o”. SELECT * FROM INSCRICAO WHERE nome LIKE ‘%a%’; Seleciona todos os inscritos cujos nomes possuem a letra “a” em qualquer posição (início, meio ou fim).
  • 46. O SQL - Exemplo prático ● Cláusula WHERE ● Soma: + UPDATE funcionarios SET salario = salario + 10; Acrescenta R$ 10,00 ao salário dos funcionários. ● Subtração: - UPDATE funcionarios SET salario = salario – 5 WHERE salario > 1000; Subtrai R$ 5,00 do salário dos funcionários que ganham mais de R$ 1000,00. ● Multiplicação: * UPDATE funcionarios SET salario = salario*1.1; Aumenta o salário dos funcionários em 10%. ● Divisão: / UPDATE funcionarios SET salario = salario + salario*(10/100); Aumenta o salário dos funcionários em 10%. ● IS: Operador especial para comparação de igualdade. Este operador é usado para comparação com o valor NULL. SELECT nome FROM funcionarios WHERE celular IS NULL.
  • 47. O SQL - Exemplo prático ● Cláusula WHERE ● AND SELECT * FROM INSCRICAO WHERE nome LIKE ‘a%’ AND DATA_INSCRICAO <= ‘1980/01/01’; Seleciona todos os inscritos cujos nomes iniciam pela letra “a” e cujas datas de inscrição são anteriores a 01/01/1980. ● OR SELECT * FROM livro WHERE isbn='987123' OR isbn ='987456'; Seleciona os livros cujos os ISBN sejam 987123 ou 987456. ● Multiplicação: * UPDATE funcionarios SET salario = salario*1.1; Aumenta o salário dos funcionários em 10%. ● NOT SELECT nome FROM funcionarios WHERE NOT(salario < 1000); Seleciona o nome dos funcionários que não possuem salário menor que 1000.
  • 48. O SQL - Exemplo prático ● Junção de tabelas ● Usando a cláusula WHERE SELECT * FROM REQUISICAO , LIVRO WHERE REQUISICAO.LIVRO_idLIVRO = LIVRO.idLIVRO; Para a junção de tabelas, sempre devem ser escritas as condições entre os campos que estão relacionados nas tabelas. Geralmente, essas condições envolvem os campos que são chaves estrangeiras de uma tabela e os que são chaves primárias da outra, porém nada impede de serem feitas condições entre campos que não são chaves. ● Usando a cláusula JOIN SELECT * FROM LIVRO INNER JOIN requisicao ON REQUISICAO. LIVRO_idLIVRO = LIVRO.idLIVRO; A cláusula INNER JOIN define que serão selecionados somente os registros de uma tabela que possuem relação com os registros da outra tabela.
  • 49. O SQL - Exemplo prático ● Junção de tabelas ● Usando a cláusula LEFT JOIN SELECT requisicao.data_requisicao, inscricao.nome FROM inscricao LEFT JOIN requisicao ON requisicao.INSCRICAO_idINSCRICAO = inscricao. idINSCRICAO; Para interpretar o LEFT JOIN, faz-se a pergunta: qual tabela está à esquerda do JOIN? No comando acima, a tabela que está à esquerda da cláusula JOIN é a tabela inscricao. Portanto, serão selecionados todos os registros da tabela inscricao estando ou não relacionados com a tabela requisicao pelo camp o de chave primária. ● Usando a cláusula RIGHT JOIN SELECT requisicao.data_requisicao, inscricao.nome FROM inscricao RIGHT JOIN requisicao ON requisicao.INSCRICAO_idINSCRICAO = inscricao. idINSCRICAO; Para interpretar o RIGHT JOIN, faz-se a pergunta: qual tabela está à direita do JOIN? A tabela requisicao. Portanto, serão selecionados todos os registros da tabela requisicao que estão ou não relacionados com os registros da tabela inscricao.
  • 50. O SQL - Exemplo prático ● Cláusula ORDER BY Sintaxe: SELECT ... ORDER BY <campo1>, <campo2>, <campoN> ... [desc|asc] ● Exemplos: Seleciona os livros cujos títulos iniciam pela letra “a” e ordena a lista primeiramente pelo autor e, em seguida, pelos títulos dos livros. SELECT * FROM livro WHERE titulo LIKE ‘a%’ ORDER BY autor, titulo; Seleciona todos os livros ordenando decrescentemente pelo título e, se houver repetição de valores, obedece à ordem crescente do autor. SELECT * FROM livro ORDER BY titulo DESC, autor; Seleciona todos os livros ordenando crescentemente pelo título e, se houver repetição de valores, obedece à ordem decrescente do nome do autor. SELECT * FROM livro ORDER BY titulo, autor DESC;
  • 51. Concluindo ● É importante possuir uma documentação mínima sobre o banco de dados para poder se localizar e fazer a manutenção do mesmo. ● Conhecer pelo menos um tipo de modelo de banco de dados facilita a interatividade entre ferramentas e a comunicação com os profissionais envolvidos com o sistema. ● Decorar comandos não é o importante. O importante é saber o funcionamento!