0% ont trouvé ce document utile (0 vote)
59 vues6 pages

Notes SQL

Le document traite de la transition du Modèle Conceptuel de Données (MCD) au Modèle Logique de Données (MLD) et des principes fondamentaux du langage SQL pour la création et la manipulation des bases de données. Il couvre les commandes SQL pour la description et la manipulation des données, ainsi que les requêtes fondamentales et complexes, y compris les jointures et les fonctions d'agrégation. Enfin, il aborde les sous-requêtes et les requêtes de regroupement, de recoupement et de cumul.

Transféré par

jakesay323
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
59 vues6 pages

Notes SQL

Le document traite de la transition du Modèle Conceptuel de Données (MCD) au Modèle Logique de Données (MLD) et des principes fondamentaux du langage SQL pour la création et la manipulation des bases de données. Il couvre les commandes SQL pour la description et la manipulation des données, ainsi que les requêtes fondamentales et complexes, y compris les jointures et les fonctions d'agrégation. Enfin, il aborde les sous-requêtes et les requêtes de regroupement, de recoupement et de cumul.

Transféré par

jakesay323
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

Chapitre I : Résumé

Passage du MCD au MLD :

1) L'entité devient une relation


2) La propriété devient un attribut
3) L'entité devient une clé primaire ou étrangère selon le type d'association :

3-1) L'identifiant devient une clé primaire


3-2) Lorsqu'il existe une association père-fils, l'identifiant du père devient
une clé etrangère dans la relation du fils

4) L'association plusieurs à plusieurs devient une relation dont la clé primaire


est la concaténation des clés des relations associées.

Chapitre 2: Langage SQl

Le langage SQL est un langage permettant de créer et manipuler des bases de


données. Il est utilisé à cet effet comme :

- Langage de description de donnée(LDD) : il permet de décrire et de construire


les bases de données
- Langae de manipulation de donnée(LMD) : il est utilisé pour réaliser les
requêtes permettant de répondre à des interrogations sur les données.

I/ SQL comme LDD

Il permet d'assurer :

- la description physique des données,


- la description des tables(representation des objets)
- la description de la BD

1) Description physique des données


Le SQL permet de préciser les types de données

2) Descriptions des tables

Il est utilisé pour construire les tables.


La commande utilisé est : CREATE DATABASE nom_base

3) Description de la BD
Il est utilisé pour créer la BD.
la cmd est : CREATE TABLE nom_bd

NB : Les descriptions des données et de tables ne sont faites que si le BD existe.


Pour la verification de l'existance d'une BD quelconque, la cmd est : SHOW
DATABASE;
Cette cmd renvoie une liste de BD. Après avoir trouvé la BD recherchée, on doit
taper la cmd : USE nom_base; qui nous permet d'être dans la BD et y ajouter des
tables.

II/ SQL comme LMD

Ici le sql est utilisé pour les bases de données interactions avec la BD. Il existe
plusieurs cmd.

1) Suppression d'une BD
Pour delete une BD, la cmd est : DROP DATABASE;
2) Création d'une table
La syntaxe pour créer une table est :

CREATE TABLE nom_table(


colonne1 TypeValColonne,
colonne2 TypeValColonne,
. .
. .
. .
colonneN TypeValColonne
);

NB : la colonne désignant la clé primaire doit être indiquée par l'attribut


"primary key" et celle representant une clé étrangère dans la table doit être
indiquée dans la partie des contraintes de l'attribut "foreign key".

La clé primaire ne pouvant pas être nulle, doit être précisée par l'attribut "not
null"; ainsi que toutes les colonnes devant obligatoirement posséder une valeur.

3) Alter table
Permet de modifier une table créee.
La modification peut concerner l'ajout, la suppression ou la modification.
la syntaxe est : ALTER TABLE nom_table
Instruction;

a) Ajout
Ajouter une nouvelle colonne à une table:

ALTER TABLE nom_table


