Les Systèmes de Gestion de Bases de Données (SGBD) dépendances fonctionnelles - normalisation

Dimension: px
Commencer à balayer dès la page:

Download "Les Systèmes de Gestion de Bases de Données (SGBD) dépendances fonctionnelles - normalisation"

Transcription

1 Les Systèmes de Gestion de Bases de Données (SGBD) 1 dépendances fonctionnelles - normalisation

2 Bibliographie S. Abiteboul, R. Hull, V. Vianu, Foundations of Databases, Addison- Wesley J.C. Date, A Guide to the SQL Standard, Addison-Wesley J.C. Date, A Guide to DB2, Addison-Wesley R. Elmasri, S. Navathe, Conception et architecture des bases de données, 4ème ed., publié par Pearson Education. H. Garcia-Molina, J. Ullman and J. Widom, Implementation of Database Systems, Prentice Hall, G. GARDARIN, Bases de Données, Eyrolles, 6ème tirage, R. Ramakrishnan et J. Gehrke DATABASE MANAGEMENT SYSTEMS, MacGraw Hill M. SCHOLL, B. AMANN, P. RIGAUX, V. CHRISTOPHIDES, D. VODISLAV, Polycopié de Bases de Données, librairie des Arts et Métiers. Ullman J.D. and Widom J. A First Course in Database Systems, Prentice Hall, 1997 Ullman J.D. Principles of Database and Knowledge-Base Systems, 2 volumes, Computer Science Press Le Havre

3 Le modèle relationnel df normalisation 3

4 Le modèle relationnel Introduit par E.F. Codd en Le mieux formalisé (bases mathématiques)

5 Eléments du modèle Domaine = ensemble de valeurs. Exemple : l'ensemble des réels entre ]10, 30[ peut être le domaine de la variable PRIX. attribut = variable avec valeurs dans un domaine (exple : l'attribut PRIX) relation sur A 1, A 2,,A n de domaines respectifs D 1, D 2,, D n = sous ensemble du produit cartésien : D 1 xd 2 x xd n. = ensemble de tuples (x 1, x 2,...x n ) où x i est dans D i, i=1,n Une valeur spéciale (NULL) peut être prise par un attribut.

6 Produit cartésien Produit cartésien de la relation R 1 par la relation R 2 : R 1 x R 2 Argument : 2 relations quelconques R 1 (A 1, A 2,, A n ) et R 2 (B 1, B 2,, B k ) Schéma de la relation résultat T : R 1 x R 2 : (A 1,, A n, B 1,, B k ) Occurrences de R = ensemble des tuples ayant n+k attributs : dont les valeurs des n premiers attributs sont les tuples de R 1 et les k dernières sont les tuples de R 2

7 Produit cartésien R1 R2 X R

8 Exemple R S R x S A B C D E a b a a b c b a a A B C D E 1 1 a b a 1 2 a b a 3 4 a b a 1 1 a b c 1 2 a b c 3 4 a b c 1 1 b a a 1 2 b a a 3 4 b a a

9 Exemple de relation : une relation r sur les attributs NOM, ADR, NUM peut être décrite comme un ensemble de tuples : r={(dupont, paris, 2140), durand, orsay, 1128), dubois, orsay, 3256)} En général, on utilise une représentation tabulaire : nom adr num dupont paris 2140 durand orsay 1128 dubois orsay 3256

10 Une bases de données relationnelles : est un ensemble de relations. Une relation R sur les domaines D 1 xd 2 x xd n est représentée sous forme de table. Chaque ligne est un tuple (a1, a2,, an) où chaque élément ai est dans le domaine Di (= n uplet). L ordre des lignes n est pas important. Les valeurs des colonnes de la tables sont les valeurs prises par les attributs.

11 Degré d une relation (arité) : son nombre d'attributs. Occurrence : est un élément de l'ensemble figuré par une relation. Autrement dit, une occurrence est une ligne de la table. Cardinalité d'une relation : son nombre d'occurrences. Clé candidate : ensemble minimal des attributs de la relation dont les valeurs identifient de manière unique une occurrence.

12 Exemple Relation personne (nom, adresse, num) Nom adresse num Dupond Durand Dubois Paris Orsay Orsay Il y a 3 attributs ==> degré (arité) = 3 1 tuple (= 1 ligne) 1 tuple 1 tuple 1 colonne 3 tuples => cardinalité = 3 Domaines: nom : domaine de tous les noms de personnes (chaînes de car.) adresse : domaine de toutes les adresses (chaînes de car.) num : domaines de tous les numéros de personnes (des entiers naturels)

13 Quelques Contraintes d Intégrité (CI) Contrainte d intégrité (CI) : propriété que doit vérifier une relation = p(r) Clé primaire : attri. (ou ens d att) dont les valeurs permettent de distinguer les tuples les uns des autres dans une relation (identifiant) (numetud pour ETUDIANT) Clé étrangère : attribut(s) non clé qui est clé primaire d une autre relation. FOURNISSEUR (numf, nom, adr), PRODUIT( codep, lib, numf) On a : numf et codep = clés primaires, numf dans PRODUIT est une clé étrangère de PRODUIT. Contrainte de domaine : condition sur les valeurs d attributs. Ex : prixunitaire >100 ET prixunitaire <150

