SlideShare uma empresa Scribd logo
1 de 87
Systèmes
d’Informations&
BasesdeDonnées
-SIBD101-
ELSAKAAN Nadim
PAGE 1
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
s2jp5qh
PAGE 3
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
Onnepeutétudiercequel’on
ajamaisrêvé
PAGE 5
Gaston Bachelard
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
Références Bibliographiques
PAGE 7
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
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
Plan du chapitre
 Les structures statiques
 Les structures dynamiques
 Les fichiers
Rappels sur les structures de données
PAGE 10
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
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
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
Exemple
typedef struct element element ;
typedef element* liste ;
struct element
{
Type_champ nom_champ ;
…
liste suivant ;
} ;
PAGE 14
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
Exemple
PAGE 16
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
Exemple
PAGE 18
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
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
‘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
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
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
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
Les taureaux
de Picasso
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
Exemple
PAGE 27
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
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
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
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
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
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
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
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
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
Exemple
01/09/20
12
Ragab Hassen Nadim 37
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
Exemple
PAGE 39
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
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
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.
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
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
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
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
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
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
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
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
Exemple
01/09/20
12
Ragab Hassen Nadim 51
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Exemple
Ragab Hassen Nadim 71
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
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
Exemple
01/09/20
12
Ragab Hassen Nadim 74
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
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
Plan du chapitre
 Concepts et paradigme du big
data
 Les modèles de gestion de
données NoSQL
 Applications
Big data
PAGE 77
Mieuxvautuneréponseapproximativea
unequestionprécisequ’uneréponse
exacteaunequestionapproximative
PAGE 78
John Tukey
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
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
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
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
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
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
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
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
C'estl'existencesocialequi
déterminelaconsciencedes
hommes
PAGE 87
Carl Marx

Mais conteúdo relacionado

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

DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfHéla Ben Khalfallah
 
cours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfcours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfdjamelbentorkia
 
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Gautier Poupeau
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieGautier Poupeau
 
7. information modelling
7. information modelling7. information modelling
7. information modellingsugogo
 
Etude de visualisation des données selon le modèle LRM - Journée professionne...
Etude de visualisation des données selon le modèle LRM - Journée professionne...Etude de visualisation des données selon le modèle LRM - Journée professionne...
Etude de visualisation des données selon le modèle LRM - Journée professionne...ABES
 
Ppt Benachour Marrot
Ppt Benachour MarrotPpt Benachour Marrot
Ppt Benachour Marrotguest1d923f
 
P P T B E N A C H O U R M A R R O T
P P T  B E N A C H O U R  M A R R O TP P T  B E N A C H O U R  M A R R O T
P P T B E N A C H O U R M A R R O Tguest1d923f
 
Open data et gouvernance des organisations par www.opendatasoft.com
Open data et gouvernance des organisations par www.opendatasoft.comOpen data et gouvernance des organisations par www.opendatasoft.com
Open data et gouvernance des organisations par www.opendatasoft.comOpenDataSoft
 
Nettoyer et préparer des données avec OpenRefine
Nettoyer et préparer des données avec OpenRefineNettoyer et préparer des données avec OpenRefine
Nettoyer et préparer des données avec OpenRefineMathieu Saby
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueGautier Poupeau
 
Databases for Bioinformatics
Databases for BioinformaticsDatabases for Bioinformatics
Databases for BioinformaticsKarim Mezhoud
 
Business Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouseBusiness Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouseAlexandre Equoy
 
presentationcoursbd.pdf
presentationcoursbd.pdfpresentationcoursbd.pdf
presentationcoursbd.pdfAabidiHafid
 

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

cm-bd.pdf
cm-bd.pdfcm-bd.pdf
cm-bd.pdf
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
 
cours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfcours-intro-base-donnees.pdf
cours-intro-base-donnees.pdf
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
 
cours1-INTRODUCTION.ppt
cours1-INTRODUCTION.pptcours1-INTRODUCTION.ppt
cours1-INTRODUCTION.ppt
 
7. information modelling
7. information modelling7. information modelling
7. information modelling
 
Etude de visualisation des données selon le modèle LRM - Journée professionne...
Etude de visualisation des données selon le modèle LRM - Journée professionne...Etude de visualisation des données selon le modèle LRM - Journée professionne...
Etude de visualisation des données selon le modèle LRM - Journée professionne...
 
Ppt Benachour Marrot
Ppt Benachour MarrotPpt Benachour Marrot
Ppt Benachour Marrot
 
P P T B E N A C H O U R M A R R O T
P P T  B E N A C H O U R  M A R R O TP P T  B E N A C H O U R  M A R R O T
P P T B E N A C H O U R M A R R O T
 
Open data et gouvernance des organisations par www.opendatasoft.com
Open data et gouvernance des organisations par www.opendatasoft.comOpen data et gouvernance des organisations par www.opendatasoft.com
Open data et gouvernance des organisations par www.opendatasoft.com
 
Nettoyer et préparer des données avec OpenRefine
Nettoyer et préparer des données avec OpenRefineNettoyer et préparer des données avec OpenRefine
Nettoyer et préparer des données avec OpenRefine
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
 
Databases for Bioinformatics
Databases for BioinformaticsDatabases for Bioinformatics
Databases for Bioinformatics
 
Les dessous de la toile industrielle de l'Estuaire de la Seine
Les dessous de la toile industrielle de l'Estuaire de la SeineLes dessous de la toile industrielle de l'Estuaire de la Seine
Les dessous de la toile industrielle de l'Estuaire de la Seine
 
Business Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouseBusiness Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouse
 
Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
 
presentationcoursbd.pdf
presentationcoursbd.pdfpresentationcoursbd.pdf
presentationcoursbd.pdf
 
sgbd
sgbdsgbd
sgbd
 

SIBD101-Introduction aux bases de données.pdf

  • 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
  • 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
  • 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. 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