ADD nom_colonne TypeColonne
-Exemple : Soit la table Etudiant, ajouter une colonne nommée numéro de téléphone.

ALTER TABLE Etudiant


ADD num_tel int

b) Supprimer
La syntaxe est :
ALTER TABLE nom_table
DROP nom_colonne
ou
ALTER TABLE nom_table
DROP COLUMN nom_colonne

-Exemple : supprimer la colonne numéro de telephone dans la table Etudiant.


ALTER TABLE Etudiant
DROP num_tel

c)Modifier le type d'une colonne


La syntaxe est :
ALTER TABLE nom_table
MODOFY nom_colonne;

-Exemple:
ALTER TABLE Etudiant
MODIFY matricule int on matricule varcahr(10);

d)Renommer
Renommer concerne le nom de la colonne. Sa syntaxe est :
ALTER TABLE nom_table
CHANGE nom_colonne1 nom_nouvelle_colonne;

CGAPITRE 2 : Les requêtes fondamentales en SQL

Les requêtes fondamentales en SQL permettent d'utiliser le langage SQL comme


langage de manipulation de données.
Il existe plusieurs requêtes fondamentales.

1) SELECT
La commande "select" permet de selectionner les données dans une BD utilisée avec #
clauses. cette requête renvoie un résultat spésifique.
Sa syntaxe de définition est :
SELECT nom_champ FROM nom_table;

Pour éviter les doublons :


SELECT DISTINCT nom_champ FROM nom_table

2) WHERE
La clause "where" renvoie un résultat sur une codition à vérifier par la requête.
Sa syntaxe est :
SELECT nom_champ FROM nom_table
WHERE condition;

NB: La condition utilisée dans la clausse where peut être constituéé à partir des
opérateurs mathématiques de comparaison, des opérateurs logiques.

3) AND et OR
Ces conditions utilisées avec le "where" pour la combinaison de conditions. La
syntaxe est :
SELECT nom_champ from nom_table
where condition1 and condition2;

SELECT nom_champ from nom_table


where condition1 or condition2;

4) IN
Cet atteibut utilisé avec la clause where permet de verifier si des champs d'une
table prennenr des valeurs dans un ensemble definit. Sa syntaxe est :
SELECT nom_champ from nom_table
WHERE nom_champ IN (valeur1,...,valeur n);

5) BETWEEN
C'est une clause utilisé avec le where, qui renvoie un résultat dont les éléments
appartiennent à l'intervalle dont les données ont été définis dans le between. Sa
syntaxe est :

SELECT nom_champ FROM nom_table


WHERE nom_champ BETWEEN valeur_inf and valeur_sup;

6) LIKE
L'attribut like est utilisé avec la clause where pour effectuer des recherches de
données selon un modèle indiqué. Sa syntaxe est :
SELECT nom_champ FROM nom_table
WHERE nom_champ like modele;

Il existe plusieurs types de modèles. On a :

III/ LES SOUS REQUÊTES


Une sous requête est une requête imbriquéé utilisée au sein d'une autre requête.

1) Sous requête qui retourne un seul résultat

Cette sous requête est employée au niveau de la condition indiquée dans la clause
"WHERE". Sa syntaxe est :

SELECT Nom_column1 FROM Nom_table1


WHERE Nom_cloumn1 = (SELECT Nom_column2 FROM Nom_table2)

Exemple:

SELECT nom FROM Etudiant WHERE [Link] = (SELECT matricule FROM Avoir
WHERE note = 17)

2) Sous requête qui retourne une colonne

Sa syntaxe est :

SELECT Nom_column1 FRMO Nom_table1 WHERE condition1 IN (SELECT Nom_cloumn2 FROM


Nom_table2 WHERE condition)

Exemple: Afficher le libellé des matières où il y a des étudiants qui ont une note.

select libelle from Matiere where Matiere.code_mat IN (select code_mat from Avoir
where note not null)

CHAPITRE 4 : FONCTIONS AVANCÉES / REQUÊTES COMPLEXES

