Programação

terça-feira, 10 de março de 2026

M3 - Programação em SQL

  •  Definir estrutura de uma base de Dados com SQL - DDL
  • Manipular os dados em SQL- DML
  • Consultas em SQL envolvendo várias tabelas


DEFINIÇÃO

BASE DE DADOS RELACIONAL  
Uma Base de Dados Relacional é um tipo de base de dados que organiza a informação em tabelas relacionadas entre si.

Esse modelo foi proposto por Edgar F. Codd em 1970 e é hoje o modelo mais utilizado em sistemas de gestão de dados (SGBD).

Exemplos de Sistemas de Gestão de Bases de Dados Relacionais

Alguns sistemas populares:

Todos utilizam a linguagem SQL para manipular dados.


EXEMPLO de uma BD no SGBD MariaDB (improved of MySQL/)

ESTRUTURA de uma Base de Dados 


Nome da Base de Dados: "comprarcarros"

    constituída pelas tabelas:

                                        


Visualização dos dados nas tabelas 

Tabela Fornecedores

 

Tabela Carros

Tabela Compras




LINGUAGEM SQL (Structured Query Language)



4 TIPOS COMANDOS SQL
1️⃣ DDL Data Definition Language )  - definição de estrutura 
2️⃣ DML (Data Manipulation Language) - manipulação de dados 
                   DCL (Data Control Language)   - controlo de acesso 

                 TCL (Transaction Control Language)   - controlo de transações 


1️⃣DDL Data Definition Language )
    definição da estrutura de base de dados 

Comando

Função

CREATE 

              Criar bases de dados ou tabelas 

ALTER

              Alterar uma tabela

DROP

              Apagar uma tabela ou  a base de dados

TRUNCATE

RENAME

              Esvazia a tabela (apaga todos os dados)

              Renomeia a tabela


👉 É o conjunto de comandos usados para criar, alterar e apagar a estrutura da base de dados (tabelas, colunas, etc.).

 

EXEMPLO comando DDL



2️⃣DML (Data Manipulation Language) 

Comando

Função

SELECT

INSERT    

         Selecionar dados

         Inserir dados

UPDATE

          Atualizar dados

DELETE

          Apagar dados

  

👉 É usado para manipular os dados dentro das tabelasou seja, trabalhar com os registos.


Exemplos

  


SQL não é case sensitive  ou seja, não distingue letras maiúsculas de minúsculas na maioria dos comandos. 


📘 Tipos de dados em SQL
Os tipos de dados definem que tipo de dados que pode ser armazenada numa coluna/campo de uma tabela.

Categoria

Tipo de dado

Descrição

Exemplo

Numérico

INT

Número inteiro

 

10

BIGINT

Inteiro muito grande

 

1000000

 

DECIMAL(p,s)

DECIMAL (4,2)

Número com precisão decimal

p (precision) →  número total de dígitos

 s (scale)número de casas decimais

10.50

FLOAT

Número com casas decimais aproximadas

3.1415…

 

Texto

 

CHAR(n)

CHAR (1)

Nº caracteres de tamanho fixo

"F", “M”

VARCHAR(n)

VARCHAR(20)

Texto de tamanho variável

"Maria"

TEXT

Texto longo

descrição grande

 

Data/Hora

DATE

Guarda apenas data

2026-03-16

TIME

Guarda hora

14:30:00

DATETIME

Guarda data e hora

2026-03-16 14:30:00

TIMESTAMP

Data e hora automática

2026-03-16 14:30:00

Lógico

BOOLEAN

Verdadeiro ou falso

TRUE

Binário

BLOB

Guarda ficheiros ou imagens

Imagem


📊 Diferença entre DECIMAL e FLOAT

TipoCaracterísticaUso principal
DECIMAL     Valores exatos  💰Valores financeiros (preços, salários) e Classificações
FLOAT      Valores aproximados  🔬Cálculos científicos ou estatísticos (arredondamentos)
 

📊Métodos guardar imagens

Método     SQL                                         Vantagem
BLOB       foto Blob                                guarda a imagem dentro da base de dados

