Sobre este encontro

Modelagem do Banco de Dados · Prof. Afonso

Objetivo de aprendizagem

Ao final do encontro, o estudante deve ser capaz de aplicar ao projeto os conceitos de Modelagem do Banco de Dados. Escopo do encontro: Projete e implemente bancos de dados relacionais eficientes e escaláveis.

Estratégia do encontro

Exposição dialogada dos conceitos, alternada com aplicação guiada ao projeto do grupo, e fechamento com verificação do entendimento.

Estrutura do encontro

  1. Agenda Consolidada
  2. 1) Como o SQL funciona de verdade
  3. 2) Linguagens do SQL (DDL, DML, DCL, TCL)
  4. 3) Performance e objetos de apoio
  5. 4) Segurança: SQL Injection
  6. 5) Dapper e integração com .NET
  7. 6) Além do ER: visão corporativa
  8. 7) NoSQL orientado a agregados

Agenda Consolidada

1) Como o SQL funciona de verdade

2) Linguagens do SQL (DDL, DML, DCL, TCL)

BEGIN;
UPDATE conta SET saldo = saldo - 100 WHERE id = 1;
UPDATE conta SET saldo = saldo + 100 WHERE id = 2;
COMMIT;

3) Performance e objetos de apoio

4) Segurança: SQL Injection

Evitar concatenação de strings em comandos SQL. Sempre usar parâmetros.

// Dapper seguro
var sql = "SELECT * FROM usuarios WHERE email = @Email";
var user = connection.QueryFirstOrDefault(sql, new { Email = email });

5) Dapper e integração com .NET

var sql = "INSERT INTO pedidos(cliente_id, total) VALUES(@ClienteId, @Total)";
connection.Execute(sql, pedido);

6) Além do ER: visão corporativa

7) NoSQL orientado a agregados

db.createCollection("pedidos", {
  validator: { $jsonSchema: { bsonType: "object", required: ["clienteId", "itens"] } }
});

8) Entregável da Aula 3