Pablo Juan é um especialista em MongoDB que apresentará sobre o banco de dados NoSQL MongoDB, incluindo sua história, compreensão, operações CRUD e responderá perguntas.
1) O documento discute SQL e NoSQL, tipos de bancos de dados relacionais e não relacionais.
2) MongoDB é apresentado como um banco de dados não relacional do tipo document store, no qual os dados são armazenados em formato JSON.
3) Relacionamentos um-para-muitos podem ser representados de forma normalizada ou embedded no MongoDB.
1) O documento discute técnicas de programação para acessar bancos de dados usando JDBC, incluindo como configurar o acesso ao banco de dados, executar consultas SQL, e lidar com resultados e erros.
2) É explicado como configurar o driver JDBC, JNDI e conexão no Tomcat e como usar classes como Connection, Statement e ResultSet para executar consultas e processar resultados.
3) É destacada a importância de fechar corretamente os recursos abertos para evitar vazamentos de memória.
O documento resume as principais características e conceitos do MongoDB, um banco de dados NoSQL orientado a documentos. Em menos de 3 frases:
O documento discute as principais funcionalidades e conceitos do MongoDB, incluindo sua arquitetura não-relacional baseada em documentos JSON, operações básicas como insert, find, update e remove, além de exemplos demonstrando o mapeamento entre conceitos relacionais e não-relacionais.
On holiday, I gave some courses about Java. Then I created this slide for dealing about JDBC. I hope it be useful.
Ramon Pereira Lopes
Ramon.Lopes@Sun.COM
Esta apresentação integra o conjunto de materiais didáticos do curso a distância Desenvolvimento de Aplicativos Desktop em Java Aplicando Padrões de Projeto.
O documento resume o banco de dados MongoDB, descrevendo-o como um banco NoSQL orientado a documentos criado em 2007. Explica que é escrito em C++ e tem interface em JavaScript, permitindo programação no banco de dados em JavaScript. Apresenta suas principais características como não ser relacional e ter esquema flexível.
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeGabriela Ferrara
O documento apresenta uma introdução ao tipo de dados JSON no MySQL 5.7, descrevendo suas principais funcionalidades como validação automática, tipos de dados suportados, funções para criação, busca, modificação e retorno de atributos de dados JSON, e a possibilidade de criação de índices.
Pablo Juan é um especialista em MongoDB que apresentará sobre o banco de dados NoSQL MongoDB, incluindo sua história, compreensão, operações CRUD e responderá perguntas.
1) O documento discute SQL e NoSQL, tipos de bancos de dados relacionais e não relacionais.
2) MongoDB é apresentado como um banco de dados não relacional do tipo document store, no qual os dados são armazenados em formato JSON.
3) Relacionamentos um-para-muitos podem ser representados de forma normalizada ou embedded no MongoDB.
1) O documento discute técnicas de programação para acessar bancos de dados usando JDBC, incluindo como configurar o acesso ao banco de dados, executar consultas SQL, e lidar com resultados e erros.
2) É explicado como configurar o driver JDBC, JNDI e conexão no Tomcat e como usar classes como Connection, Statement e ResultSet para executar consultas e processar resultados.
3) É destacada a importância de fechar corretamente os recursos abertos para evitar vazamentos de memória.
O documento resume as principais características e conceitos do MongoDB, um banco de dados NoSQL orientado a documentos. Em menos de 3 frases:
O documento discute as principais funcionalidades e conceitos do MongoDB, incluindo sua arquitetura não-relacional baseada em documentos JSON, operações básicas como insert, find, update e remove, além de exemplos demonstrando o mapeamento entre conceitos relacionais e não-relacionais.
On holiday, I gave some courses about Java. Then I created this slide for dealing about JDBC. I hope it be useful.
Ramon Pereira Lopes
Ramon.Lopes@Sun.COM
Esta apresentação integra o conjunto de materiais didáticos do curso a distância Desenvolvimento de Aplicativos Desktop em Java Aplicando Padrões de Projeto.
O documento resume o banco de dados MongoDB, descrevendo-o como um banco NoSQL orientado a documentos criado em 2007. Explica que é escrito em C++ e tem interface em JavaScript, permitindo programação no banco de dados em JavaScript. Apresenta suas principais características como não ser relacional e ter esquema flexível.
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeGabriela Ferrara
O documento apresenta uma introdução ao tipo de dados JSON no MySQL 5.7, descrevendo suas principais funcionalidades como validação automática, tipos de dados suportados, funções para criação, busca, modificação e retorno de atributos de dados JSON, e a possibilidade de criação de índices.
O documento apresenta uma introdução ao PHP, linguagem de programação usada para desenvolvimento web. Aborda conceitos como estrutura de código PHP, variáveis, constantes, arrays, operadores, estruturas de controle e formulários. Apresenta exemplos de código PHP para ilustrar cada tópico.
A palestrante apresentou as principais novidades do MySQL 5.7 em 3 frases:
1) O MySQL 5.7 trouxe melhorias no suporte a operações DDL em tempo real, armazenamento de dados JSON, colunas geradas e o novo schema "sys" para monitoramento.
2) As colunas geradas permitem indexar valores calculados sem ocupar espaço em disco, enquanto colunas armazenadas indexam esses valores de forma armazenada.
3) O schema "sys" fornece visões para monitorar consultas caras, índices não utiliz
Dicionários são estruturas de dados que implementam mapeamentos entre pares de chave-valor. Eles permitem armazenar e acessar dados de forma flexível através de chaves de qualquer tipo imutável, ao contrário de listas que usam apenas índices numéricos. O documento descreve como criar, modificar e acessar dados em dicionários em Python.
O documento apresenta uma introdução ao jQuery, abordando os seguintes tópicos: fundamentos do JavaScript e do DOM, preparação do ambiente jQuery, seletores, manipulação de CSS e conteúdo, eventos e funções. O documento fornece uma visão geral dos principais conceitos e funcionalidades do jQuery.
Este documento apresenta os objetivos e etapas para criar sites dinâmicos com PHP e MySQL. Os objetivos incluem visualizar, inserir, atualizar e apagar dados armazenados em bancos de dados. As etapas são: 1) estabelecer ligação ao MySQL, 2) escolher banco de dados, 3) extrair dados através de queries, 4) preparar dados para PHP, 5) mostrar dados, 6) fechar ligação.
Este documento apresenta os conceitos fundamentais para criar sites dinâmicos com PHP e MySQL, incluindo como estabelecer conexão com o banco de dados, extrair e mostrar dados através de queries, e fechar a conexão. O objetivo é permitir visualização, navegação e gestão da informação armazenada no banco de dados.
1) O documento apresenta o framework JavaScript ExtJS, demonstrando seus principais componentes e funções por meio de uma aplicação simples utilizando PHP e PostgreSQL.
2) As seções abordam JavaScript, ExtJS, AJAX, PHP e PostgreSQL, culminando em uma aplicação funcional com cadastros.
3) O objetivo é auxiliar na compreensão dos conceitos por meio de exemplos práticos interligando a interface, servidor e banco de dados.
Palestra sobre persistência de dados no SQLite com Room API apresentada no TDC São Paulo 2017 (19/07/2017). O Room é um dos Architectural Components apresentados pelo Google no Google I/O 2017.
O documento resume as orientações do método Object Calisthenics para escrever códigos simples e de alta qualidade. As orientações incluem: 1) usar apenas um nível de identação por método; 2) evitar usar a palavra-chave "else"; 3) encapsular tipos primitivos se tiverem comportamento.
Este documento habla sobre tres categorías principales de productos para bebés: ropa, muebles y accesorios. Finaliza agradeciendo al lector por su visita.
A Manufatura Real de Porcelana de Meissen celebra 300 anos desde sua fundação em 1710 pelo Príncipe-Eleitor da Saxônia. O alquimista Friedrich Böttger descobriu a fórmula para produzir porcelana dura semelhante à chinesa. A produção da primeira porcelana européia começou secretamente no Castelo de Albrecht em Meissen em 1710.
Fundamentos de derecho plantas juan carlos becerril cruzJuanca BC
Este documento describe los requerimientos de tres plantas: el amaranto, que necesita luz, agua regular cada 3 días, y temperaturas cálidas entre 30°C y 40°C; el mini cactus, que requiere mucha luz y la mínima agua posible, y puede tolerar temperaturas extremas de hasta 50°C; y la chinchilla, que necesita luz, mucha agua, aire, y temperaturas tropicales entre 20°C y 35°C.
Este documento presenta un resumen del diagnóstico de consumo de energía eléctrica en un hogar durante 2011. Muestra tablas con el consumo mensual de energía en kWh de diciembre de 2010 a noviembre de 2011, así como una tabla que detalla el consumo de varios aparatos eléctricos como refrigerador, televisores, lavadora, licuadora, etc. El consumo total mensual fue de 328.605 kWh y los mayores consumidores fueron el refrigerador, los televisores y las lámparas. Se proponen medidas
La educación puede ser sincrónica o asincrónica, con o sin distancia o presencialidad. La educación sincrónica es en tiempo real con interacción entre estudiantes y profesores, mientras que la asincrónica permite a los estudiantes acceder al contenido en cualquier momento.
Este documento describe un proyecto integrador sobre lógica matemática realizado en la Fundación San Mateo. El proyecto aborda conceptos de lógica matemática y bibliografía relacionada con el tema.
O documento apresenta uma introdução ao PHP, linguagem de programação usada para desenvolvimento web. Aborda conceitos como estrutura de código PHP, variáveis, constantes, arrays, operadores, estruturas de controle e formulários. Apresenta exemplos de código PHP para ilustrar cada tópico.
A palestrante apresentou as principais novidades do MySQL 5.7 em 3 frases:
1) O MySQL 5.7 trouxe melhorias no suporte a operações DDL em tempo real, armazenamento de dados JSON, colunas geradas e o novo schema "sys" para monitoramento.
2) As colunas geradas permitem indexar valores calculados sem ocupar espaço em disco, enquanto colunas armazenadas indexam esses valores de forma armazenada.
3) O schema "sys" fornece visões para monitorar consultas caras, índices não utiliz
Dicionários são estruturas de dados que implementam mapeamentos entre pares de chave-valor. Eles permitem armazenar e acessar dados de forma flexível através de chaves de qualquer tipo imutável, ao contrário de listas que usam apenas índices numéricos. O documento descreve como criar, modificar e acessar dados em dicionários em Python.
O documento apresenta uma introdução ao jQuery, abordando os seguintes tópicos: fundamentos do JavaScript e do DOM, preparação do ambiente jQuery, seletores, manipulação de CSS e conteúdo, eventos e funções. O documento fornece uma visão geral dos principais conceitos e funcionalidades do jQuery.
Este documento apresenta os objetivos e etapas para criar sites dinâmicos com PHP e MySQL. Os objetivos incluem visualizar, inserir, atualizar e apagar dados armazenados em bancos de dados. As etapas são: 1) estabelecer ligação ao MySQL, 2) escolher banco de dados, 3) extrair dados através de queries, 4) preparar dados para PHP, 5) mostrar dados, 6) fechar ligação.
Este documento apresenta os conceitos fundamentais para criar sites dinâmicos com PHP e MySQL, incluindo como estabelecer conexão com o banco de dados, extrair e mostrar dados através de queries, e fechar a conexão. O objetivo é permitir visualização, navegação e gestão da informação armazenada no banco de dados.
1) O documento apresenta o framework JavaScript ExtJS, demonstrando seus principais componentes e funções por meio de uma aplicação simples utilizando PHP e PostgreSQL.
2) As seções abordam JavaScript, ExtJS, AJAX, PHP e PostgreSQL, culminando em uma aplicação funcional com cadastros.
3) O objetivo é auxiliar na compreensão dos conceitos por meio de exemplos práticos interligando a interface, servidor e banco de dados.
Palestra sobre persistência de dados no SQLite com Room API apresentada no TDC São Paulo 2017 (19/07/2017). O Room é um dos Architectural Components apresentados pelo Google no Google I/O 2017.
O documento resume as orientações do método Object Calisthenics para escrever códigos simples e de alta qualidade. As orientações incluem: 1) usar apenas um nível de identação por método; 2) evitar usar a palavra-chave "else"; 3) encapsular tipos primitivos se tiverem comportamento.
Este documento habla sobre tres categorías principales de productos para bebés: ropa, muebles y accesorios. Finaliza agradeciendo al lector por su visita.
A Manufatura Real de Porcelana de Meissen celebra 300 anos desde sua fundação em 1710 pelo Príncipe-Eleitor da Saxônia. O alquimista Friedrich Böttger descobriu a fórmula para produzir porcelana dura semelhante à chinesa. A produção da primeira porcelana européia começou secretamente no Castelo de Albrecht em Meissen em 1710.
Fundamentos de derecho plantas juan carlos becerril cruzJuanca BC
Este documento describe los requerimientos de tres plantas: el amaranto, que necesita luz, agua regular cada 3 días, y temperaturas cálidas entre 30°C y 40°C; el mini cactus, que requiere mucha luz y la mínima agua posible, y puede tolerar temperaturas extremas de hasta 50°C; y la chinchilla, que necesita luz, mucha agua, aire, y temperaturas tropicales entre 20°C y 35°C.
Este documento presenta un resumen del diagnóstico de consumo de energía eléctrica en un hogar durante 2011. Muestra tablas con el consumo mensual de energía en kWh de diciembre de 2010 a noviembre de 2011, así como una tabla que detalla el consumo de varios aparatos eléctricos como refrigerador, televisores, lavadora, licuadora, etc. El consumo total mensual fue de 328.605 kWh y los mayores consumidores fueron el refrigerador, los televisores y las lámparas. Se proponen medidas
La educación puede ser sincrónica o asincrónica, con o sin distancia o presencialidad. La educación sincrónica es en tiempo real con interacción entre estudiantes y profesores, mientras que la asincrónica permite a los estudiantes acceder al contenido en cualquier momento.
Este documento describe un proyecto integrador sobre lógica matemática realizado en la Fundación San Mateo. El proyecto aborda conceptos de lógica matemática y bibliografía relacionada con el tema.
O projeto visa envolver alunos desinteressados sobre a ditadura militar no Brasil (1964-1985) utilizando tecnologias digitais. Os alunos pesquisarão o tema online, assistirão filmes, entrevistarão parentes, visitarão um memorial e apresentarão trabalhos em grupo sobre o regime militar e a resistência. O projeto ocorrerá em agosto utilizando computadores, internet e outros recursos digitais para motivar a aprendizagem dos alunos sobre este importante período histórico.
O documento descreve as características das células eucarióticas, distinguindo-as das procarióticas. As células eucarióticas possuem organelos como mitocôndrias, cloroplastos e um núcleo envolto por uma membrana nuclear. O texto também lista e descreve os principais organelos encontrados nas células eucarióticas vegetais e animais.
Este documento lista atividades, programas e ofertas especiais em Monfortinho, Portugal entre 21 de novembro e 1 de janeiro, incluindo: (1) um menu temático com sabores da caça e cogumelos; (2) uma peça de teatro em 21 de novembro; (3) um concerto do Harlem Gospel Choir.
Este documento fornece resumos de vários livros recomendados no Plano Nacional de Leitura de Portugal. Inclui resumos de obras literárias como "As Naus de Verde Pinho" de Manuel Alegre, "Mar Me Quer" de Mia Couto, e "O Dia Cinzento" de Mário Dionísio, bem como informações sobre nível escolar recomendado e grau de dificuldade.
Este documento discute el tema de la atención médica en el sector salud pública de México. Señala que aunque los gobiernos implementan programas de salud, la realidad es que el personal médico y administrativo a veces trata mal a los pacientes y la calidad de atención depende de factores como la posición social. El documento concluye instando a trabajar por una atención médica de calidad para todos en el sector público.
Este documento fornece uma introdução sobre SQL e NoSQL. Explica que SQL é usado para banco de dados relacionais enquanto NoSQL é usado para bancos de dados não relacionais e fornece exemplos de bancos de dados populares para cada categoria.
O documento resume os principais conceitos e comandos do MongoDB, incluindo como selecionar e visualizar bancos de dados e coleções, inserir, consultar, atualizar e remover documentos, criar índices, realizar relacionamentos entre coleções e utilizar recursos como sharding, replica e aggregation framework.
O documento discute como dinamizar um site estático usando localStorage, Kizzy e Head.js para armazenar dados do usuário localmente, carregar scripts de forma assíncrona e manter o código limpo usando MVC e isolamento de views com Backbone.js.
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Dickson S. Guedes
O documento discute como dividir aplicações complexas em módulos menores utilizando extensões do PostgreSQL. Isso permite melhor modularidade, reutilização de código e gerenciamento de versões. O exemplo mostra como criar validadores de CPF e e-mail como uma extensão, permitindo validações no banco de dados de forma centralizada.
O documento descreve como o MySQL 5.7 suporta armazenar e manipular documentos JSON utilizando o novo tipo de dados JSON. Exemplos mostram como inserir, selecionar, filtrar e modificar dados em colunas JSON usando funções como JSON_EXTRACT, JSON_SEARCH e JSON_SET.
O documento discute MongoDB, um banco de dados NoSQL, comparando-o com MySQL. MongoDB armazena dados em documentos JSON flexíveis ao invés de tabelas rígidas, permitindo queries dinâmicas. Ele também suporta operações como map-reduce para agregação de dados e sharding para distribuição de dados em vários servidores.
O documento resume as principais informações sobre MongoDB: (1) Sua origem vem da palavra "humongous"; (2) Foi criado pelos fundadores da Doubleclick e a 10gen foi fundada em 2007; (3) MongoDB pode substituir bancos relacionais em alguns casos quando há necessidade de escalabilidade e desempenho.
Este documento fornece uma introdução ao MongoDB, explicando seus principais conceitos como coleções, documentos e campos. Também mostra como instalar e usar o MongoDB Shell para manipular bancos de dados, coleções, documentos e realizar consultas, ordenações, atualizações e remoções.
O documento introduz jQuery e AJAX. Resume os principais pontos sobre jQuery: (1) é uma biblioteca JavaScript que facilita a manipulação do DOM e eventos; (2) permite códigos mais sucintos e independentes de navegador; (3) inclui recursos como AJAX e animações.
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...Big Data Week São Paulo
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big Data
No workshop, um ambiente MongoDB distribuído será configurado de maneira a possibilitar a escalabilidade de sua aplicação. Serão abordadas boas práticas para a utilização da infra-estrutura além dos seguintes temas:
- Replicas e sharding;
- Definição, utilização e manutenção de índices;
- Map Reduce vs Aggregate;
- Ferramentas úteis.
Pre-requisitos:
Computador pessoal com MongoDB 2.6 instalado (http://www.mongodb.org/downloads)
No Ubuntu, o pacote é o mongodb-org; repositório disponível em http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/.
Gabriel Campos
Co-fundador e CTO da Zahpee.
Bacharel em Ciência da Computação pela UFMG. Há mais de quatro anos atua no desenvolvimento de coleta, processamento e visualização de dados. MongoDB entusiasta e administrador do banco de dados da Zahpee.
Slides do mini-curso de MongoDB realizado no Workshop de Software Livre 2010 do CInLUG, no Centro de Informática da Universidade Federal de Pernambuco em 24/08/2010. Instrutores: Brunno Gomes (@brunnogomes) e Daker Fernandes (@dakerfp).
O documento discute vários componentes de interface do usuário em Android, incluindo TextView, CheckBox, RadioButton, ProgressBar, EditText, ImageView e ImageButton. Fornece exemplos de código XML para declarar esses componentes em layouts e explica brevemente como cada um funciona.
O documento resume as principais características do MongoDB, um banco de dados NoSQL orientado a documentos e esquema-livre. Ele explica que o MongoDB é escalável, de alto desempenho e open source, armazena dados em formato de documentos JSON ou BSON, permite esquemas flexíveis e não requer migrations. Além disso, ressalta que as propriedades ACID ficam a cargo do programador e apresenta alguns comandos básicos para usar o MongoDB via terminal.
Kotlin: conhecendo features de uma linguagem modernaFabrício Rissetto
1. O documento discute as características da linguagem de programação Kotlin, comparando-a com Java.
2. Kotlin é uma linguagem estaticamente tipada, compilada para bytecode da JVM e interoperável com Java, tornando-se popular entre desenvolvedores.
3. O documento explora recursos como variáveis imutáveis, classes, pattern matching, enums, listas e outros recursos que tornam Kotlin mais concisa e segura do que Java.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
6. Movimento teve inicio no começo de 2009.
“NoSQL é um movimento que promove soluções de armazenamento de dados não relacionais.” (PORCELLI,
2011)
Próxima geração de banco de dados abordando áreas como: não relacional, distribuído, open-source e
escalabilidade horizontal.
Isaac Garcia Jorge
8. Key/value (Chave/Valor):
Esse é o tipo de banco de dados NoSql mais simples, o conceito dele é uma chave e um valor para esta
Ele é o que aguenta mais carga de dados.
Esses tipos de banco de dados são os que têm a maior escalabilidade.
Isaac Garcia Jorge
10. Wide Colum Store (Big
Table):
Fortemente inspirados pelo BigTable do Google;
Suporta várias linhas e colunas, além disso ele permite sublinhas e subcolunas;
Suporta um grande numero de colunas dinamicas (linha acima);
Schema-free;
Isaac Garcia Jorge
12. Graph Store(orientado a
grafo):
Modalidade de banco mais complexa;
Estrutura baseada em grafos, nós, pontes e etc;
Guardam objetos e não registros como nos outros NoSQL;
A busca destes itens são feitas pela navegação destes objetos;
Isaac Garcia Jorge
14. Document Store (orientado a
documento):
Desenvolvido para guardar, gerenciar e manipular informações orientadas a documentos (também conhecido
como data semi estruturada);
Baseado em documentos XML ou JSON;
Podem ser localizados pelo seu id único ou por qualquer registro que tenha no documento:
Isaac Garcia Jorge
21. _id
ObjectId("507f1f77bcf86cd799439011")
string
número (int, double, float)
…
Só não pode ser tipo array [ ]
Restrições:
PS: ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp() = ISODate("2012-10-15T21:26:17Z")
Isaac Garcia Jorge
24. Instalação como serviço no Windows:
1) Fazer download no site: http://www.mongodb.org/downloads
2) Descompactar os arquivos (preferencialmente em c:)
3) Abrir o CMD e digitar o comando >cd [caminho onde esta o MongoDB]
4) Criar uma pasta data com as subpastas datadb e datalog com o comando
a) >md datadb
b) >md datalog
5) Criar um arquivo de configuração com a extenção .config setando, no mínimo o caminho do banco e o
caminho de log
a) dbpath=c:datadb
b) logpath=c:datalogmongolog.txt
6) Iniciar o serviço com o comando >net start MongoDB
7) Iniciar o serviço com o comando >mongo
Isaac Garcia Jorge
25. DATABASE
TABLE
ROWS
QUERY
INDEX
PARTITION
DATABASE
COLLECTION
DOCUMENT
JSON
INDEX
SHARD
Isaac Garcia Jorge
Terminologia:
26. Criação e uso de Base:
CREATE DATABASE usuario;
GO
USE usuario;
>use usuario;
Isaac Garcia Jorge
27. Criação de tabela usuários e inserção:
CREATE TABLE dbo.cetiUser{
id INT IDENTITY,
nome VARCHAR(100),
matricula int,
idade int,
dataCriacao DATETIME,
cep VARCHAR(10),
cidade VARCHAR(50),
rua VARCHAR(150),
numero INT,
complemento VARCHAR(100)}
INSERT INTO dbo.cetiUser
VALUES('Isaac’, 2968,22, GETDATE(),
'00000-000', 'RJ', 'Inoã', 123, 'casa 180')
db.cetiUser.save({
"nome":"Isaac",
"matricula":2968,
"idade":22,
"endereço" : {
"cep":"00000-
00",
"cidade":"RJ",
"rua":"Inoã",
"numero":123,
"complemento": "casa180"
}
});
Isaac Garcia Jorge
28. Alteração de tabela (documento) e inserção:
Isaac Garcia Jorge
db.cetiUser.save({
"nome":"Carla",
"matricula":3000,
"sexo":"F",
"endereço" : {
"cep":"10000-
00",
"cidade":"SP",
"rua":"Cascalhos",
"numero":62,
"complemento": "apto: 10"
}
});
ALTER TABLE dbo.cetiUser
ADD sexo char(1)
INSERT INTO dbo.cetiUser
VALUES('Carla’, 3000, 24, GETDATE(),
'10000-000', 'SP', 'Cascalhos', 62,
'apto: 10','F')
29. Consultas:
SELECT * FROM usuario;
SELECT * FROM usuario WHERE matricula = 2968;
Consulta somente com os campos nome e sexo
SELECT nome, sexo FROM usuario WHERE matricula = 2968;
Consulta sem os campos id e apelido
SELECT nome, dataCriacao, cep, cidade, rua, numero, complemento,FROM usuario WHERE matricula =
2968;
Isaac Garcia Jorge
>db.cetiUser.find();
>db.cetiUser.find({matricula: 2968});
>db.cetiUser.find({matricula: 2968});
Consulta somente com os campos nome e sexo:
>db.cetiUser.find({matricula: 2968},{ nome:1, matricula:1});
Consulta sem os campos id e apelido:
>db.cetiUser.find({matricula: 2968},{ _id:0, apelido:0});
30. Consultas:
Isaac Garcia Jorge
SELECT * FROM usuario WHERE nome;LIKE (‘*isaac*’)
>db.cetiUser.find({nome: /Isaac*/i});
>db.cetiUser.find({nome : { $regex : 'Isaac*'}});
31. Exclusão:
Isaac Garcia Jorge
Apaga toda a tabela:
DELETE FROM usuario
Apaga com condição:
DELETE FROM usuario WHERE nome = ‘Isaac’
Apaga toda a tabela:
>db.cetiUser.remove();
Apaga com condição:
>db.cetiUser.remove({nome: "Carla"});
32. Operadores ($gt, $gte, $lt, $lte):
Isaac Garcia Jorge
SELECT * FROM usuario WHERE idade;> 22
SELECT * FROM usuario WHERE idade;>= 22
SELECT * FROM usuario WHERE idade;< 24
SELECT * FROM usuario WHERE idade;<= 24
>db.cetiUser.find({idade: {$gt: 22}});
>db.cetiUser.find({idade: {$gte: 22}});
>db.cetiUser.find({idade: {$lt: 24}});
>db.cetiUser.find({idade: {$lte: 24}});
33. Outros operadores:
$all - retorna o objeto onde todos os valores foram encontrados
$exists - retorna o objeto caso uma chave exista
$or - retorna o objeto caso a cláusula OU for verdadeira
$and - retorna o objeto caso a cláusula E for verdadeira
$type - retorna o objeto caso a chave seja do tipo especificado para conferir a lista dos tipos e seus valores
$ne (not equal) - retorna o objeto onde o valor não foi encontrado
$in - retorna o objeto se o valor foi encontrado
$nin (not in) - retorna o objeto se nenhum dos valores foi encontrado
$nor (not or) - retorna o objeto caso a cláusula negação do OU for verdadeira
$mod - retorna o objeto quando o módulo de um valor for encontrado
Isaac Garcia Jorge
34. Consultas ordenadas:
Isaac Garcia Jorge
SELECT * FROM usuario WHERE nome;ASC
SELECT * FROM usuario WHERE nome;DESC
>db.cetiUser.find().sort({nome:1});
>db.cetiUser.find().sort({nome:-1});
35. Alteração:
Isaac Garcia Jorge
UPDATE cetiUser SET idade = 28 WHERE matricula = 2968
SELECT * FROM usuario WHERE nome;DESC
> usuario = db.cetiUser.findOne({matricula: 2968});
> usuario.idade = 28
> db.cetiUser.save(usuario);
======================================================
> db.cetiUser.update({matricula: 2968},{$set: {matricula: 2900}});
36. Criação de index:
Isaac Garcia Jorge
CREATE INDEX usuario_nome_index ON usuario (nome)
> db.cetiUser.ensureIndex({nome:1});
> db.cetiUser.ensureIndex({nome:1,idade:1});
37. Importação de dados de arquivo externo:
> mongoimport --db [nome do banco] --collection [nome da collection] --file [camino]
Isaac Garcia Jorge
38. Executar script antes de alguma ação:
> mongo [caminho do arquivo js] --shell
Isaac Garcia Jorge