Buscar

E-book 1 Tópico 1 - Programação em Banco de Dados

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 41 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 41 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 41 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

Lúcia Tavares
PROGRAMAÇÃO 
EM BANCO DE 
DADOS
E-book 1
Neste E-Book:
INTRODUÇÃO ���������������������������������������������� 3
CONCEITOS ��������������������������������������������������4
Conceitos de SQL (Structured Query 
Language) e banco de dados ����������������������������������4
Particularidades de banco de dados ������������������� 16
Comandos de banco de dados ���������������������������� 20
CONSIDERAÇÕES FINAIS ����������������������36
SÍNTESE �������������������������������������������������������37
2
INTRODUÇÃO
Caro estudante, um banco de dados é a alma de qual-
quer aplicação� Mas um banco de dados não pode 
ser criado sem critério nenhum, é preciso conhecer 
os conceitos do Structured Query Language (SQL) 
e sua estrutura�
É como montar uma casa: precisa haver planejamen-
to, alguém que projete a planta, saiba onde vai colo-
car os quartos, a cozinha, a sala� O mesmo acontece 
com o banco de dados, conhecer seu conceito lhe 
dará condições de montar a planta de cada cômodo, 
seu funcionamento�
Neste e-book vamos aprender como funciona um 
banco de dados e como funciona a estrutura de ban-
cos e os conceitos de SQL�
3
CONCEITOS
Conceitos de SQL (Structured 
Query Language) e banco de 
dados
O que são banco de dados?
Os bancos de dados são coisas bem presentes na 
nossa vida cotidianamente� Sabe seu smartphone? 
A lista de contatos nele é um bom exemplo de banco 
de dados�
Pode pensar como eram os bancos de dados antes 
dos computadores e das aplicações que conhece-
mos hoje? Tudo era guardado fisicamente. E isso 
quer dizer muito, mas muito, papel armazenado em 
lugares enormes�
Mas os computadores chegaram e possibilitaram que 
tudo isso fosse armazenado digitalmente� Podemos 
afirmar hoje que os bancos de dados são o coração 
da maioria dos sistemas da informação�
Antigamente as empresas armazenavam informa-
ções em arquivos físicos, mas o surgimento e evo-
lução dos computadores possibilitaram o armazena-
mento de dados de modo digital� Assim, os bancos 
de dados evoluíram e se tornaram o coração de mui-
tos sistemas de informação�
4
Com o crescimento da internet, surgiram os bancos 
de dados NoSQL, pela necessidade de maior pro-
cessamento e velocidade com dados não estrutu-
rados� Também foram criados os bancos de dados 
na nuvem e os bancos de dados autônomos, que 
abrem uma nova geração, com tratamento diferente 
na coleta, no armazenamento e na gestão desses 
dados, conforme o modelo apresentado na Figura 1:
Figura 1: Modelo de banco de Dados. Fonte: Wikipedia.
Quanto aos tipos de banco de dados, temos alguns 
já solidificados no mercado e a sua escolha é feita a 
partir do negócio e como esses dados serão utiliza-
dos� Abaixo segue alguns tipos de banco de dados 
e suas definições:
Bancos de dados relacionais
Os bancos de dados relacionais são organizados 
como um conjunto de tabelas com colunas e linhas� 
Trabalhar com um banco de dados relacional é a 
5
https://pt.wikipedia.org/wiki/HSQLDB#/media/Ficheiro:Hsql.png
maneira mais eficiente e flexível de acessar informa-
ções estruturadas� Abaixo, a Figura 2 nos mostra um 
banco de dados relacional:
db40
objetoobjeto
tabelas
BANCO DE DADOS RELACIONAL
objeto
Figura 2: Banco de dados relacional. Fonte: Wikipedia.
Banco de dados orientados a objetos
As informações em um banco de dados orientado 
a objetos são fornecidas como objetos� Na Figura 3 
vemos um exemplo disso:
Figura 3: Banco de Dados orientado a objetos. Fonte: Wikiand.
6
https://pt.wikipedia.org/wiki/Ficheiro:Banco_Dados_Relacional_X_db4o_ver2.png#/media/Ficheiro:Banco_Dados_Relacional_X_db4o_ver2.png
https://www.wikiwand.com/pt/Banco_de_dados
Bancos de dados distribuídos
Trata-se de dois ou mais arquivos localizados em 
sites diferentes� São bancos de dados que podem 
ser armazenados em vários computadores, seja fisi-
camente, na nuvem ou em redes diferentes� A Figura 
4 é um banco de dados distribuídos:
Figura 4: Bancos de dados distribuídos: Fonte: Wikipedia.
Data warehouses
É um repositório de vários bancos que podem ser 
integrados, projetado especificamente para consul-
tas e análises rápidas� A Figura 5 mostra um data 
warehouse:
7
https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem#/media/Ficheiro:Computa%C3%A7%C3%A3o_em_nuvem.svg
CRM
Operational
Data Store
Metadata Repository / MDM
Enterprise Data Warehouse
Data 
Warehouse
Data 
Sources
User 
Access
“BI” 
Analytics
ERP
e-commerce
SCM
Legacy
External
Other
ETL
In
fo
rm
at
io
n 
Po
rt
al
(In
tra
ne
t /
 E
xt
ra
ne
t)Data 
Mart
Data 
Mart
Data 
Mart
BI
Tools
Reports / 
Dash-
boards
Info 
Delivery
Figura 5: Data warehouse. Fonte: Wikimedia.
Banco NoSQL
Um banco de dados NoSQL é não relacional e estru-
turado que aceita dados não estruturados ou dados 
semiestruturados para que sejam armazenados e 
manipulados (diferente de um banco de dados rela-
cional, onde todos os dados inseridos no banco de 
dados devem ser compostos)� Foram criados para 
atender a demanda à medida que os aplicativos web 
se tornaram mais comuns e mais complexos. A figura 
6, a seguir, mostra um banco de dados NoSQL:
8
https://upload.wikimedia.org/wikipedia/commons/0/0b/Datawarehouse_reference_architecture.jpg
Relational
Analytical (OLAP)
Key-Value
Graph
Column-Family
Document
value
value
value
value
Key
Key
Key
Key
SQL Databases SQL Databases
Figura 6: Banco NoSQL. Fonte: Wikipedia.
Bancos de dados gráficos
Um banco de dados gráficos guarda dados em ter-
mos de entidades e os relacionamentos entre enti-
dades� A Figura 7 demonstra isso:
9
https://pt.wikipedia.org/wiki/SQL#/media/Ficheiro:Sql_ledger_login.png
Figura 7: Banco de dados gráfico. Fonte: Wikipedia�
Bancos de dados OLTP
Um banco de dados OLTP é projetado para ser um 
banco de dados rápido e analítico, preparado para 
realizar diversas transações por vários usuários� A 
Figura 8 é uma demonstração do banco de dados 
OLTP�
10
https://pt.wikipedia.org/wiki/Visualiza%C3%A7%C3%A3o_de_dados#/media/Ficheiro:Scatter_plot.jpg
OLTP
Database A
Data 
Mart A
Logical Data 
Warehouse
Data 
Mart B
OLTP
Batch
Batch
Batch
Batch
OLTP
OLTP
Database B
Conventional ETL Diagram
OLTP
Application 
A
OLTP
Application 
B
Change 
Detection/ 
Snapshot
ETL
Change 
Detection/ 
Snapshot
Dimension 
Authority
Figura 8: OLTP. Fonte: Wikipedia.
Bancos de dados de código aberto
Um sistema de banco de dados de código aberto é 
aquele feito com um código que pode ser alterado; 
podem ser bancos não relacionais ou relacionais 
(SQL ou NoSQL)� A Figura 9 mostra o MySQL:
11
https://en.wikipedia.org/wiki/Extract,_transform,_load#/media/File:Conventional_ETL_Diagram.jpg
Figura 9: MySQL. Fonte: Wikipedia.
Bancos de dados em nuvem
Nada mais é que, como o nome sugere, um banco 
de dados hospedado em uma nuvem, com dados 
estruturados ou não. Em nuvem, esses bancos de 
dados podem ser: tradicional e banco de dados como 
um serviço (DBaaS)� As tarefas administrativas e a 
manutenção são executadas por um provedor de 
serviços na modalidade DBaaS� A Figura 10 mostra 
um banco de dados na nuvem:
12
https://en.wikipedia.org/wiki/MySQL_Workbench#/media/File:MySQLadministrator1.png
Cloud Storage
(eg Database)
Cloud Service
(eg Queue)
Cloud Infrastructure
(eg Billing VMs)
Cloud Platform
(eg Web Frontend)
Figura 10: Banco de Dados em nuvem. Fonte: Wikipedia.
Banco de dados multimodelo.
Este tipo combina diferentes modelos de banco de 
dados em um back-end único e integrado� O que im-
plica na versatilidade de dados que esses bancos 
podem acomodar. Segue o exemplo na figura 11:
13
https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem#/media/Ficheiro:CloudComputingSampleArchitecture.svg
Orientado a Linhas
João | 2432�00 | 1998 | Rio de Janeiro
Maria | 2511�00 | 1986 | São Paulo
Pedro | 3500�00 | 1976 | Mato Grosso
Jorge | 4200�00 | 1930 | Paraná
João | Maria | Pedro | Jorge
2432�00 | 2511�00 | 3500�00 | 4200�00
1998 | 1986 |1976 | 1930 
Rio de Janeiro| São Paulo | Mato Grosso | Paraná
Orientado a Colunas
(a) (b)
Figura 11: Multimodelo. Fonte: UFMG.
Banco de dados de documentos/JSON
Os bancos de dados no formato JSON são uma ma-
neira moderna de armazenar dados ao invés de se 
utilizar linhas e colunas. Este tipo de banco foi criado 
para armazenar, recuperar e gerenciar informações 
orientadas a documentos� Segue o exemplo da Figura 
12 de um banco de dados JSON:
Figura 12: JSON. Fonte: Wikipedia.
14
http://www.lbd.dcc.ufmg.br/colecoes/erbd/2013/007.pdf
https://pt.wikipedia.org/wiki/CouchDB#/media/Ficheiro:Couchdb_screenshot.png
Bancos de dados autônomos
São bancos alocados em nuvem, independentes e 
inovadores� Usam, de forma geral, o aprendizado de 
máquinas (machine learning) como forma de traba-
lhar e criar rotinas de automatização para o banco de 
dados, que influenciam no trabalho que geralmente é 
executado por administradores de bancos de dados: 
segurança, backups e atualizações, além de outras 
tarefas de gerenciamento de rotina�
Podcast 1 
Conceito de linguagem de programação SQL
O SQL é a linguagem usada para que a aplicação 
converse com o banco de dados e é a mais utilizada 
por programadores e administradores de bancos de 
dados (DBAs), pois se trata de uma linha de coman-
dos muito fácil para banco de dados relacionais�
Foi criada nos anos 1970, na IBM, no projeto System 
R, que queria provar que o modelo relacional era a 
melhor saída para a implementação de um banco de 
dados. Seu nome original era SEQUEL, um acrônimo 
para Linguagem de consulta estruturada�
O SQL é uma linguagem padrão para a maioria das 
linguagens de programação de banco de dados�
A sua maior diferença com relação às outras lingua-
gens de banco é a facilidade quanto às consultas, 
15
https://famonline.instructure.com/files/952038/download?download_frd=1
pois o SQL é direto quanto ao resultado e não quanto 
à forma de se chegar até ele�
Toda a linguagem SQL tem um padrão declarativo, 
ao contrário das outras linguagens, que fixam seus 
conceitos procedurais� Portanto, o ciclo de aprendi-
zagem do SQL é mais prático e fácil para quem quer 
aprender a montar um banco de dados�
Particularidades de banco de 
dados
Quando tratamos das principais diferenças entre 
banco de dados, podemos destacar o ponto princi-
pal: os sistemas gerenciadores de bancos de dados�
A principal função desses sistemas é gerenciar o 
funcionamento e as informações dos bancos de da-
dos� Hoje os bancos de dados mais utilizados são os 
“relacionais”, nos quais o armazenamento é feito por 
tabelas que possuem linhas e colunas, o que permite 
que esses dados sejam relacionados entre si�
Porém, em tempos de Big Data, em que as infor-
mações são rápidas e constantes, o melhor é usar 
banco de dados NoSQL, onde se trabalha com dados 
estruturados e não estruturados�
A seguir, temos uma lista dos bancos de dados mais 
utilizados no mercado, e suas características:
16
Oracle
Por ser um banco de dados versátil e robusto, o ban-
co de dados Oracle tem como marca registrada ser 
um banco de dados relacional seguro e potente, que 
tem sua linguagem própria e é capaz de administrar 
bancos de grandes organizações� Pode ser instalado 
em qualquer sistema operacional�
Figura 13: Fonte: Wikipedia.
SQL Server
Esta ferramenta é bastante difundida no mercado, 
é da Microsoft e administra bancos de dados rela-
cionais� Sua administração é fácil em comparação 
ao Oracle�
Sua maior desvantagem era que só podia ser execu-
tado em sistemas operacionais da Microsoft, o que 
de certa maneira o limitava, até que se criou uma 
versão para sistema operacional diferente�
Figura 14: Fonte: Wikipedia.
17
https://pt.wikipedia.org/wiki/Ficheiro:Oracle_logo.svg
https://mg.wikipedia.org/wiki/MySQL
MySQL
Este é um banco de dados gratuito, que foi incor-
porado pela Oracle e pode ser executado em varia-
das plataformas como Sun Solaris, Windows, Linux, 
FreeBSD, MacOS e qualquer plataforma recente de 
mercado� É usado no desenvolvimento de websites 
em linguagem PHP e servidores Apache�
Figura 15: Fonte: Wikipedia.
PostgreSQL
Também gratuito e open source, é um banco de da-
dos relacional, que se parece muito em estrutura e 
linguagem com a opção da Oracle, mas tem mais 
aplicabilidade em sistemas para web e ambiente cor-
porativo de pequenas e médias empresas� Funciona 
em qualquer sistema operacional� Tem aderência ao 
Linux pois ambos são gratuitos� Sua maior desvan-
tagem é que não tem uma interface administrativa�
Figura 16: Fonte: Wikipedia.
18
https://mg.wikipedia.org/wiki/MySQL
https://pt.wikipedia.org/wiki/PostgreSQL#/media/Ficheiro:Postgresql_elephant.svg
DB2
Trata-se banco relacional da IBM para grandes sis-
temas� Hoje em dia não é tão comercializado, mas 
ainda é um banco forte e aplicável à execução em di-
ferentes sistemas operacionais� É otimizado quando 
implantado nos equipamentos do próprio fabricante, 
o que inibiu de uma certa maneira a sua evolução�
Figura 17: Fonte: Wikipedia.
MongoDB
É um banco de dados não relacional que usa um 
conceito de armazenamento de NoSQL, ou seja, trata 
dados estruturados ou não� É gratuito e open source�
Figura 18: Fonte: Wikipedia.
Podcast 2 
19
https://en.wikipedia.org/wiki/IBM_Db2_Family
https://pt.wikipedia.org/wiki/MongoDB_Inc.
https://famonline.instructure.com/files/952039/download?download_frd=1
Comandos de banco de dados
A linguagem Structured Query Language (SQL) 
foi criada para a manipulação de dados dentro de 
um sistema de gerenciamento de banco de dados 
(SGBD)�
E o que é que isso quer dizer? Que essa linguagem, no 
que tange a manipulação de dados, possibilita o ar-
mazenamento, organização, atualização e exclusão�
O SGBD nada mais é que o agrupamento de progra-
mas de softwares responsáveis pelo gerenciamen-
to de uma base de dados� Sua função principal é 
retirar da aplicação cliente a função de gerenciar o 
acesso, a manipulação e a organização dos dados� 
Disponibiliza uma interface amigável onde seus clien-
tes têm a possibilidade de incluir, alterar ou consultar 
dados previamente armazenados�
Em bancos de dados relacionais a inter-
face é constituída pelas APIs (Application 
Programming Interface) ou drivers do SGBD, 
que executam comandos na linguagem SQL 
(Structured Query Language) (ISO/IEC 1999)
20
Usuários/Programadores
Consultas/Programas
Sistemas de Banco de Dados
Catálogo
(Meta-dados) Banco de Dados
SGBD
Figura 19: Contexto SGBD. Fonte: Elaboração própria.
REFLITA
Ter um banco de dados saudável é fator primor-
dial para a assertividade dos processos de uma 
empresa� Portanto, tão importante quanto man-
ter um banco saudável é ter um suporte compe-
tente e um DBA para cuidar desse banco de da-
dos� Isso tudo é de suma importância para evitar 
situações como:
• Ausência de backup;
• Falta de recursos de hardware e software;
• Problemas no banco por falta de um 
Administrador;
• Problemas na restauração dos dados;
• Falta de métricas de Controle;
21
• Aumento de custos.
Por isso um DBA é muito importante para um 
banco de dados� Para saber mais sobre essa 
importante profissão, acesse: http://tutano.tram-
pos.co/16206-guia-de-profissoes-dba/
O SQL é dividido em duas partes:
 ● Linguagem de Definição de Dados (DDL);
 ● Linguagem de Manipulação de Dados (DML)�
