Mai II Et SGBD Ok-1
Mai II Et SGBD Ok-1
Mai II Et SGBD Ok-1
AVANT PROPOS
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
2
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
3
Chapitre I
ANALYSE ET METHODOLOGIE D’INFORMATISATION
I.1 NOTION SUR LES SYSTEMES D’INFORMATION
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
4
Partant de ces définitions, nous pouvons dire que l’entreprise peut être
considérée comme un système constitué d’éléments en interaction.
Ces éléments ne sont pas statiques, mais dynamiques et poursuivant un
but ou des objectifs commun.
On peut aussi définir le système comme un ensemble des moyens
matériels, financiers, humains en interaction structuré, organisé, dynamique
poursuivant un but en fonction des objectifs prédéfinis.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
5
Environnement Système de
pilotage
Information Information
mémorisée à mémoriser
Système
d’information
Information
Information
mémorisée
à mémoriser
- Système de pilotage :
Le système de pilotage est constitué des décideurs de l’organisation. Il
définit les missions et les objectifs, organise l’emploi des moyens, contrôle
l’exécution des travaux. Il assigne les objectifs à l’organisation, analyse
l’environnement et le fonctionnement interne à l’organisation, contrôle le
système opérant, et est relié aux autres systèmes par des flux
d’informations internes. Il prend, en effet, des décisions en ce qui
concerne le plan stratégique, c’est-à-dire la politique d’organisation, le
développement de l’organisation à court, moyen et long terme.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
6
- Le système d’information
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
7
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
8
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
9
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
11
avantage est qu’il offre une intégration des données dans une base de
données, et permet l’échange des données entre services utilisateurs,
ainsi que la comptabilité des matériels et les informations.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
12
Exemple.
DOMAINES DES
APPROVISIONNEMENTS
GESTION DES
(PROJET INFORMATIQUE)
COMMANDES
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
13
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
14
1 2 3 4
5 6 7 8 9
10 11
12
14 1 16 17
13
22 23
21
1 1
8 20
27
25 26
24
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
15
FIPRO
FICLI
EDITION
UT 01 FACTURES &STOCKAGE
DE DONNEES DANS UN
FICHIER ARCH
FICH UT 02
FAC ARCH
STATV
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
16
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
17
Ici, il faut :
Définir les objectifs du projet (principal et secondaire) et savoir s’il s’agit
d’un projet à court terme (< 1 an), à moyen terme (1 – 3 ans) ou à long
terme (> 3 ans).
Connaître la durée d’exécution de ce projet
Former ton équipe de travail de travail en plaçant à la place qu’il faut
l’homme qu’il faut (la méritocratie) ;
Faire la planification des tâches et savoir la durée de finissage de chaque
tâche. Tenir compte des affectations des personnes de ton équipe par
tâche.
I.2.2.5 Analyse du problème et élaboration du cahier de charges
- Le cahier des charges est un document (contrat), mentionnant les délais, les
coûts, les devoirs et les obligations de chacune des parties au contrat. Ce
document engage donc le concepteur et le promoteur de l’automatisation.
- Le cahier représente, un document qui contient les besoins de l’entreprise en
matière d’informatisation associé à la réalisation du projet. Les grandes lignes
d’un cahier des charges sont : Besoin en équipement, Besoin en matériels,
Besoin en ressources humaines et Estimation du projet.
NOTA : De manière générale, nous distinguons deux types de cahier des charges,
à savoir : le cahier de charge utilisateur, ce document est élaboré par le
responsable de l’entreprise et le cahier de charge technique, est élaboré par
l’ingénieur informaticien. Voici un modèle du cahier de charge technique :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
18
2 - Objectif du projet
3 - Périmètre du projet
5 - Enveloppe budgétaire
6 - Délais de réalisation
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
19
REALISATION RESULTAT
RESULTAT
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
20
Chapitre II
APPROCHE D’INFORMATISATION PAR BASE DE DONNEES
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
21
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
22
3FN (Troisième Forme Normale) : Une relation est dite en 3FN si, elle est
en 2FN et si chaque attribut qui ne compose pas la clé primaire dépend
directement de son identifiant et à travers une dépendance fonctionnelle.
Autrement dit, une table est 3FN lorsqu’elle est déjà en 2FN et que les
attributs non clés de la table ne dépendent pas transitivement de la clé
primaire. Garder dans la table initiale les attributs dépendant directement
de la clé primaire. Regrouper dans une autre table, les attributs dépendant
transitivement de la clé primaire. Cette forme normale est parfois appelée
« Forme normale de BOYCE-CODD ou BCFN).
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
23
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
24
Etude préalable
Analyse de l’existant
Diagnostic de l’analyse et scénario de mise en œuvre
1. Présentation de l’entreprise
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
25
(1) L’interview
C’est la technique la plus utilisée pour étudier le système existant. La technique
d’interview nécessite une préparation, ainsi l’analyste doit établir avant
l’interview, les différentes questions à poser aux interlocuteurs. Ces questions
sont souvent conçues à l’aide d’outils informatiques. Cependant l’expérience de
l’analyste compte beaucoup.
Recommandations :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
26
(2) L’observation
L’observation nécessite la présence de l’analyste dans les différents postes de
travail concernés par l’application. On recommande toujours au niveau de
chaque poste de travail, un délai d’au moins deux semaines pour observer (voir)
la façon de travailler de l’agent ainsi que les documents traités.
Cette méthode est applicable dans les entreprises où l’organigramme, fiche et
manuel des procédures n’existent pas. Elle permet de mieux comprendre la
nature exacte du travail réalisé et les conditions réelles du fonctionnement.
Remarques :
Les étapes évoquées ci-dessus sont appelées préliminaires ou travaux
organisationnels ;
Après avoir défini les objectifs, formé des groupes d’études, planifié les
travaux, choisi la(les) technique(s) de récolte de données, on peut alors
passer à l’analyse du système existant.
La formalisation de l’étude des flux, des stations qu’ils traversent, et des divers
documents rencontrés peut se faire selon plusieurs méthodes : diagramme des
flux, schéma de circulation des informations, tableau de flux d’information,
selon que l’on s’intéresse aux seuls flux et stations rencontrés lors de l’étude ou
que l’on entend également faire apparaitre les divers documents rencontrés et
les traitements qu’ils subissent au niveau des stations traversées.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
27
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
28
DIAGRAMME DE GANTT
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
29
20
96 96 116 116
0 0
MAINT FIN
AP
50
46
46 46
REAL
81 96
AC 3
35
AP REAL MAINT
0 0 46 46 96 96 116 116
50 20
1 46 2 4 5
AP : Analyse Préalable
AC : Analyse Conceptuelle
REAL : Réalisation
MAINT : Maintenance
Cette analyse a pour but des recueillir les données qui vont servir pour élaborer
le diagnostic en vue de la recherche et de choix des solutions ou de la solution
future permettant l’amélioration du système actuel.
En effet, l’analyse de l’existant est nécessaire car elle permet de répondre à la
question « Oui ou Non faut-il informatiser ? » car tout problème ne pas
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
30
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
31
Carte d’élève
Matricule:……………………………………………………………………………………………
Noms :…………………………………………………………………………………………………
Classe :……..………………………………………………………………………………………...
Lieu et Date de Naissance :…………………………………………………………….......
Sexe :…..........................
Age :……………………….......
Année scolaire :………………………………………/………………………………………….
Signature du Préfet :……………………………………
Signature du directeur des études……………….
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
32
C) Description du document
N° Nom rubrique Code Type Taille
rubrique Rubrique
1 Matricule Matéelev Text 10
2 élève Noms Text 30
3 Noms Classe Text 10
4 Classe LieuN Text 15
5 Lieu de Nais. DateN Date -
6 Date de Nais. Sexe Text 1
7 Sexe Age Text 10
8 Age Date Date -
9 Date Ann Num 10
10 Année Signature signature signature
scolaire
Signature
2. Reçu
a) Rôle
Le reçu sert à prouver que l’élève a payé ses frais. C’est le seul document officiel approuvé
par le collège qui renseigne sur le paiement effectué par l’élève (acompte ou solde).
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
33
b) Modèle
Recu de :…………………………………………………………………………………………………………………………………..
(En lettres)……………………………………………………………………………………………………….
Pour :………………………………………………………………………………………………………………………………………..
Description
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
34
Après avoir analysé la structure de l’entreprise, on peut alors procéder à l’étude de poste
de travail. Un poste de travail est défini comme une entité qui exerce une activité au sein
d’un service, département.
Le poste de travail concerne chaque service et chaque département. Ainsi, l’analyste,
pour réaliser ce travail, aura comme point de référence, la structure de l’entreprise. Lors
de l’étude de poste, les informations telles que :
Le nom du poste ;
La modification mnémonique du poste (abréviation du code) ;
Le travail réalisé au sein de chaque poste ;
Le responsable du poste de travail, ainsi que sa qualification ;
Les moyens matériels utilisés ;
Le nombre de document traités à chaque poste … doivent être recensées.
Pour faciliter la récolte de ces informations, on établit une fiche appelée : « fiche
descriptive d’analyse de poste » dont voici le modèle :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
35
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
36
b. Dictionnaire de données
Recensement des postes de travail Dictionnaire des données
Client BC= Bon de Commande
Réception BCV= Bon de commande
S. vente valide
S. Magasin BL= Bon de Livraison
S. Facturation FBL= Fichier Bon de
S. Comptable Livraison
Fac= Facture
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
37
Remarque :
Dans le cas où le système est déjà informatisé, on parlera alors de l’étude de documents
et fichiers. Dans ce cas, il faudra étudier les fichiers et bases de données :
- Le support, le contenu, les modalités de MAJ,
- La fréquence d’utilisation, le taux d’activité, le volume.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
38
Service
Commande LBC
Vente
1
Réception
BC
Fac BC 2
BCV 3
8
4
BL
BL
Service Magasin 5
Fac Facturatio 6
7
Fac
9
Service
Comptable
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
39
N°
Client Réception S. vente S. Magasin S. Facturation S. Comptable
100 200 300 400 500 600
Fac
BC LBC BC
BL
BC BC
401 302 Compte
401 LBC
FBL
402 302
201 BL BC
BCV
301
2 Réception & Classement du BL - Réception paiement - Réception BCV sauvegarde des informations
édition & envoie Fac
client - Etablissement et envoie des
- Etablissement & envoie BL
BCV
BL BCV
BL Fac
502 502
402
102
Fac BC 501 303
601 103
03
3 Réception & Paiement Facture Réception Facture
classement Livraison marchandises
Archivage
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
40
Fac
Fac
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
41
PROJET…….
ANALYSTE…….
DATE…………………
N° MATERIEL QUANTITE DATE DUREE ETAT
D’ACQUISITION D’AMMORT
01 Machine à écrire 2 27/09/2004 8 ans Mauvais
Commentaires
A partir des informations des moyens de traitement, l’analyse peut lors de la
recherche de solution proposée, le type de solutions appropriées pour les
matériels futurs à utiliser pour traiter les informations.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
42
Ainsi, par exemple l’ordinateur qui a été acheté le 11/11/2005 a déjà vieilli. D’où
la nécessité d’acquérir d’autres ordinateurs beaucoup plus performants. Il se
peut aussi que la capacité normale de l’ordinateur au niveau de RAM soit
insuffisante, etc…
Remarques :
Avant de proposer le matériel, il faut d’abord analyser les moyens matériels
existants.
En dehors de ces informations, il est aussi nécessaire dans le cas où l’entreprise
est déjà automatisée, de recueillir les informations ci-après :
Les systèmes d’exploitation utilisés ;
Le type de réseau (ex. réseau mondial, local, métropolitain) ;
Moyens de communication doivent être recensé en vue de la proposition
d’une meilleure solution.
b. Les moyens humains
Commentaire :
Les informations recueillies lors de l’analyse des moyens humains permettront
de mieux rechercher et proposer les meilleures solutions futures.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
43
Ainsi par exemple si les travaux à réaliser sont trop complexes au niveau de la
comptabilité, l’expert ayant une qualification D6 ne convient pas à ce poste
malgré son ancienneté en vue de l’évolution technologique de traitement des
données dans ce service.
c. Les moyens financiers
Remarques 1 :
L’analyse de schéma de circulation des informations (circuit) est l’une des
méthodes utilisées pour présenter ou analyser les flux d’information entre
services. C’est la partie la plus essentielle au niveau de l’analyse de l’existant.
Cette analyse se réalise dans le cas ci-après :
L’entreprise n’est pas informatisée.
Remarques 2 :
Les informations circulent dans les entreprises souvent sous forme de
documents, diagrammes de circulation des informations.
Dans la pratique, il existe différents diagrammes pour présenter la circulation
des informations ou la présentation du circuit des informations.
a. Diagramme opération service
Dans ce cas, on présente les différentes opérations ainsi que les services
concernés par les opérations.
b. Diagramme service sur service (poste/poste)
La critique doit être réaliste et pragmatique. Les points forts du système actuel
doivent être retenus.
Dans la pratique, les problèmes qui émergent sont souvent de deux ordres :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
45
Milieu Matériel
- Calculette
- Pointes de trafic - Rien pour imprimer
- Croissance de demande - Matériel archivage
Attente
Guichet
- Mauvaise liaison
- Compétence
- Trop de spécialisation
- Non intéressé au résultat
- Non polyvalent
Méthode
Main d’œuvre
DIAGRAMME CAUSES-EFFECTS
Donc, par contre, les solutions envisageables peuvent se situer à des niveaux
d’intervention distincte, par la nature de changement à apporter.
Niveau principes à
modèles
SOLUTION
Niveau
organisationnelle
SOLUTION
CONCEPTION
ANALYSE
Niveau technique
SOLUTION
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
47
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
48
Chapitre III
ETUDE APPROFONDIE SUR MERISE
D’où,
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
49
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
50
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
51
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
52
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
53
1. L’acteur
Un acteur est une personne morale ou physique capable d’émettre
ou de recevoir des informations. Par exemple, l’élève de terminale qui souhaite
s’inscrire au département d’Anglais et informatique des affaires est un acteur du
domaine « Gestion des inscriptions » de cette faculté. On distingue deux types
d’acteurs :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
54
Remarque : pour certains Ateliers de Génie Logiciel (AGL), la notion d’acteur est
implicite : ils n’apparaissent donc pas graphiquement dans les différents
modèles de traitements produits.
2. L’événement
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
55
qui vient d’être dit, cet intitulé est très insuffisant pour décrire l’événement car
il ne fait pas apparaître les données du compte rendu associé à l’événement. Par
exemple, le dépôt d’un dossier de pré-inscription apporte de nombreuses
informations telles que l’état civil de l’élève qui effectue le dépôt, des données
sur sa scolarité actuelle, le DEUG qu’il souhaite intégrer, etc.
a) Occurrences d'événements
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
56
3. L'opération
- Insertion
- La modification
- L'effacement
- Recherche
Sur le MCT, une opération est identifiée par un libellé et peut être
décrite, de manière détaillée, en annexe du MCT, en présentant la logique
algorithmique du déclenchement des actions élémentaires. Par exemple
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
57
4. La règle d’émission
Pour tout adhérent A enregistré dans la base d’informations créer une occurrence
de int1 (Renouvellement d’adhésion envoyé à A le JJ/MM/AAAA)
Fin pour
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
58
5. La synchronisation
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
60
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
61
Remarque : ce MCT fait apparaître un cycle caractérisé par une opération qui
admet comme événement contributif un événement dont elle déclenche elle-
même l’émission.
1. Poste de travail.
Le découpage organisationnel de l'entreprise définit les postes de
travail ou les unités d'organisation. "QUI", poste de travail est défini avant de
déterminer "QUI FAIT QUOI ?"
Une même personne peut avoir plusieurs casquettes. Tout dépend de ses
capacités et de sa charge de travail. Certaines personnes auront toujours la
même. D'autre part, plusieurs personnes peuvent porter la même "casquette"
comme une caissière dans un supermarché. A l'étape suivante, il sera nécessaire
d'affecter des personnes à chaque poste. Les écrans informatiques seront validés
par les personnes affectées à un poste, les utilisateurs finals.
2. Organigramme.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
65
3. Formalisme du MOT
Dépôt du dossier
de pré-inscription
Dossier Dossier
Complet incomplet
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
66
Elle est aussi une représentation d’un objet du monde réel (concret ou
abstrait), perçu par le concepteur comme ayant une existence propre, et à
propos duquel on peut enregistrer des informations, car n’ayant que des
caractéristiques comparables.
Exemple : Dans un centre de santé, on a l’entité Patient, fiche, ….
Patient Fiche
Exemple : Dans une entreprise qui achète et vend des produits, on a l’entité
clients, l’entité articles et l’entité fournisseurs
Clients Articles Fournisseurs
Une association est un lien ou une relation entre une ou plusieurs entités.
Dans notre exemple, l’association « acheter » fait le lien entre les entités articles et
clients, tandis que l’association livrer fait le lien entre les entités articles et
fournisseurs.
Achete Livrer
r
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
67
Entité
Agent
NuméroA
Nom
Sexe Propriétés
Grade
Adresse
Chaque individu d’une entité doit être identifiable de manière unique. C’est
pourquoi les entités doivent posséder un attribut sans doublon, l’identifiant.
Le numéro de client est l’identifiant de l’entité clients (on souligne cet attribut
sur le schéma).
Entité Agent
NuméroA
Identifiant
Nom
Propriétés
Sexe
Grade
Adresse
Remarques :
Un attribut ne doit pas figurer dans deux entités ou associations
différentes (donc il faut spécialiser l’attribut nom en nom du client, nom
du produit et nom du fournisseur) ;
Une entité possède au moins un attribut (son identifiant) ;
Une association peut ne pas posséder d’attribut.
Conseils :
Eviter les identifiants composés de plusieurs attributs (comme par
exemple un identifiant formé par les attributs nom du client et prénom) ;
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
68
Cardinalité minimal
Agent Congé
NuméroA NuméroCon
Nom 1,1 Demander 1,n Nom
Sexe Date Sexe
Grade Grade
Adresse Adresse
Cardinalité maximal
Une valeur minimum à 1 signifie que toutes les occurrences de l’objet sont
liées à l’association.
Une valeur maximum à n signifie qu’au moins une occurrence de l’objet est
liée plusieurs fois à l’association.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
69
(0,1) : une occurrence de l’objet n’est jamais liée plus d’une fois à
l’association.
(1,1) : une occurrence de l’objet est toujours liée une et une seule
fois à l’association.
(1,n) : une occurrence de l’objet est toujours liée au moins une fois à
l’association.
Agent Congé
NuméroA NuméroCon
Nom 1,1 Demander 1,n Nom
Sexe Date Sexe
Grade Grade
Adresse Cardinalité maximal Adresse
Relation porteuse
2. Cas particuliers
Association binaire réflexive
Exemple : Agent
NuméroA 1,n
Nom
Sexe Diriger
Grade 0,1
Adresse
Dans ce cas, un employé est dirigé par un employé (sauf le directeur général) et
un employé peut diriger plusieurs employés.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
70
Numéro
aéroport
Situation
……
Id_p Code-pr
Adresse PU
0,n 1,n
Consomm
er
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
71
Les MOT, les procédures, déterminent qui fait quoi ? De la même manière, les
modèles organisationnels de données déterminent qui - quel site de données -
stocke quoi - quelles informations, dans quel modèle organisationnel de
données.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
72
b. Exemple
Faculté
Etudiant
Promotion
Cours
Enseignant
Home
Soit une entreprise de livraison constituée d'un siège social, d'un entrepôt et
d'agences.
Le siège qui s'occupe de tous les clients et de toutes les factures aura le modèle
général comme vue externe :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
73
Une agence n'effectue que les livraisons et les factures et a un modèle sans
contrat.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
74
Ex :
T_PRODUIT T_CONTRAT
L L
C C
M
S
On accorde à l’utilisateur les droits suivants :
Création et lecture sur la table CONTRAT ;
Création, lecture, modification et suppression sur la table PRODUIT.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
75
𝑉𝑡𝑎𝑏𝑙𝑒 = (∑ 𝑡𝑗 )𝑁
𝑗=1
𝑝
𝑉𝑖𝑛𝑑𝑒𝑥 = (∑ 𝑡𝑖 )𝑁
𝑖=1
Avec :
VTOT.BD : volume total de la base de données
VTH : volume théorique de la base de données
Vindex : volume des indexes d’une table
Coeff-E : coefficient d’extrapolation compris entre 1 et 3
Vtable(i)= volume de la table i
n= nombre des tables dans la base de données
N=estimation du nombre d’enregistrement dans la table
tj=taille du champ j
m=nombre de champs dans la table
ti=taille de l’index i dans la table de jointure
p=nombre d’index dans la table de jointure
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
76
Sont alors apparus les SGBD hiérarchiques, dans lesquels les données
sont organisées en arbres (IMSDL1 d’IBM par exemple), puis les SGBD réseaux
dans lesquels les données sont organisées selon un graphe plus général. Ces deux
types de SGBD sont dit navalisations car on peut retrouver l’information à condition
d’en connaitre le chemin d’accès.
Plus récemment, sont apparus des SGBD orientés objets qui offrent à la
fois un langage de requête et une navigation hypertexte. Un modèle logique de
données orienté objet permet par exemple de concevoir des classes Java s’appuyant
sur une base de données relationnelle et permettant le développement d’une
application web.
2. Schéma relationnel
Concentrons-nous sur le MLDR. Lorsque des données ont la même
structure (comme par exemple, les bordereaux de livraison), on peut les organiser
en table dans laquelle les colonnes décrivent les champs en commun et les lignes
contiennent les valeurs de ces champs pour chaque enregistrement.
Les lignes d’une table doivent être uniques, cela signifie qu’une
colonne (au moins) doit servir de clé primaire. La clé primaire d’une ligne ne doit
pas changer au cours du temps, alors que les autres colonnes le peuvent.
exemple, le numéro du client sur une commande doit correspondre à un vrai numéro
de client). La Colonne2 doit être sans doublons (bien souvent il s’agit d’une clé
primaire) et on dit que la Colonne1 est clé étrangère.
3. Traduction
Pour traduire un MCD en troisième forme normale en un MLDR, il
suffit d’appliquer cinq règles (à retenir par cœur). Mais avant, on dit qu’une
association entre deux entités (éventuellement réflexive) est de type :
1 : 1 si les deux cardinalités sont 0,1 ou 1,1;
1 : n si une des deux cardinalité est 0,n ou 1,n;
n : m (plusieurs à plusieurs) si les deux cardinalités sont 0,n ou 1,n.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
78
Règle 1 : toute entité devient une table dans laquelle les attributs deviennent des
colonnes. L’identifiant de l’entité constitue alors la clé primaire de la table.
Règle 3 : dans le cas de deux entités reliées par une association de type 1 : n,
l’identifiant de l’entité côté 0, n ou 1, n devient une clé étrangère vers la clé primaire
de la table côté 0,1 ou 1,1. Les attributs de l’association glissent vers la table côté
0,1 ou 1,1.
Articles (numéro article, nom article, prix unitaire de vente, ...) livraisons
(numéro livraison, date, #numéro article, quantité livrée)
Règle 4 : une association entre deux entités de type n : n est traduite par une
table supplémentaire (parfois appelée table de jointure) dont la clé primaire est
composée de deux clés étrangères vers les clés primaires des deux tables en
association. Les attributs de l’association deviennent des colonnes de cette table.
: : : :
attribut n type n Taille n Contrainte n
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
81
A savoir :
̎Type ̎ appartient à l’un des types suivants : entier, caractère, chaine des
caractères, booléen, monétaire, date, binaire, etc.
̎Contrainte ̎ appartient à l’une des contraintes suivantes : PK (clé primaire),
FK (clé étrangère), UNIQUE, etc.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
82
Chapitre IV
NOTION SUR LES SYSTEMES DE GESTION DES BASE DE DONNEES
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
83
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
84
Description
Utilisation
Intégrité
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
86
Confidentialité
Lorsque la base de données est utilisée entre plusieurs utilisateurs, certains sous-
ensembles ne doivent être accessibles que par des personnes autorisées. D’où
le SGBD doit offrir des mécanismes permettant de vérifier les droits d’accès des
utilisateurs.
Sécurité de fonctionnement
IV.5 ETUDE PRATIQUE DES QUELQUES SGBD (ACCESS, MYSQL, SQL SERVER)
Pour implémenter ou créer une base de données dans un ordinateur, on utilise
un logiciel appelé « SGBD ». Vu la multitude de SGBD qui existe, dans le cadre de
ce cours, nous utiliserons trois SGBD, à savoir : ACCESS, SQL SERVER et MYSQL.
Nota : Pour plus de détails, voir les séances des travaux pratiques.
IV.5.1 LE SGBD ACCESS
Le logiciel Access est composé des éléments suivants : Tables, Requêtes,
Formulaires, Macros, Etat et Modules.
Table : c’est le lieu de stockage des informations. C’est là où on stock et
enregistre les données ;
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
87
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
88
- MySQL est l’œuvre d’une société suédoise, MySQL AB, fondée par David
AXMARK, Allan LARSSON et Michael « MONTY » WIDENIUS.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
89
NOTA : Wikipédia a utilisé MySQL jusqu’en fin 2012 et actuellement MariaDB est
utilisé. Toutefois nombreuses entreprises utilisent encore MySQL dont : Google,
Yahoo!, YouTube, Adobe, Airbus, BBC News, etc.
Par contre, pour les utilisateurs, « phpMyAdmin » est un outil web souvent
disponible pour créer, remplir et utiliser des bases MySQL.
- MySQL fait partie du quatuor LAMP : Linux, Apache, MySQL, PHP. Il appartient
généralement à ses variantes WAMP (Windows) et MAMP (Mac OS).
- Le couple PHP/MySQL est très utilisé par les sites web et proposé par la majorité
des hébergeurs web. Plus de la moitié des sites web fonctionnent sous Apache,
qui est le plus souvent utilisé conjointement avec PHP et MySQL.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
90
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
91
IV.5.2.4 WAMPSERVER
IV.5.2.4.1 Description
Wamp est une plate-forme de développement Web sous Windows pour des
applications Web dynamiques à l’aide du serveur Apache2, du langage de scripts
PHP et d’une base de données MySQL. Il possède également PHPMyAdmin pour
gérer plus facilement vos bases de données.
IV.5.2.4.2 Procédure d’installation
IV.5.2.4.2.1 Téléchargement
Il est possible de télécharger Wamp en passant par le site WAMPServer.com
dans le menu de
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
92
La page devrait alors défiler vous amenant à une section téléchargement où vous
aurez le choix entre
2 versions de WampServer, WAMP SERVER 64 Bits et WAMP SERVER 32 bits
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
93
Vous arrivez alors sur un autre site, vous présentant plusieurs choix, afin de
lancer le téléchargement cliquer sur le bouton vert Download Latest Version.
IV.5.2.4.2.2 Installation
L’application lancée, une fenêtre s’affiche vous demandant de choisir la langue
de votre installation.
Valider en appuyant sur Ok, s’en suis la demande d’accord de licence, après
l’avoir lu, cocher alors « Je comprends et j’accepte les termes du contrat de
licence » avant d’appuyer sur suivant.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
94
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
97
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
98
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
99
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
101
• La version Apache.
• La version PHP.
• La liste des extensions chargées.
• La version de MySQL, ainsi que le port défini.
• La version de MariaDB (une autre base de données), ainsi que le port
défini.
Plus bas quelques liens important sont fournis :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
102
Ici vous pourrez créer un nouveau répertoire contenant votre nouveau projet,
pour plus de détail sur la création d’application web, je vous invite à vous rendre
sur openclassrooms.com.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
103
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
104
Lorsque sur la page d'accueil (n'oubliez pas, pour accéder à la page d'accueil,
cliquez sur l'icône de « maison » en haut dans la section à gauche), si vous avez
les droits nécessaires, vous pouvez créer une nouvelle base de données.
Remarquer que vous pouvez aussi choisir une option appelée « interclassement
». Les interclassements ou « jeux de caractères » (appelés « collation » en
anglais) sont des conventions pour la reconnaissance et l'affichage des
caractères. En effet, il existe de nombreuses variantes selon les langues utilisées.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
105
Si vous prévoyez utiliser des accents dans un champ particulier, il est conseillé
d'utiliser l'interclassement « utf8_general_ci ». Sinon, vous pouvez conserver
l'interclassement fourni par défaut.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
106
On peut rajouter des champs dans une table à sa création, ou par la suite, après
la création de la table. On peut même rajouter des champs dans une table
lorsqu'elle contient des tuples (appelés « rangées » ou « rows » avec MySQL).
Lors de la création de champ, il faut préciser leur contenu.
DATE lorsqu'un tuple est misàjour), indiquer si le champ peut être « Null », si la
valeur doit être autoincrémentée (« AUTOINCREMENT » ou « A_I »: ceci est utile
pour produire un numéro d'identification (ID) unique à chaque nouvelle
insertion). Les options MIME, Browser information et Transformation options
sont pour les utilisateurs avancés. Lorsque les champs sont remplis, on poursuit
la création avec le bouton « Go » en bas de la page.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
108
• Liste : Afficher les valeurs (tuples, rangées) distinctes disponibles pour cet
élément
• Crayon : modifier cet élément
• X : supprimer cet élément
• Clé : identifier cet élément comme clé primaire
• U : identifier cet élément comme clé unique
• Éclair : identifier cet élément comme index (utilisé pour identifier une clé
étrangère)
Pour insérer de nouveaux tuples (manuellement) dans une table, il faut utiliser
l'onglet « insert ». Cette page produit un formulaire pour insérer des valeurs dans
chaque champ d'un nouveau tuple (d'une nouvelle rangée « row »), pour la table
présentement sélectionnée.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
109
La création des tuples est réalisée lorsque l'on appuie sur le bouton « Go » («
Exécuter »). Notez que les champs pouvant être « null » peuvent être laissés vide.
Les champs d'identification qui ont été sélectionnés « AUTO_INCREMENT »
peuvent aussi être laissés vide : le système se charge alors de leur donner un
numéro unique.
Les icônes « crayon » et « X » peuvent être utilisés sur les tuples pour les modifier
ou les supprimer. On peut sélectionner plus d'un tuple avec la première colonne
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
110
Pour changer de table, cliquez sur la table voulue dans le menu de gauche (dans
l'illustration 6, il n'y a qu'une seule table disponible). Pour retourner à la page
d'accueil de phpMyAdmin, utiliser l'icône « maison » (à gauche également).
La création de nouveau champ se produit avec la ligne entre deux « barres » juste
à la fin de la page de l'onglet « Structure ». Il faut y entrer le nombre de nouveaux
champs, où ils seront situés (au début de la table, à la fin, ou après un autre
champ) et cliquer sur « Go ». L'illustration 7 en fourni une démonstration :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
111
Le nouveau champ doit être rempli de la même façon que lorsqu'on a inséré des
champs dans une nouvelle table. L'illustration 8 montre l'insertion d'un champ «
Sexe » constitué d'un seul caractère dont la valeur par défaut est « M ».
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
112
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
113
(10) Exporter
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
114
(11) Importer
L'importation d'un fichier « sql » permet d'exécuter toute les commandes s'y
trouvant. Ce sera le moyen d'« ouvrir » la base de données que vous avez
précédemment exportée. Il s'agit simplement de choisir le fichier avec le bouton
« Browse » (« Parcourir »), puis d'appuyer sur « Go » (« Exécuter »).
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
115
(12) Opérations
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
116
L'usager peut utiliser le langage SQL pour exécuter des commandes, sans utiliser
l'interface graphique. Pour ce faire, il peut utiliser l'icône « SQL dans une bulle »
dans la barre de gauche ou l'onglet « SQL » dans la page centrale.
Pour précéder à une requête, il suffit d'entrer le code dans la boîte de l'onglet «
SQL ». Cliquez ensuite sur « Go » (« Exécuter ») pour l'exécuter.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
117
Illustration 13 : Requête SQL: trouver les étudiants dont le nom commences par
"Y"
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
118
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
119
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
120
Note importante : seul le moteur de stockage InnoDB permet de bien gérer les
contraintes de clé étrangère avec MySQL. Assurez-vous de choisir ce moteur de
stockage lors de la création de vos tables (voir « Storage Engine » (« Moteur de
stockage ») dans le bas de la page de création d'une table à l'illustration 3). Vous
pouvez aussi changer de moteur de stockage en utilisant l'onglet « Operations »,
lorsque la table désirée est sélectionnée.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
122
• CASCADE : La même action est réalisée sur le tuple courant (si le tuple de
la clé étrangère est effacé, le tuple pointant vers cette clé est aussi effacé.
De même pour la modification)
• SET NULL : Met la valeur du champ à « Null »
• NO ACTION : Ne réalise aucune action. Attention : ceci peut créer des
problèmes si ce n'est pas bien géré par la suite
• RESTRICT : Empêcher l'action (modification ou suppression) sur la clé
étrangère.
(3) Résultat
Dans l'illustration 20, la case avec le crochet vert indique la réussite du rajout
d'une contrainte de clé étrangère. Le code SQL produit est indiqué à la suite.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
123
Tous ces termes sont des mots de vocabulaire d’une base de données, et sont
incontournables pour la suite de ce cours :
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
124
Tables Une table est l’endroit où les données sont stockées. Une
base de données doit contenir au minimum une table. Les
informations dans les tables sont stockées dans les lignes et
colonnes.
Colonnes Les colonnes sont constituées d’une cellule de chaque ligne.
Elles donnent une définition à chaque ensemble de
définition et ne peut contenir qu’un seul type de données.
Chaque table, doit contenir au minimum une colonne.
Enregistrements Les enregistrements sont constituées d’une cellule de
chaque colonne. Les lignes sont aussi appelées des records.
Une table peut contenir autant de ligne que l’on veut, on est
simplement restreint par notre espace disque.
Procédure stockée On peut parfois vouloir qu’un programme manipule
des données, de façon récurrente. Une procédure stockée
contient une ou plusieurs déclarations T-SQL qui sont
compilées et prêtes à être utilisées.
Déclaration T- Une déclaration T-SQL est un programme prêt à être utilisé,
SQL que SQL Server peu exécuter pour modifier des données.
Assemblages Les assemblages correspondent aux procédures stockées, ils
peuvent modifier des données, cependant, ils sont plus
utilisés pour une logique procédurale comme on pourra le
voir dans un programme .NET.
Index Comme dans un livre, un index permet d’accéder aux
données plus rapidement. Les index correspondent à des
listes prédéfinies qui peuvent informer sur la position
physique ou non d’une donnée. Ils peuvent être utilisés par
SQL Server pour trouver une ligne de données. Un index ne
peu pas couvrir plus d’une table.
Vues On peut identifier les Vues en tant que des tables virtuelles.
Elles peuvent contenir des informations combinées de
plusieurs tables et peuvent présenter une interface plus
intuitive pour les données
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
125
Elle contient des informations très importantes comme les Login, le rôle
de chaque utilisateur, tous les paramètres de configuration du système,
les noms et les informations relatives aux bases de données créées, la
position des bases de données, ou encore des tables systèmes qui
contiennent elles même des fonctions du système.
Model : à chaque fois que l’on créé une base de données, elle aura besoin
d’être définit selon des critères précis. Chaque critère devra être précisé
dans Model, par exemple, si l’on veut qu’une table soit répété dans toutes
les bases de données que l’on créé, on aura à mettre cette table dans
Model. La base de données Model est utilisée de la même manière que
Tempdb. De ce fait, il faudra être prudent puisque quand on modifiera
Model, ça se reflètera dans Tempdb.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
126
Msdb : elle procure des informations qui permettent au SQL Server Agent
de fonctionner. Comme pour Tempdb et Model, il ne vous sera pas
nécessaire de modifier directement Msdb. Beaucoup de processus liés à
SQL Server utilisent le contenu de Msdb, par exemple, lorsque vous faites
un backup, SQL Server Agent se sert de Msdb, il est donc compréhensible
que la modifier directement peut causer un mauvais fonctionnement de
SQL Server.
Ces tables pré construites dans SQL Server, vous l'avez compris, servent pour la
plupart, à contrôler SQL Server et ses paramètres. Avant de pouvoir créer notre
première base de données, il est nécessaire d'avoir quelques acquis
supplémentaires concernant les différents types de systèmes. Il en existe deux.
Les systèmes OLTP et les systèmes OLAP qui possèdent des propriétés
différentes et qui sont les suivantes.
Créer une base de données avec SQL Server Les bases de données sont les
ensembles ou nous allons stocker des objets tels que les tables, les vues, les
index... Il existe deux façons de créer des bases de données sous SQL Server
2008.
En utilisant l’interphase proposée par SQL Server (SSMS), ou bien en utilisant le
code T-SQL. Chacune de ces deux méthodes possède ses avantages et ses
inconvenants, il vous appartient d’adopter celle que vous trouvez la plus
productive ou bien la plus pratique. Dans tous les exemples que nous
développerons dans la suite des cours, nous le ferons selon les deux méthodes.
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
127
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
128
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
130
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
131
REFERENCES BIBLIOGRAPHIQUES
[1] AUDIBERT Laurent, Base de Données et langage SQL, note de cours IUT,
département d’informatique, 1ère année, France ;
[2] CARREZ C., Des Structures aux Bases de Données, Masson
[3] GARDARIN G., Maîtriser les Bases de Données : modèles et langages, Eyrolles
[4] KUYUNSA Alain, Méthodes d’analyse informatique, note de cours deuxième
graduat AIA, UNIKIN 2018- 2019 ;
[5] MARCENAC, P., SGBD relationnels, Optimisation des performances, Eyrolles.
[6] MABELA Rostin, Base de données, note de cours troisième graduat AIA,
UNIKIN 2016- 2017 ;
[7] MBUYI MUKENDI Eugène, Base de données, note de cours troisième graduat
informatique, UNIKIN 2016- 2017 ;
Cours de MAI II, SINDANI Evariste, Consultant IT Manager, Chercheur en Data Science, [email protected]
132