m16-sgbd1 1alr-2011-09-28
Post on 09-Mar-2016
218 views
DESCRIPTION
SGBD1TRANSCRIPT
-
1DRIOUCH B.DRIOUCH B. 11
M19 : SGBD 1M19 : SGBD 1Algbre RelationnelAlgbre Relationnel
Formateur : Formateur : DriouchDriouch ([email protected])([email protected])Etablissement : OFPPT/CFMOTI Etablissement : OFPPT/CFMOTI 28/09/201128/09/2011
http://www.istahttp://www.ista--ntic.net/ntic.net/
DRIOUCH B.DRIOUCH B. 22
PlanPlan Historique SGBDHistorique SGBD
DfinitionDfinition Model hirarchiqueModel hirarchique Model RseauModel Rseau Model ObjetModel Objet Model RelationnelModel Relationnel
Algbre RelationnelAlgbre Relationnel Oprateurs ensemblistesOprateurs ensemblistes Oprateurs unaires relationnelOprateurs unaires relationnel Oprateurs binaires relationnelOprateurs binaires relationnel Arbre algbriqueArbre algbrique
-
2DRIOUCH B.DRIOUCH B. 33
Quelques dfinitionsQuelques dfinitions
Base de Donnes : Ensemble de donnes structures,sres, cohrentes et partageablessimultanment.
SGBD : Ensemble (logiciels) des programmes quipermet la structuration, le stockage etla manipulation des donnes.
DRIOUCH B.DRIOUCH B. 44
Services attendus dun SGBDServices attendus dun SGBD
Disque
LDD
SGF
LMD
SEC
INT
CONF BACK
UP
STOC
KAGE
SGF : Systme de gestion de fichier.
LDD : Langage de dfinition de donne.
LMD : Langage de Manipulation de donnes.
LCD : Langage de Contrle de donnes (gestion utilisateur et droit daccs)
STOCKAGE : enregistrement
BACKUP : Sauvegarde.
CONF : Configuration
SEC : Scurit
INT : Interactif
-
3DRIOUCH B.DRIOUCH B. 55
Modle hirarchiqueModle hirarchique
Lignes CommandeLignes CommandeLignes Commande
CommandesCommandesCommandes
ClientClient
Client
Client
Commandes
Lignes Commande
Lignes CommandeLignes CommandeLignes Commande
CommandesCommandes
Lignes Commande
Lignes CommandeLignes CommandeLignes Commande
Liaison entre les objets de type 1 n
Modle arborescent dont le parcours se fait du pre vers le fils laide de pointeurs
Complexit importante
Systme DL1 / IBM Annes 60
DRIOUCH B.DRIOUCH B. 66
Modle rseauModle rseauLiaison entre les objets de type n n
Modle dont le parcours se fait laide de pointeurs mais en tous sens
Paternit multiple
Systme IDS2 de Bull 1968 (Bachman 62)
Lignes CommandeLignes CommandeLignes Commande
CommandesCommandesCommandes
ClientClient
Client
Client
Commandes
Lignes Commande
CommandesCommandesCommandesArticles
-
4DRIOUCH B.DRIOUCH B. 77
Modle relationnelModle relationnelBas sur le modle Entit Relation driv de la thorie des ensembles et de la logique des prdicats
Grande indpendance entre vue externe et stockage interne
Simplicit - EvolutivitThorie : Codd 1972
IBM System R 1979 et DB2 1982
Client
PK IdClient
Commande
PK IdCommande
FK1 IdClient
Article
PK IdArticle
CommandeArticle
PK,FK1 IdCommandePK,FK2 IdArticle
DRIOUCH B.DRIOUCH B. 88
Modle relationnel Modle relationnel SGBDR Client / ServeurSGBDR Client / Serveur
DB2 DB2 -- IBM IBM UDB (Universal Data Base Tous Systmes)UDB (Universal Data Base Tous Systmes)
DB2 400 (AS 400)DB2 400 (AS 400)
OracleOracle
SQL Server SQL Server MicrosoftMicrosoft
Informix (Rachat par IBM)Informix (Rachat par IBM)
MYSQL (Open Source)MYSQL (Open Source)
Minimiser les changes / rseauMinimiser les changes / rseau
Programmation de la logique de MAJ Programmation de la logique de MAJ ct serveurct serveur
-
5DRIOUCH B.DRIOUCH B. 99
Modle relationnel Modle relationnel SGBDR FichierSGBDR Fichier
AccessAccess
ParadoxParadox
FoxProFoxPro
Les donnes sont modifies Les donnes sont modifies localement / poste clientlocalement / poste client
Trafic important sur le rseauTrafic important sur le rseau
Bonnes performances sur poste de Bonnes performances sur poste de travailtravail
DRIOUCH B.DRIOUCH B. 1010
Modle objet mort n ?Modle objet mort n ? Projet O2 dvelopp par AltairProjet O2 dvelopp par Altair
Commercialis par O2 technologies, Commercialis par O2 technologies, Rachet par Ardent Software puis Rachet par Ardent Software puis par Informix et retir du march en par Informix et retir du march en 2000 2000
ODMG dissout en 2001ODMG dissout en 2001 Nouvelle norme en cours de SQL 3Nouvelle norme en cours de SQL 3
-
6DRIOUCH B.DRIOUCH B. 1111
Algbre RelationnelAlgbre Relationnel L'algbreL'algbre relationnellerelationnelle estest unun conceptconcept mathmatiquemathmatique dede
relationrelation dede lala thoriethorie desdes ensemblesensembles..
L'algbreL'algbre relationnellerelationnelle aa tt inventeinvente enen 19701970 parpar EdgarEdgarFrankFrank CoddCodd,, lele directeurdirecteur dede rechercherecherche dudu centrecentre IBMIBM dede SanSanJosJos.. ElleElle estest constitueconstitue d'und'un ensembleensemble d'oprationsd'oprationsformellesformelles sursur lesles relationsrelations.. LesLes oprationsoprations relationnellesrelationnellespermettentpermettent dede crercrer uneune nouvellenouvelle relationrelation (table)(table) partirpartird'oprationsd'oprations lmentaireslmentaires sursur d'autresd'autres tablestables (par(par exempleexemplel'union,l'union, l'intersection,l'intersection, ouou encoreencore lala diffrence)diffrence)..
LesLes principesprincipes dede l'algbrel'algbre relationnellerelationnelle sontsont mismis enen uvreuvredede nosnos joursjours parpar lesles SGBDSGBD RelationnelsRelationnels dontdont ilsils constituentconstituent
lesles fondementsfondements thoriquesthoriques..
DRIOUCH B.DRIOUCH B. 1212
Oprateurs ensemblistesOprateurs ensemblistesUnionUnion
Lunion est utilise pour relier 2 Lunion est utilise pour relier 2 relations unirelations uni--compatibles, cest dire compatibles, cest dire ayant le mme nombre dattributs et des ayant le mme nombre dattributs et des attributs respectifs dfinis sur le mme attributs respectifs dfinis sur le mme domaine. domaine.
R1 R2 R1 R2
-
7DRIOUCH B.DRIOUCH B. 1313
Oprateurs ensemblistesOprateurs ensemblistes Exemple:Exemple:R1R1 : relation Vols : relation Vols
ParisParis--NiceNice
R2R2 : relation Vols : relation Vols BriveBrive--MarseilleMarseille
R1 R1 R2 :R2 : liste des liste des Vols ParisVols Paris--Nice et Nice et BriveBrive--MarseilleMarseille
DRIOUCH B.DRIOUCH B. 1414
Oprateurs ensemblistesOprateurs ensemblistesIntersectionIntersection
R1 R1 R2R2
Lintersection est utilise pour relier 2 Lintersection est utilise pour relier 2 relations unirelations uni--compatibles, cest dire compatibles, cest dire ayant le mme nombre dattributs et ayant le mme nombre dattributs et des attributs respectifs dfinis sur le des attributs respectifs dfinis sur le mme domaine. mme domaine.
R1 R2R1 R2
-
8DRIOUCH B.DRIOUCH B. 1515
Oprateurs ensemblistesOprateurs ensemblistes Exemple :Exemple :
DRIOUCH B.DRIOUCH B. 1616
Oprateurs ensemblistesOprateurs ensemblistes DiffrenceDiffrence
R1 R1 -- R2R2
La diffrence est utilise pour relier 2 relations uniLa diffrence est utilise pour relier 2 relations uni--compatibles, cest dire ayant le mme nombre compatibles, cest dire ayant le mme nombre dattributs et des attributs respectifs dfinis sur le dattributs et des attributs respectifs dfinis sur le mme domaine.mme domaine.
R1 R2 R1 - R2
-
9DRIOUCH B.DRIOUCH B. 1717
Oprateurs ensemblistesOprateurs ensemblistes Exemple :Exemple :
DRIOUCH B.DRIOUCH B. 1818
Oprateurs unaires relationnels Oprateurs unaires relationnels Les oprateurs unaires sont les oprateurs qui ne font Les oprateurs unaires sont les oprateurs qui ne font
intervenir quune seule relation. intervenir quune seule relation.
SlectionSlectionLa slection opre un dcoupage horizontal de la table.La slection opre un dcoupage horizontal de la table.On obtient tous les attributs pour les enregistrements On obtient tous les attributs pour les enregistrements
slectionns. slectionns. ExemplesExemples ::liste des vols pour Niceliste des vols pour NiceRR slctionslction(vols, (vols, villearrivvillearriv==nicenice))
liste des avions qui ont plus de 200 places liste des avions qui ont plus de 200 places R R SlctionSlction(Avion, Capacit>200)(Avion, Capacit>200)
-
10
DRIOUCH B.DRIOUCH B. 1919
Oprateurs unaires relationnelsOprateurs unaires relationnelsProjectionProjection
La projection opre un dcoupage vertical La projection opre un dcoupage vertical de la table.de la table.
On obtient tous les enregistrements pour les On obtient tous les enregistrements pour les attributs choisis.attributs choisis.
ExemplesExemples ::liste des noms des pilotesliste des noms des pilotesR R Projection(pilote, noms)Projection(pilote, noms)liste des modles davionsliste des modles davionsR R Projection(avions, modle)Projection(avions, modle)
DRIOUCH B.DRIOUCH B. 2020
Oprateurs binaires relationnels Oprateurs binaires relationnels Les oprateurs binaires sont ceux qui font Les oprateurs binaires sont ceux qui font
intervenir deux relations.intervenir deux relations.Produit cartsienProduit cartsien
Le produit cartsien consiste rassembler Le produit cartsien consiste rassembler deux tables en une seule en reliant chaque deux tables en une seule en reliant chaque lment de lune avec tous les lments de lment de lune avec tous les lments de lautre. lautre.
-
11
DRIOUCH B.DRIOUCH B. 2121
Oprateurs binaires relationnelsOprateurs binaires relationnels Division Division La division consiste trouver la liste des valeurs La division consiste trouver la liste des valeurs
dun attribut de R1 telles quil existe un lment dun attribut de R1 telles quil existe un lment dans R1 pour chaque valeur de R2 pour lattribut dans R1 pour chaque valeur de R2 pour lattribut correspondant.correspondant.
Exemples :liste des pilotes qui conduisent tous les avionsliste des avions qui vont dans toutes les villes
DRIOUCH B.DRIOUCH B. 2222
Oprateurs binaires relationnelsOprateurs binaires relationnels JointureJointure
LaLa jointurejointure consisteconsiste rechercherrechercher entreentre deuxdeuxtablestables ayantayant unun attributattribut communcommun (mme(mme typetype etetmmemme domainedomaine dede dfinition)dfinition) toustous lesles lmentslmentsdesdes deuxdeux tablestables pourpour lesquelslesquels cesces attributsattributs ontont lalammemme valeurvaleur..
LaLa jointurejointure entreentre lesles tablestables VOLVOL etet PILOTEPILOTEconsisteconsiste rechercherrechercher toutestoutes lesles informationsinformations duduPILOTEPILOTE dede chaquechaque VOLVOL.. ConcrtementConcrtement elleelle raliseraliselala concatnationconcatnation desdes tuplestuples (ou(ou nn--tuplestuples)) dede VOLVOLavecavec PILOTEPILOTE chaquechaque foisfois queque
VOLVOL..PIL#PIL# == PILOTEPILOTE..PIL#PIL#..
-
12
DRIOUCH B.DRIOUCH B. 2323
Fonction et Agrgats Fonction et Agrgats (Regroupement)(Regroupement)LalgbreLalgbre relationnellerelationnelle estest insuffisanteinsuffisante pourpour
traitertraiter dede vritablesvritables applicationsapplications desdes basesbases dededonnes,donnes, tellestelles lala suiviesuivie dede production,production, lala gestiongestiondede budget,budget, ilil estest enen effeteffet ncessairencessaire deffectuerdeffectuerdesdes calculscalculs sursur lala basebase pourpour supportersupporter dede tellestellesapplications,applications, cestcest lobjetlobjet dede lintroductionlintroduction desdesfonctionsfonctions dede calculcalcul auau seinsein dede lalgbrelalgbre etet dudusupportsupport desdes agrgatsagrgats.. Calcul dans la Calcul dans la slctionslction (Somme, produit, )(Somme, produit, )
R1 R1 Slection (R2, Slection (R2, DegreDegre**QuatiteQuatite/100 > 10)/100 > 10) Support des agrgats(Somme, Moyenne, )Support des agrgats(Somme, Moyenne, )
R1 R1 AGREGAT(R2, Attribut1, AGREGAT(R2, Attribut1, Fonction{Attribut2})Fonction{Attribut2})
DRIOUCH B.DRIOUCH B. 2424
Exemple VolAvionExemple VolAvionAvion#avMarqueTypeavionCapacitelocalisation
Vol#voAvianPiloteVilledepartVillearriveHeuredepartheurarrive
Pilote#pilNomCodepostalVilleDatenaissanceDatedebutactiviteDatefinactivitesalairebrut
AffectationVolPassagerVolDatevolNumplacePrix
Passager#pasNomPrenomville
-
13
DRIOUCH B.DRIOUCH B. 2525
Arbre AlgbriqueArbre Algbrique La reprsentation La reprsentation graphique et graphique et beaucoup plus beaucoup plus lisible que les lisible que les opration opration algbrique avec algbrique avec plusieurs oprateurplusieurs oprateur
DRIOUCH B.DRIOUCH B. 2626
ExempleExemple Soit le schma relationnel suivant:Soit le schma relationnel suivant:Auditeur(noAuditeur(no--auditeur, nomauditeur, nom--auditeur)auditeur)
Examen(noExamen(no--examen, salle, date)examen, salle, date)
PassePasse--Examen(noExamen(no--auditeur, noauditeur, no--examen, note)examen, note)
Quels sont les auditeurs qui ont eu la Quels sont les auditeurs qui ont eu la moyenne leur examen?moyenne leur examen?
R1 R1 Slection(passeSlection(passe--examen ,note >= 10)examen ,note >= 10)
R2 R2 Jointure(Jointure(Auditeur,R1Auditeur,R1, auditeur.no, auditeur.no--auditeur=R1.noauditeur=R1.no--auditeur)auditeur)
R3 R3 Projection(R2, nomProjection(R2, nom--auditeur)auditeur)
Quels sont les auditeurs qui ont pass leur Quels sont les auditeurs qui ont pass leur examen la salle S10?examen la salle S10?
-
14
DRIOUCH B.DRIOUCH B. 2727
Arbre algbriqueArbre algbrique
Arbre algbrique Arbre algbrique pour les auditeurs pour les auditeurs qui ont eu la qui ont eu la moyenne leur moyenne leur examenexamen
DRIOUCH B.DRIOUCH B. 2828
ExerciceExercice Soit le schma relationnel suivant:Soit le schma relationnel suivant:Fournisseur(Fournisseur(NumNum--FF, nom, ville), nom, ville)Produit (Produit (CodeCode--PP, libell, origine, couleur), libell, origine, couleur)Fourniture(Fourniture(NumNum--FF, , CodeCode--PP, quantit), quantit)On sait galement que des fournisseurs sont enregistrs dans la BD, mme sils ne On sait galement que des fournisseurs sont enregistrs dans la BD, mme sils ne
fournissent pas de produits.fournissent pas de produits.
Questions:Questions:Construire les arbres algbriques correspondant aux requtes suivantes:Construire les arbres algbriques correspondant aux requtes suivantes:a)a) Numros des fournisseurs qui me fournissent au moins un produitNumros des fournisseurs qui me fournissent au moins un produitb)b) Numros des fournisseurs qui me fournissent au moins le produit dont le numro Numros des fournisseurs qui me fournissent au moins le produit dont le numro
est P6est P6c)c) Numros des fournisseurs qui me fournissent quelque chose dautre que le produit Numros des fournisseurs qui me fournissent quelque chose dautre que le produit
P6P6d)d) Numros et noms des fournisseurs qui ne me fournissent rien.Numros et noms des fournisseurs qui ne me fournissent rien.e)e) Nom des fournisseurs trouv en c)Nom des fournisseurs trouv en c)f)f) Numros des fournisseurs qui me fournissent tous les produits originaire de DIJONNumros des fournisseurs qui me fournissent tous les produits originaire de DIJONg)g) Noms et villes des fournisseurs qui me fournissent au moins un produit originaire Noms et villes des fournisseurs qui me fournissent au moins un produit originaire
de leur ville.de leur ville.h)h) Numros des fournisseurs qui ne fournissent que des produits verts.Numros des fournisseurs qui ne fournissent que des produits verts.i)i) Numros, noms fournisseurs et nombre fourni par chaque fournisseur.Numros, noms fournisseurs et nombre fourni par chaque fournisseur.j)j) Numros, libell produits et totale Quantit par produitsNumros, libell produits et totale Quantit par produits