Backend-Aula06 1
Backend-Aula06 1
+ LINGUAGEM SQL
2
Um advogado deseja informatizar a sua agenda de reuniões com clientes. Para isto,
identificou a necessidade de armazenar o nome de cada cliente, identificando-os por um
número. Cada cliente pode ter diversos telefones e endereços. Cada telefone e endereço
pode ser de um determinado tipo. Cada telefone é numerado sequencialmente por cliente,
indicando o número do telefone. Cada endereço possui rua, número, complemento, bairro,
cidade, estado e CEP. Também é necessário armazenar os compromissos agendados com os
clientes. Cada compromisso pode acontecer com um ou mais clientes (casais, por exemplo),
sendo identificado pela data e por um número sequencial de compromisso (1º compromisso
do dia, 2º compromisso do dia, etc). O compromisso é sempre fora da empresa, sendo
necessário, portanto, registrar o local. Também é armazenada a hora de início e de término
previstas para o compromisso.
3
Resposta – Modelo conceitual
4
Resposta – Modelo lógico
5
Diferentes representações em um modelo idade
conceitual
Pessoa
data_
nasc
Atributos:
*
nome endereco tel
• Simples x compostos cpf
• Univalorados x multivalorados
• Armazenados x derivados pre sobrenome
• Determinantes (chave)
Tipos: int, real, string, etc
Domínio: valores permitidos
6
Diferentes representações em um modelo idade
conceitual [2] 1, 1
Pessoa
mantém data_
1, N nasc
Dependente
*
cpf nome endereco tel
nome sexo
pre sobrenome
conceitual [3] 1
Pessoa
mantém data_
N nasc
Dependente
*
cpf nome endereco tel
nome sexo
pre sobrenome
conceitual [4] N
Pessoa
trabalha_ data_
1 para nasc
Departamento
*
cpf nome endereco tel
num nome
pre sobrenome
Modelo lógico
baixo
Modelo físico nível
Crédito: Unisuam
10
Como criar o modelo físico?
11
Vamos usar como exemplo
12
A ferramenta de modelagem do
MySQL Workbench gera o
modelo físico
13
Structured Query Language
Crédito: DevMedia
14
DDL: Linguagem de Definição de Dados
Crédito: DevMedia
15
SHOW DATABASES
Fonte: https://dev.mysql.com/doc/refman/8.0/en/show-databases.html
16
CREATE DATABASE | USE DATABASE
USE nome_do_banco_de_dados
Database changed
SHOW TABLES;
Fonte: https://dev.mysql.com/doc/refman/8.0/en/show-tables.html
18
TIPO DE DADO DESCRIÇÃO
String de comprimento
CREATE TABLE nome_tabela ( CHAR (tamanho) fixo
(0 a 255)
String de tamanho
campo1 TIPO_DE_DADO, VARCHAR(tamanho)
variável: 0 a 65.535
Igual a CHAR(), mas
campo2 TIPO_DE_DADO, BINARY(size) armazena binário.
Padrão: 1
Fonte: https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
20
DROP TABLE
Fonte: https://dev.mysql.com/doc/refman/8.0/en/drop-table.html
21
DROP DATABASE
Fonte: https://dev.mysql.com/doc/refman/8.0/en/drop-database.html
22
DML: Linguagem de Manipulação de Dados
UPDATE nome_da_tabela
SET coluna1=valor1, coluna2=valor2,
WHERE condição
Objetivo: Modificar um registro existente na tabela
OBS: Estabelecer a condição de alteração é essencial. Caso
contrário, modifica todos os valores da coluna.
Doc: https://www.w3schools.com/mysql/mysql_update.asp
25
DELETE FROM
WHERE condição
Doc: https://dev.mysql.com/doc/refman/8.0/en/delete.html
26
DQL: Linguagem de Manipulação de Dados
Crédito: DevMedia
27
SELECT
FROM nome_da_tabela
Doc: https://dev.mysql.com/doc/refman/8.0/en/select.html
28
SELECT ... WHERE
FROM nome_da_tabela
WHERE condição
Doc: https://dev.mysql.com/doc/refman/8.0/en/select.html
29
SELECT ... WHERE ... AND, OR, NOT
FROM nome_da_tabela
Doc: https://dev.mysql.com/doc/refman/8.0/en/select.html
30
SELECT ... WHERE ... ORDER BY
32
JOIN
Objetivo: combinar linhas de duas ou mais tabelas, com base
em uma coluna relacionada entre elas.
Doc: https://dev.mysql.com/doc/refman/8.0/en/join.html 33
TIPO DESCRIÇÃO DIAGRAMA
34
Crédito: UGT World
Join - comandos
35
Próxima aula
36
DQL: Linguagem de Controle de Dados
Crédito: DevMedia
37
DQL: Linguagem de Transação de Dados
Gerencia diferentes transações ocorridas.
Crédito: DevMedia
38
Resolução de exercícios
39
Referências sobre o tema
40
DÚVIDAS?