Buscar

Banco de Dados Parte 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de Dados – Parte 2
Diego Farias 
EETEPA 2018
Conteúdo Programático
 Definições
 Banco de Dados X Sistemas de Arquivos;
 Sistemas Gerenciadores de Banco de Dados (SGBD);
 Usuários de um SGBD;
 Linguagem de Definição de Dados;
 Linguagem de Manipulação de Dados;
 Linguagem de Controle de Dados;
 Linguagem de Consulta de Dados;
 Modelagem de dados e Projeto de Banco de Dados;
 Níveis de Abstração de Dados, Níveis de Modelagem e 
Normalização;
 Modelo Conceitual e Físico;
EETEPA – CACAU
2018
2
1° Avaliação
• Prova teórica – 4,0 pts
– Toda a disciplina ministrada em sala de aula. (material de 
aula, exercícios e material de apoio disponibilizado na 
plataforma)
• Atividade prática – 4,0 pts
– Realizada no laboratório e proposta pelo professor
• Lista de exercícios e outras atividades – 2,0 pts
EETEPA – CACAU
2018
3
Linguagens de Banco de Dados
• A linguagem SQL (Structured Query Language) foi resultado de um
estudo de E. F. Codd, membro do laboratório de pesquisa da IBM
em San Jose, Califórnia, em meados da década de 70.
• No início dos anos 80, o Instituto Americano de Padronização (ANSI
– American National Standards Institute) iniciou os trabalhos de
desenvolvimento de uma versão padronizada do SQL, a qual foi
publicada nos anos de 1986 e 1987.
• Fabricantes de bancos de dados sentiram-se seguros em adota-la
como sendo a linguagem padrão para seus bancos de dados.
EETEPA – CACAU
2018
4
Linguagens de Banco de Dados
EETEPA - CACAU
2018
5
DDL - Linguagens de Definição de 
Dados
 DDL (Data Definition Language) permite a criação, eliminação e
alteração da estrutura física da Base de Dados.
• CREATE DATABASE - cria um novo banco de dados
• USE NOME_DATABASE – Usar o banco de dados recém criado
• CREATE TABLE - cria uma nova tabela
• ALTER DATABASE - altera um banco de dados
• ALTER TABLE - modifica uma tabela
• DROP TABLE - apaga uma tabela
• CREATE INDEX - cria um índice (chave de busca)
• DROP INDEX - exclui um índice
• TRUNCATE – remove todos os registros de uma tabela
EETEPA – CACAU
2018
6
DDL - Linguagens de Definição de 
Dados
 CREATE DATABASE
• Antes de qualquer coisa como a criação de tabelas, inserir e 
consultar dados, você deve criar um banco de dados primeiro. 
• A sintaxe de criação de uma nova base de dados é simples como se 
segue e deve ser digitada na query para criar uma database com o 
nome gregs_list:
EETEPA – CACAU
2018
7
DDL - Linguagens de Definição de 
Dados
EETEPA – CACAU
2018
8
DDL - Linguagens de Definição de 
Dados
 CREATE TABLE
• Tabelas são elementos básicos do banco de dados. Antes de
armazenar dados em uma tabela, você precisa criá-las. O SQL
fornece a instrução CREATE TABLE para permitir que você faça isso.
EETEPA – CACAU
2018
9
EETEPA – CACAU
2018
10
DDL - Linguagens de Definição de 
Dados
EETEPA – CACAU 
2018
11
USE DATABASE
• É necessário dizer ao SGBD que usará a Database recém
criada, utilizando o comando USE nome-da-database.
• Senão fizer isso, todos os comandos executados serão criados
na database padrão do SGBD e na realidade o que queremos
é criar tabelas na database gregs_list.
EETEPA – CACAU
2018
12
DDL - Linguagens de Definição de 
Dados
EETEPA – CACAU
2018
13
Comando NULL
• Algumas colunas na sua tabela devem ter sempre valores, você
pode facilmente configurar sua tabela para não aceitar
valores NULOS para algumas colunas.
• Se você especificou no comando CREATE TABLE que algumas
colunas não aceitem valores nulos, você deve sempre fornecer um
valor para essa Coluna no seu comando INSERT. Se não o fizer,
acontecerá um erro.
EETEPA – CACAU
2018
14
PRIMARY KEY
• Uma PRIMARY KEY declara uma coluna ou uma combinação de
colunas cujos valores identificam exclusivamente cada registro na
tabela.
• A PRIMARY KEY ajuda a reforçar a integridade da entidade (tabela)
automaticamente.
• Há uma e apenas uma chave primária para cada tabela.
EETEPA – CACAU
2018
15
PRIMARY KEY
• Existem várias regras que a chave primária deve seguir:
EETEPA – CACAU
2018
16
DDL - Linguagens de Definição de 
Dados
 ALTER