14 REMARQUES La valeur d'une clé candidate est donc distincte pour toutes les occurrences. Toute relation a au moins une clé candidate et peut en avoir plusieurs. Cela a pour conséquence qu'il ne peut jamais y avoir deux occurrences identiques au sein d'une relation (sinon ces deux occurrences représenteraient en fait le même objet). Les clés candidates d'une relation n'ont pas forcément le même nombre d'attributs. Le contexte du domaine modélisé est essentiel pour déterminer les clés candidates d'une relation.

15 Conception d'un schéma relationnel Une mauvaise conception d'un schéma relationnel peut conduire à des problèmes dans l'exploitation de la base => D'où l'intérêt des dépendances fonctionnelles (df), de décomposition de schémas et de formes normales. Ex. Soit un schéma de relation R (cours, etudiant, note, prof), On suppose que le quadruplet (c, e, n, p) appartient à la relation de schéma R si «l'étudiant e, a obtenu la note n au cours c fait par le prof p».

16 Supposons qu'on a 200 étudiants qui suivent le cours c, les problèmes suivants se posent : - redondance : le nom du prof p est répété 200 fois! - risque d'incohérence : si le prof change (p devient p1), on doit faire 200 modifications (ou bien il y aura des incohérences) - anomalie d'insertion : si le prof p n'est pas encore affecté au cours c ou si l'étudiant e n'a pas encore de note, on ne peut traduire l'inscription de l'étudiant au cours c. On peut dans ce cas, convenir d'une valeur NULL (ou absence de valeur) pour p ou n, mais il y a un risque d'oubli de màj des valeurs NULL lorsque les notes sont données ou le prof est nommé. - anomalie de suppression : si on efface les inscription des étudiants en fin d'année, on perd l'information «l'enseignant p enseigne le cours c»

17 Comment choisir les schémas pour éviter ces problèmes? La théorie des formes normales permet d'atténuer ce problème en classifiant les relations. L'idée est alors de remplacer un schéma de relation qui pose problème par 2 ou plusieurs autres dont la forme est plus optimale. Ceci conduit à la notion de décomposition. Pour formaliser ce concept, on introduit la notion de DEPENDANCE FONCTIONNELLE (df). Avant cela, on fait quelques rappels sur les opérations de l'algèbre relationnelle.

18 Schéma de la relation r, noté R = nom_rel (att:dom1, att2: dom2, ) Convention : on omet les domaines : => VILLE= (code, nom, adr) Opération sur les relations : rappels

19 La projection : п Projection des attributs d une relation r de schéma R sur un sous ensemble des attributs de R : relation s de schéma S obtenue en ne conservant que les colonnes de r qui correspondent aux attributs de S (et en supprimant les tuples dupliqués éventuellement) п A1, A2,, Ak (R) = R(A1, A2,,Ak) où A 1, A 2,,A k sont un sous-ensemble du schéma de la relation R (égal ou inclus). R п R' La projection sur A 1, A 2,, A k élimine tous les autres attributs de la relation et supprime les tuples dupliqués.

20 Exemple de projection R R' X Y Z X Y a b c a b d a b c b d =>п X,Y (R) = d c a b a b e e e e e a R = (X,Y,Z) et R' =п X,Y (R) = projection de R sur les attributs X et Y

21 Exemple de projection (2) Requête : Soit la relation Ville (id, nomp, nomv) Quels sont les villes de résidence des personnes de la base (projection sur l'attribut nomv) Tab2 = nomv (Tab 1 ) Tab 1 Tab 2 id nomp Marc Durand Jacques nomv Havre Paris Paris nomv nomv Havre Paris

22 Jointure naturelle Soient 2 relations R et S ayant des attributs en commun R(A 1,, A m, X 1,,X K ) S(B 1,, B n, X 1,, X k ) Schéma de la relation R S, jointure naturelle de R et S : T (A 1,, A m, B 1,, B n,x 1,,X K ) Un tuple de R S comporte donc (m+n+k) attributs. R A B C a b c d b c b b f c a d S B C D b c d b c e a d b R S A B C D a b c d a b c e d b c d d b c e c a d b

23 -jointure R AiBj S, où {=, <, >,,, } C est une jointure entre 2 relations R et S avec : R = ( A 1,, A m ), S = (B 1,, B n ) Schéma de T = R S = (A 1,, A m, B 1,, B n ) AiBj La valeur de T est : Ai B j (RxS) : sélection des tuples de RxS tels que A i B j où {=, <, >,,, } Equijointure : on parle de équijointure quand l opérateur est l égalité.

24 Exemple d équijointure R S A B C D E 1 a 1 b a 1 b 2 b c 3 a 4 a a B D RxS A B C D E 1 a 1 b a 1 a 2 b c 1 a 4 a a 1 b 1 b a 1 b 2 b c 1 b 4 a a 3 a 1 b a 3 a 2 b c 3 a 4 a a R B=D S A B C D E 1 a 4 a a 1 b 1 b a 1 b 2 b c 3 a 4 a a = B=D (RxS)

25 Dépendances fonctionnelles (df) - C'est un cas particulier de contraintes d'intégrité - Une df est définie sur l intension (donc elle est valide quelque soit l'extension)

26 Schéma de Bd relationnelle : ensemble de schémas de relations Définition d'une dépendance fonctionnelles (df) : Soient : R, un schéma de relation, A, B, C des attributs et X, Y, Z des ensembles d attributs de R. => la relation r de schéma R vérifie la df X > Y, si la connaissance des valeurs de X détermine les valeurs de Y (si 2 tuples ont même valeurs sur les attributs de X alors ils ont mêmes valeurs sur les attributs de Y) c à d t1, t2 r : x1 = x2 => y1 = y2

27 Exemple : A B C D a b c d a b c d' a' b c d' Cette relation vérifie les dépendances fonctionnelles suivantes : X Y et Z Y avec X={A,B} Y={C} et Z = {D} Mais ne vérifie pas Y Z (car on a pour une valeur de Y (c-à-d c), on a 2 valeurs de Z (d et d'))

