Administrador de Banco de Dados2
Administrador de Banco de Dados2
Administrador de Banco de Dados2
Dados
Unidade de competência Período Carga horária
Você já é um programador em
SQL avançado e está
procurando um curso para
especialização em engenharia
SQL?
Quem não deveria fazer este
curso, provavelmente?
Para quem responder “sim”
para todas as perguntas:
coisas
perco uma alma. Aprender
sobre tabelas não vai doer nada!
O que é Meta-dados?
SGBD, os Top 5!
• (SGBD) Sistema de Gerenciamento de Banco de Dados é um
software que possui recursos capazes de manipular as
informações do banco de dados e interagir com o usuário.
• Exemplos de SGBD`s são: Oracle, SQL Server, DB2, PostgreSQL,
MySQL, o próprio Access ou Paradox, entre outros.
É tudo que
precisamos?
Veremos na próxima
Administrador de Banco de Dados
Instalando SGBD’s
Tente você
mesmo
• Todas as suas novas
habilidades não farão
muita coisa sem um
lugar para aplica-las.
• Chegou a hora de
instalar seu próprio
Sistema SQL.
INSTALANDO O BANCO DE DADOS
ORACLE 12C NO WINDOWS
• Antes de instalar o software, o
OUI (Oracle Universal Installer),
fará algumas verificações
automatizadas para garantir que
o computador atenda aos
requisitos básicos de hardware e
software para a instalação do
banco de Dados Oracle. Caso o
computador não atenda aos
requisitos, uma mensagem será
apresentada.
INSTALANDO O BANCO DE DADOS
ORACLE 21C XE NO WINDOWS
• Antes de começarmos a
instalar este banco de dados,
precisamos conhecer os
requisitos mínimos para o
Oracle Database 21c.
1. REQUISITOS
Requerimento Valor
Sistema operacional O Oracle Database XE para Windows x64 é suportado
nas seguintes versões do sistema operacional: Windows
7 x64 – edições Professional, Enterprise e Ultimate
Windows 8.1 x64 – edições Pro e Enterprise Windows 10
x64 – edições Pro, Enterprise e Education Windows
Server 2012 x64 – edições Standard, Datacenter,
Essentials e Foundation Windows Server 2012 R2 x64 –
edições Standard, Datacenter, Essentials e Foundation
Windows Server 2016 x64 – edições Standard,
Datacenter e Essentials
1. REQUISITOS
Requerimento Valor
Virtualização A Oracle certifica as seguintes tecnologias de
virtualização com o Oracle Database no Windows:
Servidor Oracle VM Microsoft Hyper-V Para obter
informações mais detalhadas sobre combinações
certificadas do Oracle VM Server, consulte a nota
464754.1 do My Oracle Support. Para obter mais
informações sobre combinações certificadas de Hyper-V,
você pode visitar:
http://www.oracle.com/technetwork/database/virtualiz
ationmatrix-172995.html
1. REQUISITOS
Requerimento Valor
Espaço em disco Mínimo de 9 gigabytes HD para software Oracle, mais 2
gigabytes ou mais para armazenamento temporário
RAM Mínimo de 2 gigabytes de RAM
2. DOWNLOAD
Acesse a página a seguir:
• https://www.oracle.com/dat
abase/technologies/xe-downl
oads.html
•
2. DOWNLOAD
3. Extraindo os arquivos
1. Descompacte o arquivo na
pasta Download ou na pasta
que você baixou.
Veremos na próxima
Administrador de Banco de Dados
Quem são os usuários de um Banco de Dados?
Quem são os
usuários de um
Banco de Dados?
• Os usuários de um banco de
dados podem ser divididos em
três categorias:
• Administrador do Banco de
Dados (DBA)
• Analistas de sistemas e
programadores de
aplicações
• Usuários finais
Administrador do
Banco de Dados (DBA)
• Modelo conceitual
• Modelo lógico
Modelo Conceitual
• Dado:
• data de nascimento:
31/08/1981.
• data atual:
01/11/2021.
• Informação:
• idade: 40 anos.
Exemplos de Dados
• Dado:
• Preço unitário:
R$ 250,00
• quantidade.
10 Kg
• Informação:
• Total a pagar:
R$2.500,00.
Exemplos de Dados
• Dado:
• Quilômetros percorridos:
80 Km
• Tempo gasto:
4 horas
• Informação:
• Velocidade:
20 km/h
Dados e Informação são sinônimos?
PROGRAMA
INFORMAÇ
DADOS DE
ÃO
CONSULTA
O que são Dados?
• Algo mais:
• Algo mais:
X1 X2 X1 OU X2
Tiver de sol For fim de semana Se tiver de sol OU for fim de semana, vou à praia
Tiver de sol Não for fim de semana Se tiver de sol OU não for fim de semana vou à praia
Não tiver de sol For fim de semana Se não tiver de sol OU for fim de semana vou à praia
Não tiver de sol Não for fim de semana Se não tiver de sol OU não for fim de semana não vou à praia
Palavras reservadas
ADD ALL ALTER
ANALYZE AND AS
ASC BEFORE BETWEEN
BIGINT BINARY BLOB
BOTH BY CASCADE
CASE CHANGE CHAR
CHARACTER CHECK COLLATE
COLUMN COLUMNS CONSTRAINT
CONVERT CREATE CROSS
CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP
CURRENT_USER DATABASE DATABASES
DAY_HOUR DAY_MICROSECOND DAY_MINUTE
Palavras reservadas
ADD ALL ALTER
DAY_SECOND DEC DECIMAL
DEFAULT DELAYED DELETE
DESC DESCRIBE DISTINCT
DISTINCTROW DIV DOUBLE
DROP DUAL ELSE
ENCLOSED ESCAPED EXISTS
EXPLAIN FALSE FIELDS
FLOAT FLOAT4 FLOAT8
FOR FORCE FOREIGN
FROM FULLTEXT GRANT
GROUP HAVING HIGH_PRIORITY
Palavras reservadas
ADD ALL ALTER
HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND
IF IGNORE IN
INDEX INFILE INNER
INSERT INT INT1
INT2 INT3 INT4
INT8 INTEGER INTERVAL
INTO IS JOIN
KEY KEYS KILL
LEADING LEFT LIKE
LIMIT LINES LOAD
LOCALTIME LOCALTIMESTAMP LOCK
Palavras reservadas
ADD ALL ALTER
LONG LONGBLOB LONGTEXT
LOW_PRIORITY MATCH MEDIUMBLOB
MEDIUMINT MEDIUMTEXT MIDDLEINT
MINUTE_MICROSECOND MINUTE_SECOND MOD
NATURAL NOT NO_WRITE_TO_BINLOG
NULL NUMERIC ON
OPTIMIZE OPTION OPTIONALLY
OR ORDER OUTER
OUTFILE PRECISION PRIMARY
PRIVILEGES PROCEDURE PURGE
READ REAL REFERENCES
Palavras reservadas
ADD ALL ALTER
REGEXP RENAME REPLACE
REQUIRE RESTRICT REVOKE
RIGHT RLIKE SECOND_MICROSECOND
SELECT SEPARATOR SET
SHOW SMALLINT SONAME
SPATIAL SQL_BIG_RESULT SQL_CALC_FOUND_ROWS
SQL_SMALL_RESULT SSL STARTING
STRAIGHT_JOIN TABLE TABLES
TERMINATED THEN TINYBLOB
TINYINT TINYTEXT TO
TRAILING TRUE UNION
Palavras reservadas
ADD ALL ALTER
UNIQUE UNLOCK UNSIGNED
UPDATE USAGE USE
USING UTC_DATE UTC_TIME
UTC_TIMESTAMP VALUES VARBINARY
VARCHAR VARCHARACTER VARYING
WHEN WHERE WITH
WRITE XOR YEAR_MONTH
ZEROFILL
Facilitando as coisas
Código Tradução Exemplo
ALL É uma subconsulta que retorna SELECT * FROM tabela WHERE campo > 10 AND
um conjunto de resultados com campo > 15
uma coluna substituindo o SELECT * FROM tabela WHERE campo >
operador AND. ALL(10, 15)
ANY Quando a condição ANY é seguida SELECT * FROM tabela WHERE campo > 10 OR
por uma lista, o otimizador campo > 15
expande a condição inicial para SELECT * FROM tabela WHERE campo >
todos os elementos da lista e os ANY(10, 15)
codifica em conjunto com os
operadores OR
SOME SOME E ANY tem a mesmas
condições
Quando utiliza o tipo date ou time, você pode modificar o que seu Sistema exibe. Funções fazem isso de
acordo com o Sistema. Aqui está um exemplo da função no MySQL. DATE_FORMAT()
Suponha que você tivesse na tabela algumas_datas a coluna uma_data
• ENTIDADE
• Uma entidade representa um conjunto de objetos da realidade
modelada. Como o objetivo de um modelo ER é modelar de forma
abstrata um BD, interessa-nos somente os objetos sobre os quais se
deseja manter informações.
• ATRIBUTO
• Atributos são representados graficamente conforme mostra a figura
8. A figura expressa que cada ocorrência de PESSOA tem associado
exatamente um nome, uma data de nascimento, um endereço e um
telefone.
• Relacionamento
• Atributos são representados graficamente conforme mostra a figura
8. A figura expressa que cada ocorrência de PESSOA tem associado
exatamente um nome, uma data de nascimento, um endereço e um
telefone.
Um (0,1) (1,1)
Zero ou um (0,1)
Um ou muitos (1,n)
Código Código
Nome Nome
Valor CPF
(1,n) (1,1)
Lanche Pedido Cliente
Tente você
mesmo
• Agora chegou a sua vez.
Veja um problema que
aparece no seu dia-a-dia
para elaborar um modelo
conceitual de projeto para
resolver este problema.
• Pegue o limão e faça uma
limonada.
Cardinalidade de relacionamentos
• Cardinalidade
• Para fins de projeto de banco de dados, uma propriedade
importante de um relacionamento é a de quantas ocorrências de
uma entidade podem estar associadas a uma determinada
ocorrência através do relacionamento. Esta propriedade é chamada
de cardinalidade de uma entidade em um relacionamento. Há duas
cardinalidades a considerar: a cardinalidade máxima e a
cardinalidade mínima.
• Olhando de perto: Cardinalidade (mínima, máxima) de entidade
em relacionamento = Número (mínimo, máximo) de ocorrências
de entidade associadas a uma ocorrência da entidade em
questão através do relacionamento.
Cardinalidade de relacionamentos
1
Departamento Lotação Empregado
Cardinalidade máxima
Entidade DEPARTAMENTO tem cardinalidade máxima 120 no
relacionamento LOTAÇÃO.
• Isso significa que uma ocorrência de DEPARTAMENTO pode estar
associada a no máximo 120 ocorrências de EMPREGADO ou, em
outros termos, que um departamento pode ter nele lotado no
máximo 120 empregados.
1
Departamento Lotação Empregado
u
Cardinalidade mínima
0
Departamento Lotação Empregado
1
Cardinalidade mínima
Além da cardinalidade máxima, outra informação que pode ser
representada por um modelo ER é o número mínimo de ocorrências
de entidade associadas a uma ocorrência de uma entidade através de
um relacionamento. Para fins de projeto de BD, consideram-se apenas
duas cardinalidades mínimas: a cardinalidade mínima 0 e a
cardinalidade mínima 1.
0
Departamento Lotação Empregado
1
Classificação de relacionamentos
unários
A cardinalidade máxima pode ser usada
para classificar relacionamentos binários. PESSOAS
Um relacionamento unário é aquele cujas
ocorrências contêm duas ocorrências de Esposa 1 Marido 1
entidade. Podemos classificar os
relacionamentos binários em n:n, 1:n e Casamento
1:1.
PESSOAS
Venda
Classificação de relacionamentos
binários
Cria-se uma relação para cada entidade
participante no relacionamento da
entidade do lado “1” na entidade do lado
“N”
Matéria prima
Classificação de relacionamentos
Ternários
Cria-se uma relação para 3
entidades participantes no
relacionamento.
Fábrica
Exemplos de relacionamentos
Relacionamentos 1:N
1 n
Sala Lotação Aluno
n 1
Dependente Empregado
Exemplos de relacionamentos
Relacionamentos N:N
n n
Engenheiro Atuação Projetos
n n
Paciente Consulta Médico
Exemplos de relacionamentos
Relacionamentos 1:1
1 1
Pessoa "marido" casamento Pessoa "mulher"
Cardinalidade máxima e mínima
A imagem abaixo apresenta um exemplo de um modelo ER mais
abrangente que os anteriores, envolvendo as entidades e
relacionamentos com as cardinalidades máxima e mínima.
1,1 0,n
Departamento Lotação Empregado
A jornada
continua
• Vamos continuar
resolvendo os
problemas que
aparecem em nosso dia-
a-dia.
• Pegue o limão e faça uma
limonada.
Diagrama de Entidade Relacionamento
(DER)
Ao falar de MER, sempre nos deparamos com o Diagrama de Entidade
Relacionamento (DER). Na verdade, o DER nada mais é que a
representação gráfica do que foi escrito no MER.
Funcionários Dependentes
Entidade (Personagem da história)
Representam categorias de fatos do mundo real, sejam eles concretos
ou abstratos, como empregados, departamentos, despesas etc.
Funcionário
Entidade (Personagem da história)
Representam categorias de fatos do mundo real, sejam eles concretos
ou abstratos, como empregados, departamentos, despesas etc.
Filhos
Cardinalidade 1:1 no DER
Funcionário da empresa possui filhos. Obs: A obrigatoriedade
proposta pela empresa é que os funcionários tenham filhos e no
máximo 1.
José
R1 Filho 1
João
R2 Filho 2
Antônio
R3 Filho 3
Manoel
R4 Filho 4
Cardinalidade 1:1 no DER
Funcionário da empresa possui filhos.
Fixa um Funcionário. Todo funcionário precisa ter um somente um
filho
1 Mínimo 1 Mínimo
José
R1 Filho 1
1 Máximo 1 Máximo
João
R2 Filho 2
Funcionário Filho
Antônio
R3 Filho 3
Manoel
R4 Filho 4
Cardinalidade 1:1 no DER
Funcionário da empresa possui filhos. Obs: A obrigatoriedade
proposta pela empresa é que os funcionários tenham filhos e no
máximo 1.
(1,1) (1,1)
Funcionários Dependentes
Cardinalidade 1:1 no DER
Funcionário da empresa possui filhos. Obs: A obrigatoriedade
proposta pela empresa é que os funcionários tenham no máximo 1
filho.
José
R1 Filho 1
João
R2 Filho 2
Antônio
R3 Filho 3
Manoel
R4 Filho 4
Heder
Cardinalidade 1:1 no DER
Funcionário da empresa possui filhos. Obs: A obrigatoriedade
proposta pela empresa é que os funcionários tenham no máximo 1
filho.
José
R1 Filho 1
João
R2 Filho 2
Antônio
R3 Filho 3
Manoel 1 Mínimo 0 Mínimo
R4 Filho 4
Heder 1 Máximo 1 Máximo
Funcionário Filho
Cardinalidade 1:1 no DER
Funcionário da empresa possui filhos. Obs: A obrigatoriedade
proposta pela empresa é que os funcionários tenham no máximo 1
filho.
(1,1) (0,1)
Funcionários Possui Dependentes
Cardinalidade 1:1 no DER
Pessoa quer adotar possui criança. Obs: A obrigatoriedade proposta
pela instituição é que uma pessoas adote no mínimo e no máximo 1
criança.
José
R1 Criança 1
João
R2 Criança 2
Antônio
R3 Criança 3
Adota Criança 4
Cardinalidade 1:1 no DER
Pessoa quer adotar possui criança. Obs: A obrigatoriedade proposta
pela instituição é que uma pessoas adote no mínimo e no máximo 1
criança.
José
R1 Criança 1
João
R2 Criança 2
Antônio
R3 Criança 3
0 Mínimo 1 Mínimo
Adota Criança 4
1 Máximo 1 Máximo
Pessoas Criança
Cardinalidade 1:1 no DER
Pessoa quer adotar possui criança. Obs: A obrigatoriedade proposta
pela instituição é que uma pessoas adote no mínimo e no máximo 1
criança.
(0,1) (1,1)
Pessoa Adota Criança
Entidades Fraca
Entidade fraca é uma entidade que não possui existência própria (sua
existência depende da existência de outra entidade) ou que para ser
identificada depende da identificação de outra entidade.
Filhos
Entidades Fraca
Entidade fraca é uma entidade que não possui existência própria (sua
existência depende da existência de outra entidade) ou que para ser
identificada depende da identificação de outra entidade.
Funcionários Dependentes
Entidades Fraca
Entidade fraca normalmente se relaciona com a entidade forte com as
seguintes cardinalidade máxima de 1 para 1.
Funcionários Dependentes
Atributos do DER
Representam uma propriedade de uma entidade ou de um
relacionamento, como salário de um empregado ou o tempo que um
empregado estará alocado em um projeto.
Nome
Atributos do DER
Representam uma propriedade de uma entidade ou de um
relacionamento, como salário de um empregado ou o tempo que um
empregado estará alocado em um projeto.
Facebook
Atributos opcionais
Atributos com propriedades que podem assumir NULL. São indicados
por um traço que corta a linha que liga o atributo à entidade ou
relacionamento.
CPF
Atributos Chave
Tipo de atributo cujos valores são distintos para cada entidade em um
conjunto de entidades. O CPF de um funcionário, por exemplo,
constitui um atributo-chave para o tipo de entidades FUNCIONÁRIO.
CPF: 022.552.853-89
CPF Matrícula: 5854
ID_Altomatico: 258
Atributos compostos
Representam uma abstração de outros atributos, como um endereço
que abstrai (agrega) outros dados como rua, CEP, cidade etc.
Rua
Bairro
Endereço
Cidade/Estado
Atributos compostos
Representam uma abstração de outros atributos, como um endereço
que abstrai (agrega) outros dados como rua, CEP, cidade etc.
Endereço:
Rua Rua RP3, n 25, Setor Guará, Ceres, GO,
76300000
Bairro
Endereço
Telefone
Atributos multivalorados
Atributos com propriedades que podem assumir mais de um valor,
como os números de telefone de um departamento.
E-mail: [email protected],
Telefone
[email protected],
[email protected]
• Determine se as atribuições
são necessárias, opcionais
ou chaves.
2: Banco de dados de Banco
• Elabore um projeto através
de uma Modelagem
Conceitual que supre as
necessidades de um cliente
em um banco.
• Crie a modelagem ER
identificando as entidades. CPF
• Determine se as atribuições
são necessárias, opcionais
ou chaves.
3: Banco de dados de Supermercado
• Elabore um projeto através
de uma Modelagem
Conceitual que relacione
duas Entidades.
• Crie a modelagem ER
identificando as entidades.
• Determine se as atribuições CPF
Valor
Normalização
• Normalização é o processo de
modelar o banco de dados
projetando a forma como as
informações serão
armazenadas a fim de
eliminar, ou pelo menos
minimizar, a redundância no
banco.
Principais normalizações
1FN
• Eliminar as colunas repetitivas das tabelas individuais.
• Criar uma tabela separada para cada atributo de dados relacionados.
• Identificar cada atributo relacionado com uma chave primária.
2FN
• Criar tabelas separadas para um dado que aplica em vários registros da
tabela principal.
• Relacionar estas tabelas através de uma chave estrangeira.
Valor
Poder do
cérebro
Agora é com você! A
criação da modelagem
foi realizada, agora é só
criar o BD dos casos a
seguir.
1: Banco de dados para biblioteca
• Determine se as atribuições
são necessárias, opcionais
ou chaves.
3: Banco de dados de Supermercado
• Elabore um projeto através
de uma Modelagem
Conceitual que relacione
duas Entidades.
• Crie a modelagem ER
identificando as entidades.
• Determine se as atribuições CPF
• Primeiramente, execute o
instalador baixado no site da
Microsoft, e selecione a opção
Instalação do SQL Server
Express 2017
• Logo após a conclusão do
download dos arquivos, será
aberta a janela para instalação do
SQL Server. Selecione a
opção: Nova instalação
autônoma do SQL Server ou
adicionar recursos a uma
instalação existente.
Instalação do SQL Server
Express 2017
• Então aceite os termos da
licença.
Instalação do SQL Server
Express 2017
• Então aceite os termos da
licença.
Instalação do SQL Server
Express 2017
• Verifique se as regras de
instalação identificaram
problemas que podem ocorrer
durante a instalação (nota: o
aviso de Firewall não
compromete a instalação).
Instalação do SQL Server
Express 2017
• Conforme imagem ao lado, selecione
os recursos a serem instalados.
• NOTA: Um dos pré-requisitos
necessários é o Oracle SE Java
Runtime Environment Versão 7
Atualização 51 ou superior (64 bits),
que pode ser encontrado no site do
fabricante:
• http://www.oracle.com/technetwork/
pt/java/javase
/downloads/jre8-downloads-2133155
.html.
Instalação do SQL Server
Express 2017
• Depois, selecione a opção
“Instância nomeada”.
Instalação do SQL Server
Express 2017
• Depois, selecione a opção
“Instância nomeada”.
Instalação do SQL Server
Express 2017
• O próximo passo é o mais
importante da instalação:
selecione a opção Modo Misto
(autenticação do SQL Server e
do Windows); logo abaixo,
defina a senha inicial do usuário
“sa”, que é o usuário
administrador padrão.
Instalação do SQL Server
Express 2017
• Conceda a permissão para
instalar os pré-requisitos
necessários.
Instalação do SQL Server
Express 2017
• Conceda a permissão para
instalar os pré-requisitos
necessários.
Instalação do SQL Server
Express 2017
• Aguarde o termino da instalação
do SQL Server.
Instalação do SQL Server
Express 2017
• Uma vez concluída a instalação, o próximo passo é instalar
o Microsoft SQL Server Management Studio, que torna possível
criar os bancos de dados.
Instalação do Microsoft
SQL Server Management
Studio
Para a correta instalação do SSMS, prossiga conforme as imagens abaixo:
Instalação do Microsoft SQL
Server Management Studio
Instalação do Microsoft SQL
Server Management Studio
Instalação do Microsoft SQL
Server Management Studio
Explorando nosso
Microsoft SQL Server
Management Studio
Para a correta instalação do SSMS, prossiga conforme as imagens abaixo:
Explorando nosso Microsoft SQL Server
Management Studio
Explorando nosso Microsoft SQL Server
Management Studio
Administrador de Banco de Dados
Realizar o monitoramento do uso e desempenho dos sistemas de banco
de dados
Linguagens de banco de dados
• A linguagem para acessar um banco de dados depende do tipo de
banco de dados. Aqueles do tipo relacional usam a linguagem SQL
(Structured Query Language).
Linguagens de banco de dados
• Em 1992, o SQL foi revisto e surgiu o SQL-92. Com a revisão em
1999, foi criado o SQL-99 (SQL3) e depois, em 2003, com nova
revisão, surgiu o SQL:2003. No entanto, mesmo com a padronização
da ANSI e do ISO, o SQL possui muitas variações e extensões
produzidas pelos fabricantes de SGBD.
Tipos de linguagem SQL
• A linguagem SQL pode ser dividida em tipos de acordo com a sua
funcionalidade. Os tipos usados nos sistemas gerenciadores de banco
de dados são definidos a seguir.
Data Definition Language (DDL)
• É o tipo de linguagem que interage com os objetos do banco de dados:
tabelas, procedures, functions, views, triggers, entre outros. Cada
SGBD tem seus manuais técnicos com a lista completa de comandos
DDL e suas respectivas sintaxes completas.
Conectando e desconectando ao
servidor BD (xampp)
• Para se conectar ao servidor, você geralmente precisa fornecer um
nome de usuário MySQL quando você invoca mysql e,
provavelmente, uma senha. Se o servidor for executado em uma
máquina diferente da em que você faz login, você também deve
especificar um nome de host. Entre em contato com seu administrador
para saber quais parâmetros de conexão você deve usar para conectar
(ou seja, qual host, nome de usuário e senha usar). Uma vez que você
sabe os parâmetros adequados, você deve ser capaz de se conectar
assim:
Conectando ao servidor BD
(xampp)
Acesse o Shell pelo
painel de controle
XAMPP
Conectando ao servidor BD
(xampp)
Será aberto um
prompt de comando.
Portanto, é hora de
“logar” ao servidor.
Conectando ao servidor BD
(xampp)
E para fazer isso,
devemos executar os
comandos a seguir:
Conectando ao servidor BD
(xampp)
Conectando ao
servidor:
mysql -h host -
u user
Conectando ao servidor BD
(xampp)
Desconectando ao
servidor:
mysql> QUIT
Conectando ao servidor BD
(xampp)
Desconectando ao
servidor:
mysql> QUIT
Consultando versão
Aqui está uma
consulta simples que
pede ao servidor
para lhe dizer seu
número de versão e
a data atual.
mysql> SELECT
VERSION(),
CURRENT_DATE;
Consultando versão
Aqui está uma
consulta simples que
pede ao servidor
para lhe dizer seu
número de versão e
a data atual.
mysql> SELECT
VERSION(),
CURRENT_DATE;
Criando Banco de Dados
CREATE DATABASE
Para criar um
banco de dados
use os seguintes
comandos.
mysql> CREATE
DATABASE
banco_de_dados;
Criando Banco de Dados usando uma
condição CREATE DATABASE IF NOT EXISTS
Para criar um banco
de dados com uma
condição de
existência, use os
seguintes comandos.
mysql> CREATE
DATABASE IF NOT
EXISTS
banco_de_dados;
Entrando no banco de dados USE
Para acionar o
banco de dados e
criar as tabelas use
o seguinte
comando:
mysql> USE
banco_de_dados;
Entrando no banco de dados USE
Para acionar o
banco de dados e
criar as tabelas use
o seguinte
comando:
mysql> USE
banco_de_dados;
Criando uma tabela
CREATE TABLE
Para criar uma tabela
use os seguintes
comandos:
mysql> CREATE
TABLE pet
(id_associado
INT(10),
nome VARCHAR(40),
sexo CHAR(1));
Poder do
cérebro
Agora é com você!
Crie um banco de
dados e uma tabela.
Informações relevantes
1. Baixe o arquivo fornecido através do link abaixo.
https://1drv.ms/x/s!Auug9o7Tm9wdr9EPHclnV815Oph3TQ?e=xD76e
B
2. Acesse a pasta do Excel e veja com atenção as colunas da tabela
(nome, tipo de dados, etc).
3. Acesse o Sistema de Gerenciamento de Banco de Dados que achar
melhor;
4. Crie um banco de dados chamado “sindicato”.
5. Crie uma tabela idêntica a do arquivo Excel fornecido em anexo.
Dica: O nome da tabela está na planilha e o nome das colunas estão
no cabeçalho da tabela.
Restrições
As restrições SQL são usadas para especificar regras para os
dados em uma tabela.
As restrições são usadas para limitar o tipo de dados que
podem entrar em uma tabela. Isso garante a precisão e
confiabilidade dos dados na tabela. Se houver alguma
violação entre a restrição e a ação de dados, a ação será
abortada.
Restrições
NOT NULL - Garante que uma coluna não pode ter um valor NULL
UNIQUE - Garante que todos os valores em uma coluna sejam diferentes
PRIMARY KEY - Uma combinação que identifica com exclusividade cada linha
em uma tabela. Aliases: NOT NULL UNIQUE
FOREIGN KEY - Impede ações que destruam ligações entre tabelas
CHECK - Garante que os valores em uma coluna satisfaçam uma condição
específica
DEFAULT - Define um valor padrão para uma coluna se nenhum valor for
especificado
CREATE INDEX - Usado para criar e recuperar dados do banco de dados muito
rapidamente
Restrição NULL ou NOT NULL
Por padrão, uma coluna pode conter valores NULL.
A restrição impõe uma coluna para NÃO aceitar valores NULL. NOT NULL
Isso impõe que um campo contenha sempre um valor, o que significa
que você não pode inserir um novo registro ou atualizar um registro sem
adicionar um valor a este campo.
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
endereco_pessoas varchar(255) NULL
);
Restrição NULL ou NOT NULL
ALTER TABLE pessoas
MODIFY endereco_pessoas VARCHAR(255) NOT
NULL;
Restrição UNIQUE
A restrição garante que todos os valores em uma coluna sejam
diferentes.
Tanto as restrições fornecem uma garantia de exclusividade para
uma coluna ou conjunto de colunas.
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
endereco_pessoas varchar(255) NULL,
UNIQUE (id_pessoas)
);
Restrição UNIQUE
Para nomear uma restrição e definir uma restrição em
várias colunas, use a seguinte sintaxe SQL:
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
endereco_pessoas varchar(255) NULL,
CONSTRAINT uc_pessoas UNIQUE (id_pessoas, cpf_pessoas)
);
Restrição UNIQUE em ALTER TABLE
ALTER TABLE pessoas
ADD UNIQUE (id_pessoas);
Restrição UNIQUE em ALTER TABLE
ALTER TABLE pessoas
ADD CONSTRAINT uc_pessoas UNIQUE (id_pessoas,
cpf_pessoas);
Restrição PRIMARY KEY
As chaves primárias devem conter valores UNIQUE e não podem conter
valores NULL.
Uma tabela pode ter apenas uma chave primária; e na tabela, esta chave
primária pode consistir em colunas únicas ou múltiplas (campos).
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
endereco_pessoas varchar(255) NULL,
PRIMARY KEY (id_pessoas)
);
Restrição PRIMARY KEY
Para nomear uma restrição e definir uma restrição em
várias colunas, use a seguinte sintaxe SQL:
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
endereco_pessoas varchar(255) NULL,
CONSTRAINT pk_pessoas PRIMARY KEY (id_pessoas, cpf_pessoas)
);
Restrição PRIMARY KEY em ALTER
TABLE
Para criar uma restrição na coluna
"id_pessoas" quando a tabela já
estiver criada, use o seguinte SQL:
ALTER TABLE pessoas
ADD PRIMARY KEY (id_pessoas);
Restrição PRIMARY KEY em ALTER
TABLE
Para nomear uma restrição e definir uma
restrição em várias colunas, use a
seguinte sintaxe SQL:
ALTER TABLE pessoas
ADD CONSTRAINT pk_pessoas PRIMARY
KEY (id_pessoas, cpf_pessoas);
Restrição FOREIGN KEY
é um campo (ou coleta de campos) em uma tabela, que se refere ao em outra tabela.
A tabela com a chave estrangeira é chamada de tabela pobre, dependente ou filho, e
a tabela com a chave principal é chamada de tabela principal, referenciada ou pai.
CREATE TABLE statusservico (
id_statusservico int NOT NULL,
id_servico int NOT NULL,
descricao LONGTEXT,
PRIMARY KEY (id_statusservico),
FOREIGN KEY (id_servico) REFERENCES servico(id_servico)
);
Restrição FOREIGN KEY
Para permitir a nomeação de uma restrição e para definir uma
restrição em uma coluna, use a seguinte sintaxe SQL:
MySQL:
CREATE TABLE statusservico (
id_statusservico int NOT NULL,
id_servico int NOT NULL,
descricao LONGTEXT,
PRIMARY KEY (id_statusservico),
CONSTRAINT fk_servico FOREIGN KEY (id_servico)
REFERENCES servico(id_servico)
);
Restrição FOREIGN KEY
CREATE TABLE statusservico (
id_statusservico int NOT NULL,
id_servico int NOT NULL,
descricao LONGTEXT,
PRIMARY KEY (id_statusservico),
FOREIGN KEY (id_servico) REFERENCES servico(id_servico)
);
Restrição FOREIGN KEY em ALTER
TABLE
Para nomear uma restrição e definir uma
restrição em várias colunas, use a
seguinte sintaxe SQL:
ALTER TABLE statusservico
ADD CONSTRAINT fk_servico
FOREIGN KEY (id_servico) REFERENCES servico(id_s
ervico);
Excluindo FOREIGN KEY
Se você definir uma restrição CHECK em uma tabela, ela poderá limitar
os valores em determinadas colunas com base nos valores de outras
colunas na linha.
Restrição de verificação CHECK
O SQL a seguir cria uma CHECK restrição na coluna "Age" quando a tabela
"Persons" é criada. A CHECK restrição garante que a idade de uma pessoa deve
ser 18 anos ou mais:
MySQL:
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
idade_pessoas int NOT NULL,
CHECK (idade_pessoas >= 18)
);
Restrição de verificação CHECK
O SQL a seguir cria uma CHECK restrição na coluna "Age" quando a
tabela "Persons" é criada. A CHECK restrição garante que a idade de uma
pessoa deve ser 18 anos ou mais:
SQL Server / Oracle / MS Access:
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
idade_pessoas int NOT NULL CHECK (idade_pessoas >= 18)
);
Restrição de verificação CHECK
O SQL a seguir cria uma CHECK restrição na coluna "Age" quando a tabela "Persons" é
criada. A CHECK restrição garante que a idade de uma pessoa deve ser 18 anos ou
mais:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
idade_pessoas int NOT NULL,
CONSTRAINT ch_pessoas CHECK (idade_pessoas >= 18 AND LENGTH(cpf_pessoas) = 11)
);
Restrição CHECK em ALTER TABLE
ALTER TABLE pessoas
ADD CONSTRAINT ch_pessoas CHECK (idade_pessoas
>= 18 AND LENGTH(cpf_pessoas) = 11);
Excluindo CHECK
ALTER TABLE pessoas
DROP CONSTRAINT ch_pessoas;
Excluindo CHECK
ALTER TABLE pessoas
DROP CHECK ch_pessoas;
Restrição DEFAULT
É usada para definir um valor padrão para uma coluna.
O valor padrão será adicionado a todos os novos registros, se nenhum outro
valor for especificado.
My SQL / SQL Server / Oracle / MS Access:
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
ativo_pessoas int DEFAULT ‘1’,
data_cadastro DATE DEFAULT CURRENT_DATE()
);
Restrição DEFAULT
É usada para definir um valor padrão para uma coluna.
O valor padrão será adicionado a todos os novos registros, se nenhum outro valor
for especificado.
CREATE TABLE pessoas (
id_pessoas int NOT NULL,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
ativo_pessoas int DEFAULT ‘1’,
data_cadastro DATE DEFAULT CURRENT_DATE()
);
Restrição DEFAULT em ALTER TABLE
ALTER TABLE pessoas
ALTER ativo_pessoas SET DEFAULT '1';
Restrição DEFAULT em ALTER TABLE
ALTER TABLE pessoas
ADD CONSTRAINT df_ativo_pessoas DEFAULT ’1’ FOR
ativo_pessoas;
Restrição DEFAULT em ALTER TABLE
ALTER TABLE pessoas
ALTER COLUMN ativo_pessoas SET DEFAULT ’1’;
Restrição DEFAULT em ALTER TABLE
ALTER TABLE pessoas
MODIFY ativo_pessoas DEFAULT ’1’;
Excluindo DEFAULT
ALTER TABLE pessoas
ALTER ativo_pessoas DROP DEFAULT;
Excluindo DEFAULT
ALTER TABLE pessoas
ALTER COLUMN ativo_pessoas DROP DEFAULT;
Restrição CREATE INDEX
Esta instrução é usada para criar índices em tabelas.
Os índices são usados para recuperar dados do banco de dados mais
rapidamente do que de outra forma. Os usuários não podem ver os índices,
eles são usados apenas para acelerar as buscas/consultas.
Cria um índice em uma tabela onde valores duplicados são permitidos:
My SQL / SQL Server / Oracle / MS Access:
CREATE INDEX index_pessoas
ON pessoas (nome_pessoas);
CREATE INDEX index_pessoas
ON pessoas (cpf_pessoas, nome_pessoas);
Restrição DROP INDEX
DROP INDEX index_pessoas
ON pessoas;
Restrição DROP INDEX
DROP INDEX pessoas.index_pessoas;
Restrição DROP INDEX
DROP INDEX index_pessoas;
Restrição DROP INDEX
CREATE TABLE pessoas (
id_pessoas int NOT NULL AUTO_INCREMENT,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
PRIMARY KEY (id_pessoas)
);
Restrição AUTO_INCREMENT
Para permitir que a sequência AUTO_INCREMENT comece com outro
valor, use a seguinte instrução SQL:
My SQL
CREATE TABLE pessoas (
id_pessoas int NOT NULL AUTO_INCREMENT=100,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
PRIMARY KEY (id_pessoas)
);
ALTER TABLE pessoas AUTO_INCREMENT=100;
Restrição AUTO_INCREMENT
O AUTO_INCREMENT permite que um número único seja gerado
automaticamente quando um novo registro é inserido em uma tabela.
Muitas vezes este é o campo de chave primária que gostaríamos que fosse
criado automaticamente toda vez que um novo registro fosse inserido.
SQL Server
CREATE TABLE pessoas (
id_pessoas int IDENTITY(1,1) PRIMARY KEY,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
);
Restrição IDENTITY(1,1)
O MS SQL Server usa a palavra-chave IDENTITY para executar um recurso de incremento automático.
No exemplo acima, o valor inicial de IDENTITY é 1 e será incrementado em 1 para cada novo registro.
SQL Server
CREATE TABLE pessoas (
id_pessoas int IDENTITY(1,1) PRIMARY KEY,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
);
Restrição IDENTITY(10,5)
O MS SQL Server usa a palavra-chave IDENTITY para executar um recurso de
incremento automático.
No exemplo acima, o valor inicial de IDENTITY é 10 e será incrementado de 5
em 5 para cada novo registro.
SQL Server
CREATE TABLE pessoas (
id_pessoas int IDENTITY(10,5) PRIMARY KEY,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
);
Restrição AUTOINCREMENT
O MS Access usa a palavra-chave AUTOINCREMENT para executar um
recurso de incremento automático.
Por padrão, o valor inicial para AUTOINCREMENT é 1 e será incrementado
em 1 para cada novo registro.
MS Access
CREATE TABLE pessoas (
id_pessoas AUTOINCREMENT PRIMARY KEY,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
);
Restrição AUTOINCREMENT(10,5)
Para especificar que a coluna "Personid" deve iniciar no valor 10 e
incrementar em 5, altere o incremento automático para
AUTOINCREMENT(10,5).
MS Access
CREATE TABLE pessoas (
id_pessoas AUTOINCREMENT(10,5) PRIMARY KEY,
cpf_pessoas varchar(11) NOT NULL,
nome_pessoas varchar(30) NOT NULL,
sobrenome_pessoas varchar(35) NOT NULL,
);
Restrição CREATE SEQUENCE
No Oracle o código é um pouco mais complicado.
Você terá que criar um campo de incremento automático com o objeto
de sequência (este objeto gera uma sequência numérica).
Use a seguinte sintaxe CREATE SEQUENCE:
Oracle
CREATE SEQUENCE id_pessoas
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
Restrição CREATE SEQUENCE
O código abaixo cria um objeto de sequência chamado id_pessoa, que começa
com 1 e será incrementado em 1. Ele também armazenará em cache até 10
valores para desempenho. A opção de cache especifica quantos valores de
sequência serão armazenados na memória para acesso mais rápido.
Oracle
CREATE SEQUENCE id_pessoas
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
Poder do
cérebro
Agora é com você!
Acesse o banco de
dados que você criou
na atividade anterior.
Informações relevantes
1. Baixe o arquivo fornecido através do link abaixo.
https://1drv.ms/b/s!Auug9o7Tm9wdr9EWRFDL2ZxmWC4vYA
2. Crie uma tabela idêntica a do arquivo PDF fornecido em anexo
junto a tabela da atividade anterior no mesmo banco de dados.
3. Relacione as duas tabelas criando chaves primária e estrangeira.
4. Aplique as restrições que julgar necessárias na tabela criada.
Editor SQL Visual
Descrição dos elementos do
Visual SQL Editor
1. guia da tela inicial. A guia da tela inicial fornece acesso
rápido a conexões, modelos e o assistente de migração do
MySQL. Ao contrário das outras guias principais, a guia da
tela inicial não fecha. Para obter informações adicionais,
consulte o
https://dev.mysql.com/doc/workbench/en/wb-home.html
Descrição dos elementos do
Visual SQL Editor
2. Aba de conexão. Cada conexão feita ao servidor MySQL é
representada por uma guia de conexão separada. Um servidor pode
estar ativo ou inativo quando a guia de conexão para ele é aberta.
Para obter assistência na criação e gerenciamento de conexões
MySQL, consulte:
https://dev.mysql.com/doc/workbench/en/wb-mysql-connections.html
Descrição dos elementos do
Visual SQL Editor
3. guia de consulta SQL. A guia de consulta SQL é uma guia secundária que é
aberta por padrão quando você faz uma conexão com um servidor MySQL.
Cada guia de consulta é identificada exclusivamente por um número
crescente: query 1, query 2e assim por diante. Para fechar uma guia aberta,
clique xem na guia. Para uma visão mais detalhada da edição de consultas
no MySQL Workbench,
https://dev.mysql.com/doc/workbench/en/wb-sql-editor-query-panel.html
Todas as guias de consulta SQL fornecem uma área para editar consultas. Você
pode abrir outros editores especializados em abas nesta mesma área
central. Por exemplo, você pode editar esquemas, tabelas, colunas e assim por
diante. As guias de administração também são abertas nesta área.
Descrição dos elementos do
Visual SQL Editor
4. Barra de menu principal. A barra de menus tem os seguintes menus:
File , Edit , View , Query , Database , Server , Tools , Scripting e
Help . As ações disponíveis para você dependem de qual guia é
selecionada quando você clica em um menu. Para obter uma
descrição dos menus usados com frequência, consulte
https://dev.mysql.com/doc/workbench/en/wb-sql-editor-main-menu.ht
ml
Descrição dos elementos do
Visual SQL Editor
5. Barra de ferramentas principal. As ações rápidas nesta barra de ferramentas são (ordenadas da
esquerda para a direita):
• Ajuda de Contexto (consulte
“Adições SQL - Guia Ajuda de Contexto” )
• Trechos (consulte “Adições SQL - Guia Trechos” )
Descrição dos elementos do
Visual SQL Editor
9. Painel da área de saída. O painel de saída pode exibir um
resumo das consultas executadas nos seguintes formatos:
Saída de ação, Saída de texto ou Saída de histórico. Para obter
informações adicionais, consulte a “Painel de Saída” .
Data Manipulation Language
(DML)
• É o tipo de linguagem que INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
UPDATE telefone
SET empresa = ’Bussola Digital’, telefone = ’(62)98456-0065'
WHERE id_tel = 1;
A instrução SQL DELETE
A instrução DELETE é usada para excluir registros existentes em uma tabela.
DELETE FROM table_name WHERE condition;
A instrução SQL a seguir exclui o telefone da empresa “Bussola Digital" da tabela “telefone":
DELETE FROM telefone WHERE id_tel = 1;
A instrução SQL DELETE
SELECT * FROM servidor;
SELECT * FROM servidor;
Ele é usado para extrair apenas os registros que atendem a uma condição
especificada.
Ele é usado para extrair apenas os registros que atendem a uma condição
especificada.
Ele é usado para extrair apenas os registros que atendem a uma condição
especificada.
Ele é usado para extrair apenas os registros que atendem a uma condição
especificada.
Ele é usado para extrair apenas os registros que atendem a uma condição
especificada.
Os operadores AND e OR são usados para filtrar registros com base em mais de
uma condição:
O operador AND exibe um registro se todas as condições separadas por AND forem
TRUE.
O operador OR exibe um registro se alguma das condições separadas por OR for
TRUE.
O operador NOT exibe um registro se a(s) condição(ões) NÃO for(em)
VERDADEIRA.
Operadores AND
A seguinte instrução SQL seleciona todos os campos de "servidor" onde nome
começa com “J" E termina com “SOUZA":
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
SELECT * FROM servidor LIMIT 3;
SELECT * FROM servidor LIMIT 0, 3;
SELECT * FROM servidor LIMIT 3, 3;