BDNRAula02ModelagemNaoRelacional.pdf
TDC
The Dev Conference
DESC keyspace;
USE default_keyspace;
CREATE TABLE mercadoria (
categoria TEXT,
id_mercadoria UUID,
nome TEXT,
valor DECIMAL,
PRIMARY KEY (categoria, ID_MERCADORIA));
)
INSERT INTO mercadoria (categoria, nome, valor, id_mercadoria)
VALUES ('ALIMENTO','Presunto',15, now());
INSERT INTO mercadoria (categoria, nome, valor, id_mercadoria)
VALUES ('LIMPEZA','Desinfetante',5.5, now()); -- 2x
INSERT INTO mercadoria (categoria, nome, valor, id_mercadoria)
VALUES ('LIMPEZA','Pudim',5.5, now());
Criar a tabela RECEITA com nome_receita TEXT, data DATE, revisor TEXT, avaliacao INT e comentario TEXT.
CREATE TABLE receita (
nome_receita TEXT,
data DATE,
revisor TEXT,
avaliacao INT,
comentario TEXT,
PRIMARY KEY ((nome_receita), data, revisor)
)
WITH CLUSTERING ORDER BY (data DESC, revisor ASC)
INSERT INTO receita (nome_receita, data, revisor, avaliacao, comentario)
VALUES ('Pizza', '2024-04-01', 'João Pedro One', 10, 'Gostei da Pizza...');
INSERT INTO receita (nome_receita, data, revisor, avaliacao, comentario)
VALUES ('Pizza', '2024-04-01', 'João Pedro Two', 6, 'Poderia ser melhor...');
INSERT INTO receita (nome_receita, data, revisor, avaliacao, comentario)
VALUES ('Pastel', '2024-04-04', 'Gabriel One', 9, 'Poderia ser mais receado...') IF NOT EXISTS;
Atualização da nota de 6 para 9
UPDATE receita SET avaliacao = 8
WHERE nome_receita = 'Pizza'
AND data = '2024-04-01'
AND revisor = 'João Pedro Two'
IF avaliacao = 6;
Batches (Execução de várias instruções de forma atomica). Menos sobrecarga pois parte do mesmo nó usando comandos DML.
BEGIN BATCH
INSERT INTO receita (nome_receita, data, revisor, avaliacao, comentario)
VALUES ('Bolacha', '2024-04-02', 'Augusto', 7, 'Deliciosa');
INSERT INTO receita (nome_receita, data, revisor, avaliacao, comentario)
VALUES ('Café', '2024-04-03', 'Dioules', 0, 'Muito bom, odeie');
APPLY BATCH;
Begin Batch
insert into receita (nome_receita, data, revisor, avaliacao, comentario)
values ('Bolacha Maisena', '2024-04-04', 'Augusto', 10, 'Deliciosa');
Insert into receita (nome_receita, data, revisor, avaliacao, comentario)
values ('Cafe', '2024-04-04', 'Jules', 7, 'Quente');
apply Batch;
Criação de índice chamado idx_receita para a coluna revisor
CREATE INDEX idx_receita
SET: conj. de dados onde armazenamos um grupo de elementos ELIMINANDO os valores duplicados
LIST: conj. de dados onde armazenamos um grupo de elementos, INCLUINDO os valores duplicados
Criar uma tabela aluno com matricula int, nome TEXT
CREATE TABLE aluno (
matricula INT,
nome TEXT,
data DATE,
email SET<TEXT>,
curso LIST<TEXT>,
PRIMARY KEY (matricula, nome)
);
INSERT INTO aluno (matricula, nome, data, email, curso)
VALUES (11, 'Shophia', '2024-04-04', {'[email protected]', '[email protected]'}, ['CD', 'CD'])
Alterar a tabela aluno acrescentando a nita
ALTER TABLE aluno