28 Pour modéliser le monde réel, on se donne un (ou des) schéma(s) de relation(s) et une sémantique pour ce(s) schéma(s). Une partie de cette sémantique est traduite par des df. Dans la suite, on se donne un ensemble F de df et un schéma de relation. On ne considère ensuite que les relations qui vérifient les df de F. Exemple : Soit le schéma de relation ADR (rue, ville, codepostal) qui modélise une adresse dans un pays.

29 On a F constitué des df suivantes : df1 : rue, ville codepostal df2 : codepostal ville Soient les relations r1 et r2 : r2 r1 rue Ville codepostal Gambetta bordeaux archangé orsay rue Ville codepostal st-jacques paris st-jacques paris On a : r1 vérifie F ={df1, df2} r2 ne vérifie pas df1 (rue et ville dans R2 donne deux codes postaux différents)

30 Autre exemple : soit un schéma de relation R(prof, codmat, j, h, salle) Un tuple (p, m, s, j, h) d'une relation r de schéma R signifie «l'enseignant p enseigne la matière m dans la salle s le jour j à l'heure h» On impose alors aux relations r l'ensemble F, des df suivant : df1 : (prof, h, j) (salle, codmat) C-à-d un enseignant donné, à une heure donné d'un jour donné ne peut se trouver que dans une seule salle et y enseigner une seule matière. df2 : (h, j, salle) (prof, codmat) C-à-d à une heure donnée, d'un jour donné, dans une salle donnée, un seul enseignant peut y enseigner et n'enseigner qu'une seule matière. df3 : prof codmat On a dans cet établissement un enseignant qui n'enseigne qu'une seule matière. Rmq : une df est une propriété qui s'applique à un ensemble de relations : elle ne peut être déduite d'une seule relation. Le Havre

31 Une df est une assertion sur le monde réel (une hypothèse) : on ne peut donc pas démontrer! Ex : la df : num_etu nom_etu signifie «la connaissance du numéro d'un étudiant détermine la connaissance de son nom», on ne peut pas le démontrer, c'est par construction.

32 Propriétés des df : soit R un schéma relationnel muni d un ensemble F de df. Par convention, on note par XY la réunion des ensembles d attributs X et Y On note X Y leur différence : Si X={A,B} et Y = {B,C} alors X Y = {A} On appelle partie stricte Y d un ensemble X, tout sousensemble de cet ensemble non égal à lui, c à d Y X. Implication de df : la df X Y est impliquée par F si toute relation r de R qui vérifie F vérifie la df X Y. On note : F ==> X Y Fermeture de F : (notée F + ) = ensemble des df impliquées par F.

33 Règles d Armstrong a) Réflexivité : Si Y est contenu dans X, alors la df X Y est vérifiée. (df triviale) b) Augmentation : pour tout Z inclus dans R, si la df X Y est vérifiée, alors la df XZ YZ l est aussi, soit X Y ==> XZ YZ. c) Transitivité : Si les df X Y et Y Z sont vérifiées, alors la df X Z l est aussi. {X Y et Y Z } ==> X Z

34 Intérêt de ces règles : cf. théorème : Si la df X Y se déduit de F en appliquant les règles d Armstrong, alors X Y appartient à F+. Réciproquement, toute df X Y de F + se déduit de F par application de ces règles. Donc ces règles permettent de calculer F +. Mais cela peut être fastidieux ==> Déduction de règles supplémentaires (déduites des règles de base) :

35 Règles supplémentaires d) additivité : {X Y et X Z } ==> X YZ. e) Pseudo transitivité : {X Y et WY Z } ==> XW Z. f) Décomposition : X Y ==> X Z si Z est inclus dans Y.

36 Graphe de dépendances fonctionnelles Les nœud du graphes sont les attributs de la relation Les arcs du graphes sont les df Exemple : Soient les relations : Buveurs (nb, nom, prenom, ville) Commandes (nc, datec, nv, qtec, nb) Expeditions (nc, dateexp, qteexp) On a les df : nb nom, nb prenom, nb ville nc datec, nc nv, nc qtec, nc nb (nc, dateexp,) qteexp

37 nc nb datec nv qtec nom prenom ville dateexp qteexp

38 Fermeture transitive d'un ensemble F de df = F + F + = F U df obtenues via les axiomes nc nb datec nv qtec nom prenom ville dateexp qteexp

