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
Atributo Muitos
Entidade Relacionamento Atributo Chave
primaria
Um somente um
Zero ou um
Um ou muitos
Zero ou muitos
Resolvendo o problema
• Lanchonete Neide Leite
• Neide Leite é um estabelecimento comercial popular
especializado em pequenas refeições rápidas, lanches
e sanduíches mesmo fora do horário normal das refeições.
• Normalmente é vendido o lanche à escolha do cliente antes
de ser feito. Por isso, Neide tem que ter muito cuidado para
não misturar as coisas ou até mesmo passar sem receber.
• Graciano utiliza um painel para anotar cada pedido, mas
são tantos clientes que o painel está cheio
Resolvendo o problema
• Lanchonete Neide Leite
• Neide Leite é um estabelecimento comercial popular
especializado em pequenas refeições rápidas, lanches
e sanduíches mesmo fora do horário normal das refeições.
• Normalmente é vendido o lanche à escolha do cliente antes
de ser feito. Por isso, Neide tem que ter muito cuidado para
não misturar as coisas ou até mesmo passar sem receber.
• Graciano utiliza um painel para anotar cada pedido, mas
são tantos clientes que o painel está cheio
Primeiro passo eu faço
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
Entidades do DER
Representam categorias de fatos do mundo real, sejam eles concretos
ou abstratos, como empregados, departamentos, despesas etc.
Funcionário
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
Bairro
Endereço Rua: RP3
Cidade/Estado Número: 25
Setor: Guará
Cidade: Ceres
Estado: GO
Atributos multivalorados
Atributos com propriedades que podem assumir mais de um valor,
como os números de telefone de um departamento.
Telefone
Atributos multivalorados
Atributos com propriedades que podem assumir mais de um valor,
como os números de telefone de um departamento.
E-mail: heder.lima@senacgoon.com.br,
Telefone
heder.lima@sescgoon.com.br,
heder.lima@go.senac.br
• 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