• O SQL disponibiliza o comando ALTER TABLE para permitir que você
modifique a estrutura de uma tabela existente. Com o ALTER TABLE,
você pode executar as seguintes ações em uma tabela no banco de
dados:
– Adicionar uma nova coluna ou remover uma coluna existente na
tabela.
– Modificar o tamanho máximo de um tipo de dados da coluna.
– Adicionar ou remover o valor padrão de uma coluna.
– Adicionar ou remover restrições da tabela.
EETEPA – CACAU 
2018
17
DDL - Linguagens de Definição de 
Dados
• Para adicionar uma nova coluna em uma tabela você deve utilizar a 
seguinte sintaxe:
• Para remover uma coluna existente em uma tabela no banco de 
dados, você precisa especificar a tabela e o nome da coluna que 
você deseja remover. Aqui está a sintaxe:
EETEPA – CACAU 
2018
18
DDL - Linguagens de Definição de 
Dados
• Se excluir uma coluna que é chave primária, que é uma parte de
uma chave composta da tabela, não só os dados da coluna são
removidas, mas também todos os registos duplicados na tabela que
se relaciona.
• Você não terá que começar tudo do zero nas tabelas que você criou
sem PRIMARY KEY você pode utilizar a declaração ALTER TABLE e
alterar uma tabela existente.
EETEPA – CACAU 
2018
19
DDL - Linguagens de Definição de 
Dados
 DROP 
• É utilizado para remover do banco de dados as tabelas. Quando
você usa o DROP TABLE, o gerenciador de banco de dados remove
todos os objetos relacionados a essa tabela, incluindo dados, suas
definições, índices, restrições de tabela, triggers (gatilhos) e
permissões.
• O DROP TABLE irá funcionar contendo ou não DADOS em sua
tabela. Uma vez que sua tabela é excluída, todos e quaisquer dados
que estavam nela serão perdidos.
• Se você quiser apenas apagar os dados utilize o comando DELETE 
ou TRUNCATE.
EETEPA – CACAU
2018
20
DDL - Linguagens de Definição de 
Dados
EETEPA – CACAU 
2018
21
DML - Linguagem de manipulação de 
Dados
 DML (Data Manipulation Language) permite a Inserção, edição e
exclusão dos dados das tabelas.
• INSERT - insere novos dados em um banco de dados
• UPDATE - atualiza os dados em um banco de dados
• DELETE - exclui dados de um banco de dados
EETEPA – CACAU
2018
22
DML - Linguagem de manipulação de 
Dados
 INSERT
• O INSERT é muitas vezes chamado de INSERT INTO.
• A sintaxe do INSERT que permite inserir um registro de cada vez em 
uma tabela de banco de dados:
EETEPA – CACAU
2018
23
DML - Linguagem de manipulação de 
Dados
EETEPA – CACAU
2018
24
Exemplo INSERT
EETEPA – CACAU
2018
25
DML - Linguagem de manipulação de 
Dados
• Mudando a ordem das colunas - Você pode alterar a ordem das
colunas no comando insert, porém os valores deverão seguir a
mesma ordem das colunas.
EETEPA – CACAU
2018
26
DML - Linguagem de manipulação de 
Dados
• Omitindo nome das colunas - Você pode suprimir os nomes das
colunas, porém nesse caso, todos os valores correspondentes a
todas as colunas dos banco de dados devem ser declarados e na
mesma ordem que constam na tabela.
EETEPA – CACAU
2018
27
DML - Linguagem de manipulação de 
Dados
• Inserindo apenas algumas colunas - Você pode inserir apenas 
algumas colunas e deixar outras de fora.
EETEPA – CACAU
2018
28
DML - Linguagem de manipulação de 
Dados
 UPDATE
