You are on page 1of 13

Notions de bases Dfinition intuitive dune BD (1)

Dfinition intuitive : on peu considrer une Base de Donnes (BD) comme:

SGBD & SQL

Grande quantit de donnes (ou ensemble dinformations), Centralises (ou non) Servant pour les besoins dune ou plusieurs applications d une applications, Interrogeables et modifiables par un groupe dutilisateurs travaillant en parallle.

Exemples dapplication Annuaire lectronique Catalogue lectronique dune bibliothque

Notions de bases Dfinition intuitive dune BD (2)

SGBD (1)
Dfinition : Le logiciel qui permet dinteragir avec une BD est Systme de Gestion de Base de Donnes (SGBD) ou DBMS

Dfinition ; une base de donnes est un ensemble structur de donnes (1) enregistres sur des supports (2) pour satisfaire simultanment plusieurs utilisateurs (3) de manire slective (4) en un temps opportun (5).

(1) : Organisation et description de donnes (2) : Stockage sur disque (3) : Partage des donnes (4) : Confidentialit (5) : Performance

SGBD

BD

Objectifs des SGBD (1) SGBD (2)


Un SGBD est un intermdiaire entre les utilisateurs et les fichiers physiques Un SGBD facilite
La gestion de donnes, avec une reprsentation intuitive simple g , p p

Faciliter la reprsentation et la description de donnes

Indpendance physique (1) :

sous forme de table par exemple


La manipulation de donnes. On peut insrer, modifier les donnes et les structures sans modifier les programmes qui manipulent la base de donnes Programme 1 Fichier 1 Fichier 2 Fichier 3 Programme 2 SGBD Programme 3

Plus besoin de travailler directement sur les fichiers physiques (tels quils sont enregistrs sur disque). Permet d d i l d P t de dcrire les donnes et l li t les liens entre elles d t ll dune f faon logique sans se soucier du comment cela va se faire physiquement dans les fichiers. On parle alors dimage logique de la base de donnes,
Image logique Image physique Fichiers physiques

Base de donnes

Objectifs des SGBD (2)


Indpendance physique (2) : La manipulation des donnes se fait :

Objectifs des SGBD (2)


Indpendance logique :
Un mme ensemble de donnes est vu diffremment par des utilisateurs

Directement sur le schma logique. On peut insrer, supprimer, modifier des donnes directement sur limage logique. Le SGBD va soccuper de faire le travail sur les fichiers physiques.

diffrents. diffrents Toutes ces visions personnelles des donnes doivent tre intgrs dans une vision globale par le SGBD.

Manipulations des donnes par des non informaticiens.


Il faut pouvoir accder aux donnes sans savoir programmer ce signifie des langages quasi naturels .

qui

Objectifs des SGBD (2)


Efficacit des accs aux donnes :

Objectifs des SGBD (3)


Cohrence des donnes.
Les donnes sont soumises un certain nombre de contrainte dintgrit qui dfinissent un tat cohrent de la base. Elles doivent pouvoir tre exprimes simplement et vrifies automatiquement chaque insertion, modification ou suppression de donnes, par exemple : lge dune personne suprieur zro Salaire suprieur zro

Ces langages doivent p g g permettre dobtenir des rponses aux p interrogations en un temps raisonnable . Il doivent donc tre optimiss (minimiser le nombre daccs disques) Dune faon compltement transparente pour lutilisateur.

Administration centralise des donnes :


Des visions diffrentes des donnes se rsolvent plus facilement si les donnes sont administres de faon centralise.

Etc
Ds que lon essaie de saisir une valeur qui ne respecte pas cette contrainte, le SGBD le refuse.

Objectifs des SGBD (4)


Non redondance des donnes : Afin dviter les problmes lors des mises jour, chaque donne ne doit tre prsente quune seule fois dans la base. Partageabilit des donnes : Plusieurs utilisateurs daccder aux mmes donnes au mme moment. Simple en cas dinterrogations et mono-utilisateur, Difficile lors de modifications dans un contexte multi-utilisateurs. Il sagit alors de pouvoir : Permettre deux (ou plus) utilisateurs de modifier la mme donne en mme
temps ; Assurer un rsultat dinterrogation cohrent pour un utilisateur consultant une table pendant quun autre la modifie.

Objectifs des SGBD (5)


Scurit des donnes. Les donnes doivent pouvoir tre protges contre les accs non autoriss. Pour cela, il faut pouvoir associer chaque utilisateur des droits daccs aux donnes. Rsistance aux pannes :