As DDL’s são usadas para “montar” o banco de da-
dos e suas tabelas, enquanto as DML’s servem para 
manipular os dados inseridos no banco�
Comandos SQL – DDLs
As DDLs são a estrutura da linguagem SQL, pois per-
mite criar, modificar e, por último, remover tabelas, 
como também criar índices�
A partir desses comandos é possível criar as linhas, 
as colunas, as tabelas, os índices e outros metadados 
que compõem o esqueleto de um banco de dados�
Vamos tratar aqui dos principais comandos que são:
 ● CREATE – (Criar);
 ● ALTER – (Alterar);
 ● DROP – (Apagar).
22
http://tutano.trampos.co/16206-guia-de-profissoes-dba/
http://tutano.trampos.co/16206-guia-de-profissoes-dba/
O que são databases?
Otermo banco de dados é algumas vezes utilizado 
de maneira incorreta para se referir ao conjunto de 
dados em si, quando o mais correto é utilizá-lo para 
se referir ao Sistema Gerenciador de Banco de Dados 
(SGBD), ou seja, o ambiente e conjunto de softwares 
responsáveis pelo gerenciamento dos dados�
Contidas em um banco de dados, podemos ter uma 
ou mais bases de dados (database), que são cada 
coleção organizada de dados (esquemas, tabelas, 
consultas, relatórios, exibições e outros objetos), or-
ganizadas por parâmetros com um mesmo contexto 
(assunto) e relacionadas entre si�
O que são tabelas?
Tabelas são objetos compostos por um conjuntos 
de dados dispostos em linhas e colunas, como 
uma planilha de Excel, e que fazem parte da base 
de dados de um banco de dados�
Abaixo seguem alguns dos principais comandos 
de um banco de dados, que podem ser executados 
sobre suas bases de dados (databases) e tabelas 
(tables):
 ● Show databases: Comando para mostrar as ba-
