SlideShare uma empresa Scribd logo
1 de 25
Banco de
Dados
Relacional
Bruno Wuo
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.
Tipos de SGBD
Relacionais
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.
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
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.
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
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.
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.
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.
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).
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
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>
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;
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;
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'
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.
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;
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.
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;
LEFT JOIN
SELECT e.nome, p.nome FROM estudantes AS e
LEFT JOIN professores AS p
ON e.nome = p.nome;
RIGHT JOIN
SELECT e.nome, p.nome
FROM estudantes AS e
RIGHT JOIN professores AS p
ON e.nome = p.nome;
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;
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;

Mais conteúdo relacionado

Semelhante a Banco de Dados Relacional

Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQLLabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQLCarlos Santos
 
Aula de SQL - Básico
Aula de SQL - BásicoAula de SQL - Básico
Aula de SQL - BásicoAirton Zanon
 
Introdução a Banco de Dados aula inicial
Introdução a Banco de Dados aula inicialIntrodução a Banco de Dados aula inicial
Introdução a Banco de Dados aula inicialwilianecomp
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6Wagner Bianchi
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadospadinho
 
Primeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxPrimeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxsuellencarolinerosa
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLRaphael Donaire Albino
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01Gilson Figueredo
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4Ed W. Jr
 
Apresentação cassandra
Apresentação cassandraApresentação cassandra
Apresentação cassandraRichiely Paiva
 
Aula8.pptx
Aula8.pptxAula8.pptx
Aula8.pptxacsme
 
Conceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosConceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosAlefe Variani
 
02 LabMM4 - Bases de dados
02 LabMM4 - Bases de dados02 LabMM4 - Bases de dados
02 LabMM4 - Bases de dadosCarlos Santos
 

Semelhante a Banco de Dados Relacional (20)

Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQLLabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
 
Aula de SQL - Básico
Aula de SQL - BásicoAula de SQL - Básico
Aula de SQL - Básico
 
Introdução a Banco de Dados aula inicial
Introdução a Banco de Dados aula inicialIntrodução a Banco de Dados aula inicial
Introdução a Banco de Dados aula inicial
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
Primeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxPrimeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptx
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQL
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Base de dados no Excel 1.pdf
Base de dados no Excel 1.pdfBase de dados no Excel 1.pdf
Base de dados no Excel 1.pdf
 
Apresentação cassandra
Apresentação cassandraApresentação cassandra
Apresentação cassandra
 
Introdução BD
Introdução BDIntrodução BD
Introdução BD
 
Aula8.pptx
Aula8.pptxAula8.pptx
Aula8.pptx
 
Conceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosConceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de Dados
 
02 LabMM4 - Bases de dados
02 LabMM4 - Bases de dados02 LabMM4 - Bases de dados
02 LabMM4 - Bases de dados
 

Banco de Dados Relacional

  • 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;