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.
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
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
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. 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. Plan du chapitre
Les structures statiques
Les structures dynamiques
Les fichiers
Rappels sur les structures de données
PAGE 10
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
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. Exemple
typedef struct element element ;
typedef element* liste ;
struct element
{
Type_champ nom_champ ;
…
liste suivant ;
} ;
PAGE 14
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
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
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. 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. ‘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. 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. 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. 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
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
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. 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. 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. 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. 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. 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. 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. 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. 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
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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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
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. 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. Plan du chapitre
Concepts et paradigme du big
data
Les modèles de gestion de
données NoSQL
Applications
Big data
PAGE 77
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. 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. 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. 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. 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. 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. 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. 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