• Permite modificar dados em uma tabela no banco de dados. Com 
o UPDATE, você pode modificar os dados de toda a tabela ou um 
subconjunto de dados com base na condição da cláusulaWHERE.
• Quando você usa o UPDATE, você não está apagando nada, em vez 
disso, você está reciclando um registro velho para um novo registro.
• CUIDADO: A cláusula WHERE é opcional. Se você omitir a cláusula 
WHERE, todos os registros da tabela serão atualizado.
EETEPA – CACAU
2018
29
DML - Linguagem de manipulação de 
Dados
• Suponha que um dos funcionários da empresa se case e precise
mudar seu sobrenome, então você tem que fazer a mudança
usando a instrução UPDATE. Aqui está a consulta para fazer isso:
EETEPA – CACAU
2018
30
DML - Linguagem de manipulação de 
Dados
• O UPDATE atualiza uma coluna, ou colunas, com um novo valor. E,
assim como o SELECT, você pode utilizar a cláusula WHERE para
indicar qual a linha que deseja editar.
• A palavra SET informa ao SGBD que é preciso mudar uma coluna,
ela deve vir antes do sinal de igual que contém o valor a ser
alterado.
EETEPA – CACAU
2018 31
DML - Linguagem de manipulação de 
Dados
EETEPA – CACAU
2018 32
DML - Linguagem de manipulação de 
Dados
 DELETE
• Permite excluir um ou mais registros em uma tabela no banco de 
dados. 
• Ele também usa a cláusula WHERE.
EETEPA – CACAU 
2018
33
DML - Linguagem de manipulação de 
Dados
EETEPA – CACAU
2018
34
DQL – Linguagem de Consulta de 
Dados
 DQL (Data Query Language) é utilizado para consultas no banco de 
dados.
 SELECT - extrai dados de um banco de dados
• A instrução SELECT permite recuperar os dados a partir de uma ou 
mais tabelas do banco de dados.
EETEPA – CACAU
2018
35
DQL – Linguagem de Consulta de 
Dados
• Suponha que você quer recuperar a coluna sobrenome (sobrenome) 
na tabela funcionários, você pode executar a seguinte consulta:
• A consulta busca os valores da coluna sobrenome (sobrenome) em 
todas as linhas da tabela funcionários e retorna o resultado abaixo.
EETEPA – CACAU
2018
36
DQL – Linguagem de Consulta de 
Dados
• Você também pode usar o comando SELECT para recuperar várias 
colunas de uma tabela no banco de dados. Para fazer isso você deve 
colocar uma vírgula entre a lista de colunas. 
EETEPA – CACAU
2018
37
DQL – Linguagem de Consulta de 
Dados
• Para recuperar todas as informações (colunas) de uma tabela, você
poderia listar todos os nome de colunas e separá-las por vírgulas.
• Ou você pode usar um asterisco (*) para indicar que você deseja
recuperar todas as colunas sem precisar explicitamente escrever a
lista de colunas.
EETEPA – CACAU
2018
38
DQL – Linguagem de Consulta de 
Dados
 WHERE
• A declaração do SELECT com a cláusula WHERE dá ao SGBD algo
específico para ser pesquisado, com isso são retornados apenas as
linhas que correspondem à condição.
• O sinal de igual (=) na cláusula WHERE é usado para testar se cada
valor na coluna é igual a condição, se corresponder, a linha é
retornada, caso não encontre nenhum registro, nenhuma linha é
retornada.
EETEPA – CACAU 
2018
39
EETEPA – CACAU
2018
40
DQL – Linguagem de Consulta de 
Dados
 WHERE com operador AND