ses de dados do banco que estão prontas para se 
trabalhar/utilizar;
 ● Create database: Comando para criar uma base 
de dados;
23
 ● Use: Seleciona a base de dados em que vamos 
trabalhar;
 ● Show tables: Mostra as tabelas de uma base de 
dados;
 ● Describe: Mostra a descrição da estrutura de uma 
tabela em uma base de dados;
 ● Create table <tabela> (<nomecampo> <tipo>): Cria 
uma tabela com os campos, seu tipo e atributos 
determinados;
 ● Table <tabela> add (<atributo> <valor>,): Adiciona 
um ou mais atributos na tabela;
 ● Drop Table <tabela>: Exclui uma tabela de um ban-
co de dados;
FIQUE ATENTO
Alguns dos comandos listados anteriormente 
não fazem parte do SQL Standard definido pela 
ISO/IEC 9075 e são exclusivos de alguns SGBD 
específicos. Assim, só serão executados correta-
mente nesses SGBD específicos, gerando erro se 
executados em outros�
Comandos SQL – DMLs
Linguagem de Manipulação de Dados (DML) trata-se 
de um conjunto de instruções criadas para a manipu-
lação de dados� Abaixo seguem alguns dos principais 
comandos DMLs para se trabalhar com os dados (ou 
valores) de tabelas:
24
 ● Insert into <tabela> values (<valorm1>, <valorm2>
…<valormn>): Comando feito para inserir dados em 
uma tabela conforme o atributo de criação da tabela;
 ● Update <tabela> set <atributo> = <novo_valor>: 