39 Couverture minimale de F = ensemble minimal de df représentant la même information que F, mais sans redondance (donc qui génère toutes les df). En général, la couverture minimale n est pas unique. Il existe des algorithmes pour la calculer.

40 Calcul de la Couverture minimale de F = ensemble G de df, tel que : 1. G + = F + (G implique les mêmes df que F) 2. tout membre droit d une df est réduit à un seul attribut. 3. Pour aucune df X A de G, on n a : G {X A} ==> G (évite d avoir une df X A dont on peut se passer) 4. Pour aucune df X A de G, on n a : G ==> (G {X A}) U Y A, avec Y partie stricte de X. ou pour aucune df X A de G, on n a : G ==> Y A, où Y X.

41 Remarques : La propriété 3 évite d'avaoir dans G une df dont on peut se passer, car on peut l'obtenir par implication à partir des autres. On peut reformuler (3) de manière équivalente en (3') : (3') : pour aucune df X A de G on n'a G {X A} => X A La propriété (4) permet d'avoir des df les plus simples possible (dont les membres gauches sont minimaux). On peut reformuler (4) de manière équivalente en (4') : (4') : pour aucune df X A de G, on n'a G => Y A avec Y partie stricte de X.

42 Clé d un schéma de relation : soit R = (A1, A2,, An) un schéma de relation, F un ensemble de df sur R et X un ensemble d attributs de R. On dit que X est une clé de R muni de F si une des conditions suivantes est satisfaite : la df X R F + F => X R toute relation r sur R qui satisfait F vérifie X R

43 Fermeture d un ensemble d attributs X relativement à un ens. de df F (noté X + ) : C'est l'ensemble des attributs A pour lesquels la df X dans la fermeture de F. A est C est aussi l ensemble des attributs qui prennent au plus une valeur quand celles des attributs de X sont fixées. (cf. algos de calcul de X + )

44 Algorithme de calcul de la fermeture d un ensemble d attributs X (c à d X + ) : DEBUT X + := X REPETER FIN aux := X + /* aux est une variable auxiliaire */ POUR chaque df Y -> Z de F FAIRE SI Y est inclus dans X + ALORS X + := X + Z FINPOUR JUSQU A aux = X + ou X + = R

45 Exemple : Soit le schéma de relation R = (A, B, C, D, E) et l'ens. de df F = {AB C, B D, CD E} Calcul de (AB)+, la fermeture de l'ensemble d'attributs AB. Appliquons l'algo. en prenant les df dans l'ordre suivant : CD E, B D, AB C

46 X+ := AB 1ère boucle REPETER AUX := AB CD E n'augmente pas X+ := AB B D augmente X+ et donne X+ := ABD AB-> C donne X+ := ABDC (ou ABCD) Comme AUX <> X+, on continue : 2ème boucle REPETER AUX := ABCD CD E augmente X+ et donne X+:= ABCDE B D et AB C ne changent rien puisque X+ = R Comme X+ = R, l'algorithme s'arrête Donc (AB)+ := ABCDE

47 Remarque : l'ordre d'application des df influe sur les performances de l'algorithme : On prend les df dans un autre ordre : AB C, B D, CD E X+:= AB 1ère boucle REPETER AUX:= AB AB C donne X+:= ABC B D donne X+:= ABCD CD E donne X+:= ABCDE Comme X+ = R = ABCDE, l'algo s'arrête. Donc (AB)+:= ABCDE

48 conséquence : vérifier qu un ens. d attr. K est une clé de R muni de l ens. F de df revient à montrer que tous les attributs de R sont dans K +. Mais seule la notion de clé minimale (appelée souvent clé ou clé candidate) est intéressante, d'où la définition : X est une clé minimale (de R muni de F) ssi X est une clé et tout sous ensemble de X différent de X, n est pas une clé.

49 Propriétés utiles PROP1 : tout attribut qui ne figure pas dans le membre droit d une df non triviale de F doit appartenir à toute clé de R. PROP2 : si l ens. des attr. de R qui ne figurent pas en membre droit d une df non triviale de F est une clé, alors R possède une clé minimale unique formée par l ens. de ces attr. PROP3 : un schéma de relation muni d une seule df possède une clé minimale unique.

50 Décomposition d un schéma de relation : Soit R=(A 1, A 2,, A n ) où les A i sont des attributs simples, la décomposition de R est le remplacement de R par un ens de schémas de relations R 1, R 2, R p (p>=1) obtenus à partir de R par projection et tels que : U i=1 i=p R i = R Décomposition sans perte d information (SPI) : une décomposition de R = (A 1, A 2,, A n ) est SPI si toutes les relations r sur R considérées sont égales à la jointure des relations r i (1<=i<=p) obtenues par projection de r sur les schémas R i.

51 Le théorème suivant (Ulman88) donne une CNS (cond. Necéss. Et suffis.) pour qu une décomposition soit SPI : Théorème : soit R=(X, Y, Z) où X, Y, Z sont des ensembles d attributs. Soit la df X Y dans F, alors la décomposition de R en S =(X,Y) et T =(X, Z) est SPI. Réciproquement, si la décomposition de R en S et T est SPI alors X Y ou X Z appartient à F+ (sont des df) Préservation des df par décomposition : on dit que la décomposition de R en R 1, R 2,, R p préserve les df (ou sans perte de df, SPD) si la fermeture de la réunion des F i (1<=i<=p) est égale à F +. Soit U (F i ) + (1<=i<=p) = F +.