PATH      foto VARCHAR(255     mais rápido e mais usado em aplicações
 Guarda o caminho onde fica guardada a imagem - exemplo "/fotos/alunos/joao_silva.jpg"

  

EXEMPLO em SQL

CREATE TABLE Alunos (
    nprocesso INT PRIMARY KEY,
    nome VARCHAR(100),
    sexo CHAR(1),
    data_nascimento DATE,
    email VARCHAR(255),
    telefone CHAR(9),
    peso FLOAT,
    mediacurso DECIMAL(4,2),
    foto BLOB,
    ativo BOOLEAN,
    data_matrícula DATETIME
   observacoes TEXT;
);

1️⃣Principais Comandos SQL DDL 
1.1 CREATE  - Criar DB e Tabelas 
 
Criar uma base de dados
            Sintaxe                                                                                      Exemplo

CREATE DATABASE  nome_da_DB;

 CREATE DATABASE Loja;

Usar uma base de dados
        USE Loja;


Criar uma tabela  

Sintaxe                                                                                                              Exemplo

CREATE TABLE nome_da_tabela (

    campo1 tipo de dados  restrições,

    campo2  tipo de dados  restrições,

    campo3  tipo de dados  restrições

 ); 


1.2. ALTER   - Adicionar/ Modificar / Apagar Coluna da tabela

 O comando ALTER TABLE em SQL é usado para alterar a estrutura de uma tabela:   adicionarmodificar ou apagar colunas/campos.

Sintaxe básica

ALTER TABLE nome_da_tabela
ação; // ADD ; MODIFY ; DROP


 Adicionar  campo  - ADD ou ADD COLUMN

Sintaxe

Exemplo

ALTER TABLE nome_da_tabela  
ADD COLUMN campo tipo de dados;
ALTER TABLE Clientes
ADD COLUMN DataNascimento DATE ;

   

Modificar   tipo de dados  🚨

Sintaxe

Exemplo

ALTER TABLE nome_da_tabela  
MODIFY campo tipo de dados;
ALTER TABLE Clientes
MODIFY email VARCHAR(255) 
 

Renomear uma coluna - RENAME COLUMN ou CHANGE 

Sintaxe  SQL Server/ PostgreSQL

Exemplo

ALTER TABLE nome_da_tabela  
RENAME COLUMN campo TO novocampo ;
ALTER TABLE Clientes
RENAME COLUMN DataNascimento TO DataNasc; 
 
      

Sintaxe  MariaDB e MySQL

Exemplo

ALTER TABLE nome_da_tabela  
CHANGE  campo novocampo Tipo de dado;
ALTER TABLE Clientes
CHANGE DataNascimento DataNasc DATE; 
 

Remover coluna - DROP  ou DROP COLUMN

Sintaxe

Exemplo

ALTER TABLE nome_da_tabela  
DROP COLUMN nome_coluna;
ALTER TABLE Clientes
DROP COLUMN DataNasc ;


1.3. DROP  - Remover tabela ou  Base de dados


Sintaxe

Exemplo

DROP TABLE  nome_tabela;
DROP TABLE Clientes;


Remover Base de Dados

Sintaxe

Exemplo

DROP DATABASE nome_BD;
DROP DATABASE Loja;




1.4. TRUNCATE  - Esvazia a tabela (apagar todos os dados)

Sintaxe

Exemplo

TRUNCATE TABLE nome_tabela;
TRUNCATE TABLE Clientes;



1.5. RENAME  - renomear nome tabela

Sintaxe

Exemplo

RENAME TABLE nome_antigo TO nome_novo;
RENAME TABLE Clientes TO  Clients;




📊 Tipos de restrições (constraints) mais usadas em SQL

 Em SQL, as restrições  são usadas para garantir a integridade e validade dos dados numa tabela.

Restrição

Função

Exemplo

PRIMARY KEY

Identifica registo único

  id INT PRIMARY KEY

NOT NULL

Campo obrigatório (não vazio)

  nome VARCHAR(40)   NOT NULL

UNIQUE

Não permite duplicados

 email VARCHAR(150)   UNIQUE

FOREIGN KEY

Liga tabelas

FOREIGN KEY   (CodClientFK)   REFERENCES   Clientes (CodClient)

DEFAULT

Valor automático

 ativo BOOLEAN    DEFAULT  TRUE

AUTO_INCREMENT

Incremento automático

  id INT PRIMARY KEY AUTO-INCREMENT










EXEMPLO

CREATE TABLE Alunos (

    nprocesso INT  PRIMARY KEY AUTO_INCREMENT,

    nome VARCHAR(100) NOT NULL ,

    email VARCHAR(150) UNIQUE,

   repetente BOOLEAN DEFAULT TRUE ,

  FOREIGN KEY  (codCursoFK )  REFERENCES   Cursos (CodCurso)

);