Introdução à Linguagem SQL para SGBDs
Introdução à Linguagem SQL para SGBDs
Imen MOALLA
[Link]@[Link]
2
Apresentação de SQL
3
Apresentação de SQL
4
Apresentação do SQL
5
Criação das tabelas
6
Criação das tabelas
Tipo de dados
-NUMBER( N ): Entier à N chiffres
-NÚMERO( N , M ): Real com N dígitos no total, M após a
vírgula.
-DATA: Data completa (data e/ou hora)
-VARCHAR( N ),VARCHAR2( N ): string de N caracteres
(comprimento variável).
-CHAR( N ): Cadeia de N caracteres (comprimento fixo).
7
Contraintes d'intégrité
Uma restrição de integridade é uma regra que define a
coerência de um dado ou de um conjunto de dados
da BD
8
Restrições de integridade
Contrainte sur une table (contrainte-table)
.ÚNICO (lista de atributos): É proibido que dois tuplos da
as relações têm os mesmos valores para todos os atributos
da lista.
.PRIMARY KEY(liste d'attributs):Définit les attributs de la liste
como a chave primária
.CHAVE ESTRANGEIRA (lista de atributos) REFERENCIAS nome-tabela
[(nomes-cols)]:Contrôle l'intégrité référentielle entre les
atributos da lista e da tabela e suas colunas especificadas
9
Exemple de création de tables
Etudiant (NumEtud, NomEtud, PrenomEtud, #NumClass)
Classe (NumClass, NomClass)
CRIAR TABELA CLASSE (
NUMCLASSENUMBER(5),
NOMCLASSEVARCHAR2(10),
CHAVE PRIMÁRIA(NUMCLASSE) ;
10
Supressão / Modificação de uma tabela
Supressão das tabelas
. Sintaxe
Para remover o conteúdo de uma tabela, bem como seu esquema, você
utilize a instrução que se segue :
REMOVER TABELA nom_table ;
Nota: Atenção, a exclusão de uma tabela gera a
perda dos dados que ela contém.
. Exemplo
Para remover a tabela ESTUDANTE assim como seu conteúdo, faz-se
recurso à instrução :
DROPTABLE ESTUDANTE ;
11
Supressão / Modificação de uma tabela
Modificação das tabelas
Existem várias modificações que podem ser feitas em uma tabela
donnée:
. Adição de atributos
Após criar o banco de dados, tarefas de manutenção
parecem ser às vezes necessários. Daí a adição de um novo atributo:
ALTER TABLEnom_table
ADICIONAR(tipo de atributo);
. Exemplo
Adicionar o campo Número de telefone à tabela Estudante significa
écrire :
ALTER TABLE Estudante
ADICIONAR(Num_tel varchar(10));
12
Supressão / Modificação de uma tabela
. Modificação dos atributos
Após criar o banco de dados, pode-se modificar o tipo
de um atributo usando a seguinte instrução:
ALTER TABLE nom_table
MODIFICAR(tipo de atributo);
. Exemplo
Modificar o número de dígitos do campo Num_tel da tabela
O estudante necessita do recurso à instrução:
ALTER TABLE Estudante
MODIFICAR(Num_tel varchar(8));
13
Manipulação de dados
. Adição de dados
Para adicionar uma linha (tupla) em uma tabela, procede-se
como segue:
INSERIR NO nom_table
VALORES( valor_atributo1, valor_atributo2,…) ;
. Exemplo
Dada a tabelaEstudante(NumEstud, nome, sobrenome, cidade). Se
on souhaite insérer les informationsd ’unnouvel étudiant
disposant des informations suivantes (1234, Ben Salah, Salah,
Djerba), escreve-se:
INSERIR NO ESTUDANTE
VALORES(1234, BEN SALAH, SALAH, DJERBA) ;
14
Manipulação de dados
. Modificação de dados
Para modificar o valor de um atributo relativo a um ou vários
Tuplas de uma tabela, procede-se da seguinte forma:
ATUALIZA nom_table
SETattribut1 = valeur1, attribut2 = valeur2
[CONDIÇÃOWHERE];
. Exemplo
Modificar a cidade do estudante Salah Ben Salah que mora
agora em Tunis, escrevemos neste caso:
ATUALIZAÇÕESDOESTUDANTE
SETVILLE=TUNIS
WHERENumEtud=1234;
15
Manipulação de dados
.Supressão de dados
Trata-se de remover uma ou mais tuplas de uma tabela.
Para isso, escrevemos:
DELETE FROM nom_table
[CONDICAOonde]
. Exemplo
Remover o estudante deNumEtd 1234 da tabela
Estudante, escreve-se:
DELETAR DE ETUDIANT
ONDENumEtd=1234 ;
16
Interrogação de dados
. Generalidades
Trata-se de procurar uma ou mais tuplas do banco de dados.
Sintaxe :
. Há um nome de atributo (de coluna)
SELECIONAR A1,…., A2 . Rjun nome de relação (de tabela)
. DEfinit a partir de quais
DE R1,…….,Rm tabelas o resultado é calculado
[WHERE[condition] . ONDE define os predicados de
sélection du résultat
Agrupar por <expressão>; . Agrupar linhas para os
valores iguais nas colunas
Tendo<expressão>; mencionadas
. Havingsélectionne os grupos de
Ordenar por [DESC/ASC]; linhas que satisfazem a condição
. Ordem por precisão se a classificação for feita de
manière croissante (par défaut) ou
decrescente 17
Interrogatório de dados
. Projeção
Todos os atributos de uma tabela:
SELECIONE*
FROMnom_table;
.Exemplo
Mostrar a lista de todos os estudantes
SELECT*FROMETUDIANT;
Alguns atributos:
SELECIONAR atributo1, atributo2,…
DE nom_table;
. Exemplo
Exibir a lista dos nomes dos estudantes
SELECIONARNOME
DOESTUDANTE
18
Interrogação de dados
. Restrição
As restrições se traduzem em SQL usando o predicado "WHERE"
como segue :
SELECIONAR attribut1, attribut2, DE nom_table
CONDIÇÕESWHERE;
Uma condição simples é a comparação entre dois
expressões ou mais ao meio de um operador lógico (=, !=, <,)
<=, >, >=)
. Exemple 1
Liste des étudiants qui s’appellent Ali
SELECIONAR * DE ESTUDANTE
WHEREPRENOM =‘ALI’;
19
Interrogatório de dados
. Exemplo 3
Liste des étudiants qui ne s’appellent pas Ali
SELECIONE * DE ESTUDANTE
ONDE PRENOM != 'ALI';
. Exemplo 4
Lista de estudantes com NumEtd inferiores a 100
SELECIONE * DE ESTUDANTE
WHERENumEtd < 100;
. Exemplo 5
Lista de estudantes com NumEtd entre 100 e 200
SELECIONAR * DE ESTUDANTE
ONDE NumEtd ENTRE 100 E 200 ;
20
Interrogatório de dados
. Jointures
. A junção permite combinar duas ou mais tabelas a fim de
extrair dados.
. A junção é realizada com o uso de uma coluna comum às tabelas.
que normalmente é a chave primária
. Quando uma coluna projetada se encontra nas duas tabelas a
joindre, o nome da coluna projetada deve ser precedido pelo nome
da tabela de onde os dados serão extraídos
. Quando uma coluna projetada se encontra em uma única entre as
mesas a serem unidas, não é necessário indicar o nome da
mesa
21
Interrogação de dados
. Exemplo de consulta de junção simples:
TableA (idTableA,colonne1,colonne2)
TabelaB (idTabelaB, coluna1, coluna2, #idTabelaA)
23
Interrogatório de dados
Exemplo de junção entre duas tabelas:
25
Funções de agregação
. Uma função de agregação calcula um valor a partir de uma
lista de valores em uma coluna.
. SQL também permite agrupar tuplas de uma relação de acordo com
certos critérios, como o valor de outra coluna.
. Esses operadores são aplicados em uma cláusula SELECT
26
Funções de agregação
. Exemplo:
SELECIONAR contagem(*)
DOS ALUNOS;
27
Funções de agregação
. Exemplo:
28