Prvoir de rcuprer une base dans un tat sain . Deux solutions sont possibles : Rcuprer les donnes dans ltat dans lequel elles taient avant la modification, Soit terminer lopration interrompue.

Trois Fonctions dun SGBD


Description des donnes :

Dfinition et description des donnes 3 niveaux de description


Interview Documents

Codification structuration, grce un Langage de Description de Donnes (LDD) Schma Externe1 T Schma Externe2

Modlisation

Manipulation et restitution des donnes (insertion, mise jour, interrogation)

Mise en uvre laide dun Langage de Manipulation de Donnes (LMD) S.Q.L. (Structures Query Langage) : Langage standard

Schma conceptuel

Schma physique

Contrle (partage, intgrit, confidentialit, scurit)

Dfinition et description des donnes niveau logique (conceptuel)

Dfinition et description des donnes niveau physique

Permet la description

Des objets : exemple OUVRAGES, ETUDIANTS Des proprits des objets (attributs) : exemple Titre de OUVRAGES Des liens entre les objets : un OUVRAGE peut tre emprunt par un ETUDIANT Des contraintes : le nombre dexemplaires dun OUVRAGE est suprieur zro

Description informatique des donnes et de leur organisation : en terme de fichiers, dindex, de mthodes daccs, Passage du modle logique au modle physique tend tre assist par le SGBD : transparent et/ou semi-automatique Objectifs : optimiser les performances

Cette description est faite selon un modle de donnes.

Dfinition et description des donnes niveau externe

Manipulation et restitution des donnes

Description des donnes vues par un utilisateur ( ou un groupe dutilisateurs)

Objectifs : simplification, confidentialit Exemple : CIEL, SAGE,

Afin de raliser les oprations suivantes Insertion : saisir des donnes Supprimer Modifier Interroger : rechercher des donnes via des requtes La manipulation des donnes est mise en uvre laide dun Langage de manipulation de Donnes (LMD). SQL (Structured Query Language) est le langage standard de manipulation de BD

Contrles raliss par le SGBD


Contrles raliss par le SGBD


Confidentialit :

Partage de donnes :

Plusieurs utilisateurs peuvent utiliser en mme temps une base de donnes Se pose le problme de la confidentialit des donnes. Des droits doivent tre grs sur les donnes droits de lecture mise jour donnes, lecture, jour, cration; qui permettent daffiner.

accs la mme information par plusieurs utilisateurs en mme temps. Le SGBD inclut un mcanisme de contrle de la concurrence bas sur des techniques de verrouillage des donnes Pour viter par exemple quon puisse lire une information quon est en train de mettre jour

Scurit :

Intgrit des donnes

Une base de donnes est souvent vitale dans le fonctionnement dune organisation, Il nest pas tolrable quune panne puisse remettre en cause son fonctionnement de manire durable. Les SGBD fournissent des mcanismes pour assurer cette scurit.

Le SGBD veille ce que toutes les contraintes soient vrifies chaque insertion, suppression, ou modification dune donne.

Quelques SGBD

Architecture des SGBD

Architecture centralise

Quelques SGBD (relationnels du march)

programme d'application et SGBD sur mme machine (mme site) premiers systmes

Micro : ACCESS, Paradox, Dbase, PostSQL, MySQL, Gros systme : DB2, ORACLE, SYBASE,