52 Dépendance fonctionnelle élémentaire/directe Df élémentaire : R un schéma, X, Y, Z des ens d attr., X Y est une df élémentaire, si c est une df et il n existe pas Z inclus dans X avec Z Y. df directe : X > Y est directe si : il n existe pas Z tel que X Z et Z Y. Formes normales La classification des relations en fonction de leur propriétés visà vis des df est représentée par les formes normales. Plus le degré de normalité élevé, plus les anomalies de màj sont réduites.

53 Formes normales Relation en 1NF : si tous ses attributs ont des valeurs atomiques (attributs non décomposables, Un attribut => Une valeur max) Relation en 2NF : si elle est en 1NF et aucun attribut non clé ne dépend d une partie de la clé, I.e.toutes les df sont élémentaires. Relation en 3NF : si elle est en 2NF et aucun attribut non clé ne dépend d un autre attribut non clé, i.e. toutes les df sont élémentaires directes.

54 Ou bien une Relation est en 3NF : si tout attribut qui n appartient à aucune des clés minimales du schéma ne dépend que des clés du schéma et des ensembles d attributs qui le contiennent (cas de df triviales). Relation en BCNF (Boyce Codd Normal Form) : si aucun attribut non clé n'est source de df vers la clé (ou partie de la clé)

55 Remarques Rmq1. un schéma est en 3NF si : a. en cherchant ses clés minimales (algo), b. on déduit les attributs A qui n appartiennent à aucune clé minimale, c. puis on regarde les df X A de F+ (où A est déjà déterminé au (b)), A non inclus dans X (cas de df triviale) et tester pour chacune d elle si X est une clé. Rmq2. Pour montrer qu un schéma R n est pas en 3NF, il suffit de donner une df X A de F+ avec X non clé, A non inclus dans X et n appartenant à aucune clé.

56 Exemple de forme normale de Boyce Codd (BCNF) (aucun attribut non clé n est pas source de df vers une partie de la clé). Exemple : RECOLTE (product, annee, quantite, numvin) On a : (product, annee) quantite (product, annee) numvin Mais on a aussi : numvin product d où la relation n'est pas en BCNF. On décompose en : RECOLTE(numvin, annee, quantite) et VIN(numvin, product) qui sont en BCNF.

57 Propriétés utiles : PROP4. Un schéma en 3NF qui n admet qu une clé minimale est en BCNF. PROP. Un schéma R muni d une seule df de la forme X Y, avec X Y = R est en BCNF. U

58 Exemple : Soit le schéma M=(S, R, A, C) où S, R, A, C sont des attributs qui caractérisent respectivement une succursale de magasin, (S) un rayon de succursale (R), un article (A) et un chef de rayon (C). On suppose que les df suivantes sont Satisfaites : SA R et SR C Montrer que SA est une clé de M. Par augmentation par S : SA R => SA SR Par transitivité, on a SA SR et SR C on aura : SA C D'après la propriété PROP2, on a SA contient des attributs qui ne sont dans aucun membre droit de df et forme une clé, SA est la seule clé minimale de M. M en 3NF? On a C est un attribut qui n'appartient pas à la clé minimale, que SR n'est pas une clé, la df SR C montre que M n'est pas en 3NF.

59 Algorithme de recherche d une couverture minimale d un ensemble de df : X, Y, = des ensembles d attributs, A, B, C, = des attributs somples Données : R=(A 1, A 2,,A n ) un schéma de relation, F un ensemble de df sur R Résultat : G, une couverture minimale de F (1) G+ = F+ (2) Tout membre droit d une df de G est réduit à un seul attribut (3) Pour aucune df X A de G on n a G {X A } => X A (4) Pour aucune df X A de G on n a G => Y A avec Y partie stricte de X

60 ALGORITHME On ordonne les df de F. Soit F = {X 1 Y 1, X 2 Y 2,, X n Y n } Etape 1 : on décompose les membres droits Y i des df de F : Pour i de 1 à m Faire Si Y i = A 1 A 2 A s avec s > 1 Alors F := F {X i Y i } U {X i A 1, X i A 2,, X i A s } On supposera par la suite que l on a : F = {X 1 A 1, X 2 A 2,, X p A p }

61 Etape 2 : on regarde si on peut enlever des df de F sans modifier sa fermeture Pour i de 1 à p Si {F - {X i A i }} => {X i A i } Alors F := F - {X i A i } Quitte à renuméroter les df, on suppose qu à la fin de cette étape, on a : F = {X 1 A 1, X 2 A 2,, X q A q }

