Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem SQL_
Guilherme Baião S. Silva
2022
SUMÁRIO
Capítulo 1. Fundamentos do Oracle ........................................................................ 5
2
8.1. Conceitos iniciais ............................................................................................................. 53
Referências ......................................................................................................................... 69
3
1
Capítulo 1. Fundamentos do Oracle
1.1. Conceitos Iniciais
Segundo o ranking do site DB-Engines (https://db-
engines.com/en/ranking), o Oracle é o Sistema Gerenciador de Bancos de
Dados (SGBD) mais utilizado no mundo1. Foi criado em 1977 por Larry
Ellison, Bob Miner e Ed Oates, cofundadores da Oracle Corporation, que
naquela época se chamava Relational Software Inc. (RSI). Em 1979, foi
lançada a primeira versão comercial e, desde então, sua evolução tem sido
constante.
• Express Edition (XE): é a versão gratuita, que pode ser utilizada por
estudantes e profissionais que querem aprender a administrar
bancos de dados Oracle ou mesmo desenvolver aplicações utilizando
esse SGBD. Possui limitações em relação ao número de threads de
CPU utilizadas, tamanho das bases armazenadas, quantidade de
1
Dados acessados em março de 2022.
5
pluggable databases, dentre outras. Por ser uma versão
“comunidade”, o Oracle XE não possui suporte e a Oracle não libera
patches de atualização para essa versão. Existe apenas um fórum de
discussão disponível no próprio site da Oracle para que seus
usuários possam compartilhar o conhecimento a respeito dessa
versão com base em perguntas e respostas.
6
para cada módulo do sistema dependendo do seu tamanho) que utiliza o
banco de dados. Quando criamos uma tabela ou um índice, informamos o
tablespace ao qual este objeto deverá pertencer. Ao instalarmos o banco de
dados o Oracle cria o tablespaces “USERS” como padrão.
Cada tablespace, por sua vez, possui um ou mais datafiles, que são
os arquivos físicos que armazenam os dados propriamente ditos. Nos
datafiles, os dados são armazenados em blocos de dados, cujo tamanho é
especificado quando o banco de dados é criado (o valor padrão é 8 Kbytes).
Fonte: www.oracle.com/br/technical-resources/articles/tablespaces-concept-
introduction.html.
7
Além do tablespace USERS já citado, outros tablespaces são criados
quando o banco de dados é instalado:
8
1.3. Multitenant e Pluggable Database
A partir da versão 12c, a Oracle incorporou em seu SGBD o conceito
de arquitetura multitenant, que permite que várias bases de dados sejam
alocadas em um único container (uma única instalação do Oracle). Os
objetivos, neste caso, são: minimizar os investimentos em infraestrutura
(otimizando o uso de recursos de sistema) e simplificar algumas atividades
de administração dos bancos de dados, como a realização de backups e a
aplicação de patches, por exemplo.
Os PDBs, por sua vez, são os bancos onde são armazenados os dados
e metadados das aplicações propriamente ditos. Eles podem ser "plugados"
ou "desplugados" do CDB conforme necessidade.
9
modelo tradicional (Non-CDB) ou single tenant (permite apenas um PDB), já
que o modelo multitenant só está disponível na versão enterprise e tem um
custo mais elevado de licenciamento.
Fonte: www.oracle.com/br/technical-resources/articles/database-
performance/database-multitenant-oracle-12cr1.html.
10
2
Capítulo 2. Instalação do Oracle
2.1. Instalação do engine Oracle XE
A seguir, veremos os passos para instalação do Oracle Express
Edition 21c (gratuito) no sistema operacional Windows.
12
finalizado o download, é preciso extrai-lo para uma pasta do computador.
Após a extração, para dar início à instalação, execute o arquivo “setup.exe”
que fica na primeira subpasta da pasta onde foi realizada a extração.
Será exibida, então, uma tela onde será necessário informar uma
senha para os usuários administradores do banco. É importante ficar atento
a essa senha, pois ela é essencial para o acesso e utilização posterior do
banco de dados.
13
URL do EM Express: http://localhost:5500/em
14
Um outro comando simples que pode ser testado no SQL Plus é o
comando para exibição da data e hora atuais:
SQL> startup
15
O primeiro passo é selecionar a versão. Aqui utilizaremos a versão
para Windows 64bit com JDK 8 incluso. O arquivo para download tem cerca
de 430 MB. Ao clicar no link da versão escolhida, será necessário dar o aceite
nos termos de licenciamento.
16
3
Capítulo 3. Acessando o Oracle com o SQL Developer
3.1. Conectando ao banco de dados
O primeiro passo para a utilização do SQL Developer é a criação de
uma nova conexão com o banco de dados. No SQL Developer é possível
definir uma conexão com o banco de diferentes formas, sendo que as mais
utilizadas são: (a) o modo básico, (b) utilizando um arquivo de TNSNames e
(c) utilizando strings JDBC. No modo básico é necessário informar o nome
do host, a porta e o SID ou nome do serviço. Já no TNSNames basta informar
o nome da conexão que está cadastrado no arquivo tnsnames.ora e neste
arquivo estarão todas as características da conexão. Inicialmente criaremos
uma conexão utilizando o modo básico e depois faremos utilizando um
arquivo tnsnames.
Para uma nova conexão, basta clicar no sinal “+” verde que aparece
no canto superior esquerdo da tela, conforme mostrado na imagem abaixo.
18
facilidade o banco no qual estamos conectando e o usuário que iremos
utilizar nesta conexão. Podemos utilizar, por exemplo, o nome “LOCAL_SYS”.
No tipo de autenticação manteremos o valor “Padrão”, no nome do usuário
informaremos o usuário “sys”, na atribuição (que fica logo na frente do nome
do usuário) selecionaremos a opção “SYSDBA” e na senha informaremos a
senha que foi informada durante a instalação do Oracle. No nome do host
manteremos o “localhost”, uma vez que estamos executando o SQL
Developer no mesmo computador em que o banco de dados foi instalado, na
porta manteremos o valor “1521” que é o valor padrão do Oracle, e no SID,
que é o nome identificador da instância, informaremos “xe”. 2 Após fornecer
esses valores, você pode clicar no botão testar para ver se a conexão será
estabelecida com sucesso. Em caso afirmativo, podemos salvá-la e ela
passará a ser exibida no canto esquerdo da tela, na lista de “Oracle
Conexões”.
Para utilizar essa conexão, basta dar um duplo clique sobre ela (ou
clicar com o botão direito e selecionar a opção “conectar”) e, em seguida,
informar novamente a senha do usuário que foi informado na configuração
da conexão. Ao conectar, será exibida no canto esquerdo a árvore de objetos
pertencentes ao esquema do usuário que estamos utilizando para conexão
(por enquanto, estamos utilizando “sys”).
2
Para conferir o SID de uma instalação Oracle, você pode se conectar com o usuário SYS via
SQL Plus e digitar a seguinte consulta: select instance_name from v$instance ;
19
que chamamos de “BDLOCAL”, utilizando service name ao invés de SID3. Em
seguida, salve esse arquivo com o nome de “tnsnames.ora” na subpasta
“network/admin” que fica dentro do diretório ORACLE HOME (esse é sempre
o caminho padrão do tnsnames.ora).
BDLOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = XE)
)
)
3
Para conferir os services names disponíveis em uma instalação, você pode se conectar com
o usuário SYS via SQL Plus e digitar a seguinte consulta: select value from v$parameter where
name like '%service_name%'.
20
novamente o tipo de autenticação “Padrão”, o usuário “sys” com atribuição
“SYSDBA” e sua respectiva senha. No tipo de conexão selecionaremos a
opção “TNS” e no aliás da rede selecionaremos o nome que demos à conexão
que configuramos no arquivo tnsnames.ora (BDLOCAL). Por fim, podemos
testar a conexão criada e, em seguida, salvá-la.
21
concedem ao novo usuário a permissão para criar novas sessões no banco,
criar novas tabelas e utilizar até 2MB de espaço no tablespace “USERS”,
respectivamente.
BDLOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = XE)
)
)
BDLOCAL_XEPDB1 =
22
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = XEPDB1)
)
)
23
alteração. Antes da execução do commit, os dados alterados ainda não
estarão gravados em disco e não estarão disponíveis para demais sessões
de usuários do banco. Se o “commit” não for executado, quando a sessão
atual for finalizada, as alterações serão desfeitas automaticamente
(rollback). Após executar os comandos, clique novamente sobre a tabela
para visualizar os dados inseridos através do SQL Developer.
• “Localizar objetos do BD” que exibe uma seção para facilitar a busca
por um objeto específico no banco com base no seu nome (ou parte
do nome).
24
No canto inferior esquerdo existe uma seção dedicada a relatórios.
Muitos desses relatórios são úteis para a administração e monitoramento do
banco de dados, como por exemplo: exibição dos datafiles e status de cada
um deles; exibição de bloqueios (locks) no banco de dados, caso existam;
estatísticas de uso da memória do computador pelo Oracle; visualização dos
parâmetros do banco de dados; diversos tipos de relatórios para sessões de
usuários no banco; relatórios relacionados à segurança do banco de dados,
com destaque para relatórios de auditoria e também relatórios de
permissões atuais dos usuários; relatórios de objetos do banco de dados.
25
4
Capítulo 4. Fundamentos do PostgreSQL
4.1. Conceitos Iniciais
O PostgreSQL é um SGBD objeto-relacional gratuito (para fins
comerciais ou não) e open source. É considerado uma boa solução para
aplicações que precisam de confiabilidade, desempenho e com baixos
custos de licenciamento.
4
Dados acessados em março de 2022 – https://db-engines.com/en/ranking
27
pelo Conselho Nacional de Justiça (CNJ) e utilizado em vários tribunais de
justiça estaduais.
28
• background writer: é um processo que move dados modificados da
memória (shared buffer) para o disco em background, reduzindo a
carga do checkpoint.
29
todos os bancos), "pg_wal" (subpasta que armazena os arquivos de WAL)5,
PG_VERSION (arquivo que identifica a versão do banco), pg_hba.conf e
postgresql.conf que são arquivos de configuração.
5
Antes da versão 10, a pasta “pg_wal” recebia o nome de “pg_xlog”.
6
Atualmente tratamos uma instalação de um SGBD como um cluster do banco de dados;
mesmo quando estamos trabalhando com um servidor único, é comum referenciá-lo como
cluster.
30
5
Capítulo 5. Instalação do PostgresQL
5.1. Instalação do PostgreSQL Server e pgAdmin
A URL para download do PostgreSQL é
https://www.postgresql.org/download/. Nesta página, o primeiro passo é
escolher o sistema operacional. No nosso caso trabalharemos com o
Windows (há versões disponíveis também para Linux, macOS, BSD e Solaris).
32
Na tela seguinte você seleciona os componentes a serem instalados.
Para nosso cenário instalaremos o "PostgreSQL Server" que é o “engine” do
banco propriamente dito, o "pgAdmin 4" que é o cliente gráfico que
utilizaremos e "Command Line Tools" que são os utilitários para operação
do banco de dados utilizando linha de comando. A opção "Stack Builder"
deverá ser desmarcada. Trata-se de uma interface gráfica para facilitar a
instalação de módulos complementares do PostgreSQL, tais como
extensões, plugins e drivers.
33
instalação é de 5 minutos, mas esse tempo pode variar bastante de acordo
com os recursos disponíveis na máquina em que a instalação está sendo
feita.
34
máscaras para especificar intervalos de IP que podem
acessar. Exemplo: o número 32, após a barra que aparece
depois do IP, indica que a conexão deve partir daquele IP
exato. Já o valor 24, no lugar do 32, indicaria que qualquer IP
do intervalo 127.0.0.xxxx poderia acessar. O valor 16
indicaria a necessidade de validação somente dos dois
primeiros números do IP (ou seja, qualquer IP que iniciasse
com 127.0.) Esse parâmetro não precisa ser informado se o
"TYPE" for igual a "local".
35
• postgresql.conf: No arquivo postgresql.conf são definidos todos os
valores de parâmetros referentes ao funcionamento do PostgreSQL.
Cada valor atribuído a um parâmetro deve estar em uma linha,
utilizando-se a sintaxe:
nome_parametro = valor
SHOW log_filename;
36
A view pg_settings exibe, além do nome e do valor atual do
parâmetro, outras informações úteis, tais como: tipo de dado aceito no valor
do parâmetro, unidade de medida para o caso de parâmetros numéricos,
descrição do parâmetro, dentre outros.
37
6
Capítulo 6. Utilizando o pgAdmin
6.1. Inicializando e conectando a pgAdmin
Antes de utilizarmos o pgAdmin, é necessário garantir que o servidor
do banco de dados PostgreSQL esteja sendo executado. No Windows é
possível conferir, através do gerenciador de serviços do próprio sistema
operacional, se o serviço do PostgreSQL está em execução e utilizar o
gerenciador de tarefas para verificar se os processos do PostgreSQL estão
ativos, conforme imagens abaixo:
39
Figura 10 – Processos do PostgreSQL no Windows.
7
É possível desabilitar essa senha modificando o valor do parâmetro
MASTER_PASSWORD_REQUIRED para “False” no arquivo config.py que fica localizado na
subpasta “web” do diretório de instalação do pgAdmin ( C:\Program
Files\PostgreSQL\14\pgAdmin 4\, por exemplo).
40
igual à imagem abaixo, para que sejam informados os parâmetros da
conexão com o banco.
41
Sempre que o servidor aparecer junto ao ícone do elefante (símbolo
do PostgreSQL), significa que a conexão com o servidor já está ativa. Caso
apareça um ícone que representa três dispositivos de armazenamento com
um “x” vermelho, indica que aquela conexão não está ativa (neste caso é
possível clicar com o botão direito sobre o servidor e selecionar a opção
“Connect server”).
42
ou através do ícone no canto superior esquerdo da tela. No Query Tool,
utiliza-se a seta ícone do “play” ou a tecla F5 para executar o comando.
43
Figura 12 – Conferência do banco de dados no Query Tool.
44
o botão direito sobre a tabela e selecionando a opção “View / Data > All rows”.
Essa opção abrirá uma tela mostrando os dados atuais da tabela e permitirá
que você altere esses dados sem a utilização de comandos SQL. Já no Query
Tool, pode-se realizar as mesmas operações utilizando comandos SQL.
Abaixo estão listados, por exemplo, comandos SQL que permitem,
respectivamente: inserir dois novos registros na tabela criada, exibir os
dados da tabela e excluir um dos registros que foram inseridos.
45
7
Capítulo 7. Introdução aos Bancos de Dados Não Relacionais
(NoSQL)
7.1. Definição e tipos
Os bancos de dados não relacionais são também conhecidos como
NoSQL8. Esse modelo de banco de dados começou a ganhar força em
meados da primeira década dos anos 2000, quando o volume de dados
disponíveis na web já estava crescendo de forma exponencial e as
organizações começaram a perceber a necessidade de fazer análises e
armazenar parte desses dados. Entretanto, os bancos de dados relacionais,
além de pouco escaláveis, apresentavam dificuldades para armazenar
algumas estruturas de dados mais complexas, tais como colunas aninhadas
e tabelas dinâmicas.
8
Alguns autores e profissionais da área consideram o termo NoSQL como “Não SQL” e outros
consideram como “Não somente SQL” (do inglês “Not Only SQL”).
47
Em 2004, o Google lançou o BigTable, que era uma proposta de
banco de dados de alto desempenho e grande escalabilidade. Vários autores
apontam esse projeto como a primeira grande aplicação de bancos de dados
não relacionais. Em 2005, o CouchDB foi lançado pela Apache, utilizando o
formato JSON para o armazenamento de dados. A partir daí várias outras
propostas surgiram nesse sentido, dentre as quais podemos citar: o Dynamo
da Amazon, lançado em 2007, o Cassandra, lançado pelo Facebook em 2008,
e o MongoDB, lançado em 2009.
48
agrupados por colunas (e não por registros como nos bancos
relacionais), tendem a ser mais lentos para escrita dos dados e mais
ágeis para a leitura, o que faz com que sejam considerados uma boa
opção para aplicações OLAP. Alguns exemplos mais conhecidos
deste modelo são o Cassandra e o HBase.
49
RELACIONAIS NÃO RELACIONAIS
As estruturas para armazenamento dos Não possui definição de estrutura e
dados e os tipos são definidos tipos, ou a definição é feita de forma
previamente. dinâmica.
Maior segurança e integridade dos Não possui restrições de integridade
dados, graças às restrições de dos dados.
integridade.
Escalabilidade vertical, ou seja, requer Escalabilidade horizontal, com maior
maior infraestrutura de hardware facilidade para criação de ambientes
quando o volume de dados aumenta clusterizados, graças a uma maior
muito. facilidade para particionamento e
replicação dos dados.
Um único modelo de armazenamento Vários modelos de armazenamento
baseado em tabelas e relacionamentos (documentos, grafos, colunas, chave-
entre elas. valor).
Transações ACID para garantir a A consistência é eventual e relativa.
consistência dos dados. Leva em conta o teorema CAP. O
teorema CAP defende que, em um
sistema distribuído, só podemos ter
duas das três características desejadas:
“C” (consistência), “A” (disponibilidade,
ou no inglês availability) e “P”
(tolerância ao particionamento, ou seja,
o cluster continua a funcionar mesmo
em casos de falhas de comunicação
entre os nós do sistema).
50
disponibilidade e tolerância ao
particionamento).
Consulta e manipulação dos dados por Não há uma linguagem padrão para
meio da linguagem SQL. acesso e manipulação dos dados.
Utilizam APIs baseadas em objetos que
permitem às aplicações acessarem os
dados.
São capazes de trabalhar com Indicados para aplicações de baixa
aplicações OLTP e OLAP. latência, que fazem pesquisa e análise
em grandes volumes de dados
semiestruturados.
A performance é influenciada por A performance varia em função do
diversos fatores, dentre os quais os tamanho do cluster, da latência de rede
principais são: capacidade do hardware e da aplicação que acessa os dados.
(principalmente velocidade do disco),
otimização de consultas, utilização
correta de índices e modelagem correta
da estrutura de armazenamento.
51
8
Capítulo 8. Fundamentos do MongoDB
8.1. Conceitos iniciais
O MongoDB é um banco de dados não relacional (NoSQL) orientado
a documentos. Segundo o ranking do DB-Engines, é o banco de dados não
relacional mais utilizado atualmente.
53
de informações e intercâmbio de dados entre sistemas, assim como o XML.
Porém, o JSON é considerado mais simples que o XML.
{
"sequencial":1,
"tipo":"Livro",
"nome":"Introdução ao MongoDB",
"ano": 2022,
"autores": ["Guilherme Baião", "José da Silva"]
}
54
coleção está contida sempre em um único banco). E cada coleção pode
possuir diversos documentos. Cada documento, conforme já comentado, é
um conjunto de pares "chave:valor". Vale lembrar que os documentos
possuem estrutura dinâmica, ou seja, os campos e tipos de dados podem
variar de um documento para outro.
55
9
Capítulo 9. Instalação do MongoDB
9.1. Instalando o MongoDB e MongoDBCompass
O primeiro passo é fazer o download do instalador do banco. Para
isso, basta acessar o site do MongoDB (mongodb.com), clicar em "Products"
e, em seguida, clicar no link “Community Server”. No canto direito da nova
página que será exibida, selecionamos a versão a ser instalada e o sistema
operacional. Neste exemplo utilizamos a versão 5.0.6 e a plataforma
Windows. Selecionados esses parâmetros, clica-se no botão “Download”,
conforme tela da imagem abaixo.
57
rede (opção que vem selecionada por default). O nome do serviço no
Windows e os diretórios onde os arquivos de dados e de log serão
armazenados podem ser alterados se necessário. Neste exemplo iremos
alterar o nome do serviço para MongoDB5 e manteremos os diretórios
informados como padrão. Veja a tela na imagem abaixo:
Após clicar em “Next” será exibida uma nova tela do instalador onde
é possível indicar se o MongoDB Compass deverá ser instalado ou não. O
Compass é a interface gráfica que permite acessar e interagir com o servidor
do MongoDB. Portanto, manteremos esta opção selecionada e clicaremos
em “Next” mais uma vez. A tela exibida na sequência é apenas uma
confirmação da instalação e, ao clicarmos no botão “Install”, a instalação
será iniciada. Ao finalizar a instalação, será exibida uma nova tela
informando o término. Basta clicar em “Finish” para encerrar a execução do
instalador.
58
serviço referente ao MongoDB Server está sendo exibido. Também pode ser
verificado se o software MongoDB Compass foi instalado.
9
Caso o processo servidor tenha sido iniciado pelo “mongod” e não pelo serviço do Windows,
a janela que iniciou esse processo deverá permanecer aberta durante a utilização do banco.
59
abaixo. É importante ressaltar que se executarmos o “show dbs” logo após a
criação de um novo banco, ele não será listado, pois ainda está vazio. Mas
podemos utilizar o comando “db” para exibir o banco de dados corrente e,
neste caso, poderemos conferir se já estamos no banco de dados que
acabamos de criar.
> db.createCollection("colecao_teste")
> db.colecao_teste.insert(
{
"nome" : "Carlos Aguiar",
"idade" : 32,
"telefone" : "(31) 99999-9999"
})
Observe que após executar o comando de inserção, o Mongo exibe
uma mensagem ( WriteResult({ "nInserted" : 1 }) ) para confirmar a inserção
de um novo documento. O comando para exibir os documentos de uma
coleção é o “find”. Os dados também são exibidos utilizando o padrão JSON.
O primeiro dos dois comandos abaixo exibe os documentos da coleção que
acabamos de criar. O segundo utiliza ainda o procedimento “pretty”
juntamente com o “find” para formatar os dados exibidos:
> db.colecao_teste.find()
> db.colecao_teste.find().pretty()
60
Ao exibir os dados, podemos perceber que o Mongo cria
automaticamente, para cada documento armazenado, um identificador
único, que é mostrado na chave “_id”. Cabe ressaltar que em momento algum
foi necessário definirmos a estrutura que o documento teria antes de iniciar
a inserção dos dados (como acontece nos bancos relacionais em que temos
que definir a estrutura das tabelas antes de iniciarmos o armazenamento
dos dados). Observe que agora o banco de dados que criamos anteriormente
já possui um documento armazenado e, por isso, se executarmos o comando
“show dbs” novamente, ele será listado. Com o comando abaixo iremos
inserir mais um documento em nossa coleção.
> db.colecao_teste.insert(
{
"nome" : "Marta Maria",
"idade" : 43,
"estado civil": "casada"
})
Podemos utilizar o “find” novamente para visualizar os dados
armazenados. Como parâmetro do “find” podemos utilizar uma grande
variedade de filtros para restringir os documentos a serem exibidos. Esses
filtros incluem operadores lógicos, operadores de comparação, dentre
outros. Veja, por exemplo, os comandos “find” abaixo:
61
por um novo valor (ou inserir um novo par chave-valor caso a chave
informada não exista), “push” para acrescentar um novo valor à lista de
valores (no caso de valores do tipo array) e “inc” para acrescentar um valor
ao valor atual da chave. Veja como exemplo os três comandos abaixo:
> db.colecao_teste.update(
{"nome": /^M/},
{
$inc : {
"idade" : 15
}
}
)
> db.colecao_teste.update(
{},
{
$set :
{"email" : ["nao informado"]}
},
{multi : true}
> db.colecao_teste.update(
{"idade": 32},
{
$push :
{"email" : "teste@teste.com.br"}
}
)
62
anterior. Sugere-se a execução do find novamente para visualização dessas
alterações.
> db.colecao_teste.remove({"idade":32})
> db.colecao_teste.drop()
> db.dropDatabase()
63
10
Capítulo 10. Utilizando o MongoDB Compass
10.1. Conectando ao banco de dados
Antes de iniciarmos o MongoDB Compass, é importante conferir se
o serviço do banco de dados está em execução. Ao iniciarmos a execução do
Compass, a primeira coisa que precisamos fazer é criar uma nova conexão
com o banco de dados. No endereço
https://www.mongodb.com/docs/manual/reference/connection-string/ é
possível conferir todos os detalhes sobre opções e parâmetros possíveis
para a criação dessa conexão. Entretanto, de forma simplificada, podemos
utilizar a string abaixo, já que neste exemplo acessaremos um servidor local,
instalado na mesma máquina em que o Compass está sendo executado.
mongodb://localhost:27017
65
servidor e algumas informações resumidas de cada um deles (tamanho,
quantidade de coleções e quantidade de índices). Ao clicar sobre qualquer
um desses bancos são exibidas as informações principais sobre as coleções
que estão contidas nele (tamanho, quantidade de documentos, tamanho
médio dos documentos, dentre outras). Há também um botão “Create
Database” que permite a criação de um novo banco e uma nova coleção no
Mongo apenas informando o nome de ambos, sem a necessidade de
digitação de comandos.
66
direita do termo de busca, também é possível definir parâmetro de projeção
(Project), ordenação (sort), regras para comparação de string (collation),
limite de documentos a serem exibidos (limit), quantidade de documentos a
serem ignorados (skip) e o tempo máximo permitido para execução da
pesquisa. A projeção é usada para especificar os campos (chaves) que devem
ser exibidos no resultado da pesquisa (“0” ou “false” indica que o campo não
deve ser exibido; “1” ou “true” indica que o campo deve ser exibido). No sort
especifica-se o(s) campo(s) que deve(m) servir de referência para ordenação
dos resultados e o tipo de ordenação (“1” para ascendente ou “-1” para
descendente). No collation existe a possibilidade de se utilizar um valor
referente a vários idiomas ou países. O valor mais comum utilizado é o
“simple” para ordenação binária padrão. No campo “limit” pode-se informar
uma quantidade limite de documentos a serem exibidos, utilizando o “0”
para indicar que não haverá limite. No campo de tempo máximo de execução
da consulta, informa-se o tempo máximo permitido para execução da
consulta em milissegundos e, se a consulta não for encerrada nesse tempo,
ela será abortada. O valor padrão é de 60000 ms (60 segundos). No skip
indica-se a quantidade de documentos a serem ignorados, ou seja, se uma
consulta retornaria 15 documentos, por exemplo, com o skip igual a 3 ela
passa a retornar apenas 12, pois os 3 primeiros documentos não serão
exibidos. Os argumentos skip e limit podem ser utilizados em conjunto
dentro de códigos de páginas web para a paginação dos resultados.
67
Figura 17 – Primeiro exemplo de pesquisa no MongoDB Compass.
68
Referências
O QUE é NoSQL?. AWS, c2022. Disponível em:
<https://aws.amazon.com/pt/nosql/>. Acesso em: 27 abr. 2022.
PRICE, Jason. Oracle Database 12c SQL. 1. ed. Mc Graw Hill, 2013.
69