Modelagem de Dados (Básica)

Trabalhar com bancos relacionais exige uma modelagem prévia dos dados, utilizando o Modelo Entidade-Relacionamento (MER). A ideia aqui é criar noções básicas para entender como organizar os dados, sem aprofundar nos passos detalhados da criação do MER.

Exemplo de Modelagem:

Para o nosso sistema de loja simples, consideramos duas entidades principais: Usuários e Produtos. A modelagem relaciona essas entidades para gerenciar as compras realizadas pelos usuários.

Linguagem SQL

SQL (Structured Query Language) é a linguagem utilizada para gerenciar bancos de dados relacionais. Ela permite inserir, buscar e manipular dados de forma eficiente.

Recursos para Testes de SQL:

Principais Comandos SQL:

  • CREATE DATABASE <nome>;

    • Cria um novo banco de dados.

  • USE <nome do banco>;

    • Seleciona o banco de dados para operações subsequentes.

  • CREATE TABLE <nome>(campos com tipo e restrições);

    • Cria uma nova tabela com os campos definidos.

  • SELECT * FROM <tabela>;

    • Retorna todos os registros da tabela.

  • UPDATE <tabela> SET <campos e valores> WHERE <condição>;

    • Atualiza registros que atendem à condição.

  • DELETE FROM <tabela> WHERE <condição>;

    • Remove registros que atendem à condição.

  • SELECT u.nome, u.id FROM usuario u;

    • Retorna campos específicos com alias para simplificar a referência.

  • JOINs:

    • Exemplo:

      SELECT u.nome AS usuario, p.nome AS produto, c.valor, c.data 
      FROM usuario u 
      JOIN compra c ON c.id_usuario = u.id 
      JOIN produto p ON c.id_produto = p.id;

    • Realiza junções entre tabelas relacionadas para combinar dados de diferentes entidades.

Tipos de Dados:

  • INTEGER: Número inteiro.

  • CHAR(n): Cadeia de caracteres de tamanho fixo.

  • VARCHAR(n): Cadeia de caracteres de tamanho variável.

  • REAL, DOUBLE: Números de ponto flutuante.

  • TEXT: Texto de comprimento ilimitado.

  • DATE, TIME: Datas e horas.

Diferença entre VARCHAR(n) e CHAR(n):

  • VARCHAR(n): Ocupa espaço proporcional ao número de caracteres armazenados (até o limite n).

  • CHAR(n): Ocupa sempre n caracteres, preenchendo com espaços se necessário.

Restrições:

  • PRIMARY KEY: Define uma chave primária única.

  • FOREIGN KEY: Define uma chave estrangeira para relacionamentos.

  • AUTOINCREMENT: Incrementa automaticamente o valor de uma coluna.

  • NOT NULL: Garante que uma coluna não pode ser nula.

  • UNIQUE: Garante que os valores de uma coluna sejam únicos.

Convenção de Nomes:

Utilize nomes claros e consistentes para tabelas, campos e bancos de dados, como minha_tabela, meu_campo, meu_banco_de_dados, etc.

Last updated

Was this helpful?