Post on 04-Apr-2018
7/30/2019 SGBD ET SQL
1/13
1
&SQL
Not ions de basesDf in i t ion int ui t ive dune BD (1)
Dfinition intuitive : on peu considrer une Base deDonnes (BD) comme: Grande quantit de donnes (ou ensemble dinformations), Centralises (ou non) l i l i li il i l i li i , Interrogeables et modif iables par un groupe duti lisateurs
travaillant en parallle.
Exemples dapplication Annuaire lectronique Catalogue lectronique dune bibliothque
Not ions de basesDf in i t ion int ui t ive dune BD (2)
Dfinition ; une base de donn es est un ensemble structur dedonnes (1) enregistr es sur des suppor ts (2) pour satisfairesimultanment plusieurs utilisateurs (3) de manire slective (4) en untemps opportun (5).
(1) : Organisation et description de donnes (2) : Stockage sur disque (3) : Partage des donnes (4) : Confidentialit (5) : Performance
SGBD (1)
Dfinition : Le logiciel qui permet dinteragir avec une BDest Systme de Gestion de Base de Donnes (SGBD) ouDBMS
BDSGBD
SGBD (2)Un SGBD est un intermdiaire entre les utilisateurs et lesfichiers physiques
Un SGBD facilite La gestion de donnes, avec une reprsentation intuitive simplesous forme de table par exemple
La manipulation de donnes. On peut insrer, modifier lesdonnes et les structures sans modifier les programmes quimanipulent la base de donnes
Programme 1
Programme 2
Programme 3
SGBD
Fichier 1
Fichier 2
Fichier 3
Base de donnes
Object i fs des SGBD (1)
Fac i l i t e r la reprsenta t ion e t ladescr ip t ion de donnesIndpendance physique (1) :
Plus besoin de travailler directement sur les fichiers physiques (telsquils sont enregistrs sur disque).
i l l li ll erme e crire les onn es e les liens en re elles une aonlogique sans se soucier du comment cela va se faire physiquementdans les fichiers.
On parle alors dimage logique de la base de donnes,
Fichiers
physiques
Image physiqueImage logique
7/30/2019 SGBD ET SQL
2/13
2
Object i fs des SGBD (2)
Indpendance physique (2) :
La manipulation des donnes se fait :
Directement sur le schma logique. On peut insrer, supprimer, modifierdes donnes directement sur limage logique.
Le SGBD va soccuper de faire le travail sur les fichiers physiques.
Object i fs des SGBD (2)
Indpendance logique : Un mme ensemble de donnes est vu diffremment par des utilisateurs
ii . Toutes ces visions personnelles des donnes doivent tre intgrs dansune vision globale par le SGBD.
Manipulations des donnes par des non informaticiens. I l fau t pouvo ir accder aux donnes sans savo ir programmer ce quisignifie des langages quasi naturels .
Object i fs des SGBD (2)
Efficacit des accs aux donnes :
Ces lan a es doivent ermettre dobtenir des r onses auxinterrogations 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 facilementsi lesdonnes sont administres de faon centralise.
Object i fs des SGBD (3)
Cohrence des donnes.
Les donnes sont soumises un certain nombre de contrainte dintgrit quidfinissent un tat cohrent de la base.
Elles doivent pouvoir tre exprimes simplement et vrifiesautomatiquement chaque insertion, modif icat ion ou suppression de
donnes, par exemple : lge dune personne suprieur zro Salaire suprieur zro Etc
Ds que lon essaie de saisir une valeur qui ne respecte pas cettecontrainte, le SGBD le refuse.
Object i fs des SGBD (4)
Non redondance des donnes :
Afin dvi ter les problmes lors des mises jour, chaque donne ne doi t treprsente quune seule fois dansla base.
Parta eabilit des donnes :
Plusieurs utilisateurs daccder aux mmes donnesau mme moment. Simple en cas dinterrogations et mono-utilisateur, Difficile lors de modifications dans un contexte multi-utilisateurs. Il sagit alorsde pouvoir :
Permett re deux (ou plus) uti li sa teurs de modif ie r la mme donne en mmetemps ; Assurer un rsultat dinterrogation cohrent pour un utilisateur consultant une tablependant quun autre la modifie.
Object i fs des SGBD (5)
Scurit des donnes.
Les donnes doivent pouvoir tre protges contre les accs non autoriss. Pourcela, il fautpouvoir associer chaque utilisateur desdroits daccs auxdonnes.
Rsistance aux pannes :
Prvoir de rcuprer une base dans un tat sain . Deux solutions sont possibles :
Rcuprer les donnes dans lta t dans leque l e lles ta ient avant lamodification,
Soit terminer lopration interrompue.
7/30/2019 SGBD ET SQL
3/13
3
Trois Fonct ions dun SGBD
Description des donnes :
Codification structuration, grce un Langage de Description de Donnes(LDD)
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
Contrle (partage, intgrit, confidentialit, scurit)
Dfin i t ion e t descr ip t ion des donnes3 n iveaux de descr ip t ion
Interview
Documents
Schma physique
Schma conceptuel
Modlisation
TT
Schma
Externe1
Schma
Externe2
Df in i t ion e t desc r ip t ion des donnesniveau log ique (conceptue l )
Permet la description
Des objets : exemple OUVRAGES, ETUDIANTS i i l ii i l i
OUVRAGES Des liens entre les objets : un OUVRAGE peut tre
emprunt par un ETUDIANT
Des contraintes : le nombre dexemplaires dun OUVRAGEest suprieur zro
Cette description est faite selon un modle de donnes.
Dfin i t ion e t descr ip t ion des donnesniveau physique
Description informatique des donnes et de leurorganisation : en terme de fichiers, dindex, demthodes daccs,
Passage du modle logique au modle physiquetend tre assist par le SGBD : transparent et/ou
semi-automatique
Objectifs : optimiser les performances
Df in i t ion e t desc r ip t ion des donnesniveau ex terne
Description des donnes vues par un utilisateur ( ouun groupe dutilisateurs)
Ob ectifs : simplification, confidentialiti i li i i i i li
Exemple : CIEL, SAGE,
Manipu la t ion e t res t i tu t ion desdonnes
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 laidedun Langage de manipulation de Donnes (LMD). SQL(Structured Query Language) est le langage standard demanipulation de BD
7/30/2019 SGBD ET SQL
4/13
4
Contr les ral iss par le SGBD
Partage de donnes :
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 uneinformation quon est en train
demettre jour
Intgrit des donnes
Le SGBD vei lle ce que toutes les contraintes soient vrif ies chaqueinsertion, suppression, ou modification dune donne.
Contr les ral iss pa r le SGBD
Confidentialit : Plusieurs utilisateurs peuvent utiliser en mme temps une base de donnes
Se pose le problme de la confidentialit des donnes.
i i l i l ii i l , i l , i j ,cration; qui permettent daffiner.
Scurit : Une base de donnes est souvent vi ta le dans le fonctionnement d une
organisation,
Il nest pas tolrable quune panne puisse remettre en cause sonfonctionnement de manire durable.
LesSGBD fournissent des mcanismes pourassurer cette scurit.
Quelque s SGBD
Quelques SGBD (relationnels du march)
Micro : ACCESS, Paradox, Dbase, PostSQL, MySQL, Gros systme : DB2, ORACLE, SYBASE,
Archi t ec t ure des SGBD Architecture centralise
programme d'application et SGBD sur mme machine (mme site) premiers systmes
rc ec ure u ype c en-serveur c en -serverarchitecture)
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)
Arch i tec ture des SGBD
Base sur une architecture Client-Serveur
Donnes sur le serveur partages entre N clients Interfaces raphi ues sur la station de travail personnellei l i il ll Communication par des protocoles standardiss Clients et serveurs communiquant par des requtes avec
rponses
Arch i t ect ure c l ien t / serveur
Rseau
BD
Logicielintermdiaire
Pilote detlcommunication
Programmed'application
Logicielintermdiaire
Pilote detlcommunication
SGBD
Client Serveur
7/30/2019 SGBD ET SQL
5/13
5
Arch i tec tu re 3 t i e rs
RseauRseau
BD
Logiciel
intermdiaire
Pilote detlcommunication
Application
Logiciel
intermdiaire
Pilote detlcommunication
SGBD
Serveurd'application
Serveur dedonnes
Logiciel
intermdiaire
Pilote detlcommunication
Interface
Clientmince
Base de donnes d is t r ibues
RseauRseau
BD
locale
BD
locale
Logiciel
intermdiaire
Pilote detlcommunication
SGBD rparti
Serveur dedonnes
Logiciel
intermdiaire
Pilote detlcommunication
Programmed'application
Client
Logiciel
intermdiaire
Pilote detlcommunication
SGBD rparti
Serveur dedonnes
Base de donnes paral l les
Unit dei
Unit dei
Unit dei
Mmoire vive
Disque Disque Disque Disque
i i i
Disque
Entrept de donnes
BD
oprationnelle(OLTP)
Entrept de donnes( data wharehouse )
Autresource de
donnes
Extraction :filtrage,
synthse,transformation,
fusion
BD
oprationnelle(OLTP)
Analyse(OLAP),
prospection
Entrept de donnes Base de donnes oprationnelle
traitement des donnes quotidienneset rcentes OLTP ( On LineTransactionProcessing).
Entrept de donnes(data wharehouse)
grand volume de donnes historiques extraites de bases oprationnellespour le support la prise de dcision
OLAP ( On LineAnalytical Processing) Prospection de donnes , ou forage, fouille, exploration de
donnes, ou dcouverte de connaissances dans les BD(datamining, analysis, dredging, archeology, knowledge discovery indatabases - KDD)
extractionnon trivialed'informationsimplicites, inconnueset utiles apprentissagemachine , statistiques
Langage SQL
7/30/2019 SGBD ET SQL
6/13
6
plan
Introduction Interrogation Dfinition des donnes Contrle des donnes
In t roduct ion au langage SQL
SQL : Structured Query Language
Un langage ANSI American National Standards
Institute standard de gestion des bases de donnesrelationnelles
Conu par IBM dans les annes 70
In t roduct ion au langage SQLSQL est un langage de:
Dfinition des donnes DDL : create, drop, alter / tables ,procdures et vues
an pu a on es onn es : inser , dee e, upda e /tables
Interrogation des donnes DQL : select / tables Contrle de donnes DCL : grant, revoke / tables ,
procdures et vues Contrle de transactions : commit, rollback / requtes
In t roduct ion au langage SQL
Il existe plusieurs versions de SQL malgr quil soit ANSI :PL/SQL, Transact-SQL, OQL,
bases et les traitent de la mme manire:
Select, update, delete, insert , where,
Bas sur le calcul relationnel Algbre relationnel (Bool)
In t roduct ion au langage SQL Le langage SQL est utilis directement partir dun diteur
Indirectement depuis un langage de programmation telsque Java, C++, par le biais dun outil d interfaage :ODBC, JDBC,
Sous forme de procdures stockes ou fonctionsenregistres dans la base de donnes elle-mme
Avec des triggers (dclencheurs) : gestion desvnements lis aux modifications du contenu de la basede donnes
In t roduct ion au langage SQL
Le langage SQL est un langage dclaratif : dcrit lersultat escompt et non la manire de lobtenir
Gnralement quip dun optimiseur de requtes pourrduire la complexit algorithmique
7/30/2019 SGBD ET SQL
7/13
7
In t roduct ion 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 mmetype dfini au pralable
In t roduct ion au langage SQL
Exemple de table Etudiant :
Nom Prnom CNE note Email
Nadiri Ahmed 1 32 54 2 1 5 Nadiri@ ahoo.fr
Zerwal Bouchra 4 56 88 4 1 2 Zerwal@hotmail.com
Moutawaki l Marwan 8 78 95 5 1 0 Moutawakil.M@gmail.com
Moutawaki l Nidal 6 85 49 9 1 4 Moutawakil.N@gmail.com
In t roduc t ions SQL / Types
Numriques:
Nombres entiers: SMALLINT(2 octets) ; INTEGER(4octets)
, , 456.12 : p=5; d=2
A virgule flottante : REAL (p >=7) ; FLOAT, DOUBLEPRECISION (p >=15) Chane de bits :
BIT (n) BIT VARYING (n)
TY PE DE DONNES
40
Type de donnes
Types numriques
Types pour les chanes de caractres
T es tem orels dates heures minutes , , ,
Types numr iques
Nombres entiers : SMALLINT sur 2 octets INTEGER sur 4 octets
vir ule flottante : REAL DOUBLE PRECISION (ou FLOAT)
Constantes : 253.8, -10, 1.3E-5
7/30/2019 SGBD ET SQL
8/13
8
Types Chane de Carac t res
CHAR(longueur) :chanes de caractres avec unnombre 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
Temporels:
DATE (2,2,4) : our les dates
Types Tempore ls
TIME (H, M, S) : pour les heures, minutes et secondes TIMESTAMP (date + heure) pour un moment prcis INTERVAL ( intervalle de temps)
In te r roga t ions s imp les
45
Interrogation / SELECT
Base essentiellement sur linstruction SELECT
Syntaxe :
_ , , _
FROM table_1 , , table_n
WHERE Prdicat ========================
SELECT *
FROM table_1 , , table_n
WHERE Prdicat
Int errog at ion / SELECT
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
ex 1 , , ex n : colonnes de tables ou ex ressions_ _bases dessus (constantes, )
FROM : spcifies les tables de slections
table_1 , , table_n : (tables, vues, )
WHERE : introduit des contraintes logiques vrifier
Prdicat : contraintes logiques vrif ier qui peuvent treassez complexes
SELECT nom , CNE FROM Etudiant ========================
In ter rogat ion / Exemples
Nom Prnom CNE note Email
Nadiri Ahmed 1 32 54 2 1 5 Nadiri@yahoo.fr
Zerwal Bouchra 4 56 88 4 1 2 Zerwal@hotmail.com
Moutawaki l Marwan 8 78 95 5 1 0 Moutawakil.M@gmail.com
Moutawaki l Nidal 6 85 49 9 1 4 Moutawakil.N@gmail.com
Nom CNE
Nadiri 132542
Zerwal 456884
Moutawakil 878955
Moutawakil 685499
7/30/2019 SGBD ET SQL
9/13
9
SELECT nom , CNE , note + 2 FROM Etudiant ========================
In ter rogat ion / Exemples
Nom Prnom CNE note Email
Nadiri Ahmed 1 32 54 2 1 5 Nadiri@yahoo.fr
Zerwal Bouchra 4 56 88 4 1 2 Zerwal@hotmail.com
Moutawaki l Marwan 8 78 95 5 1 0 Moutawakil.M@gmail.com
Moutawaki l Nidal 6 85 49 9 1 4 Moutawakil.N@gmail.com
Nom CNE note
Nadiri 1 32 54 2 1 7
Zerwal 4 56 88 4 1 4
Moutawakil 8 78 95 5 1 2
Moutawakil 6 85 49 9 1 6
In ter rogat ion / Exemples
SELECT *
FROM Etudiant ========================Nom Prnom CNE note Email
Nadiri Ahmed 1 32 54 2 1 5 Nadiri@yahoo.fr
Zerwal Bouchra 4 56 88 4 1 2 Zerwal@hotmail.com
Moutawaki l Marwan 8 78 95 5 1 0 Moutawakil.M@gmail.com
Moutawaki l Nidal 6 85 49 9 1 4 Moutawakil.N@gmail.com
SELECT Nom, CNE FROM Etudiant
In ter rogat ion / Exemples
========================Nom Prnom CNE note Email
Nadiri Ahmed 1 32 54 2 1 5 Nadiri@yahoo.fr
Zerwal Bouchra 4 56 88 4 1 2 Zerwal@hotmail.com
Moutawaki l Marwan 8 78 95 5 1 0 Moutawakil.M@gmail.com
Moutawaki l Nidal 6 85 49 9 1 4 Moutawakil.N@gmail.com
Nom CNE
Moutawakil 878955
Moutawakil 685499
In ter rogat ion / Exemples
SELECT *
FROM Etudiant = =
Ahmed
========================Nom Prnom CNE note EmailNadiri Ahmed 132542 15 Nadiri@yahoo.fr
In terrogat ion / Oprateurslogiques
Oprateur description
= Egale
> Strictement suprieur
>= Suprieur ou gal
< Strictement infrieur
7/30/2019 SGBD ET SQL
10/13
10
Interrogation / SELECTDISTINCT
Exemple : SELECT DISTINCT nom
========================Nom
Nadiri
Zerwal
Moutawakil
Crat ion d une table
(LDD)
56
CREATE TABLE table (colonne1 type1,
colonne2 type2,
. . .
Option not null si la colonne doitobligatoirement tre renseigne
SQL/ Df in i t ion des donnes
. . .)
Exemple :create table article (ref char(5) not null,
nom varchar(20), prix numeric(9,2), dateMAJ date);
Manipu la t ion des Donnes (LMD)
58
SQL/ Manipulat ion des donnes
Commandes de manipulation des donnes:
INSERT pour ajouter des lignespour mo er es gnes
DELETE pour supprimer des lignes
SQL/ Manipulat ion des donnes
INSERT INTO table [(colonne1, colonne2,)]
VALUES (valeur1, valeur2,)
Exemplesi ii i
values (10, 'Finance', 'Paris');insert into dept (lieu, nomD, dept)
values ('Grenoble', 'Recherche', 20);
7/30/2019 SGBD ET SQL
11/13
11
SQL/ Manipulat ion des donnes
UPDATE table
SET colonne1 = expr1, colonne2 = expr2,
[ WHERE prdicat ]
ouToutes leslignespardfaut
Exempleupdate empset dept = 10where nomE = 'Martin';
UPDATE table [ synonyme ]
SET (colonne1, colonne2, ) = (select )
[ WHERE prdicat ]
Ne doitrenvoyerqu'uneseule ligne
Exempleupdate empset sal = sal * 1.1where poste = 'Commercial';
SQL/ Manipulat ion des donnes
DELETE FROM table
[ WHERE prdicat ]
Attention ! s'il n'y a pas de clause WHERE, touteses gnes son supprm es
Exemple :
delete from empwhere dept = 10;
SQL/ Exer cic es
Soit le modle relationnel suivant relatif une base de donnes sur desreprsentations 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. Donner la liste des titres des reprsentations.
SELECT titre_reprsentationFROM REPRESENTATION ;
SQL/ Exer cic es
Soit le modle relationnel suivant relatif une base de donnes sur desreprsentations 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 ayant lieu l'opra PARIS.
SELECT titre_reprsentationFROM REPRESENTATIONWHERE lieu="Opra PARIS"
SQL/ Exer cic es
Soit le modle relationnel suivant relatif une base de donnes sur desreprsentations 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. Donner la liste des noms des musiciens et des titres des reprsentationsauxquelles ils participent.
SELECT nom, titre_reprsentationFROM MUSICIEN, REPRESENTATIONWHERE MUSICIEN.nreprsentation =REPRESENTATION.nreprsentation ;
SQL/ Exer cic es
Soit le modle relationnel suivant relatif une base de donnes sur desreprsentations 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 titres des reprsentations, les lieux et les tarifs pour lajourne du 14/09/96
SELECT titre_reprsentation, lieu, tarifFROM REPRESENTATION, PROGRAMMERWHERE PROGRAMMER.nreprsentation =REPRESENTATION.nreprsentationAND date='14/06/96' ;
7/30/2019 SGBD ET SQL
12/13
12
SQL/ Exer cic es
Soit le modle relationnel suivant relatif la gestion des notes annuelles d'unepromotion d'tudiants :ETUDIANT(NEtudiant, Nom, Prnom)MATIERE(CodeMat, LibellMat, CoeffMat)EVALUER(NEtudiant*, CodeMat*, Date, Note)
l l i i li l l: les cls primaires sont soulignes et les cls trang res sont marques par
1 - Quel est le nombre total d'tudiants ?
SELECT COUNT(*)FROM ETUDIANT ;
SQL/ Exer cic es
Soit le modle relationnel suivant relatif la gestion des notes annuelles d'unepromotion d'tudiants :ETUDIANT(NEtudiant, Nom, Prnom)MATIERE(CodeMat, LibellMat, CoeffMat)EVALUER(NEtudiant*, CodeMat*, Date, Note)
l l i i li l l: les cls primaires sont soulignes et les cls trang res sont marques par
2. Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la plusbasse ?
SELECT MIN(Note), MAX(Note)FROM EVALUER ;
SQL/ Exer cic es
Soit le modle relationnel suivant relatif la gestion des notes annuelles d'unepromotion d'tudiants :ETUDIANT(NEtudiant, Nom, Prnom)MATIERE(CodeMat, LibellMat, CoeffMat)EVALUER(NEtudiant*, CodeMat*, Date, Note)
l l i i li l l: les cls primaires sont soulignes et les cls trang res sont marques par
3. Quelles sont les moyennes de chaque tudiant dans chacune des matires ?
SELECT ETUDIANT.NEtudiant, Nom, Prnom, LibellMat, CoeffMat,AVG(Note) AS MoyEtuMatFROM EVALUER, MATIERE, ETUDIANTWHERE EVALUER.CodeMat = MATIERE.CodeMat ANDEVALUER.NEtudiant = ETUDIANT.NEtudiantGROUP BY ETUDIANT.NEtudiant, Nom, Prnom, LibellMat,CoeffMat;
SQL/ Exer cic es
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, c hef secteur)CLIENT (Code_clt, Nom_clt, #Num-rep,#Num-cat)
i_ , _ , i
Ecrire les requtes suivantes
1) Afficher la liste des clients appartenant la catgorie tarifaire n1, classe par ordrealphabtique
R1) SELECT *FROM ClientWHERE Num-cat =1ORDER BY Nom-clt ASC
SQL/ Exer cic es
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 _ , _ , i
Ecrire les requtes suivantes
2) Afficher la liste des clients (code, nom de client) rattachs au reprsentant HINAUD
R2) SELECT Client.code-clt, Client.Nom-cltFROM Client, ReprsentantWHERE Reprsentant.Nom-rep = HinaudAND Client.Num-rep =Rerpsentant.numrep
SQL/ Exer cic es
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, c hef secteur)CLIENT (Code_clt, Nom_clt, #Num-rep,#Num-cat)CATEGORIE TARIFAIRE Num cat Nom cat Remise _ , _ , i
Ecrire les requtes suivantes
3) Afficher la liste des clients bnficiant d'une remise de 10%
R3) SELECT Client.*FROM Client, Catgorie tarifaireWHERE Catgorie tarifaire.remise = 10%AND Client.Num-cat = Catgorietarifaire.Num-cat
7/30/2019 SGBD ET SQL
13/13
13
SQL/ Exer cic es
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)
i_ , _ , i
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-repFROM Reprsentant, Couvrir, DpartementWhere Dpartement.chef secteur = Pons AND Reprsentant.Num-rep = Couvrir.Num-repAND Couvrir.code-dep = Dpartement.code-dep