62 Etape 3 : On cherche à remplacer les membres gauches des df formés de plus d un attribut par des membres gauches ayant moins d attributs sans changer la fermeture de F Pour i de 1 à q Faire Si Xi = B1 B2 Br avec r > 1 Alors Pour j de 1 à r Faire Si F => {X i B j } A i Alors X i := X i B j (on enlève l'attribut B j )

63 COMMENTAIRES Etape 1 : propriétés d augmentation et de décomposition. X AB est équivalent à X A et X B Etape 2 : on supprime des df superflues (redondantes) Etape 3 : il suffit de remarquer que si on a F => ({X i B j } A i ) alors les ensembles de df F et F = {F {X i A i } U { {X i B j } A i } } sont équivalents. En effet, par augmentation et décomposition, on a : la df {X i B j } A i implique la df X i A (donc F implique F) i

64 Remarques : 1. la couverture minimale n est pas unique (en général) 2. on peut inverser l ordre des étapes 2 et 3, on obtient toujours une couverture minimale 3. à l étape 2, pour tester si {F {X i A i }} => {X i A i, }, il suffit de tester si A i appartient à la fermeture de X i relativement aux df de F {X i A i }. De même à l étape 3, la condition F => {X i B j } A i peut se tester en regardant si A i appartient à la fermeture de {X i B j } relativement à F. (=> on peut utiliser l algo)

65 Ex. Soit un schéma de relation R, concernant des cours C, des étudiants E, des professeurs P, des notes N, des jours et des horaires de cours J et H, et des salles de cours S. Soit R = (C, E, P, N, J, H, S) muni de l'ensemble de df F : CEP N (1) JHS PC (2) EP C (3) EPS C (4) Calculer la couverture minimale de F, notée F+ Etape 1 : tout membre droit d'une df est réduit à un seul attribut. F devient l'ensemble suivant : CEP N (1) JHS P (2') JHS C (2'') EP C (3) EPS C (4) Le Havre

