2. O que é um
Banco de
Dados?
Definição
• Um banco de dados é uma coleção organizada de
informações - ou dados - estruturadas, normalmente
armazenadas eletronicamente em um sistema de
computador. Um banco de dados é geralmente
controlado por um sistema de gerenciamento de banco
de dados (DBMS). Juntos, os dados e o DBMS,
juntamente com os aplicativos associados a eles, são
chamados de sistema de banco de dados, geralmente
abreviados para apenas banco de dados.
• Os dados nos tipos mais comuns de bancos de dados
em operação atualmente são modelados em linhas e
colunas em uma série de tabelas para tornar o
processamento e a consulta de dados eficientes. Os
dados podem ser facilmente acessados, gerenciados,
modificados, atualizados, controlados e organizados. A
maioria dos bancos de dados usa a linguagem de
consulta estruturada (SQL) para escrever e consultar
dados.
4. Qual é a
diferença entre
um banco de
dados e uma
planilha?
Bancos de dados e planilhas (como o Microsoft
Excel) são modos convenientes de armazenar
informações. As principais diferenças entre os dois
são:
• Como os dados são armazenados e manipulados
• Quem pode acessar os dados
• Quantos dados podem ser armazenados
As planilhas foram originalmente projetadas para um
usuário e suas características refletem isso. São
ótimos para um único usuário ou um pequeno
número de usuários que não precisam fazer
manipulações de dados extremamente complicadas.
Bancos de dados, por outro lado, são projetados
para conter coleções muito maiores de informações
organizadas, quantidades enormes, às vezes. Os
bancos de dados permitem que vários usuários, ao
mesmo tempo, acessem e consultem com rapidez e
segurança os dados usando lógica e linguagem
altamente complexas.
5. Como
funcionam os
bancos de
dados
relacionais?
Entenda a
estrutura e
elementos!
• Para construir um banco de dados
temos diferentes tipos de objetivos
que fazem parte.
• Tabela
• Coluna
• Tuplas / Registros
• Relacionamento
• Chave Primária
• Chave Estrangeira
6. Tabelas
• É responsável por armazenar os dados, como por exemplo o nome e a
idade das pessoas estudantes do curso de Ciência da Computação de
determinada universidade
• A tabela também pode ser chamada de relação, uma vez que um
banco de dados relacional pode ter uma ou mais relações.
7. Coluna
Tuplas /
Registros
• Coluna: é responsável por armazenar apenas um tipo
específico de dado.
• Tupla / Registro: é responsável por representar cada
registro de um determinado dado.
COLUNA
TUPLA
REGISTRO
8. Relacionamento
Chave Primária
Chave
Estrangeira
• O Relacionamento será a associação entre elas, visto que estão conectadas por chaves primárias e por chaves
estrangeiras.
• Chave Primária: do inglês “primary key” , a chave primária é um atributo (ou coluna) que identifica um registro de
forma única.
• Chave Estrangeira: também chamada de “foreign key” é um atributo que designará a forma que as tabelas se
relacionam entre si.
9. Quais os tipos de
relacionamentos
entre bancos de
dados?
• Um para um: quando nos referimos a esse tipo de relacionamento, estamos
dizendo que um registro em uma tabela está ligado a apenas um registro em outra
tabela/relação. Para exemplificar a situação, podemos utilizar ainda estudantes do
curso de Ciência da Computação, cada estudante tem um ID exclusivo e cada ID é
atribuído a apenas uma pessoa.
• Um para muitos: aqui estamos falando que a tabela de chave primária pode se
relacionar com nenhum, com um ou muitos registros da tabela que está sendo
associada.
• Muitos para muitos: dado as definições anteriores, esse tipo de relacionamento
pode se relacionar a nenhum ou a vários registros em outra tabela. Aqui, nesse tipo
de relacionamento é necessário uma terceira relação/tabela.
10. O que é
SQL
(Structured
Query
Language)?
SQL é uma linguagem de programação usada por quase
todos os bancos de dados relacionais para consultar,
manipular e definir dados e fornecer controle de acesso.
O SQL foi desenvolvido pela primeira vez na IBM nos
anos 1970, com a Oracle como principal contribuinte, o
que levou à implementação do padrão SQL ANSI; o SQL
estimulou muitas extensões de empresas como IBM,
Oracle e Microsoft. Embora o SQL ainda seja
amplamente usado hoje em dia, novas linguagens de
programação estão começando a aparecer.
11. Funcionalidades
básicas
O uso mais comum de SGBDRs é para
implementar funcionalidades simples do tipo
CRUD (do inglês Create, Read, Update e Delete)
que significa as operações de Inserção, Leitura,
Atualização e Exclusão de dados).
12. COMANDOS SQL -
CRUD
INSERT INTO tbLivros (nomeLivro) VALUES (‘MySQL’)
SELECT * FROM tbClientes
UPDATE tbLivros
SET nomeLivro = ‘MySQL – Banco de Dados’
WHERE idLivro = 10
DELETE FROM tbClientes WHERE idCliente = 1
13.
14. DDL -
Linguagem
de
Definição
de Dados
• Define os comandos utilizados para criação
(CREATE) de tabelas, views, índices, atualização
dessas estruturas (ALTER), assim como a
remoção (DROP);
• CREATE DATABASE
• CREATE TABLE
• ALTER TABLE
• DROP TABLE
• USE <NOMEDATABASE>
15. CREATE TABLE Contato (
Id int,
Nome varchar(255),
Telefone varchar(11)
);
ALTER TABLE Contato
ADD email VARCHAR(255);
ALTER TABLE Contato
DROP COLUMN email;
DROP TABLE Contato;
show COLUMNS from <TABELA>;
show tables;
16. DML - Data
Manipulation
Language
Os comandos aqui lidam
com os dados. Alguns
muito comuns
são INSERT, UPDATE e
DELETE. Exemplo:
inclusões INSERT
é usada para inserir um
registro (formalmente
uma tupla) a uma tabela
existente.
INSERT INTO Pessoa
(id, nome, sexo)
VALUE;
alterações UPDATE
para mudar os valores de
dados em uma ou mais
linhas da tabela
existente.
UPDATE Pessoa SET
data_nascimento =
'11/09/1985' WHERE
id_pessoa = 7;
exclusões DELETE
permite remover linhas
existentes de uma
tabela.
DELETE FROM
pessoa WHERE
id_pessoa = 7;
17. INSERT INTO Cliente(nome, telefone) VALUES ('Suzana', '99999-9999')
-- Excluirá apenas o registro com id igual a 2
DELETE FROM Cliente WHERE id = 2
-- Excluirá todos os registros
DELETE FROM Cliente
-- Atualizará o telefone do cliente com id = 3
UPDATE Cliente SET telefone = '99999-9999' WHERE id = 3
-- Atualizará o telefone de todos os cliente
UPDATE Cliente SET telefone = '99999-9999'
18. DQL - Linguagem
de Consulta de
Dados
• Define o comando
utilizado para que
possamos
consultar (SELECT) os
dados armazenados no
banco;
consultas SELECT
O Select é o principal
comando usado em
SQL para realizar
consultas a dados
pertencentes a uma
tabela.
Select *
From
Pessoa;
• FROM – Utilizada para especificar a tabela, que se vai selecionar os
registros.
• WHERE – Utilizada para especificar as condições que devem reunir
os registros que serão selecionados.
• GROUP BY – Utilizada para separar os registros selecionados em
grupos específicos.
• HAVING – Utilizada para expressar a condição que deve satisfazer
cada grupo.
• ORDER BY – Utilizada para ordenar os registros selecionados com
uma ordem especifica.
• DISTINCT – Utilizada para selecionar dados sem repetição.
• UNION – combina os resultados de duas consultas SQL em uma
única tabela para todas as linhas correspondentes.
19. SELECT nome, telefone FROM Cliente;
SELECT nome, telefone FROM Cliente WHERE nome = 'Ramon';
SELECT c.nome, c.telefone, p.codigo, p.data_pedido
FROM Cliente c
JOIN Pedido p
ON c.id = p.id_cliente
WHERE c.id = 5;
20. Cláusula JOIN em
SQL
• Correspondente a uma operação de junção em álgebra relacional,
combina colunas de uma ou mais tabelas em um banco de dados
relacional. Ela cria um conjunto que pode ser salvo como uma
tabela ou usado da forma como está.
• Um JOIN é um meio de combinar colunas de uma (auto-junção) ou
mais tabelas, usando valores comuns a cada uma delas. O SQL
padrão ANSI especifica cinco tipos de JOIN:
• INNER JOIN,
• LEFT JOIN,
• RIGHT JOIN,
• FULL JOIN e
• CROSS JOIN.
21. INNER JOIN
SELECT e.id, e.nome, p.id, p.nome
FROM estudantes AS e
INNER JOIN professores AS p
ON e.nome = p.nome;
22. LEFT JOIN
SELECT e.nome, p.nome FROM estudantes AS e
LEFT JOIN professores AS p
ON e.nome = p.nome;
23. RIGHT JOIN
SELECT e.nome, p.nome
FROM estudantes AS e
RIGHT JOIN professores AS p
ON e.nome = p.nome;
24. FULL JOIN
SELECT e.nome, p.nome
FROM estudantes AS e
LEFT professores AS p
ON e.nome = p.nome;
UNION
SELECT e.nome, p.nome
FROM estudantes AS e
RIGHT JOIN professores AS p
ON e.nome = p.nome;
25. CROSS JOIN
SELECT e.idade, e.nome, p.idade, p.nome
FROM estudantes AS e
CROSS JOIN professores AS p
WHERE e.id = 1 OR p.id = 1;