Architecture du type client-serveur ( li t A hit t d t li t (client-server architecture)

programme d'application = client

interface ( GUI ) + traitement du domaine d application

SGBD = serveur (de donnes data server ) machines (sites) diffrentes deux couches, niveaux, strates (two tier )

Architecture des SGBD

Architecture client / serveur

Base sur une architecture Client-Serveur

Donnes sur le serveur partages entre N clients Interfaces graphiques sur la station de travail personnelle Communication par des protocoles standardiss Clients et serveurs communiquant par des requtes avec rponses

BD Rseau

Programme d'application Logiciel intermdiaire Pilote de tlcommunication

SGBD Logiciel intermdiaire Pilote de tlcommunication

Client

Serveur

Architecture 3 tiers

Base de donnes distribues

BD Rseau Rseau Rseau

BD locale Rseau

BD locale

Interface Logiciel intermdiaire Pilote de tlcommunication

Application Logiciel intermdiaire Pilote de tlcommunication

SGBD Logiciel intermdiaire Pilote de tlcommunication

Programme d'application Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

Client mince

Serveur d'application

Serveur de donnes

Client

Serveur de donnes

Serveur de donnes

Base de donnes parallles

Entrept de donnes
BD oprationnelle (OLTP)

Unit de traitement

Unit de traitement

Unit de traitement

Mmoire vive

BD oprationnelle (OLTP)

Extraction : filtrage, synthse, transformation, fusion

Entrept de donnes ( data wharehouse )

Analyse (OLAP), prospection

Disque

Disque

Disque

Disque

Disque

Autre source de donnes

Entrept de donnes

Base de donnes oprationnelle

traitement des donnes quotidiennes et rcentes OLTP ( On Line Transaction Processing ).

Entrept de donnes (data wharehouse)

grand volume de donnes historiques extraites de bases oprationnelles pour le support la prise de dcision OLAP ( On Line Analytical Processing )

Prospection de donnes , ou forage, fouille, exploration de donnes, ou dcouverte de connaissances dans les BD (data mining, analysis, dredging, archeology, knowledge discovery in databases - KDD)

Langage SQL

extraction non triviale d'informations implicites, inconnues et utiles apprentissage machine , statistiques

plan

Introduction au langage SQL

Introduction Interrogation Manipulation des donnes Dfinition des donnes Contrle des donnes

SQL : Structured Query Language Un langage ANSI American National Standards Institute standard de gestion des bases de donnes relationnelles Conu par IBM dans les annes 70

Introduction au langage SQL


SQL est un langage de:

Introduction au langage SQL


Il existe plusieurs versions de SQL malgr quil soit ANSI : PL/SQL, Transact-SQL, OQL, Ces versions supportent au moins les commandes de bases et les traitent de la mme manire:

Dfinition des donnes DDL : create, drop, alter / tables , procdures et vues Manipulation des donnes DML : i M i l ti d d insert, d l t update / t delete, d t tables Interrogation des donnes DQL : select / tables Contrle de donnes DCL : grant, revoke / tables , procdures et vues Contrle de transactions : commit, rollback / requtes

Select, update, delete, insert , where,

Bas sur le calcul relationnel Algbre relationnel (Bool)

Introduction au langage SQL


Introduction au langage SQL

Le langage SQL est utilis directement partir dun diteur Indirectement depuis un langage de programmation tels que Java, C++, par le biais dun outil dinterfaage : ODBC, JDBC, Sous forme de procdures stockes ou fonctions enregistres dans la base de donnes elle-mme Avec des triggers (dclencheurs) : gestion des vnements lis aux modifications du contenu de la base de donnes

Le langage SQL est un langage dclaratif : dcrit le rsultat escompt et non la manire de lobtenir Gnralement quip dun optimiseur de requtes pour rduire la complexit algorithmique

Introduction au langage SQL

Introduction au langage SQL

Une relation du schma relationnel est converti vers une table dans la base de donnes Une table est compose de lignes et de colonnes Lignes : enregistrements (occurrences) Colonnes: champs (attributs) Toutes les donnes dune colonnes doivent avoir le mme type dfini au pralable

Exemple de table Etudiant :


Prnom Ahmed Bouchra Marwan Nidal CNE 132542 456884 878955 685499 note 15 12 10 14 Email @y Nadiri@yahoo.fr Zerwal@hotmail.com Moutawakil.M@gmail.com Moutawakil.N@gmail.com

Nom

Nadiri Zerwal Moutawakil Moutawakil

Introductions SQL / Types

Numriques: Nombres entiers: SMALLINT (2 octets) ; INTEGER (4 octets) Nombres dcimaux: NUMERIC (p d) ; DECIMAL (p d) (p, (p, 456.12 : p=5; d=2

A virgule flottante : REAL (p >=7) ; FLOAT, DOUBLE

PRECISION (p >=15) Chane de bits : BIT (n) BIT VARYING (n)

TYPE DE DONNES

40

Type de donnes

Types numriques
Nombres entiers :

Types numriques Types pour les chanes de caractres Types temporels (dates, heures minutes ) (dates heures, minutes,)

SMALLINT sur 2 octets

INTEGER sur 4 octets


virgule flottante :

REAL DOUBLE PRECISION (ou FLOAT)

Constantes : 253.8, -10, 1.3E-5

Types Chane de Caractres


CHAR(longueur) : chanes de caractres avec un nombre fixe de Caractres VARCHAR (longueurMaximum) chanes de caractres avec un nombre variable de caractres (mais un nombre maximum de caractres) CHAR(5) : chane de 5 caractres VARCHAR(20) : chane de 20 caractres au plus

Types Temporels

Temporels:

DATE (2,2,4) : pour les dates ( , , ) p TIME (H, M, S) : pour les heures, minutes et secondes TIMESTAMP (date + heure) pour un moment prcis INTERVAL ( intervalle de temps)

Interrogation / SELECT
Base essentiellement sur linstruction SELECT Syntaxe : SELECT exp 1 , , exp n exp_1 exp_n FROM table_1 , , table_n WHERE Prdicat ======================== SELECT * FROM table_1 , , table_n WHERE Prdicat
45

Interrogations simples

Interrogation / SELECT

Interrogation / Exemples

SELECT : retourne les donnes spcifies dans la clause exp_1, , exp_n depuis les tables table_1, , table_n et vrifiant les conditions dcrites dans Prdicat exp 1 , , exp n : colonnes de tables ou expressions p_ p_ p bases dessus (constantes, ) FROM : spcifies les tables de slections table_1 , , table_n : (tables, vues, ) WHERE : introduit des contraintes logiques vrifier Prdicat : contraintes logiques vrifier qui peuvent tre assez complexes

Nom Nom

SELECT nom , CNE FROM Etudiant ========================


Prnom CNE CNE note 15 12 10 14 Email 132542 132542 Ahmed Nadiri@yahoo.fr Zerwal@hotmail.com Moutawakil.M@gmail.com Moutawakil.N@gmail.com

Nadiri Nadiri

456884 Zerwal 456884 Zerwal Bouchra Moutawakil Marwan 878955 Moutawakil 878955 685499 Moutawakil Nidal Moutawakil 685499

Interrogation / Exemples

Interrogation / Exemples

Nom

SELECT nom , CNE , note + 2 FROM Etudiant ========================


Nom Prnom CNE CNE note note Email 132542 15 NadiriAhmed 132542 17 Nadiri@yahoo.fr Zerwal@hotmail.com Moutawakil.M@gmail.com Moutawakil.N@gmail.com

Nom

SELECT * FROM Etudiant ========================


Prnom Ahmed Bouchra Marwan Nidal CNE note 15 12 10 14 Email 132542 456884 878955 685499 Nadiri@yahoo.fr Zerwal@hotmail.com Moutawakil.M@gmail.com Moutawakil.N@gmail.com

Nadiri

Nadiri Zerwal Moutawakil Moutawakil

456884 12 Zerwal Zerwal Bouchra 456884 14 878955 10 Moutawakil Moutawakil Marwan 878955 12 Moutawakil Moutawakil Nidal 685499 16 685499 14

Interrogation / Exemples
SELECT Nom, CNE FROM Etudiant WHERE nom like Mout% Mout% Nom======================== Prnom CNE note Email

Nom 132542 Ahmed CNE Moutawakil 878955 Bouchra 456884 Moutawakil 878955 Moutawakil Marwan 685499 Nadiri Zerwal Moutawakil Nidal 685499 15 12 10 14 Nadiri@yahoo.fr Zerwal@hotmail.com Moutawakil.M@gmail.com Moutawakil.N@gmail.com

Interrogation / Exemples

SELECT * FROM Etudiant WHERE Nom = Nadiri AND Prnom = Nadiri Ahmed Nom Prno CNE note Email ========================
m Nadiri Ahmed 132542 15 Nadiri@yahoo.fr

Interrogation / Oprateurs logiques


Oprateur = > >= < <= LIKE IN BETWEEN description Egale Strictement suprieur Suprieur ou gal Strictement infrieur Infrieur ou gal Pattern matching operator Ensemble de valeurs Dsigne un intervalle

Interrogation / SELECT DISTINCT


Syntaxe : SELECT DISTINCT exp_1 , , exp_n FROM table 1 , , table n table_1 table_n WHERE Prdicat ======================== Sert retourner seulement les enregistrements valeurs diffrentes

Interrogation / SELECT DISTINCT


Exemple : SELECT DISTINCT nom FROM Etudiant ======================== Nom


Nadiri Zerwal Moutawakil

Cration dune table (LDD)

56

SQL/ Dfinition des donnes


CREATE TABLE table ( colonne1 type1, colonne2 type2, ... . . .)

Option not null si la colonne doit obligatoirement tre renseigne

Exemple : create table article (ref char(5) not null, nom varchar(20), prix numeric(9,2), dateMAJ date);

Manipulation des Donnes (LMD)

58

SQL/ Manipulation des donnes


Commandes de manipulation des donnes:

SQL/ Manipulation des donnes


INSERT INTO table [(colonne1, colonne2,)] VALUES (valeur1, valeur2,) Exemples
insert into dept values (10, 'Finance', 'Paris'); insert into dept (lieu, nomD, dept) values ('Grenoble', 'Recherche', 20);

INSERT pour ajouter des lignes UPDATE pour modifier d li difi des lignes DELETE pour supprimer des lignes

10

SQL/ Manipulation des donnes


UPDATE table SET colonne1 = expr1, colonne2 = expr2, [ WHERE prdicat ] Toutes les lignes par ou dfaut UPDATE table [ synonyme ] SET (colonne1, colonne2, ) = (select ) [ WHERE prdicat ]
Ne doit renvoyer qu'une seule ligne

SQL/ Manipulation des donnes


DELETE FROM table [ WHERE prdicat ] Attention ! s'il n'y a pas de clause WHERE, toutes les lignes sont supprimes l li t i Exemple : delete from emp where dept = 10;

Exemple update emp set dept = 10 where nomE = 'Martin';

Exemple update emp set sal = sal * 1.1 where poste = 'Commercial';

SQL/ Exercices
Soit le modle relationnel suivant relatif une base de donnes sur des reprsentations musicales : REPRESENTATION (nreprsentation, titre_reprsentation, lieu) MUSICIEN (nom, nreprsentation*) PROGRAMMER (date, nreprsentation*, tarif) NB : les cls primaires sont soulignes et les cls trangres sont marques par *
1.

SQL/ Exercices
Soit le modle relationnel suivant relatif une base de donnes sur des reprsentations musicales : REPRESENTATION (nreprsentation, titre_reprsentation, lieu) MUSICIEN (nom, nreprsentation*) PROGRAMMER (date, nreprsentation*, tarif) NB : les cls primaires sont soulignes et les cls trangres sont marques par *
2.

Donner la liste des titres des reprsentations.

Donner la liste des titres des reprsentations ayant lieu l'opra PARIS.

SELECT titre_reprsentation FROM REPRESENTATION ;

SELECT titre_reprsentation FROM REPRESENTATION WHERE lieu="Opra PARIS"

SQL/ Exercices
Soit le modle relationnel suivant relatif une base de donnes sur des reprsentations musicales : REPRESENTATION (nreprsentation, titre_reprsentation, lieu) MUSICIEN (nom, nreprsentation*) PROGRAMMER (date, nreprsentation*, tarif) NB : les cls primaires sont soulignes et les cls trangres sont marques par *
3.

SQL/ Exercices
Soit le modle relationnel suivant relatif une base de donnes sur des reprsentations musicales : REPRESENTATION (nreprsentation, titre_reprsentation, lieu) MUSICIEN (nom, nreprsentation*) PROGRAMMER (date, nreprsentation*, tarif) NB : les cls primaires sont soulignes et les cls trangres sont marques par *
4.

Donner la liste des noms des musiciens et des titres des reprsentations auxquelles ils participent.

Donner la liste des titres des reprsentations, les lieux et les tarifs pour la journe du 14/09/96

SELECT nom, titre_reprsentation FROM MUSICIEN, REPRESENTATION WHERE MUSICIEN.nreprsentation = REPRESENTATION.nreprsentation ;

SELECT titre_reprsentation, lieu, tarif FROM REPRESENTATION, PROGRAMMER WHERE PROGRAMMER.nreprsentation = REPRESENTATION.nreprsentation AND date='14/06/96' ;

11

SQL/ Exercices
Soit le modle relationnel suivant relatif la gestion des notes annuelles d'une promotion d'tudiants : ETUDIANT(NEtudiant, Nom, Prnom) MATIERE(CodeMat, LibellMat, CoeffMat) EVALUER(NEtudiant*, CodeMat*, Date, Note) NB: les l NB l cls primaires sont soulignes et l cls t i i t li t les l trangres sont marques par * t 1 - Quel est le nombre total d'tudiants ?

SQL/ Exercices
Soit le modle relationnel suivant relatif la gestion des notes annuelles d'une promotion d'tudiants : ETUDIANT(NEtudiant, Nom, Prnom) MATIERE(CodeMat, LibellMat, CoeffMat) EVALUER(NEtudiant*, CodeMat*, Date, Note) NB: les l NB l cls primaires sont soulignes et l cls t i i t li t les l trangres sont marques par * t
2.

Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la plus basse ?

SELECT COUNT(*) FROM ETUDIANT ;

SELECT MIN(Note), MAX(Note) FROM EVALUER ;

SQL/ Exercices SQL/ Exercices


Soit le modle relationnel suivant relatif la gestion des notes annuelles d'une promotion d'tudiants : ETUDIANT(NEtudiant, Nom, Prnom) MATIERE(CodeMat, LibellMat, CoeffMat) EVALUER(NEtudiant*, CodeMat*, Date, Note) NB: les l NB l cls primaires sont soulignes et l cls t i i t li t les l trangres sont marques par * t
3.

Le modle relationnel correspondant : REPRESENTANT (Num_rep, Nom_rep, Ad_rep, CP_rep, Vil_rep, Age_rep) COUVRIR (#Num_rep, #Code_dep) DEPARTEMENT (Code_dep, nom_dep, chef secteur) CLIENT (Code_clt, Nom_clt, #Num-rep,#Num-cat) CATEGORIE TARIFAIRE (Num cat Nom cat Remise) (Num_cat, Nom_cat, Ecrire les requtes suivantes 1) Afficher la liste des clients appartenant la catgorie tarifaire n1, classe par ordre alphabtique

Quelles sont les moyennes de chaque tudiant dans chacune des matires ?

SELECT ETUDIANT.NEtudiant, Nom, Prnom, LibellMat, CoeffMat, AVG(Note) AS MoyEtuMat FROM EVALUER, MATIERE, ETUDIANT WHERE EVALUER.CodeMat = MATIERE.CodeMat AND EVALUER.NEtudiant = ETUDIANT.NEtudiant GROUP BY ETUDIANT.NEtudiant, Nom, Prnom, LibellMat, CoeffMat;

R1) SELECT * FROM Client WHERE Num-cat =1 ORDER BY Nom-clt ASC

SQL/ Exercices
Le modle relationnel correspondant : REPRESENTANT (Num_rep, Nom_rep, Ad_rep, CP_rep, Vil_rep, Age_rep) COUVRIR (#Num_rep, #Code_dep) DEPARTEMENT (Code_dep, nom_dep, chef secteur) CLIENT (Code_clt, Nom_clt, #Num-rep,#Num-cat) CATEGORIE TARIFAIRE (Num cat Nom cat Remise) (Num_cat, Nom_cat, Ecrire les requtes suivantes 2) Afficher la liste des clients (code, nom de client) rattachs au reprsentant HINAUD

SQL/ Exercices
Le modle relationnel correspondant : REPRESENTANT (Num_rep, Nom_rep, Ad_rep, CP_rep, Vil_rep, Age_rep) COUVRIR (#Num_rep, #Code_dep) DEPARTEMENT (Code_dep, nom_dep, chef secteur) CLIENT (Code_clt, Nom_clt, #Num-rep,#Num-cat) CATEGORIE TARIFAIRE (Num cat Nom cat Remise) (Num_cat, Nom_cat, Ecrire les requtes suivantes 3) Afficher la liste des clients bnficiant d'une remise de 10%

R2) SELECT Client.code-clt, Client.Nom-clt FROM Client, Reprsentant WHERE Reprsentant.Nom-rep = Hinaud AND Client.Num-rep = Rerpsentant.numrep

R3) SELECT Client.* FROM Client, Catgorie tarifaire WHERE Catgorie tarifaire.remise = 10% AND Client.Num-cat = Catgorie tarifaire.Num-cat

12

SQL/ Exercices
Le modle relationnel correspondant : REPRESENTANT (Num_rep, Nom_rep, Ad_rep, CP_rep, Vil_rep, Age_rep) COUVRIR (#Num_rep, #Code_dep) DEPARTEMENT (Code_dep, nom_dep, chef secteur) CLIENT (Code_clt, Nom_clt, #Num-rep,#Num-cat) CATEGORIE TARIFAIRE (Num cat Nom cat Remise) (Num_cat, Nom_cat, Ecrire les requtes suivantes 4) Afficher la liste des reprsentants (Numro et nom) dpendant du chef de secteur PONS

R4) SELECT Reprsentant.num-rep, Reprsentant.Nom-rep FROM Reprsentant, Couvrir, Dpartement Where Dpartement.chef secteur = Pons AND Reprsentant.Num-rep = Couvrir.Num-rep AND Couvrir.code-dep = Dpartement.code-dep

13

You might also like