66 Etape 2 : Enlever des df superflues (enlever des df de F sans modifier sa fermeture) : - On ne peut pas retirer la df (1) car aucune autre df ne contient N dans son membre droit. - La df (2') ne peut pas être retirée pour la même raison (pour P). - Pour voir si on peut retirer la df (2''), on calcule (JHS)+ relativement à F -{(2'')}. On a (JHS)+:= JHSP. Il ne contient pas C, donc on ne peut pas retirer la df (2'') : JHS C. - Pour voir si on peur retirer la df (3), on calcule (EP)+ relativement à F {(3)}. On trouve (EP)+:= EP. Il ne contient pas C. Donc, on garde la df (3) : EP C. Pour la df (4), on remarque que la df (3) implique la df (4), donc F {(4)} => (4). On peut donc retirer la df (4). Ou bien, on calcule (EPS)+ relativement à F {(4)}:= EPSC, car EP C, donc (EPS)+ contient C. On peut la supprimer. A la fin de l'étape 2, F = {(1), (2'), (2''), (3)} Le Havre

67 Etape 3 : minimiser le nombre d'attributs dans les membres gauches des df (les faire «maigrir»). - On considère la df (1) (CEP N), on teste si F implique la df EP N (donc si C est superflu). On calcule (EP)+ := EPC. Il contient C, donc on peut supprimer C de la df (1). On aura (1') : EP N. On continue pour voir si on peut supprimer E de (1'). On calcule P+:= P, ne contient pas E. Donc, on garde E. On voit si on peut supprimer P. On calcule E+ : = E. Il ne contient pas P. Donc on garde P. On ne peut faire «maigrir» davantage le membre droit de (1'), qui sera : EP N. - On considère la df (2') (JHS P). On teste si on peut supprimer des attributs de JHS. On calcule (HS)+:= HS, (JS)+ := JS, (JH)+:= JH. Donc la df (2') ne peut pas être «amaigrie». (2') : JHS P Le Havre

68 Etape 3 suite : - On considère la df (2'') (JHS C). On obtient les mêmes résultats. On ne peut pas faire «maigrir» le membre gauche. Donc (2'') : JHS C. De même que la df (3) : EP C. La couverture minimale est donc F = {(1'), (2'), (2''), (3)}

69

70

71

72 ALGORITHME DE BERNSTEIN X, Y, = ens d attributs, A, B, C, = ens d attributs Données : R=(A 1, A 2,,A n ) un schéma de relation, F un ensemble de df sur R Résultat : une décomposition de R muni de F en schémas de relations 3NF, SPI, SPD Etape 1. On remplace F pas sa couverture minimale (algo). On cherche les clés minimales de R et on teste si R est en 3NF. Si oui, on s arrête, Si non on passe à l étape 2.

73 Etape 2. On regroupe les df X A i (1 i p) ayant même membre gauche X. Pour chaque membre gauche X, on définit un schéma de relation contenant tous les attr. des df, soit R X =(X, A 1, A 2,, A p ). Le schéma R X est muni de l ensemble des df X Ai (1 i p). Etape 3. Si aucun des schémas de R X définis à l étape 2 ne contient de clé de R, alors on ajoute un schéma R K =(K), où K est une clé minimale de R, muni d aucune df.

74 REMARQUES : 1. chacun des schémas R i obtenus à l étape 2 et muni des df X A i (1 i p ), soit encore de la df équivalente X A 1 A 2 A p, est bien en 3NF. De même le schéma R K. 2. le schéma R K sert à assurer que la décomposition est bien SPI. 3. La décomposition est trivialement SPD puisque la réunion des df des nouveaux schémas est F.

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

Bases de données relationnelles : Introduction

Bases de données relationnelles : Introduction Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud veronique.benzaken@u-psud.fr https://www.lri.fr/ benzaken/

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Modélisation de bases de données : Le modèle relationnel

Modélisation de bases de données : Le modèle relationnel Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr IT203 : Systèmes de gestion de bases de données A. Zemmari zemmari@labri.fr 1 Informations pratiques Intervenants : Cours : (A. Zemmari zemmari@labri.fr) TDs, TPs : S. Lombardy et A. Zemmari Organisation

Plus en détail

Bases de données - Modèle relationnel

Bases de données - Modèle relationnel Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,

Plus en détail

INTRODUCTION AUX BASES de DONNEES

INTRODUCTION AUX BASES de DONNEES INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système

Plus en détail

Bases de données cours 1

Bases de données cours 1 Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Patrice BOURSIER. Professeur, Univ. de La Rochelle. patrice.boursier@univ-lr.fr. Bases de Données. Notes de cours

Patrice BOURSIER. Professeur, Univ. de La Rochelle. patrice.boursier@univ-lr.fr. Bases de Données. Notes de cours Patrice BOURSIER Professeur, Univ. de La Rochelle patrice.boursier@univ-lr.fr Bases de Données Notes de cours SOMMAIRE Chapitre 1 : Introduction Chapitre 2 : Modèle conceptuel Chapitre 3 : Modèle relationnel

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

Plus en détail

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR

Plus en détail

Bases de Données Relationnelles. Le Modèle Relationnel

Bases de Données Relationnelles. Le Modèle Relationnel Bases de Données Relationnelles Le Modèle Relationnel Le modèle relationnel modèle de niveau logique modèle simple : deux concepts relation (table) attribut (colonne) défini par Ted Codd en 1970 ; prix

Plus en détail

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements Introduction aux bases de données Université de Nice Sophia-Antipolis Version 2.1-5/12/2000 Richard Grin Généralités sur les bases de données R. Grin SGBD 2 Définitions Une base de données est un ensemble

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

COURS de BASES de DONNEES

COURS de BASES de DONNEES COURS de BASES de DONNEES Céline Robardet INSA-Lyon Point de départ Une base de données est une collection de données ayant une origine commune Un Système de Gestion de Base de Données (SGBD) est un logiciel

Plus en détail

2.4 Représentation graphique, tableau de Karnaugh

2.4 Représentation graphique, tableau de Karnaugh 2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables

Plus en détail

Chapitre 1 Généralités sur les bases de données

Chapitre 1 Généralités sur les bases de données Chapitre 1 Généralités sur les bases de données I. Définition d un SGBD Une base de données, généralement appelée BD est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations

Plus en détail

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson Introduction aux Systèmes de Gestion de Olivier Losson L'objectif de ce cours est l'acquisition des connaissances fondamentales relatives aux systèmes de gestion de bases de données relationnelles (SGBDr),

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Structures algébriques

Structures algébriques Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

Bases de données Cours 5 : Base de données déductives

Bases de données Cours 5 : Base de données déductives Cours 5 : ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 Introduction 2 approche sémantique approche axiomatique

Plus en détail

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du Proyecto FAO COPEMED Universidad de Alicante Ramón y Cajal, 4 03001 - Alicante, España GCP/REM/057/SPA Web : www.fao.org/fi/copemed Tel : +34 96 514 59 79 Fax : +34 96 514 59 78 Email : copemed@ua.es Formation

Plus en détail

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions. Question 1 Donnez la traduction en modèle relationnel du schéma Entité-Association

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

Systèmes de Gestion de Bases de Données

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données Editeurs successifs : Jean-Pierre CHEINEY, Philippe PICOUET, Jean-Marc SAGLIO, Talel ABDESSALEM Extraits pour le l UE INF225 Septembre 2011 page 1 page 2 TABLE DES

Plus en détail

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228 Intro Modèle Algèbre SQL Stockage Intro Modèle Algèbre SQL Stockage Plan du cours Les Bases de Données Rattrapages École Centrale de Paris Nicolas Travers Équipe Vertigo Laboratoire CEDRIC Conservatoire

Plus en détail

1 Modélisation d une base de données pour une société de bourse

1 Modélisation d une base de données pour une société de bourse IN306 : Corrigé SID Christophe Garion 18 octobre 2010 Ce document est un corrigé succinct de l examen du module IN306. 1 Modélisation d une base de données pour une société de bourse Une

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Licence 3 Géographie Aménagement NHUC5548 Introduction aux Bases de Données Le cas des BD relationnelles Concepts, méthodes et applications JP ANTONI / Y FLETY 1 Logistique et autres fonctionnements Cours

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7 Bases de données Yamine AIT AMEUR INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7 Première partie Introduction 1 Généralités et notions de base Première partie Introduction 1 Généralités

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

NF26 Data warehouse et Outils Décisionnels Printemps 2010

NF26 Data warehouse et Outils Décisionnels Printemps 2010 NF26 Data warehouse et Outils Décisionnels Printemps 2010 Rapport Modélisation Datamart VU Xuan Truong LAURENS Francis Analyse des données Avant de proposer un modèle dimensionnel, une analyse exhaustive

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Cours 02 : Problème général de la programmation linéaire

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

Année Universitaire 2009/2010 Session 2 de Printemps

Année Universitaire 2009/2010 Session 2 de Printemps Année Universitaire 2009/2010 Session 2 de Printemps DISVE Licence PARCOURS : CSB4 & CSB6 UE : INF 159, Bases de données Épreuve : INF 159 EX Date : Mardi 22 juin 2010 Heure : 8 heures 30 Durée : 1 heure

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

DESS CCI Formation Continue. Février 2002. Université Louis-Pasteur de Strasbourg Département d'informatique

DESS CCI Formation Continue. Février 2002. Université Louis-Pasteur de Strasbourg Département d'informatique DESS CCI Formation Continue Février 2002 Université Louis-Pasteur de Strasbourg Département d'informatique %DVHVGH'RQQpHV 6\OYDLQ%5$1'(/ Pôle API, Boulevard Sébastien Brant 67 400 ILLKIRCH bureau C 126

Plus en détail

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier ENSTA Mastère Spécialisé en Architecture des Systèmes d Information Cours C1-3 Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier Partie II : les SGBD vus du coté Administrateur

Plus en détail

Chapitre 1. 1. Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Chapitre 1. 1. Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2010/2011 COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : nakech@free.fr Chapitre 1 1. Introduction : Notion de Bases

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Programmation Par Contraintes

Programmation Par Contraintes Programmation Par Contraintes Cours 2 - Arc-Consistance et autres amusettes David Savourey CNRS, École Polytechnique Séance 2 inspiré des cours de Philippe Baptiste, Ruslan Sadykov et de la thèse d Hadrien

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

Chapitre 07 Le modèle relationnel des données

Chapitre 07 Le modèle relationnel des données Chapitre 07 Le modèle relationnel des données Introduction Ce chapitre est un prolongement de l'étude du modèle relationnel vu en classe de première. L'idée principale est de faire comprendre aux élèves

Plus en détail

Introduction aux bases de données

Introduction aux bases de données Introduction aux bases de données Références bibliographiques Jeff Ullman,Jennifer Widom, «A First Course in Database systems», Prentice-Hall, 3rd Edition, 2008 Hector Garcia-Molina, Jeff Ullman, Jennifer

Plus en détail

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1)

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1) 1 Que signifient AON et AOA? Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1) Sommaire 1. Concepts... 2 2. Méthode PCM appliquée

Plus en détail

3. Conditionnement P (B)

3. Conditionnement P (B) Conditionnement 16 3. Conditionnement Dans cette section, nous allons rappeler un certain nombre de définitions et de propriétés liées au problème du conditionnement, c est à dire à la prise en compte

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation Master STIC «Image Informatique et Ingénierie» Module Informatique Modèles de représentation - 10h CM Nadine Cullot Kokou Yétongnon nadine.cullot@u-bourgogne.fr kokou.yetongnon@u-bourgogne.fr 1ère partie

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Conception d une base de données

Conception d une base de données Conception d une base de données Cyril Gruau 17 octobre 2005 (corrigé le 13 juillet 2006) Résumé Ce support de cours regroupe quelques notions concernant le modélisation conceptuelle de système d information

Plus en détail

CESI Bases de données

CESI Bases de données CESI Bases de données Introduction septembre 2006 Bertrand LIAUDET EPF - BASE DE DONNÉES - septembre 2005 - page 1 PRÉSENTATION GÉNÉRALE 1. Objectifs généraux L objectif de ce document est de faire comprendre

Plus en détail

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

Partie II Cours 3 (suite) : Sécurité de bases de données

Partie II Cours 3 (suite) : Sécurité de bases de données Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

Plus en détail

BD et XML : Exercices

BD et XML : Exercices BD et XML : Exercices 1 Stockage XML Voici un arbre XML : A B E C F C F C F D C C D D D 1.1 Stockage générique Exercice 1.1.1 : Définissez un schéma de stockage relationnel générique (sans prendre en compte

Plus en détail

Bases de données relationnelles & SQL

Bases de données relationnelles & SQL Bases de données relationnelles & SQL Objectifs Appréhender les concepts du modèle relationnel. Etre capable de concevoir un schéma relationnel. Etre capable de créer une base de données relationnelle

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Bases de données réparties: Fragmentation et allocation

Bases de données réparties: Fragmentation et allocation Pourquoi une base de données distribuée? Bibliographie Patrick Valduriez, S. Ceri, Guiseppe Delagatti Bases de données réparties: Fragmentation et allocation 1 - Introduction inventés à la fin des années

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Méthode d analyse Merise

Méthode d analyse Merise Méthode d analyse Merise - Frédéric Julliard Université de Bretagne Sud UFR SSI - IUP Vannes - année 2001-2002 Approche ancienne : 1978 Très répandue en France Origine française : développée par : CTI

Plus en détail

Exercices Corrigés Premières notions sur les espaces vectoriels

Exercices Corrigés Premières notions sur les espaces vectoriels Exercices Corrigés Premières notions sur les espaces vectoriels Exercice 1 On considére le sous-espace vectoriel F de R formé des solutions du système suivant : x1 x 2 x 3 + 2x = 0 E 1 x 1 + 2x 2 + x 3

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Modèle conceptuel : diagramme entité-association

Modèle conceptuel : diagramme entité-association Modèle conceptuel : diagramme entité-association Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.»

Plus en détail