Comando para alterar os dados de um ou mais atri-
butos em todas as linhas da tabela�
 ● Update <tabela> set <atributo> = <novo_valor> 
where <condição>: Similar ao comando anterior, usa-
do para alterar os dados de um ou mais atributos, 
mas limitando a ação a algumas linhas da tabela, 
filtradas pela condição especificada na cláusula 
WHERE.
 ● Delete from <tabela>: Comando utilizado para ex-
cluir todas as linhas de uma tabela�
 ● Delete from <tabela> where <condição>: Similar 
ao comando anterior, porém exclui apenas as linhas 
filtradas pela condição especificada na cláusula 
WHERE.
 ● Select <atributos> from <tabela>: Comando para 
exibir os dados dos atributos desejados de todas as 
linhas da tabela�
 ● Select <atributos> from <tabela> where <condi-
ção>: Similar ao comando anterior, mas exibe os 
dados dos atributos desejados apenas das linhas 
filtradas pela condição na cláusula WHERE.
E agora que tal ver na prática como tudo isso 
funciona?
25
Vamos pensar numa consulta de dados��� Nesse 
caso, vamos usar o comando SELECT, que nos per-
mite retornar informações que foram colocadas nas 
nossas tabelas�
O comando SELECT nos permite recuperar dados a 
partir de uma ou mais tabelas de banco de dados, 
abaixo vamos ver um modelo de como esse coman-
do funciona:
SELECT coluna_lista -> (lista das colunas da tabela 
onde deve buscar a informação);
FROM tabela_lista -> (tabela onde estão contidas 
as colunas a serem recuperadas);
WHERE linha_condições -> (determina as condi-
ções utilizadas para filtrar quais linhas da tabela 
devem retornar);
GROUP BY coluna_lista -> (indica como se deseja 
que as informações sejam agrupadas antes de 
retornar, e o resultado será retornado por grupo e 
ordenado por ele);
HAVING grupo_condições -> (refere-se aos atribu-
tos e indica em que condições a informação deve 
ser retornada ou não);
ORDER BY ordenar_lista ASC | DESC -> (indica a 
ordem em que se quer o retorno das informações)�
26
Conceitos na prática
Vamos então colocar esses conceitos na prática:
Supondo que você tem que recuperar dados de uma 
tabela, sempre use o comando FROM antes do nome 
da tabela�
Logo na sequência, você tem que descrever os dados 
que você deseja recuperar, então você faz uma lista 
das colunas da tabela após o SELECT.
Pensando numa empresa, vamos considerar que 
você trabalha para o RH e precisa gerar uma lista de 
funcionários com sobrenome e nome�
A execução dessa lista seria da seguinte maneira:
SELECT Sobrenome FROM colaboradores
Essa busca traria os valores da coluna sobrenome 
em todas as linhas da tabela funcionários e nos traria 
o resultado a seguir:
27
Figura 20: Resultado da busca por sobrenome. Fonte: Elaboração 
própria.
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�
Ao especificar as colunas das quais queremos o 
retorno dos valores em nossa consulta, apenas os 
resultados que precisamos serão devolvidos�
Por exemplo, para retornar o primeiro nome (Nome), 
sobrenome (Sobrenome) e cargo (Título) de todos os 
funcionários, você pode executar a seguinte consulta:
SELECT Sobrenome, Nome, Título FROM 
funcionários
O retorno será:
28
Figura 21: Resultado da busca por sobrenome, nome e título. Fonte: 
Elaboração própria.
Vamos pensar agora nos outros comandos, que tal 
criar uma tabela?
Para usar o comando CREATE é preciso antes en-
tender uma tabela�
As tabelas são objetos dentro de um banco de dados 
e são divididas em linhas e colunas� As linhas repre-
sentam um dado individual e cada coluna pode ser 
vista como uma representação dessa coletânea de 
dados�
Então, se tivermos uma tabela para registar as in-
formações dos clientes, as colunas podem incluir 
informações como Primeiro Nome, Apelido, Morada, 
Cidade, País, Data de Nascimento e demais dados 
pessoais. E, para definir cada item desses, criamos 
uma coluna com os respectivos cabeçalhos�
29
Esses dados têm a possibilidade de ser um número 
inteiro (como 1), um número real (como 0,55), uma 
cadeia (tal como ‘sql’), uma expressão de data/hora 
(tal como ‘2000-DEZ-25 01:11:11’) ou até um formato 
binário�
Quando criamos uma tabela, é preciso detalhar o 
tipo de dados associados a cada coluna�
Um fato que podemos colocar em evidencia é que 
diferentes bases de dados relacionais podem ter 
diversos tipos de dados, portanto, quando for criar 
um banco de dados, na parte da criação das tabelas, 
é preciso conhecer o processo do projeto e consultar 
os documentos de especificação relativo à base de 
dados�
Vamos à parte prática� Para criar uma tabela, geral-
mente usamos a sintaxe SQL para tabelas que é a 
CREATE TABLE, então vai ficar mais ou menos assim:
CREATE TABLE “nome_tabela”
(““coluna1”” tipo_dados_para_coluna_1”,
“coluna1”” tipo_dados_para_coluna_2” ���);
Então, se a estrutura basicamente é a estrutura aci-
ma, para criarmos uma tabela de clientes poderíamos 
fazer assim:
CREATE TABLE Usuários – Criamos uma tabela 
com nome de USUARIOS;
Primeiro nome char (50) – Adicionamos uma co-
luna para armazenar o primeiro nome, com até 50 
caracteres;
30
Último nome char (50) – Adicionamos outra co-
luna para armazenar o último nome, com até 50 
caracteres;
Endereço char (50) – Uma coluna para armazenar 
o endereço, com até 50 caracteres;
Bairro char (50) – Uma coluna para armazenar o 
bairro, com até 50 caracteres;
Cidade char (50) – Uma coluna para armazenar a 
cidade, com até 50 caracteres;
País char (50) – Uma coluna para armazenar o 
país, com até 50 caracteres;
Data de Aniversário date time – Uma coluna para 
armazenar data de nascimentoou aniversário�
A estrutura de uma tabela pode ser alterada, a seguir 
vamos acompanhar algumas possíveis alterações� 
A sintaxe básica para isso é:
ALTER TABLE tabela
ação coluna;
Abaixo, sigamos algumas variações dessa sintaxe 
com ALTER TABLE:
Adicionar uma coluna à tabela:
ALTER TABLE nome_tabela ADD nome_coluna 
tipo_dados;
31
Excluir uma coluna de uma tabela:
ALTER TABLE nome_tabela DROP COLUMN 
nome_coluna;
Alterar o tipo de dados de uma coluna:
ALTER TABLE nome_tabela MODIFY COLUMN 
nome_coluna tipo_dados;
Adicionar uma constraint (restrição) do tipo NOT 
NULL a uma coluna:
ALTER TABLE nome_tabela MODIFY nome_coluna 
tipo_dados NOT NULL;
Alterar uma tabela para adicionar uma constraint 
de chave primária a uma coluna:
ALTER TABLE nome_tabela ADD CONSTRAINT 
nome_constraint PRIMARY KEY (coluna1, colu-
na2, ���); 
Excluir uma constraint de uma tabela:
ALTER TABLE nome_tabela DROP CONSTRAINT 
nome_constraint;
Vamos ver agora como é possível excluir dados de 
uma tabela com comandos SQL� A sintaxe base para 
excluir dados de uma tabela é:
DELETE FROM “nome_tabela” WHERE “condição”
Na prática, podemos pensar assim:
32
Temos a tabela abaixo:
Nome da Lojas Vendas Data da venda 
São Paulo 1500 05/01/1999
Rio de Janeiro 250 07/01/1999
Salvador 300 08/01/1999
Fortaleza 700 08/01/1999
Tabela 1: Informações das lojas Fonte: Elaboração própria.
A partir da tabela acima, apontamos, por exemplo, 
que a unidade do Rio de Janeiro será fechada, en-
tão do nosso relatório mensal queremos retirar o 
Rio de Janeiro e decidirmos não manter quaisquer 
informações sobre essa loja nesta tabela� Para tal, 
escrevemos a seguinte instrução SQL:
DELETE FROM Nome das lojas WHERE Nome das 
lojas = ‘Rio de Janeiro’;
A tabela então ficaria assim:
Nome da Lojas Vendas Data da venda 
São Paulo 1500 05/01/1999
Salvador 300 08/01/1999
Fortaleza 700 08/01/1999
Tabela 2: Informações das lojas sem Rio de Janeiro. Fonte: Elaboração 
própria.
FIQUE ATENTO
O comando UPDATE é usado para se atualizar de 
uma vez só todo o conteúdo da coluna de uma 
tabela, com uma única instrução�
33
A cláusula SET diz quais os nomes das colunas 
da tabela e os novos valores. Esses novos valo-
res podem ser valores literais, resultados de ex-
pressões ou subconsultas�
 ● A cláusula WHERE filtra quais linhas da tabela de-