Várias condições podem ser unidas pelo operador AND e todas devem ser
verdadeiras para retornar a condição como TRUE. Se uma das condições é
falsa, toda a condição é avaliada como FALSE. Se uma das condições é
desconhecida ou NULL toda a condição é avaliada como UNKNOWN
(DESCONHECIDO).
EETEPA – CACAU
2018
41
DQL – Linguagem de Consulta de 
Dados
 WHERE com operador OR
Várias condições unidas pelo operador OR devem ser falsas para a
condição inteira ser avaliada como FALSE. Se uma das condições é
verdadeira, toda a condição é avaliada como TRUE. Se uma das
condições é desconhecida ou NULL toda a condição é avaliada para
desconhecida ou NULL.
EETEPA – CACAU
2018
42
DQL – Linguagem de Consulta de 
Dados
EETEPA – CACAU
2018
43
DQL – Linguagem de Consulta de 
Dados
 DISTINCT - É utilizado para eliminar as linhas duplicadas no 
conjunto de resultados da instrução SELECT.
EETEPA – CACAU
2018
44
DQL – Linguagem de Consulta de 
Dados
 ORDER BY - Permite classificar o conjunto de resultados com base
em um ou mais parâmetros de classificação em ordem crescente ou
decrescente.
EETEPA – CACAU 
2018
45
DQL – Linguagem de Consulta de 
Dados
 IN - O operador IN, juntamente com a clausula where, permite determinar 
se um valor está contido em um conjunto de valores.
• É importante notar que o conjunto de valores deve ser delimitado por 
vírgulas e encerrado dentro de parênteses.
EETEPA – CACAU
2018
46
DQL – Linguagem de 
Consulta de Dados
 NOT IN - Para 
encontrar todos os 
registros cujo valor 
da coluna não está no 
conjunto.
 O NOT IN lhe dará o 
resultado oposto do 
IN.
EETEPA – CACAU
2018
47
DQL – Linguagem de Consulta de 
Dados
 BETWEEN - permite recuperar os registros que têm valores dentro 
de um intervalo.
• O between é equivalente a usarmos o sinal de <= e => , mas não é 
a mesma coisa usar < e >. O between retorna os valores iguais 
também, lembre disso.
EETEPA – CACAU
2018
48
DQL – Linguagem de Consulta de 
Dados
EETEPA – CACAU 
2018
49
DQL – Linguagem de Consulta de 
Dados
• É possível ter o mesmo resultado do BETWEEN utilizando os
operadores menor ou igual (<=) e maior ou igual (> =) operadores como se
segue:
• Da mesma maneira que o operador IN, o operador BETWEEN pode se
combinar com operador NOT para encontrar registros que não têm valores
em um determinado intervalo.
50
DQL – Linguagem de Consulta de 
Dados
 LIKE
• A instrução LIKE permite que você execute uma cadeia de pesquisa
de texto com base em padrões. A declaração LIKE é usada na
cláusula WHERE de quaisquer declarações SQL válidas
como SELECT, INSERT, UPDATE e DELETE.
• O SQL fornece-lhe dois carácteres coringa para a construção de um
padrão. Eles são porcentagem (%) e underline ( _ ).
EETEPA – CACAU
2018
51
• Porcentagem (%) permite combinar uma sequência de caracteres, 
incluindo espaços.
• underline ( _ ) permite corresponder a qualquer caractere único.
EETEPA – CACAU 
2018
52
DCL - Linguagem de Controle de Dados
 DCL - (Data Control Language) atribui permissões aos objetos. A
Linguagem de Controle de Dados (DCL) é um subconjunto do
Lanaguge SQL (Structured Query) que permite que os
administradores de banco de dados configurem o acesso de
segurança para bancos de dados relacionais.
• RANT é utilizado para adicionar novas permissões para um usuário.
• REVOKE é utilizado para remover o acesso de banco de dados de
um usuário.
• DENY é utilizado para impedir explicitamente que um usuário
receba uma permissão especial.
EETEPA – CACAU
2018
53

Outros materiais