Escolar Documentos
Profissional Documentos
Cultura Documentos
Iniciação
[FEC.SQLI.C.D.15]
Programação em SQL - Iniciação
Duração: 50 horas
Formador:
Manuel Loureiro
Avaliação
• Objetivos
– Desenhar bases de dados relacionais
– Criar e modificar estruturas de bases de dados MYSQL
– Criar e editar VIEWS com SQL
– Criar, editar e executar Procedimentos com SQL
– Realizar consultas com programação SQL
Conceitos básicos
Dados VS Informação
Dados:
São valores que se encontram numa forma primária e que se
encontram armazenados em tabelas.
Ex: Nome, NIF, Data
Conceitos básicos
Informação:
São os factos organizados de maneira a produzir um significado.
Dados contextualizados.
Exemplo: Lista de clientes com os seus números, designação.
O que é uma base de dados
Sistemas bancários
Reservas em hotéis
Controlo de stocks de supermercados
Catálogos de livros em bibliotecas
E-commerce
Finanças
Youtube
SGBD
Oracle database
Microsoft SQL Server
Mysql
Sap Sybase
Teradata
PostgreeSQL
SQLite
Sistema de Base de Dados
Utilizadores
Aplicativos de acesso
SGBD - Manipulação / Consultas / Definição de dados
Base de dados + metadados
Utilizadores de bases de dados
Administrador
Programador
Utilizador final
Caraterísticas e funcionalidades
Controle de redundâncias
Vistas
Controle de concorrência
Backup e restauro
Autenticação e autorização de acesso
Restrições de integridade
Histórico
Modelo hierárquico:
Neste modelo os dados são organizados de forma hierárquica, com conjuntos
de tipos de registos interligados;
Modelo em rede:
Ligados entre registos mas sem restrição hierárquica
Modelo relacional:
Neste modelo os dados são separados em entidades, com atributos
relacionados entre si
Modelos de dados
Uma base de dados relacional é uma coleção de relações, que são tabelas
bidimensionais, onde os dados são armazenados.
Como exemplo, podemos querer armazenar dados sobre os clientes de uma
loja. Para isso criamos tabelas para guardar diferentes conjuntos de dados
relacionados com os clientes, como dados pessoais, dados de compras, crédito
entre outras.
Componentes de uma base de dados relacional
Tabela: estrutura básica de armazenamento no SGBDR. Armazena todos os
dados necessários sobre algo do mundo real, como clientes, pedidos ou
produtos.
Tupla, linha ou registo representa todos os dados requeridos por uma
determinada ocorrência de entidade em particular. Por exemplo, os dados de
um cliente específico. Cada linha de uma tabela deve ser identificada por uma
chave primária, de modo a não haver duplicação de registos.
Colunas. unidade que armazena um tipo específico de dado (valor) - ou não
armazena nada (valor nulo)
Componentes de uma base de dados relacional
Nesta fase são realizadas reuniões para recolher informações que analisam o
que é exigido para o banco de dados a ser criado.
os processos de negócio são definidos e as entidades, atributos e
relacionamentos da BD
O que é o SQL?
• SQL significa Structured Query Language;
• É uma linguagem padrão ANSI desde 1986 - (American National Standards Institute);
• É uma linguagem padrão ISO desde 1987 - (International Organization for Standardization);
- escola
- aparcamento
- funcionarios
- pescaria
- volta
DROP DATABASE
• Bloco de notas
• Brackets
• Visual Code
• Noted pad++
• …
CREATE TABLE – Exercício 1
CREATE TABLE – Exercício 1
CREATE TABLE – Exercício 1
CREATE TABLE – Exercício 2 (TPC)
CREATE TABLE – Exercício 2 (TPC)
CREATE TABLE – Exercício 2 (TPC)
CREATE TABLE – Exercício 3 (TPC)
CREATE TABLE – Exercício 3 (TPC)
DROP TABLE
CREATE TABLE -> RENAME TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
DESCRIBE table
SQL Constraints (Restrições)
NOT NULL – Garante que o campo na tabela não recebe um valor nulo;
UNIQUE – Garante que o valor não é repetido na tabela;
PRIMARY KEY – Combinação entre o NOT NULL e o UNIQUE;
FOREIGN KEY – Primary KEY noutra tabela;
CHECK – Assegura que um valor da coluna satisfaz uma dada condição;
DEFAULT – Assegura um valor predeterminado caso a coluna não receba outro valor;
INDEX – Para fazer ligação entre colunas da tabela.
INSERT INTO
INSERT INTO
USE formacao;
INSERT INTO curso (curso, regime) VALUES
('CET Redes', 'Laboral'),
('CET Sistemas de Informacao', 'Labora'),
('CET Sistemas de Informacao', 'Pos Laboral'),
('CET de Automacao', 'Laboral'),
('CET de Automacao', 'Pos Laboral');
SELECT
SELECT
SELECT
SELECT coluna1, coluna2
SELECT *
SELECT
SELECT DISTINCT
WHERE
OPERADORES RELACIONAIS
Operadores relacionais
Operações relacionais
Operador BETWEEN
Operador BETWEEN
Operador IN
Operador NOT IN
Operador IN
Operador IN
Operador NOT IN
Operador LIKE
Operador LIKE
Operações Lógicas
Operações lógicas - Cláusula AND
A B A and B
V V V
V F F
F V F
F F F
Operações lógicas - Cláusula OR
A B A or B
V V V
V F V
F V V
F F F
Relembrar a tabela curso
Operações lógicas - Cláusula OR
Operações lógicas - Cláusula OR
Operações lógicas - Cláusula AND
Operações lógicas - Cláusula AND
Operações lógicas - Cláusula AND
ORDER BY - Ordenação
ORDER BY ASC
ORDER BY DESC
ORDER BY DESC
ORDER BY DESC
LIMIT
LIMIT
LIMIT
LIMIT
Min()
Max()
Max()
Count()
COUNT()
AVG()
AVG()
SUM()
O Operador LIKE
• WHERE curso LIKE '_a%' – Qualquer valor que tenha a letra “a” na segunda
posição
Wildcards do operador LIKE
• WHERE curso LIKE 'a_%' – Qualquer valor começado por “a” mas que
• WHERE curso LIKE 'a__%' - Qualquer valor começado por “a” mas que
• WHERE curso LIKE 'a%o' - Qualquer valor começado por “a” e que termine