vem ser atualizadas�
 ● O UPDATE é um comando opcional� Se não usamos 
a cláusula WHERE todas as linhas da tabela serão 
atualizadas�
 ● Portanto, o WHERE é muito importante e definitivo 
para uma atualização de uma tabela�
Os comandos apresentados são os comandos bási-
cos para operações básicas. Essas operações podem 
ser mais especificas de acordo com as informações 
que queremos�
Um sistema de banco de dados tem que apresentar 
uma visão abstrata do banco de dados para o usu-
ário, ou seja, para o usuário do banco de dados não 
faz diferença qual unidade de armazenamento está 
sendo usada para guardar seus dados, desde que 
eles estejam disponíveis no momento necessário�
Porém, para quem desenvolve, é necessário colher 
a maior quantidade de dados possível para que o 
que foi solicitado saia da melhor maneira possível�
34
SAIBA MAIS
Para conhecer um pouco mais a respeito, aces-
se este muito interessante livro sobre estrutura 
de SQL – Linguagem SQL fundamentos e prática, 
de Virginia Cardoso e Giselle Cardoso� Acesse 
o link da Minha Biblioteca: https://integrada.mi-
nhabiblioteca.com.br/#/books/9788502200463/
cfi/0!/4/4@0.00:39.0
35
CONSIDERAÇÕES FINAIS
Os bancos de dados surgiram da necessidade de 
armazenamento de informações� Pensar em infor-
mações hoje em dia é pensar em dinheiro, elas têm 
muito valor, e uma velocidade de transição de in-
formações é muito grande� Antes se armazenavam 
dados em planilhas e em papel, o que gerava um 
grande custo tanto para armazenar como para guar-
dar as informações�
O conceito de SQL foi criado nos anos 1970, na IBM, 
e essa linguagem melhorou e persiste como base 
para os demais bancos de dados que vemos hoje em 
dia� O banco tem um sistema de gerenciamento de 
banco de dados (SGBD) que deixa a sua manutenção 
mais fácil� Os principais comandos do SQL podem 
ser divididos em duas partes: DDL e DML�
Na prática, é possível inserir e manipular dados em 
um banco de dados� Além do SQL, hoje não é possível 
ter um sistema sem um banco de dados, e ter um 
banco de dados robusto só traz ganhos para qualquer 
empreendimento�
36
SÍNTESE
Conceitos na prática
Comandos SQL – DMLs
Comandos SQL – DDLs
Comandos de banco de dados 
Particularidades de banco de dados
O que são banco de dados?
• Bancos de dados relacionais;
• Banco de dados orientados a objetos; 
• Banco de dados orientados a objetos; 
• Data warehouse;
• Banco No SQL;
• Bancos de dados gráficos; 
• Bancos de dados OLTP;
• Bancos de dados OLTP;
• Bancos de dados em nuvem;
• Banco de dados Multimodelo;
• Banco de dados de 
documentos/JSON;
• Bancos de dados autônomos.
Conceito de linguagem de programação SQL
PROGRAMAÇÃO EM 
BANCO DE DADOS 
Neste e-book estudamos os seguintes tópicos:
Referências Bibliográficas 
& Consultadas
AMADEU, C. V. Banco de dados� São Paulo: 
Pearson Education do Brasil, 2014. [Biblioteca 
Virtual]�
BARBOZA, F. F. M.; FREITAS, P. H. C. Modelagem e 
desenvolvimento de banco de dados� Porto Alegre: 
SAGAH, 2018. [Minha Biblioteca].
BRYLA, B; LONEY, K. Oracle Database 11g manual 
do DBA� Porto Alegre: Bookman, 2009�
CARDOSO, V�; CARDOSO G� Linguagem SQL funda-
mentos e prática. São Paulo: Editora Saraiva, 2017. 
[Minha Biblioteca].
DATE, C. J. Introdução a sistemas de bancos de 
dados. Rio de Janeiro: Elsevier, 2004.
ELMASRI, R.; NAVATHE, S. B. Sistemas de ban-
co de dados� 4� ed� São Paulo: Pearson Addison 
Wesley, 2010�
HOTEK, M. Kit de treinamento MCTS – Microsoft 
SQL Server 2008: implementação e manutenção� 
Porto Alegre: Bookman, 2010. [Minha Biblioteca].
IBM� Simplifique a administração do banco de da-
dos e acelere o desenvolvimento de aplicativos e 
aumente a colaboração� Disponível em: http://ibm.
com� Acesso em: 16 fev� 2018�
LEBLANC, P. Microsoft SQL Server 2012: passo 
a passo. Porto Alegre: Bookman, 2014. [Minha 
Biblioteca]�
MACHADO, F� N� R�; Banco de Dados: Projeto e im-
plementação. 3. ed. São Paulo: Érica, 2014. [Minha 
Biblioteca]�
MANNINO, M� V� Projeto, desenvolvimento de apli-
cações e administração de banco de dados� 3� ed� 
Porto Alegre: AMGH, 2014. [Minha Biblioteca].
MANZANO, J. A. N. G. MySQL 5.5 interativo: guia 
essencial de orientação e desenvolvimento� São 
Paulo: Érica, 2011. [Minha Biblioteca].
MICROSOFT� Execute o SQL Server na sua pla-
taforma favorita� Disponível em: www.microsoft.
com� Acesso em: 01 abr� 2020� 
O’HEAM, S. OCA Oracle Database: SQL Certified 
Expert Exam Guide. New York: Mc Graw Hill, 2010.
ORACLE HELP CENTER. Database SQL Reference: 
selecting from the DUAL table� Disponível em: ht-
tps://docs.oracle.com/en/database/oracle/oracle-
-database/19/sqlrf/Selecting-from-the-DUAL-Table.
html� Acesso em: 01 abr� 2020�
POSTGRESQL. Documentação do PostgreSQL 
8.0.0: uma breve história do PostgreSQL� 
Disponível em: http://pgdocptbr.sourceforge.net/
pg80/� Acesso em: 01 abr� 2020�
PRICE, J. Oracle Database 11g SQL� Porto Alegre: 
Bookman, 2009 [Minha Biblioteca].
RADA, A.; MELNYK, R. Compare the distributed 
DB2 10�5 database servers� ibm.com� Disponível 
em: https://www.ibm.com/developerworks/data/li-
brary/techarticle/dm-1311db2compare/index.html� 
Acesso em: 01 abr� 2020�
SILBERSCHATZ, A.; KORTH, H.; SUBARSHAN, S. 
Sistema de banco de dados� 5� ed� Rio de Janeiro: 
Campus, 2006�
WATSON, J.; RAMKLASS, R. OCA Oracle Database 
11g Fundamentos SQL I� Rio de Janeiro: Alta 
Books, 2010�
	_GoBack
	relational
	object-oriented
	data-warehouse
	nosql
	graph
	oltp
	cloud
	multimodel
	_GoBack
	_GoBack
	INTRODUÇÃO
	Conceitos
	Conceitos de SQL (Structured Query Language) e banco de dados
	Particularidades de banco de dados
	Comandos de banco de dados
	Considerações finais
	Síntese

Continue navegando