Les requêtes complexes en SQL sont des requêtes utilisées renvoyant des résultats
spécifiques d'une BD.
Elles peuvent être classées en 3 grandes familles :

- Requêtes de Regroupement

- Requêtes de Recoupement

- Requêtes de Cumul

1) Requêtes de Regroupement

Cette requête renvoie des résultats regroupés selon une fonction. On a les clauses
"HAVING" et "GROUP BY".

a)GROUP BY

Sa syntaxe est :
SELECT Nom_colonne1, fonction(Nom_colonne2)
FROM Nom_table
GROUP BY Nom_colonne1;

Exemple :
select nom, sum(presence) as Nombre_de_presence
from PresenceEtudiant group by nom;

NB : La fonction peut prendre l'une des valeurs suivantes :


- AVG() pour calculer la moyenne d’un ensemble de valeurs.
- COUNT() pour compter le nombre de lignes concernées.
- MAX() pour récupérer la plus haute valeur.
- MIN() pour récupérer la plus petite valeur.
- SUM() pour calculer la somme de plusieurs lignes.

b) HAVING
Sa syntaxe est :
SELECT Nom_column1, fonction(Nom_column2)
FROM Nom_table
GROUP BY Nom_clumn1
HAVING condition;

1-2) Cumul de resultats

Les requêtes renvoyant un ensemble de résultats qui sont les requêtes de l'union et
de résultat.

a) Union

L'utilisation de la commande "UNION" impose que les tables ont les mêmes structures
de données
Sa syntaxe est :
SELECT Nom_column1 FROM Nom_table1
UNION
SELECT Nom_column1 FROM Nom_table2;

Exemple :
Soit les tables Etudiant et Avoir
Étudiant(matricule, nom, prenom)
Avoir(matricule#, code_mat, note)
Q1: Afficher tous les matricules des etudiants, y compris ceux qui ont des notes.

SELECT matricule FROM Etudiant


UNION
SELECT matricule FROM AVOIR
WHERE note NOT NULL;

NB : Pour faire l'union entre deux tables, les deux tables d'avoir avoir au moins
un élément en commun.

b)JOINTURE

Les requêtes de jointure en SQL, renvoient comme résultat, un ensemble où cumul de


résultat issu de tables. Il existe plusieurs cas de jointure selon la requête à
appliquer. Sa syntaxe est :

SELECT Nom_column FROM Nom_table1


Type_JOINTURE Nom_table2 ON condition;

Type de jointure :
-Inner join,
-Cross join,
-Left join,
-Rigth join,
-Full join,
-Natural join

Exemple :
Afficher tous les étudiants inscrits, les info suivantes : matricule, nom, prenom,
code_amt, note

3) Regroupement de résultats

a) INTERSECT
Cette commande, renvoie un résultat de requêtes prtant des données identiques sur 2
ou plusieurs taqbles, ayant la même structure. Sa syntaxe est :

SELECT nom_cloumn from nom_table1


INTERSECT
select nom_column from nom_table 2

Exemple :

select matricule from Etudiant


INTERSECT
select matricule from Avoir;

b) MINUS
Cette commande assure la différence entre les tables. Autrement dit, en utilisant,
elle renvoie les éléments de la table A sans tenant compte de ceux de la table s'y
trouvant A - B.
Sa syntaxe est :

select nom_column from nom_tableA


EXCEPT
select nom_column from nom_tableB;

Exemple : Quel est le matricule des étudiants inscrits n'ayant pas de notes.

select matricule from Etudiant


EXCEPT
select matricule from Avoir;

c) ORDER BY
Cette commande permet de faire un tri de données selon l'ordre croissant(ASC) ou
decroissant(DESC). Sa syntaxe est :

select nom_column from nom_table


ORDER BY nom_column ASC (ou DESC);

Exemple : Mettre en odre alphabétique les nom des étudiants inscrits.

select nom from Etudiant


ORDER BY nom ASC;

Vous aimerez peut-être aussi