Cours BDR
Cours BDR
Cours BDR
Chapitre 1: Introduction
• Rigides,
• Contraignantes,
• Longues et couteuses à mettre en œuvre.
La prise de décision est une part importante de la vie d’une société. Mais elle nécessite d’être
bien informé sur la situation et donc d’avoir des informations à jour et disponibles
immédiatement.
Les utilisateurs, quand à eux, ne veulent plus de systèmes d’information constitués d’un
ensemble de programmes inflexibles et de données inaccessibles à tout non spécialiste ; ils
souhaitent des systèmes d’informations globaux, cohérents, directement accessibles (sans
qu’ils aient besoin soit d’écrire des programmes soit de demander à un programmeur de les
écrire pour eux) et des réponses immédiates aux questions qu’ils posent. On a donc recherché
des solutions tenant compte à la fois des désirs des utilisateurs et des progrès techniques.
Cette recherche a abouti au concept de base de données.
Définition
Une base de données BD est un ensemble structuré et cohérent de données, stocké sur disque,
accessible par un ou plusieurs utilisateurs sur lesquelles on peut développer différentes
applications.
De façon informelle, on peut considérer une BD comme une grande quantité de données,
centralisées ou non, servant pour les besoins d’une ou plusieurs applications, interrogeables et
modifiables par un groupe d’utilisateurs travaillant en parallèle.
Bensalimane Med 1
EST Fès Département INFO
Cours Base de Données Relationnelles
• Enregistrer les données,
• Les restituer à la demande,
• Tirer des conclusions en rapprochant les faits les uns des autres.
• Non redondant
• Structuré
• Persistant
• Décrire
• Modifier
• Interroger
• Administrer
Le SGBD peut être vu comme le logiciel qui prend en charge la structuration, le stockage, la
mise à jour et la maintenance des données ; c’est en fait, l’interface entre la BD et les
utilisateurs ou leurs programmes.
3. Manipulation facile
Une BD peut être accessible sans forcément utiliser un langage de programmation et aussi par
des non informaticiens.
Bensalimane Med 2
EST Fès Département INFO
Cours Base de Données Relationnelles
7. Cohérence des données
Les données sont soumises à un certain nombre de contraintes d’intégrité qui définissent un
état cohérent de la base. Elles doivent pouvoir être exprimées simplement et vérifiées
automatiquement à chaque insertion, modification ou suppression des données.
• Permettre à deux (ou plus) utilisateurs de modifier la même donnée en même temps ;
• Assurer un résultat d’interrogation cohérent pour un utilisateur consultant une table
pendant qu’un autre la modifie.
Monde réel
Intégration Schéma
Vue externe
Conceptue
Schéma logique
BD
Bensalimane Med 3
EST Fès Département INFO
Cours Base de Données Relationnelles
Niveau conceptuel
Description pour chaque utilisateur de sa perception des données. On appelle cette description
le schéma externe ou vue
Niveau logique
Description de la structure de toutes les données qui existent dans la base, description de leurs
propriétés (relations qui existent entre elles) c’est-à-dire de leur sémantique inhérente, sans
soucis d’implémentation physique ni de la façon dont chaque groupe de travail voudra s’en
servir.
On appelle cette description le schéma conceptuel.
Niveau Physique
Histoire
1960
Uniquement des systèmes de gestion de fichiers plus ou moins sophistiqués.
1970
Début des systèmes de gestion de bases de données réseaux et hiérarchiques proches
des systèmes de gestion de fichiers. Ces systèmes de gestion de bases de données
avaient remplis certains des objectifs précédents mais on ne pouvait pas interroger une
base sans savoir où était l’information recherchée (on naviguait) et sans écrire de
programmes.
Sortie du papier de CODD sur la théorie des relations, fondement de la théorie des
bases de données relationnelles.
1980
Les systèmes de gestion de bases de données relationnels apparaissent sur le marché.
1990
Les systèmes de gestion de bases de données relationnels dominent le marché.
Début des systèmes de gestion de bases de données orientés objet.
Bensalimane Med 4
EST Fès Département INFO
Cours Base de Données Relationnelles
Définition
Le modèle relationnel a été formalisé par CODD en 1970. Quelques exemples de réalisation
en sont :
Dans ce modèle, les données sont stockées dans des tables, sans préjuger de la façon dont les
informations sont stockées dans la machine. Un ensemble de données sera donc modélisé par
un ensemble de tables.
• Les données sont organisées sous forme de tables à deux dimensions, encore
appelées relations et chaque ligne n-uplet ou tuple,
• Les données sont manipulées par des opérateurs de l’algèbre relationnelle,
• L’état cohérent de la base est défini par un ensemble de contraintes d’intégrité.
Au modèle relationnel est associée la théorie de la normalisation des relations qui permet de
se débarrasser des incohérences au moment de la conception d’une base de données.
Relation :
Une relation R est un sous ensemble du produit cartésien d’une liste de domaines caractérisé
par un nom.
Une relation peut être vue comme un tableau à deux dimensions dont chaque colonne
correspond à un domaine et porte un nom et chaque ligne à un tuple. On parle aussi de table.
Domaine :
Bensalimane Med 5
EST Fès Département INFO
Cours Base de Données Relationnelles
Représente l’ensemble de valeurs acceptables pour un composant d’une relation. On dit que
deux domaines sont compatibles s’ils sont identiques ou liés par inclusion.
Attribut :
Colonne d’une relation caractérisée par un nom. L’ordre des colonnes dans une relation est
sans importance. Le concept attribut détermine l’ensemble des valeurs prises par chacun des
domaines de la relation. La valeur d’un attribut est atomique.
Tuple :
Ou n-uplet est une ligne d’une relation, l’ajout d’un tuple ne change pas la nature de la
relation. La cardinalité d’une relation R est le nombre de tuple contenus dans la relation.
Schéma de relation :
Nom de la relation, suivi de la liste des attributs (avec éventuellement leurs domaines).
Exemple : Soit la relation étudiant caractérisée par le Cne de l’étudiant, son nom, son
prénom, sa date de naissance et son numéro de département.
• X est minimale.
Bensalimane Med 6
EST Fès Département INFO
Cours Base de Données Relationnelles
La clé dans un schéma de relation est soulignée
Exemple :
cne est une clé de la relation Etudiant signifie que le cne est unique cad deux étudiants
différents ne peuvent jamais avoir la même valeur de cne.
BD relationnelles :
Base de données dont le schéma est un ensemble de schémas de relations et dont les
occurrences sont les tuples de ces relations.
Exemple :
Contrainte d’intégrité:
nodept est une clé primaire dans la relation Departement, et une clé étrangère dans la
relation Etudiant.
La valeur de cet attribut n’existe dans la table étudiant que s’il est déjà défini dans la
relation Etudiant.
SGBD relationnel:
1. Ajout de données
Un SGBD doit permettre l’ajout de données. Pour cela, il est tout d’abord nécessaire de
pouvoir décrire les données avec un langage de description de données (LDD).
Une fois les données décrites, on peut ajouter des valeurs qui correspondent à la description
qu’on a faite par le biais d’un langage de manipulation de données (LMD).
Les données doivent être modifiables. On doit pouvoir changer la définition des données et les
valeurs des données grâce au LDD et LMD respectivement.
La recherche des données est un point crucial. Il faut que le SGBD puisse restituer les
données rapidement.
Access de Microsoft
DB2 d’IBM
FirebirdSQL, SGBD relationnel issu d’InterBase
HyperFile de PCSoft
Informix
InterBase de Borland
MySQL, SGBD relationnel
Oracle de Oracle Corporation
PostgreSQL
SQL Server de Microsoft
SQLite
Sybase
…
Bensalimane Med 8
EST Fès Département INFO
Cours Base de Données Relationnelles
Définition
A été inventé par Codd (1970). C’est un ensemble d’opérateurs définis sur l’ensemble des
relations et produisant des relations en sortie.
Opérations Ensemblistes :
1. UNION
Notation mathématique: R3 = R1 U R2
Notation algébrique: R3 = Union (R1, R2)
Arbre syntaxique:
R3
R1 R2
Bensalimane Med 9
EST Fès Département INFO
Cours Base de Données Relationnelles
Exemple :
R1 Nom Prenom
benslimane Mohamed
R3 Nom Prenom
bouzaidi Ouissal
benslimane mohamed
Quadi Kamal
bouzaidi ouissal
quadi kamal
R2 Nom Prenom
benhenda youness
belhenda Youness
benslimane Mohamed
2. INTERSECTION
Etant données deux relations R1et R2 de même schéma R1 R2 est la relation
contenant les tuples appartenant à R1 et à R2.
Arbre syntaxique:
R3
R1 R2
Exemple :
R1 Nom Prenom
benslimane Mohamed
bouzaidi Ouissal
Quadi Kamal R2 Nom Prenom
benslimane mohamed
R2 Nom Prenom
belhenda Youness
benslimane Mohamed
Bensalimane Med 10
EST Fès Département INFO
Cours Base de Données Relationnelles
3. DIFFERENCE
Notation mathématique: R3 = R1 - R2
Notation algébrique: R3 = Minus (R1, R2)
Arbre syntaxique:
R3
R1 R2
Exemple :
R1 Nom Prenom
benslimane Mohamed
bouzaidi ouissal
Quadi Kamal R3 Nom Prenom
bouzaidi ouissal
R2 Nom Prenom quadi kamal
belhenda Youness
benslimane Mohamed
4. Produit Cartésien
, ,…,
{ A1 A2 An } { B , B ,…, B } éventuellement vide.
1 2 n
Le produit cartésien de R1 et de R2 est défini par
R3( A1 A2, ,…, , , ,…,
An B1 B2 Bn ).
Cette opération porte sur deux relations.
La relation résultat possède les attributs de chacune des relations d’origine et ses n-
uplet sont formés par la concaténation de chaque n-uplet de la première relation avec
l’ensemble des n-uplets de la deuxième.
Notation mathématique: R3 = R1 x R2
Notation algébrique: R3 = Product (R1, R2)
Bensalimane Med 11
EST Fès Département INFO
Cours Base de Données Relationnelles
Arbre syntaxique: R3
R1 R2
Exemple : Examen = Etudiant x Exam
Propriétés
Degré (R1 U R2) = Degré (R1) = Degré (R2)
Définition
1. Projection
Opération portant sur une relation R1 pour construire une relation R2 contenant les
attributs mentionnés et en éliminant les tuples en double.
Bensalimane Med R1
12
EST Fès Département INFO
Cours Base de Données Relationnelles
2. Restriction
Opération portant sur une relation R1 pour construire une relation R2 de même
schéma, ayant pour tuples ceux vérifiant la condition mentionnée.
R1
3. Jointure
Opération permettant de rapprocher selon une condition les tuples des relations R1 et
R2 afin de former une relation R3 ayant pour attributs ceux de R1 et R2 et pour tuples
la combinaison de ceux de R1 et R2 vérifiant la condition.
Condition
R1 R2
Bensalimane Med 13
EST Fès Département INFO
Cours Base de Données Relationnelles
Une équijointure est une jointure dont la condition porte sur une égalité (un attribut de relation
R1 = un attribut de la relation R2).
Une jointure naturelle est une équijointure permettant d’éliminer l’attribut en double.
Exemple :
Noetu
Etudiant Tournoi
Exemple :
R
Nom, Tel
Noetu
Sport = ‘Foot’
R Nom Tel
benslimane 0666666666
Etudiant Tournoi bouzaidi 0777777777
Bensalimane Med 14
EST Fès Département INFO
Cours Base de Données Relationnelles
1. Introduction
Les opérations utilisées sont général celles des langages dits assertionnels.
Plusieurs langages permettent de manipuler les bases de données relationnelles ont été
proposés, en particulier Quel, QBE et SQL.
Aujourd’hui, le langage SQL est normalisé et est le standard d’accès aux bases de données
relationnelles.
• Description
• Recherche
• Mise à jour
• Confidentialité et cohérence.
2. Description
Les vues et l’autorisation d’accès aux tables seront étudiées plus loin dans ce chapitre.
Syntaxe: Create Table <nom_relation> (attribut1 type [not null], attribut2 type [not null],
…);
La requête est terminée par un point virgule ( ;), ce dernier indique au système qu’il faut
l’exécuter.
Bensalimane Med 15
EST Fès Département INFO
Cours Base de Données Relationnelles
[not null] est une contrainte qui signifie que l’attribut doit avoir obligatoirement une
valeur, si cette contrainte n’est pas mentionnée, l’attribut peut avoir une valeur nulle.
Chaque attribut doit être défini par son type, les types sont différents en fonction du
SGBD utilisé. A titre d’exemple, voici quelques types utilisés:
Create table voiture (NIM char(10) not null, marque char(12), modele char(30), prix
numeric(8,2)) ;
Syntaxe : Create Table <nom_relation> ([attribut1 [not null], attribut2 [not null], …])As
requête;
La requête est une opération de sélection qui indique les attributs sources, les tables
auxquelles elles appartiennent et les critères de sélection.
Si les attributs ne sont pas mentionnés, la nouvelle table créée aura comme attributs ceux
indiqués dans la requête de sélection dans l’ordre de leur apparition.
Les colonnes sont ajoutées à droite de la dernière, elles ont toutes des valeurs nulles.
• Augmenter la taille
Bensalimane Med 16
EST Fès Département INFO
Cours Base de Données Relationnelles
La clause Unique est précisée dans le cas ou l’on crée une clé.
3. Recherche
Syntaxe :
SELECT [All / Distinct] {<expression de valeurs> /*}
From <liste_relations>
[Where <condition>]
Une expression de valeurs peut être la liste des attributs ou des expressions arithmétiques.
* indique tous les attributs
Une condition peut être simple ou composée, reliées par les opérateurs logiques And, Or
et Not.
Dans le cas ou nous avons une liste de relations, il peut être nécessaire de préciser à quelle
relation appartient chacun des attributs. Cette ambigüité est levée de deux manières :
Bensalimane Med 17
EST Fès Département INFO
Cours Base de Données Relationnelles
Pour designer l’attribut NIM de la relation Voiture, on peut écrire Voiture.NIM ou bien
utiliser une variable de désignation V pour voiture par exemple et écrire V.NIM.
Exemple: donner le nom des clients ayant des voitures de modèle 307 et de marque
Peugeot.
Select nom
From client
Where cin in (Select cin
From appartenir
Where NIM in (Select NIM
From voiture
Where modele = “307” and marquee = “Peugeot”));
Select nom
From client C, appartenir A,voiture V
Where C.cin = A.cin and A.NIM = V.NIM and modele = “307” and marque = “Peugeot”);
Bensalimane Med 18
EST Fès Département INFO
Cours Base de Données Relationnelles
Exemple : Donner la liste des différentes marques de voitures affichées par ordre
alphabétique croissant.
Attention : une fonction agrégat est utilisée dans un select (Jamais dans un Where)
Syntaxe :
X opc ANY (requête) retourne vrai si ∃y ∈ E tel que X opc y, retourne faux sinon
X opc ALL (requête) retourne vrai si ∀y ∈ E tel que X opc y, retourne faux sinon
X in (requête) retourne vrai si X ≠ y ∀y ∈ E , retourne faux sinon.
Group by partitionne la relation en sous relations tel que chacune ait pour l’attribut
indiqué par group by la même valeur.
Having a la même fonction que Where, ne garde que les sous relations qui satisfont la
condition.
Bensalimane Med 19
EST Fès Département INFO
Cours Base de Données Relationnelles
Exemple : Donner pour chaque marque le nombre de ses modèles celui-ci doit être
supérieur ou égale à 8.
4. Mise à jour
4.1. Insertion
Syntaxe : Insert into voiture Values (“14902A15”, “Citroen”, 160 000, “Xsara”) ;
4.2. Modification
Permet la modification dans une table de valeurs de ses attributs choisis et qui vérifient la
condition mentionnée.
Exemple : réduire de 5000 Dhs les voitures de marque Honda et de modèle Jazz.
Syntaxe : Update voiture Set prix = prix-5000 Where marque = “Honda” and model =
“Jazz” ;
4.3. Suppression
Bensalimane Med 20
EST Fès Département INFO
Cours Base de Données Relationnelles
Syntaxe: Delete From <nom_relation> [Where <condition>];
5. Les vues
Un sous modèle de base de données est décrit par un ensemble de Vues. Une vue
correspondant à une fenêtre d’accès aux données de la base puisqu’elle permet de réduire
l’accès aux données au niveau attributs, tuples ou accès.
5.1. Création
Dans le cas ou une vue est le résultat d’une requête complexe (ou une expression apparait
dans les attributs sélectionnés de la requête ou la requête porte sur plusieurs tables),
liste_attributs permet de donner un nom à tous les attributs constituent la vue.
5.2. Manipulation
• Select
• Delete si
1. La vue porte uniquement sur une table
2. La vue n’a pas été définie au moyen d’un group by ou distinct.
• Update si
1. La vue porte sur une table
2. La vue n’a pas été définie au moyen d’un group by ou distinct.
3. Les colonnes à modifier n’ont pas été définies dans la vue comme des
expressions.
• Insert si
1. La vue porte sur une table
2. La vue n’a pas été définie au moyen d’un group by ou distinct.
3. Une insertion directement dans la vue est impossible.
5.3. Suppression
Bensalimane Med 21
EST Fès Département INFO
Cours Base de Données Relationnelles
La gestion des droits d’accès aux tables est décentralisée; il n’existe pas d’administrateur
global attribuant des droits à ce niveau là. Chaque créateur de table obtient tous les droits
d’accès à ses objets, en particulier les droits d’effectuer les opérations de sélection et de
mise à jour. Il peut ensuite passer ses droits sélectivement à d’autres utilisateurs ou à tous
les utilisateurs (PUBLIC).
L’ensemble des privilèges (All privilèges) inclut les droits d’administration (changement
de schémas et suppression de relations). Le récepteur peut être un utilisateur ou un groupe
d’utilisateurs, selon l’identifiant d’autorisation donné.
Bensalimane Med 22
EST Fès Département INFO
Cours Base de Données Relationnelles
ALGEBRE RELATIONNELLE
Note :
L’attribut «titre » est une chaine de caractère, il correspond au titre d’un module.
L’attribut « nomod » est un numérique, il correspond au numéro du module.
Travail à réaliser: Donnez un arbre algébrique pour chacune des questions suivantes:
Bensalimane Med 23
EST Fès Département INFO
Cours Base de Données Relationnelles
LANGAGE SQL
Note :
L’attribut «titre » est une chaine de caractère, il correspond au titre d’un module.
L’attribut « nomod » est un numérique, il correspond au numéro du module.
Travail à réaliser: Répondre aux questions suivantes en écrivant des requêtes dans le langage
SQL.
1. Donnez le nom des étudiants dont le numéro est compris entre 10 et 50.
2. Donnez le nom et la fonction des enseignants qui occupent la salle D12 le Mardi.
3. Donnez la liste des salles ou il y a cours le lundi et le mardi.
4. Donnez le nom des étudiants ayant passé l’examen en programmation ou en module 6.
5. Donnez le nom des étudiants qui ont obtenu pour un même module une note de
rattrapage supérieure à la note d’examen.
6. Donnez le nom des étudiants dont la note à l’examen du module 2 n’est pas leur
meilleure note à l’examen.
7. Donnez les salles occupées par l’enseignant « belkhou » pour le module « TEC ».
8. Donnez le nombre d’étudiants différents qui ont passé le rattrapage.
9. Donnez la meilleure note de l’examen du module 2.
10. Donnez le nom des étudiants qui ont obtenu la meilleure note à l’examen du module 2.
11. Donnez la liste des filières comprenant plus de 4 modules.
12. Donnez le nombre de salles comportant plus de 4 séances.
13. Donnez la moyenne générale de chaque étudiant à l’examen.
14. Donnez la meilleure moyenne générale obtenue.
15. Donnez le nom de l’étudiant qui a obtenu la meilleure moyenne à l’examen.
Bensalimane Med 24
EST Fès Département INFO
Cours Base de Données Relationnelles
On se propose de créer une Base de données relationnelle concernant la gestion des employés
d’une société.
Supposons que l’administrateur de la base de données a construit un modèle (schéma
relationnel normalisé) à partir des informations relatives aux employés d’une société
organisées en plusieurs services. Le modèle est le suivant :
1. Créer une base de données sous Access dans votre répertoire de travail nommée
« gestion.mdb »
2. Créer les tables Services, Salaire et Employe en mode création.
3. Mettre en relation les tables Employe, Service et Salaire.
4. Saisir les données ci-dessous dans les tables suivantes :
5. Ajouter dans la table Service le tuple suivant : « 10, ‘Gestion’ ». Qu’est ce qui se
passe ?
6. Insérer les tuples suivants dans la table employé.
Bensalimane Med 25
EST Fès Département INFO
Cours Base de Données Relationnelles
Employe noemp nomemp preemp poste grade supr datemb noservice
1 Benslimane Mohamed Concepteur 3 3 10/01/10 20
2 Belhenda Youness Concepteur 3 3 15/02/10 20
3 Ibriz Ali Chef projet 5 4 10/02/10 20
4 Safouane Abdellatif Directeur 6 11 01/02/10 20
5 Quadi Redouane Maintenance 4 4 03/01/10 20
6 Quadi Kamal Maintenance 4 5 10/02/10 20
7 Bouzaidi Ouissal Concepteur 3 5 15/02/10 20
8 Bechkala Ahmed Comptable 2 12 10/02/10 30
9 Touinsi Hind Comptable 2 12 15/01/10 30
10 Chihab Hassan Gestionnaire 3 12 20/02/10 30
11 Benkiran Abdelilah Président 6 02/01/10 10
12 Touinsi Jaouad Directeur 6 11 05/01/10 30
13 Errachdi Aziz Commercial 4 16 20/02/10 10
14 Belkou Asmae Assistante 2 16 03/03/10 10
15 Errachdi Mustapha Commercial 4 16 12/02/10 10
16 Touinsi Mohssine Directeur 6 11 10/02/10 10
Tri
1. Afficher la table employé triée par ordre décroissant de poste.
2. Afficher la table employé triée par ordre croissant de titre et nom d’employé.
3. Afficher la table employé triée par ordre croissant de numéro.
Filtre
4. Afficher la liste des employés de sexe féminin qui travaillent dans le service 10.
5. Afficher la liste des employés de grade >=4 du service 20 ou 30.
6. Afficher la liste des directeurs et ceux qui travaillent dans le service 20.
7. Afficher la liste des grades pour les salaires compris entre 9000 et 16000.
Recherche
8. Rechercher les employés ayant le prenom « Aziz ».
9. Rechercher les employés dont le nom commence par la lettre « B »
10. Remplacer le nom de l’employé « Quadi » par « El Quadi »
Bensalimane Med 26
EST Fès Département INFO
Cours Base de Données Relationnelles
1. Afficher la liste des employés (nom et prénom) classés par ordre alphabétique
croissant.
2. Afficher la liste des employés directeurs (nom et prénom) classés par ordre
alphabétique croissant.
3. Afficher la liste des employés (nom, prénom, poste et grade) directeurs et ceux qui ont
le grade < 4.
4. Afficher la liste des employés (nom, prénom, poste et date d’embauche) ayant
commencé dans la société après le 01/02/10.
5. Afficher la liste des employés (nom, prénom, nom de service et salaire minimal) ayant
un salaire minimale < 15000 par ordre croissant du salaire minimal.
6. Afficher la liste des employés (nom, prénom et service) par poste (paramètre saisi au
clavier).
7. Afficher sous forme monétaire, le salaire moyen de chaque employé de grade >= 4.
8. Calculer et afficher sous forme monétaire le salaire total moyen de tous les employés.
9. Donner pour chaque service, le nombre d’employés, le salaire minimum et le salaire
maximum.
10. Donner le nombre d’employés par poste.
11. Créer une table emp (noemp, nomemp, poste, grade) contenant la liste des employés
ayant le grade <=3.
12. Supprimer de la table emp les employés de poste Concepteur.
13. Augmenter dans la table emp, le grade des employés (grade+1) qui ont travaillé avant
le 01/02/10.
14. Supprimer la table emp.
Recherche
1. Afficher le nom et poste des employés ayant un grade >= 4 par ordre alphabétique
croissant.
2. Afficher le nom et le salaire minimal des employés ayant un grade >= 4.
3. Afficher la liste des employés qui occupent le même poste que ‘Benslimane’
4. Afficher la liste des employés qui ont au moins un supérieur.
5. Afficher la liste des employés qui sont dans la hiérarchie de la société supérieurs.
6. Afficher la liste des employés du service ‘Informatique’ ayant travaillé à la même
date que d’autres employés d’un autre service.
7. Afficher la liste des employés du service ‘Informatique’ ayant le même supérieur.
8. Afficher la liste des employés qui travaillent directement sous le directeur du
département ‘Finance’.
9. Donner le nombre d’employés pour chaque poste.
10. Donner le nombre d’employés pour chaque grade >= 4.
11. Donner pour chaque grade le nombre d’employés s’il est supérieur ou égale à 4.
12. Donner le salaire moyen de chaque service.
Bensalimane Med 27
EST Fès Département INFO
Cours Base de Données Relationnelles
Mise à jour
13. Créer une table emp2 contenant les attributs : noemp, nomemp, salmin, et
nomservice.
14. Augmenter de 10% le salaire de tous les employés du service ‘Informatique’ dans
la table emp2.
15. Insérer dans la table employé le tuple :
(17, ‘Mr’, ‘Touil’, ‘Adam’, ‘Maintenance’, 4, 5, #11/03/10#, 20).
16. Insérer dans la table service le tuple : (10, ‘Comptabilité’)
Attention, qu’est ce qui se passe ?
17. Insérer dans la table service le tuple : (50, ‘Comptabilité’)
18. Supprimer de la table service le tuple N 50.
Bensalimane Med 28