O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

SIBD101-Introduction aux bases de données.pdf

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 87 Anúncio

SIBD101-Introduction aux bases de données.pdf

Cours introductif aux bases de données; un premier pas dans le monde des BDDs et des systèmes d'informations pour les apprentis ingénieurs en informatique et domaines relatifs, principalement des deuxièmes aux troisièmes années des premiers cycles de la graduation.

Cours introductif aux bases de données; un premier pas dans le monde des BDDs et des systèmes d'informations pour les apprentis ingénieurs en informatique et domaines relatifs, principalement des deuxièmes aux troisièmes années des premiers cycles de la graduation.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a SIBD101-Introduction aux bases de données.pdf (20)

Mais recentes (20)

Anúncio

SIBD101-Introduction aux bases de données.pdf

  1. 1. Systèmes d’Informations& BasesdeDonnées -SIBD101- ELSAKAAN Nadim PAGE 1
  2. 2. INFORMATIONSYSTEMSCONSULTANTANDTRAINER(DIGITALIZATIONANDTRANSFORMATION STRATEGIES)@FREELANCE| EDUCATOR&VISITORTEACHER@UNIVERSITIES| PHDCANDIDATE@UAMB|RESEARCHER@LIMED| DIGITALSTARTUPSINCUBATIONMODELCONSULTANT@FREELANCE|JOURNALIST&AUTHOR ACADEMIC MAIL : NADIM.ELSAKAAN@UNIV-BEJAIA.DZ – RAGAB@ESTIN.DZ REFERENCES : MTA-MSC, ENTREPRISE PORTUAIRE DE JIJEL, EFMCI, CASTEL, INSIM, RAMINA, SIMAFE, DPWORLD, ATLANTIS HOTELS, MORTERO, CARF NEGOCE, INSPECT, IFRI, BEJAIA LOGISTIQUES, CANDIA TCHIN-LAIT, UC3, CUT, UAMB, ESTIN, LIMED LINKEDIN : HTTPS://WWW.LINKEDIN.COM/IN/NADIM-ELSAKAAN- 1B115738/ RESEARCHGATE : HTTPS://WWW.RESEARCHGATE.NET/PROFILE/NADIM- ELSAKAAN PAGE 2
  3. 3. s2jp5qh PAGE 3
  4. 4. Que savez vous ?  Qu’est ce qu’une donnée ? Qu’est ce qu’une information ?  Que sont les structures de données et quel est leur rôle ?  Qu’est ce que les systèmes d'informations ?  Qu’apportent ils aux entreprises et aux institutions ?  Que sont les bases de données et quelles relations ont-elles avec les systèmes d’informations ?  Que savez vous du big data ? PAGE 4
  5. 5. Onnepeutétudiercequel’on ajamaisrêvé PAGE 5 Gaston Bachelard
  6. 6. Prologue pédagogique  La pédagogie est d’abord une affaire de confiance  Nous allons œuvrer à promouvoir l’esprit d’autonomie didactique  Nous ouvrirons un espace d’enseignement participatif  Mettre en avant l’approche: Acquérir des connaissances en partant de problématiques communes  En bref, ceci est un cours dont vous êtes les héros PAGE 6
  7. 7. Références Bibliographiques PAGE 7
  8. 8. Plan du cours Rappels sur les structures de donnés Introduction aux systèmes d’informations Premiers pas vers les bases de données relationnelles SGBDR et SQL Aller plus loin avec le NoSQL PAGE 8
  9. 9. Introduction  Des études statistiques montrent que le volume global de données numériques a dépassé les 64 zettaoctet (10^12 giga-octets) en 2020 et atteindra 181 ZO a l'horizon de 2025  Apres une longue période de numérisation, les entreprises et les géants industriels mondiales sont en phase de transformation digitale pour répondre aux critères concurrentiels du marché  Dans cette ruée vers la production de valeurs, on voit apparaitre une formate intégration de technologie relativement récente des domaines informatiques comme le cloud computing ou encore le big data  Tout ingénieur intégrant le marche de l emploi dans les années avenirs doit répondre aux attentes stratégiques de ces pôles d’emploi, il doit être apte a faire face aux changements de paradigmes perpétuels. Comme il faut bien commencer quelques part, commençons par les classiques PAGE 9
  10. 10. Plan du chapitre  Les structures statiques  Les structures dynamiques  Les fichiers Rappels sur les structures de données PAGE 10
  11. 11. Les tableaux  Un tableau est un ensemble de variables de même type occupant un espace mémoire continu, un tableau a pour type le type des variables qu’il contient  La déclaration d’un tableau s’effectue en deux étapes  Type: on déclare un nouveau type de tableau  var: on déclare une nouvelle variable tableau  Parcours d’un tableau  Position via indice  Via boucle PAGE 11
  12. 12. Exemple type tab=tableau[0..100] d’entier; var t: tab, som: entier; Som <- 0; pour i allant de 0 à 9 faire début som <- som+t[i]; fin pour; PAGE 12
  13. 13. Les listes chainées  Une liste chainée est une structure de données dynamique, c’est une suite d’éléments de même type se distinguant des tableaux par le fait qu’ils n’occupent pas un espace mémoire continu, par conséquent ces éléments sont dispersés en mémoire et reliés par des pointeurs, on retient d’une liste chainée un pointeur vers le premier élément également appelé tête  Une liste simplement chainée circulaire est une liste dont le pointeur suivant du dernier élément pointe vers le premier élément au lieu de NULL  Une liste doublement chainée est en tout point identique aux listes simplement chainées, à la différence prête, cette fois on définit un deuxième pointeur dans notre structure nœud, ce pointeur pointe vers l’élément précédent, le précédent du premier élément étant logiquement NULL  les arbres sont des listes qui ont un nombre de pointeurs suivant supérieur à un, donc chaque élément pointe vers une multitude d’éléments et ainsi de suite, on définit alors un arbre PAGE 13
  14. 14. Exemple typedef struct element element ; typedef element* liste ; struct element { Type_champ nom_champ ; … liste suivant ; } ; PAGE 14
  15. 15. Les files et les piles  Une structure de données de type files, reprend les concepts d’une file d’attente chez le boulanger (FIFO), par exemple  Les nouveaux clients (éléments) viennent s’ajouter à la fin de la file  Les premiers à être servis (quitter) sont ceux au début  On ajoute les nouveaux éléments à la fin et on retire toujours ceux en début de la file  Une structure de données de type piles, reprend les concepts d’une pile (LIFO) de copies d’examens  Les nouvelles copies (étudiants ayant terminé l’examen) viennent s’ajouter au début  L’enseignant corrige en dépilant la pile de copies (les dernières placées sont les premières à ressortir)  On ajoute et on retire du début de la file PAGE 15
  16. 16. Exemple PAGE 16
  17. 17. Les arbres  Un arbre est une structure de données, possédant plusieurs caractéristiques, comme la hauteur, la largeur et la dimension. Elle s’apparente à un arbre réel en terme de forme d’où la nomination  Un arbre peut être déclaré de la même façon qu’une liste avec les contraintes suivantes:  Chaque nœud n’admet qu’un nœud prédécesseur appelé père  Chaque nœud peut admettre un ou plusieurs nœuds successeurs appelé fils  Seul le premier nœud ne possède pas de père et est appelé la racine  Les nœuds ne possédant pas de fils sont appelés feuilles  Les arbres peuvent être parcourues de plusieurs façon.  Largeur d’abord  Profondeur d’abord PAGE 17
  18. 18. Exemple PAGE 18
  19. 19. Les fichiers  En langage C, on définit d’une façon générique un fichier comme étant un ensemble de données, stocké sur un support mémoire de masse et permanent. Ses données sont hétérogènes  Dans le même cas de figure, on distingue deux approches pour coder les informations stockées dans un fichier:  En binaire: tout type de fichiers autres que texte seul (les fichiers médias, fichiers de logiciels de traitement de textes).  En ASCII: se sont les fichiers textes pures, ils sont listables car chaque enregistrement logique occupe un enregistrement physique. Le dernier Octet est EOF  Il existe deux modes de parcours de fichiers:  Accès séquentiel: un pointeur accède à une cellule particulière en parcourant séquentiellement les cellules du fichiers.  Accès direct ou Aléatoire: On peut accéder directement à une cellule  Il existe une panoplie de manipulations sur les fichiers, passant par des opérations et des activités, nous allons en parcourir l’essentiel brièvement dans cette partie PAGE 19
  20. 20. Résumé Dans les grandes lignes  Structures statiques Structure de données permettant de recueillir un grand nombre prédéfini de variables d’une façon rapide et accessible directement  Structures dynamiques Permet d’étendre la capacite des structures de données durant l’exécution du programme mais restreint la possibilité d’accès direct  Fichiers Permet une forme de persistance des données après la fin du programme PAGE 20
  21. 21. ‘Cela m’est évident : j’assiste à l’éclosion de ma pensée : je la regarde, je l’écoute... Si les vieux imbécilesn’avaientpastrouvédu moi que la signification fausse, nousn’aurionspasàbalayerces millionsdesquelettesqui,depuis untempsinfini,ontaccumuléles produits de leur intelligence borgnesse, en s’en clamant les auteurs’ PAGE 21 Lettre du voyant, Rimbaud, 1871
  22. 22. Plan du chapitre  Dictionnaire des données  Les systèmes d’informations  La méthode MERISE  Les bases de données relationnelles  Normalisation, clés et passage de E/ A vers MR Rappels sur les structures de données PAGE 22
  23. 23. Les données  C’est tout ce qu’on peut connaitre, observé ou même déduire dans la vie courante  Il existe différent types de données: qualitative, quantitative, catégorielles, discrètes ou continues  Une fois analysée, mise dans le bon contexte, la donnée devient alors une information exploitable PAGE 23
  24. 24. Exemple Analysez la situation suivante On donne à un prof une liste de 12 étudiants, en entrant en classe, il constate qu’il y a 10 personnes PAGE 24
  25. 25. Les taureaux de Picasso
  26. 26. Dictionnaire des données  C’est une collection de données et de métadonnées de référence  Dressez le dictionnaire des données revient à énumérer toutes les données pertinentes à mettre dans la BDD  On le schématise d’une façon triviale et élémentaire afin de mettre en évidence une structure de base pour la BDD  Le dictionnaire des données est une phase élémentaire dans le processus de conception d’une BDD PAGE 26
  27. 27. Exemple PAGE 27
  28. 28. Les systèmes d’informations  C’est un ensemble d’activités et de processus qui permettent de capturer, transformer, stocker et transmettre des données suivants des contraintes imposées par l’environnement du système  Un système d’informations digital permet de recouvrir automatiquement des informations-décisionnelles à partir des entrées brutes et des données à plats  Les informations doivent répondre à certains critères afin d’être exploitable convenablement PAGE 28
  29. 29. La digitalisation  Fédérer les composants et les acteurs, car la digitalisation est une culture et un investissement avant d’être un process  La ressource humaine  Les partenaires externes  Les capitaux financiers  Les directions des services métiers et la direction du système d’information  Identifier les services et les processus numérisables  Séparer les processus classiques admettant une numérisation de ceux à contraintes externes  Détecter les segments des flux les moins sensibles et à même d’être accélérés par la numérisation  Etude budgétaire  Etude du rapport investissement/ gain  Etude comparative de la rentabilité d’investir dans du développement sur mesure ou dans l’intégration de l’existent PAGE 29
  30. 30. La digitalisation  Mettre en place une équipe interne à même de porter le projet  Des équipes hybrides des services cibles de la numérisation  Avec les partenaires et experts externes, ces équipes développent les compétences, la culture et les réflexes clés pour la durabilité du projet  Assurent la continuité en cas d’interruption avec des parties externes  Intégration itérative des outils digitaux  Mise en place d’une solution numérique  Documentation et support de celle-ci  Formation du personnel exploitant  Shift réel sur cette solution et réitération du process sur d’autres briques  Mise en place d’une stratégie pour externaliser les outils digitaux PAGE 30
  31. 31. Les bases de données  Est un ensemble structuré de données. Les données sont tout fait significatif pouvant être enregistré, les données sont enregistrées avec une redondance minimale  La gestion est assurée par un SGBD qui sont un ensemble de programmes non modifiables par les utilisateurs, permettant de créer et de manipuler les bases de données  Ils font donc office d’interface entre les utilisateurs et la BDD, les manipulations de celles-ci peuvent être résumés en l’ajout de données, de mise a jour du schéma, la suppression ou bien la modification  L’acronyme CRUD (pour create, read, update, delete) résume les manipulation  Le cycle de vie d’une base de données comporte la conception, l’implementation, l’utilisation et l’entretien PAGE 31
  32. 32. Exemple Un manager d’hyper-marche fait appel a vos services pour concevoir une solution de gestion, proposer un dictionnaire des données PAGE 32
  33. 33. Les approches d’analyse et conception  Approche cartésienne  Est une approche intuitive s’appuyant sur la division des procédures de gestion en groupes séparés pour lesquels des applications dédiés sont proposes  Elle a l’avantage d’être créative, simple et maintenable aisément, néanmoins elle n’offre pas de méthode standard et n’aboutit pas toujours a une résultat cohérent  Approche systémique  Elle est l’approche qui regarde l’organisation sous forme d’un ensemble de sous systèmes coopérant  Elle a l’avantage d’offrir des méthodes harmonisées pour l'analyse et la conception, mais elle requiert un plus haut niveau de compétences, elle est également plus couteuses en temps et en finances PAGE 33
  34. 34. La méthode merise  Etude de l’existant  Recueil des pratiques et des documents existants  Suivi des flux d’informations, collecte des objectifs et des contraintes des procédures en place  Diagnostique et validation  Etude conceptuelle  Modèles conceptuelles: des données, des traitements,  Modèle organisationnel des traitements  Modèle logique des données  Modèles externes  Réalisation  Modèle physique des données  Modèle opérationnels des traitements PAGE 34
  35. 35. Une Relation !  Les objets du monde réel sont représentés par des Relations, ceux sont des tableaux à deux dimensions  On définit une relation par  Son nom  Listes des couples (Attribut, Domaine)  Son ou ses identifiants  Ces trois informations représente le schéma (intention) de la relation  La population (extension) d’une relation est l’ensemble des tuples de la relation 01/09/20 12 Ragab Hassen Nadim 35
  36. 36. Introduction aux BDDR  Une BDR est l’extension de toutes les relations qu’elle englobe  Le schéma d’une BDR est l’ensemble des schémas de ses relations  Exemple  Une BDR d’une société de transport devrait contenir quelles relations ?  Une BDR hôpital devrait contenir quelles relations ? PAGE 36
  37. 37. Exemple 01/09/20 12 Ragab Hassen Nadim 37
  38. 38. La normalisation  Le processus de normalisation ou bien de décomposition vise à rendre les actions de Mises à jour d’une BDR réalisables sans encombres  Une mauvaise conception d’une BDR peut laisser apparaitre des problèmes lors de la manipulation de celles-ci, les principaux problèmes sont  Redondance: Une information concernant une instance apparait à différents emplacements d’une BDR avec des valeurs différentes  Anomalie de mise à jour: La redondance rend impossible le fait d’effectuer une mise à jour cohérente  Anomalie d’insertion: Certains objets ne peuvent être insérés que comme attribut d’autres objets.  Anomalie de suppression PAGE 38
  39. 39. Exemple PAGE 39
  40. 40. Notez bien!  La normalisation élimine les problèmes précédents  Pour se faire il faut parfois recourir à des jointures  Les jointures sont couteuses en termes de temps  La cohérence d’une base de données prime sur le temps d’accès  La qualité d’une relation est déterminée par son degré de normalisation suivant l’échelle suivante: ->1 FN, 2 FN, 3 FN, BCNF(Boyce Codd), 4 FN, 5 FN, …etc. 01/09/20 12 Ragab Hassen Nadim 40
  41. 41. Les dépendances fonctionnelles  La normalisation des relations repose sur le concept des dépendances fonctionnelles  Une Dépendance fonctionnelle (DF) sur un schéma relationnel R, est une proposition de la forme Si , pour tous tuples t1 et t2 de R qui ont la même valeur pour l’attribut A, on a t1 et t2 qui ont les même valeurs pour l'attribut B, alors on dit que A détermine fonctionnellement B.. On note : A -> B. A est appelé : Prémisse, et B : conclusion. 01/09/20 12 Ragab Hassen Nadim 41
  42. 42. Exemple A B C 1 5 4 2 5 6 3 6 6 01/09/20 12 Ragab Hassen Nadim 42 Exemple :R(A,B,C) On a : A -> B ; A -> C ; c’est tout. Toutes les autres DF ne sont pas satisfaites.
  43. 43. Les types de DFs (1/2)  Dépendances fonctionnelles élémentaire: Une dépendance fonctionnelle A-> B est élémentaire s’il n’existe pas une donnée C, sous-ensemble de A, décrivant une dépendance fonctionnelle de type C->B  Exemple: RéférenceProduit -> Désignation NuméroCommande, RéférenceProduit -> Quantité NuméroCommande, RéférenceProduit -> Désignation 01/09/20 12 Ragab Hassen Nadim 43
  44. 44. Les types de DFs (2/2)  Une dépendance fonctionnelle X -> Y est dite triviale si Y est inclus dans X Exemple: B->b tel que b appartient B  Une dépendance fonctionnelle X->A est dite déduite si partant de X on peut arriver à A sans utiliser la DF X->A. en d’autres mots, X -> A est redondante dans F si elle est conséquence de F - {X -> A} Exemple: A->B, B->C, on déduit A->C c’est une DF déduite. 01/09/20 12 Ragab Hassen Nadim 44
  45. 45. Les propriétés des DFs(1/2)  réflexivité : si X contient Y, alors X -> Y. Cette règle stipule que tout ensemble d’attributs détermine lui-même ou une partie de lui même  Augmentation : si X -> Y, alors XZ -> Y pour tout groupe Z d'attributs appartenant au schéma de relation Cette règle signifie que si X-> Y, alors les deux ensemble peuvent être enrichis par un troisième  Transitivité : si X -> Y, et Y -> Z, alors X -> Z Ces trois règles sont appelées axiomes d’Armstrong 01/09/20 12 Ragab Hassen Nadim 45
  46. 46. Les propriétés des DFs(2/2) Union: si X -> Y et Y -> Z, alors X -> YZ Pseudo-transitivité: si X -> Y et WY -> Z, alors WX -> Z Décomposition: si X -> Y et Z contenu dans Y, alors X -> Z 01/09/20 12 Ragab Hassen Nadim 46
  47. 47. Fermeture d’un ensemble d’attributs  La fermeture notée X+, de X (ensemble d’attributs) sous F(ensembles de dépendances fonctionnelles), l’ensemble des attributs de R pouvant être déduits à partir de X  Algorithme de Calcul de la fermeture d'un ensemble d'attributs : 1. initialiser (X)+ à X, 2. trouver une dépendance fonctionnelle de F possédant en partie gauche des attributs inclus dans (X) +, 3. ajouter dans (X) + les attributs placés en partie droite de la dépendance fonctionnelle, 4. répéter les étapes 2) et 3) jusqu'à ce que X+ n'évolue plus. 01/09/20 12 Ragab Hassen Nadim 47
  48. 48. Exemple  Soit F = { A -> D ; AB -> E ; BI -> E ; CD -> I ; E -> C }  Question : calculer la fermeture, sous F, de AE  A -> D permet d'ajouter D : (AE) = {A,E,D}  E -> C permet d'ajouter C : (AE) + = AEDC  CD -> I permet d'ajouter I : (AE) + = AEDCI  Exercice: calculer la fermeture, sous F, de BE 01/09/20 12 Ragab Hassen Nadim 48
  49. 49. Couverture minimale d’un ensemble de DFs  Un ensemble de DFs F est dit couverture minimale, si aucune DF f de F ne peut être déduite à partir de F en appliquant les propriétés des DFs  Pour simplifier un ensemble de DF, on doit enlever les DF non-élémentaires ainsi que les DFs redondantes  Exemple  Soit R(A,B,C,D,E). F={AB->C ,B->E, C->D, E->D, C->E, BC->D }  Montrer que F n’est pas une couverture minimale  Trouver sa couverture minimale 01/09/20 12 Ragab Hassen Nadim 49
  50. 50. Graphes des DFs Un Graphe des dépendances est un ensemble de nœuds et d’arcs tels que • Chaque nœud du graphe est un attribut atomique, ou non • Chaque arc du graphe est une dépendance fonctionnelle • Les arcs sont orientés Dans le cas où toutes les DFs sont non déduite, on obtient un graphe minimum de DFs 01/09/20 12 Ragab Hassen Nadim 50
  51. 51. Exemple 01/09/20 12 Ragab Hassen Nadim 51
  52. 52. Les clés  On dit que K (un sous-ensemble des attributs de R) est une clé minimale ssi elle vérifie ces contraintes  Unicité: Deux n-uplets distincts de R ne peuvent avoir la même valeur de K  Irréductibilité (ou minimalité): Il n’existe pas de sous-ensemble strict de K garantissant la règle d’unicité  Si la relation comporte plusieurs clés minimales, celles-ci sont appelées clés candidates  le modèle relationnel exige que seul une de ces clés candidates soit choisie comme clé primaire pour cette Relation 01/09/20 12 Ragab Hassen Nadim 52
  53. 53. Les propriétés des clés minimales Soit R une relation et F un ensemble de DF. Alors  Propriété 1 : tout attribut de R qui ne figure pas dans les conclusions des DFs doit appartenir à toutes les clés minimales.  Propriété 2 : si l’ensemble des attributs de R qui ne figurent pas dans les conclusions des DFs forment une clé minimale, alors celle-ci est unique 01/09/20 12 Ragab Hassen Nadim 53
  54. 54. Résumé Dans les grandes lignes  Une BDDR Est l’extension de toutes les relations qui la composent  Une relation est la donnée d’un nom unique, d’une liste d’attributs, d'une clé et d'une population  La normalisation Permet l’évitement de problème classique liée a la redondance et d’autres mauvaises pratiques, chaque relation est normalisée progressivement en utilisant le concept des dépendances fonctionnelles jusqu'à l'obtention d’une Forme normale admissible PAGE 54
  55. 55. Quiquenoussoyons,nousportonstous un masque, celui du personnage que nousaspironsàêtre.Or,quand,coincé entre deux gendarmes, nous nous retrouvons face à des juges affublés de leurrobedemagistratbrodéed'hemine - qui ont pour eux leur bonne conscienceetl'autoritédelachosejugée- ce masque tombe de lui-même. Alors, nous apparaissons dans notre nudité, avec pour seul viatique notre force ou notrefaiblesse.Ainsidonc,c'estquandle destin le broie, que l'homme révèle sa véritableessence PAGE 55 Jacques Verges, de mon propre aveu
  56. 56. Les types d’attributs  Attribut simple = non divisible (ex. âge)  Attribut composé = subdivisé en attributs simples sous forme d’une hiérarchie (exemple : adresse postale = rue + code postal + ville + pays)  Attribut monovalué = qui a une seule valeur par tuple  Attribut multivalué = qui a plusieurs valeurs par tuple (Possibilité d’imbriquer composition et multivaluation ⇒ objets complexes)  Attribut dérivé = dont la valeur est calculée (ex. prix T.T.C. à partir du prix H.T.). Ragab Hassen Nadim 56
  57. 57. La première forme normale  Une relation est dite en première forme normale (1FN), si tous ses attributs sont simples et monovalués Si rien n’est précisé sur la nature des attributs de la relation alors ils sont simples et monovalués Ragab Hassen Nadim 57
  58. 58. La deuxième forme normale  Soit R une relation. On dit que R est en 2FN, ssi 1. R est en 1FN 2. Les attributs non clé (n’appartenant à aucune clé) de R, ne dépendent pas d’une partie de la clé Ragab Hassen Nadim 58
  59. 59. Exemple • Soit la relation Livraison( NumFourn, NomProd, Prix, AdrF, TelF) F={NomProd,NumFourn -> Prix ; NumFour-> AdrF ; NumFourn-> TelF}. Livraison est-elle en 2FN ? • La relation Livraison peut être décomposé en 2 relation de 2FN Produit(NP,NF,Prix) et Fournisseur(NF,AdrF,TelF) Ragab Hassen Nadim 59
  60. 60. La troisième forme normale 1  Soit R une relation. On dit que R est en 2FN, s : 1. R est en 2FN ; 2. Les attributs non clé (n’appartiennent à aucune clé) de R, ne dépendent pas d’un autre attribut non clé  Exemple  Soit la relation R(A,B,C) avec F={A->B, B->C}. R est-elle en 3FN ?  On va vérifier si R est en 2FN : la clé minimale de R est A. Oui R est en 2FN  Non R n’est pas en 3FN, car l’attribut non clé C dépend d’un autre attribut non clé (B) Ragab Hassen Nadim 60
  61. 61. La troisième forme normale 2 Algorithme de décomposition d’une relation non 3FN en plusieurs relations 3FN Entrée:R:schéma de relation et F:ensemble de DFs Sortie:Ri[Attr(Ri);Fi]relationsde3FN. Début 1. Calculer la couverture minimale F’de F. 2. Calculer les clés minimales de R 3. Regrouper les DFs de F’ ayant même prémisse,{Gi->A1;Gi->A2;/;Gi->An} 4. Former des relations Ri [(Gi,A1,A2,/An);{Gi->A1,Gi->A1,/,Gi->An}]. 5. Si la clé K de R ne figure dans aucune des relations Ri construite en 4,alors ajouter une relation RZ[(K),{K->K}]. Fin Ragab Hassen Nadim 61
  62. 62. Exemple  Soit la relation R(A,B,C,D,E) avec F={A->B, A->D, BC->D, D->E, A->E}. R est-elle en 3FN ? Sinon proposer une décomposition en plusieurs relations de3FN  Calculons la couverture minimale de R : F’= {A->B, A->D, BC->D, D->E}  Trouvons la ou les clés minimales de R : AC ne figure pas sur les prémisses des DF donc AC appartient à toutes les clés min  (AC)+ =Attr(R) ; A+!= attr(R) ; C+!= attr(R), donc AC est l’unique clé minimale de R  R n’est pas en 2FN car il existe un attribut non clé qui dépend d’un autre attribut non clés (D->E)  Donc R n’est pas en 3FN également  On va décomposer R en suivant l’algorithme de décomposition, et on obtient  R1[(A,B,D) ;{A->B, A->D}] ; R2[(B,C,D) ;{ BC->D}]; R3[(D, E) ;{D->E}]  Comme la clé AC ne figure dans aucune des 3 relations alors on ajoute la relation RZ[(A,C) ; {AC->AC}] Ragab Hassen Nadim 62
  63. 63. La forme normale de Boyce-Codd 1 Une relation est dite en forme normale de BOYCE-CODD(BCNF), ssi 1. Elle est en 1FN; 2. Toutes les Dfs sont de la forme Clé minimale->attribut. Ragab Hassen Nadim 63
  64. 64. La forme normale de Boyce-Codd 2 Entrée:R:schéma de relation et F:ensemble de DFs Sortie:D=Ri[Attr(Ri);Fi]relationsdeBCNF Début 1. Au départ, D vaut{R} 2.Tant qu'il existe un schéma Ri dans D qui n'est pas BCNF, alors •Chercher une dépendance non triviale X->Y dans F+,et{X,Y} inclus dans Ri, telle que X ne soit pas une clef de Ri •Décomposer Ri selon Ri1[(X,Y);{X->Y}] et Ri2[(Attr(Ri)-Y);Fi-{X->Y}] 3.S’il existe Ri et Rj dans D avec Attr(Ri)sous-ensemble de Attr(Rj) alors supprimer Ri de D Fin Ragab Hassen Nadim 64
  65. 65. Le modèle E/ A C’est le modèle le plus répandu de la classe des modèles sémantiques C’est un outil de modélisation graphique des systèmes d’informations ayant été le centre d’intérêt des chercheurs entre les années 70-80 C’est l’une des approches les plus utilisées pour aboutir au modèle relationnel 01/09/20 12 Ragab Hassen Nadim 65
  66. 66. Entité  C’est un objet significatif de l’organisation pour lequel il est indispensable de disposer d’informations. Nous pouvons citer dans le cas d’une faculté les entités suivantes: Etudiant, Enseignant, Module, …etc  On représente une entité par un tableau, le nom de celui-ci est le nom de l’entité qu’il représente. Il est constitué d’une seule colonne, deux lignes: la première pour le nom et la deuxième pour les différents attributs de l’entité Ragab Hassen Nadim 66
  67. 67. Association  Correspond au lien qui relie deux entités ou plus: un étudiant est lié à un module par une association qu’on peut nommer Inscrit  Une association est représenté graphiquement comme un lien entre deux entités au dessus duquel on met l’intitulé du lien qui les relie  On dit que les associations définissent les interactions entre les entités d’un schéma E/ A Ragab Hassen Nadim 67
  68. 68. Propriétés  Les entités et les association sont caractérisées par des propriétés, il s’agit des informations pertinentes qui les décrivent  Exemple  Un étudiant est décrit par son numéro d’immatriculation, son nom, son prénom, sa date de naissance/ lieu, sa date d’inscription, spécialité, …etc  L’association entre l’étudiant et module se caractérise par exemple par: sa moyenne, sa mention, …etc Ragab Hassen Nadim 68
  69. 69. Cardinalités  Permettent de décrire des règles de gestion régissant les associations entre entités  Les cardinalités s’écrivent sous la forme  0-N, 1-N, 1-1, 1-*, …etc.  Attention au sens de la lecture des représentations des cardinalités dans le schéma E/ A  Exemple  Un étudiant est inscrit à combien de module?  Un module peut être suivi par combien d’étudiants?  Un enseignant peut assurer combien de modules? Ragab Hassen Nadim 69
  70. 70. Dimension Une association est dite binaire si elle relie deux entités Ternaire si elle relie 3 associations D’une façon générale; une relation est N-aire, tel que N est le nombre d’entités qu’elle relie Ragab Hassen Nadim 70
  71. 71. Exemple Ragab Hassen Nadim 71
  72. 72. Le modèle Relationnel  Le modèle relationnel est une manière de modéliser les relations existantes entre plusieurs informations, et de les ordonner entre elles  Ce modèle est directement retranscrit et implémenté en Base de données  Le passage du modèle E/ A vers le modèle relationnel se fait à l’aide de 4 règles de passage Ragab Hassen Nadim 72
  73. 73. Les règles de passage du E/ A vers le modèle relationnel I. Pour chaque entité du modèle créer une relation portant le même nom. Les propriétés deviennent des attributs et l’identifiant devient la clé primaire II. Pour chaque association entre A et B, de cardinalité un à plusieurs (une occurrence de A correspond plusieurs occurrences de B), intégrer la clé de la relation A dans la relation B III. Pour les cardinalités plusieurs à plusieurs, créer une relation dont la clé est constituée de la composition des clés de A et B. Les informations de l’association devient des attributs de cette relation IV. Pour chaque association n-aire, créer une relation dont la clé est constituée de la composition des n clés. Ragab Hassen Nadim 73
  74. 74. Exemple 01/09/20 12 Ragab Hassen Nadim 74
  75. 75. Résumé Dans les grandes lignes  Une forme normale Est un moyen de décomposer une relation afin d’éviter des anomalies lors des opérations CRUD  Le modèle entité/ association est un formalisme qui permet d’exprimer les entités entrants dans la composition d’un systèmes par leurs attributs et les interactions  Le passage vers le modèle relationnel requiert des règles strictes, il est un modèle intuitif et facilement transcriptible en modèle physique implémentable dans un environnement de gestion de bases de données PAGE 75
  76. 76. Il n'y a rien sur lequel un homme libre réfléchisse moins que la mort ; sa sagesse est justement de ne pasméditersurlamortmais sur la vie PAGE 76 Ethique, Spinoza
  77. 77. Plan du chapitre  Concepts et paradigme du big data  Les modèles de gestion de données NoSQL  Applications Big data PAGE 77
  78. 78. Mieuxvautuneréponseapproximativea unequestionprécisequ’uneréponse exacteaunequestionapproximative PAGE 78 John Tukey
  79. 79. Big data ?  Tout le monde parle du big data, sans pouvoir réellement en tirer profit. La résistance à adopter ces technologies, vient d’abord de la complexité qui fait face aux managers des entreprises quant à la compréhension du paradigme et des opportunités qui vont avec. Vient s’ajouter l’inaptitude des services techniques à formuler des problématiques hors du cadre de raisonnement classique.  On peut définir le big data comme étant: "A huge volume of data that cannot be stored and processed using the traditional approachs"  Le big data, intervient donc là ou les méthodes classiques sont inefficace, dans le traitement de flux de données, par exemple, du contenu des vidéos, des images et synthétise de l’information à partir de ces sources hétérogènes. Avez-vous déjà pensé à comment YouTube vous propose des vidéos que probablement vous aimeriez regarder ? Ragab Hassen Nadim 79
  80. 80. Les 3 V véritables  Volume  Avant les entreprises gérées les données des employées.  Maintenant elles doivent jongler avec les données générées par les ordinateurs des clients et consommateurs.  Les profils et les flux de données sur les médias & réseaux sociaux sont une mine d’or en terme d’informations.  Vélocité  Représente le débit auquel les données sont générées.  Les flux continus de données doivent être traités à la volée.  Une composante est Le temps durant lequel les données sont significatives.  Variété  La variété porte sur la classification des données.  La puissance du big data vient de sa capaciter à synthétiser de l’information en partant de diverses sources de données hétérogènes. PAGE 80
  81. 81. L’avènement des 6 V  Véracité Ce critère prend en charge le bruit et l’incertitude des données.  Variabilité Les données de même natures et de même sources varient dans le temps.  Valeur Tout aussi vrai pour la small data, ce vecteur est fondamental, il met en œuvre de mesures permettant d’évaluer la valeur des données. PAGE 81
  82. 82. Le genèse du big data  L’internet des Objets  Le cloud computing  Les réseaux sociaux  Le streaming et les flux  Les campagnes marketing et le profilage PAGE 82
  83. 83. ACID vs BASE ACID  Atomicité: Assurant l’exécution en mode tout ou rien d’une suite d’instructions atomiques  Cohérence: Assure que durant la phase opérationnel du cycle de vie d’une BDD, les opérations faisant évoluer celle-ci maintiendront le critère de cohérence structurelle et informationnelle  Isolation: Les accès concurrentiels des opérateurs sur les BDDs sont transparents et isolés les un des autres  Durabilité: Garantie la persistance du résultat d’une transaction (il ne peut être altéré que par une autre transaction) et la tolérance aux pannes BASE  Disponibilité basique: Le système doit garantie un certain niveau d’accessibilité ou de disponibilité sous des contraintes temporelles décrites dans l’environnement de production  Soft state: Le niveau de cohérence est décrit par les systèmes logiciels et non plus par les systèmes de gestions de bases de données  Eventual consistency: Tout cela résulte en le fait que la cohérence de la BDD n’est pas garantie à un instant t et donc il n y a pas de continuité dans le maintien de la cohérence PAGE 83  Suivant les contraintes de l’environnement d’utilisation, on a vu apparaitre des systèmes de gestion de bases de données qui ne sont pas orientés SQL, ils perdent certains avantages du fait de leurs natures distribuées ou de la quantité ou du type de données qu’il gèrent, ils offrent néanmoins beaucoup d’avantage, afin d’en faire la distinction nous nous référons aux concepts ACID pour les BDDs SQL et aux concepts BASE des BDDs NoSQL
  84. 84. Théorème CAP  Consistance: Chaque élément informationnelle, chaque ressource de la BDD ne peut avoir qu’un seul état de sortie visible par tous quel que soit le nombre de réplicas dans la BDD  Disponibilité: Quelque soit la nature du SGBD et quelque soient les contraintes temporelles, les informations doivent garantir un niveau de disponibilité continue  Partitionnement: Décrit les contraintes permettant de garantir une disponibilité et une cohérence acceptable quelque soit le niveau de partitionnement (distribution sur un certain nombre de serveur de duplication) PAGE 84
  85. 85. BDD NoSQL  Bases de données orientées graphes  Définition: Un modèle de stockage des données centré sur les objets et les relations qui les lient  Structure: Chaque nœud est un objet et chaque arête détermine un lien entre plusieurs objets  Exemple de SGBD: Neo4j  Bases de données orientées documents  Définition: Un modèle orienté manipulation de documents (fichiers)  Structure: Les informations sont stockées dans des fichiers de format d’autodescription comme JSON, XML, … et le système implémente les primitives permettant de manipuler ces données d’une façon fluide  Exemple de SGBD: MangoDB  Bases de données orientées colonnes  Définition: Un modèle de gestion qui s’appuie également sur une structuration en table mais inversant les modalités de stockage et restitution  Structure: Les données du même objet sont insérées dans une colonne en respectant certaines contraintes, au lieu d’une ligne, ce qui permet de regrouper rapidement certains niveau d’informations  Exemple de SGBD: CassandraDB PAGE 85
  86. 86. Résumé Dans les grandes lignes  Le big data est un paradigme technologique portant sur des modèles de gestion de données qui ne sont pas manipulables par les approches classiques, il oppose donc le concept NoSQL aux méthodes et techniques dites SQL  Les 6V forment une grille décisionnelle pour choisir le modèle de gestion des données, contrairement aux idées reçues, le volume n’est pas le seul éléments déterminant dans le shift ou la transformation des méthodes du data management vers le NoSQL au sein d’une entreprise  Les SGBD NoSQL offrent donc les primitives qui permettent en équilibrant les composants du CAP de manipuler les données d’une manière satisfaisante dans les environnements non organisés autour des structurations SQL PAGE 86
  87. 87. C'estl'existencesocialequi déterminelaconsciencedes hommes PAGE 87 Carl Marx

×