Partie 2 Algebre Relationnel & SQL
Partie 2 Algebre Relationnel & SQL
Partie 2 Algebre Relationnel & SQL
Relationnelles
Partie 2: Algèbre Relationnel &
SQL
Par
Dr Edouard Ngor SARR
Enseignant-chercheur en Informatique
Université Assane SECK de Ziguinchor
CERIDES UCAO & Check4Decision Project
Juin 2023
Introduction
2
Algèbre Relationnel et SQL
Introduction au SQL
• SQL (Structured Query Langage)
• Un langage de données
– est un langage de base de données relationnelle.
– Un langage informatique permettant de décrire et de manipuler
les schémas et les données d'une BD
– Commun à tous les SGBDR
3
Algèbre Relationnel et SQL
Introduction au SQL
Un langage de données
– Il permet:
• La création de base et des tables.
• L'ajout d'enregistrements sous forme de lignes.
• L'interrogation de la base.
• La mise à jour.
• Le changement de structure de la table:
– Ajout
– MAJ
– Suppression de colonnes.
• La gestion de droits d'utilisateurs de la base.
–
4
Algèbre Relationnel et SQL
Introduction au SQL
Un langage de données
– Il permet:
• La création de base et des tables.
• L'ajout d'enregistrements sous forme de lignes.
• Le changement de structure de la table: MAJ
• La gestion de droits d'utilisateurs de la base.
– Peut être utilisé à tous les niveaux dans la gestion d’une Base de
données relationnelle.
– Quatre niveaux sont appelés Ordres SQL
• DDL: Data description Langage
• DML: Data manipulation Langage
• DCL: Data controle Langage
• CTL: Contrôle transactionnal Langage
• 5
Algèbre Relationnel et SQL
Introduction au SQL
Langage de Définition de Données LDD ou DDL :
• Permet la description de la structure de la base de données
(tables, vues, attributs, index). Cette ordre est composé des
verbes suivants :
– CREATE pour ajouter un objet dans la base
Introduction au SQL
Langage de Manipulation de Données LMD ou DML :
• Permet la manipulation des tables et des vues avec les quatre
commandes :
– SELECT : Rechercher et afficher des informations des tables
Introduction au SQL
Langage de Contrôle de Données LCD ou DCL :
– Comprend les primitives de gestion des transactions:
– GRANT pour affecter des privilèges et rôles sur des données à
des utilisateurs.
– REVOKE pour récupérer ces privilèges et rôles.
9
Algèbre Relationnel et SQL
–
10
Algèbre Relationnel et SQL
11
Algèbre Relationnel et SQL
12
Algèbre Relationnel et SQL
NOT NULL, DEFAULT et CHECK sont le plus souvent utilisés avec une contrainte de
niveau Colonne alors que PRIMARY KEY et FOREGH KEY sont eux utilisés avec une
contrainte de niveau table.
13
Algèbre Relationnel et SQL
• Faire préfixer le nom de la contrainte par PK ou FK n’est pas une obligation mais ca
nous permet de retrouver le plus facilement une contrainte et son type.
14
Algèbre Relationnel et SQL
15
Algèbre Relationnel et SQL
16
Algèbre Relationnel et SQL
17
Algèbre Relationnel et SQL
18
Algèbre Relationnel et SQL
20
Algèbre Relationnel et SQL
21
Algèbre Relationnel et SQL
22
Algèbre Relationnel et SQL
23
Algèbre Relationnel et SQL
25
Algèbre Relationnel et SQL
26
Algèbre Relationnel et SQL
27
Algèbre Relationnel et SQL
28
DML
29
Algèbre Relationnel et SQL
• Cas d’exemple:
31
Algèbre Relationnel et SQL
• CAS 2 : Insérons une deuxième ligne dans cette table sans respecter la
syntaxe de base :
• 33
Algèbre Relationnel et SQL
35
Algèbre Relationnel et SQL
• REGLES :
- La clause WHERE n’est utilisée que pour nous permet spécifier la
ou les lignes à modifier. Sans elle, toutes les enregistrements vont
subir la modification.
- De préférence le WHERE porte sur la clé primaire pour plus de
précision.
36
Algèbre Relationnel et SQL
37
Algèbre Relationnel et SQL
39
Algèbre Relationnel et SQL
40
Algèbre Relationnel et SQL
• CLIENTS
• CLIENTS_DAKAR
41
Algèbre Relationnel et SQL
• Avant
• Apres
42
Algèbre Relationnel et SQL
43
Algèbre Relationnel et SQL
44
Algèbre Relationnel et SQL
45
Algèbre Relationnel et SQL
46
Algèbre Relationnel et SQL
47
Algèbre Relationnel et SQL
48
Algèbre Relationnel et SQL
49
Algèbre Relationnel et SQL
51
Algèbre Relationnel et SQL
52
Algèbre Relationnel et SQL
53
Algèbre Relationnel et SQL
54
Algèbre Relationnel et SQL
55
Algèbre Relationnel et SQL
56
Algèbre Relationnel et SQL
57
Algèbre Relationnel et SQL
58
Algèbre Relationnel et SQL
59
Algèbre Relationnel et SQL
60
Algèbre Relationnel et SQL
61
Algèbre Relationnel et SQL
62
Algèbre Relationnel et SQL
63
Algèbre Relationnel et SQL
64
Algèbre Relationnel et SQL
65
Algèbre Relationnel et SQL
67
Algèbre Relationnel et SQL
70
Algèbre Relationnel et SQL
71
Algèbre Relationnel et SQL
72
Algèbre Relationnel et SQL
73
TP 1: DDL et DML
74
DCL
Langage de contrôle de données
75
Algèbre Relationnel et SQL
76
Algèbre Relationnel et SQL
79
Algèbre Relationnel et SQL
80
Algèbre Relationnel et SQL
81
Algèbre Relationnel et SQL
82
CTL
Langage de contrôle des transactions
83
Algèbre Relationnel et SQL
87
Algèbre Relationnel et SQL
90
SQL AVANCE 1
91
Algèbre Relationnel et SQL
92
Algèbre Relationnel et SQL
93
Algèbre Relationnel et SQL
94
Algèbre Relationnel et SQL
• CONCAT: Concaténation
• SUBSTR: découpe une expression en une position bien déterminée
et avec un nombre définie
96
Algèbre Relationnel et SQL
97
Algèbre Relationnel et SQL
99
Algèbre Relationnel et SQL
101
Algèbre Relationnel et SQL
• TO_DATE
• Permet de transformer une chaine en Date.
• NB: Il n'existe pas de fonction de conversion de passage directe entre
DATE et NUMBER pour cela il faut passer obligatoirement par CHAR.
102
Algèbre Relationnel et SQL
103
Algèbre Relationnel et SQL
104
Algèbre Relationnel et SQL
105
Algèbre Relationnel et SQL
106
Algèbre Relationnel et SQL
107
SQL AVANCE 2
LES SOUS-INTERROGATIONS
108
Algèbre Relationnel et SQL
109
Algèbre Relationnel et SQL
– Créer une table Copy avec des restrictions sur les ligne
– CREATE TABLE EMPLOYES_COPY AS ( SELECT * FROM EMPLOYES
WHERE ADRESSE LIKE ‘MBOUR’ );
111
Algèbre Relationnel et SQL
112
Algèbre Relationnel et SQL
114
Algèbre Relationnel et SQL
115
Algèbre Relationnel et SQL
116
Algèbre Relationnel et SQL
117
Algèbre Relationnel et SQL
118
Algèbre Relationnel et SQL
119
Algèbre Relationnel et SQL
• Syntaxe:
120
Algèbre Relationnel et SQL
121
TP 2-3:
SQL Avancé sur le SII gestion des
employés (Voir PJ)
122
Références
123
Algèbre Relationnel et SQL
Références
• Date, C. J., & Darwen, H. (1993). A guide to SQL standard (Vol. 3). Reading:
Addison-Wesley.
• Gabillaud, J. (2009). Oracle 11g: SQL, PL/SQL, SQL* Plus. Editions ENI.
• Brouard, F., Bruchez, R., & Soutou, C. (2012). SQL. Pearson Education France.
• Audibert, L. (2007). Base de Données et langage SQL. Developpez. com.[En
ligne]. Disponible sur: http://laurent-audibert. developpez. com/Cours-
BD/.[Consulté le: 06-août-2018].
• Site Oracle et PL/SQL : http://www.techonthenet.com/oracle/
• Référence PL/SQL Oracle : http://download.oracle.com/docs/cd/B19306
01/appdev.102/b14261/toc.htm
• Cours 5 : PL/SQL http://deptinfo.unice.fr/~grin/messupports/plsql.pdf
http://sheikyerbouti.developpez.com/pl_sql/
• Anne Vilnat , Cours 4 : PL/SQL : ou comment faire plus avec ORACLE 2_eme
partie
• Alexandre Mesle Introduction au PL/SQL Oracle, 2011
124
FIN PARTIE 2
125
Base de données
Relationnelles
Partie 2: Algèbre Relationnel &
SQL
Par
Dr Edouard Ngor SARR
Enseignant-chercheur en Informatique
Université Assane SECK de Ziguinchor
CERIDES UCAO & Check4Decision Project
Juin 2023