Linguagens de SGBDs (Sistemas de Gestão de Bases de Dados)

Linguagens de SGBDs (Sistemas de Gestão de Bases de Dados)

Neste capítulo, vamos explorar as linguagens de Sistemas de Gestão de Bases de Dados (SGBDs), fundamentais para interagir e manipular bases de dados de forma eficaz. As linguagens de SGBDs são essenciais para realizar operações como a criação, leitura, atualização e eliminação de dados, e neste contexto, daremos especial atenção ao SQL (Structured Query Language), a linguagem mais utilizada nos ambientes de bases de dados relacionais.

Introdução ao SQL

SQL, ou Structured Query Language, é a linguagem padrão utilizada para comunicar com bases de dados relacionais. É uma linguagem declarativa, o que significa que descrevemos o que queremos receber do sistema de base de dados sem especificar o percurso para alcançar esse resultado. Este conceito simplifica a interação com a base de dados permitindo aos utilizadores focarem-se mais naquilo que pretendem obter, deixando ao sistema de base de dados a responsabilidade de otimizar as consultas.

Tipos de Comandos SQL

O SQL pode ser dividido em diferentes categorias de comandos que permitem desde a definição de estrutura até à manipulação dos dados contidos na base de dados.

1. Linguagem de Definição de Dados (DDL)

Os comandos DDL são usados para definir a estrutura da base de dados, criando e modificando esquemas e tabelas. Aqui estão alguns exemplos básicos:

  • CREATE: Cria novas tabelas ou bases de dados.

    CREATE TABLE Clientes (
        ID INT PRIMARY KEY,
        Nome VARCHAR(100),
        Email VARCHAR(100)
    );
    
  • ALTER: Altera a estrutura de uma tabela existente.

    ALTER TABLE Clientes ADD DataNascimento DATE;
    
  • DROP: Remove tabelas ou bases de dados.

    DROP TABLE Clientes;
    

2. Linguagem de Manipulação de Dados (DML)

A DML permite interagir com os dados dentro das tabelas:

  • INSERT: Insere novos registos numa tabela.

    INSERT INTO Clientes (ID, Nome, Email) VALUES (1, 'Maria Silva', 'maria.silva@exemplo.pt');
    
  • UPDATE: Atualiza dados existentes.

    UPDATE Clientes SET Email = 'maria.nova@exemplo.pt' WHERE ID = 1;
    
  • DELETE: Remove dados da tabela.

    DELETE FROM Clientes WHERE ID = 1;
    

3. Linguagem de Consulta de Dados (DQL)

A DQL é utilizada para consultar dados armazenados:

  • SELECT: Retorna dados de tabelas.
    SELECT Nome, Email FROM Clientes WHERE Nome LIKE 'Maria%';
    

4. Linguagem de Controle de Transação (TCL)

Os comandos TCL são usados para gerir o processamento de transações na base de dados. Estes comandos são essenciais para garantir a integridade dos dados, prevenindo inconsistências num ambiente multiutilizador.

  • COMMIT: Guarda permanentemente todas as mudanças realizadas durante uma transação.

    COMMIT;
    
  • ROLLBACK: Reverte mudanças não confirmadas, restaurando o último estado consistente.

    ROLLBACK;
    

Exemplos Práticos

Exemplo 1: Gestão de uma Base de Dados de Livraria

Vamos imaginar uma base de dados para gerir uma livraria. Criamos três tabelas: Autores, Livros, Vendas.

  1. Criar uma tabela para guardar informação sobre autores:

    CREATE TABLE Autores (
        AutorID INT PRIMARY KEY,
        Nome VARCHAR(100),
        Nacionalidade VARCHAR(50)
    );
    
  2. Inserir um autor chamado "João Almeida":

    INSERT INTO Autores (AutorID, Nome, Nacionalidade) VALUES (1, 'João Almeida', 'Português');
    
  3. Atualizar a nacionalidade do autor para "Brasileiro":

    UPDATE Autores SET Nacionalidade = 'Brasileiro' WHERE AutorID = 1;
    
  4. Consultar o nome e nacionalidade do autor cujo nome começa com "João":

    SELECT Nome, Nacionalidade FROM Autores WHERE Nome LIKE 'João%';
    

Resumo do Capítulo

Neste capítulo, explorámos a Structured Query Language (SQL), que é a principal linguagem utilizada para interagir com bases de dados relacionais. Vimos diferentes tipos de comandos: DDL para definir a estrutura da base de dados, DML para manipular dados, DQL para consultar dados, e TCL para controlar transações. Com exemplos práticos, como a criação e gestão de uma base de dados de livraria, ganha-se uma compreensão sólida sobre como utilizar SQL para gerir bases de dados eficazmente.

Quiz

  1. O que se entende por SQL e por que é importante em SGBDs?

  2. Qual a diferença entre os comandos DDL e DML? Dê um exemplo de cada.

  3. Como se poderia alterar a tabela Clientes para adicionar um novo campo "Telefone"? Escreva o comando SQL.

  4. Quando deve utilizar os comandos COMMIT e ROLLBACK?

  5. Explique a diferença entre a consulta SELECT e a ação INSERT com base em suas funções no SQL.

<< Estrutura de Dados e Info... Índice Princípios de Segurança e... >>