Vous êtes sur la page 1sur 20

« BASES DE DONNEES »

I. PROGRAMME : (création de bases de données)

Chapitre 1 : intro aux bases de données

1. Système d’information d’entreprise

Chapitre 2 : analyse du monde réel

Chapitre 3 : modélisation d’une base de données

Chapitre 4 : SQL simple query language


Chapitre 1 : intro aux bases de données

1. Système d’information d’entreprise


SIE = MATERIEL + LOGICIEL + DONNEES
Matériel (ordinateur au sens large, serveurs, table…) + réseau (câble, connexion…) + ERP (logiciel
de gestion intégré) + bases de données (SGBD tq Access, my SQL, oracle)
Les trois sont indissociables, complémentaires, indispensables.
Comment fonctionne ce système d’info ?
Il fonctionne selon un schéma à trois niveaux :

ENTREE : Il voit s’il y’a les produits en stocks puis sortie, SORTIE : c’est les produits à livrer à travers S.
OPERANT

Le So a besoin du système d’information :

En cas de remise le So a besoin du s de pilotage pour confirmer la remise. Et c’est le système


d’information qui confirme la remise

Dans toute entreprise il y’a un système opérant, un système d’information et système de pilotage
DECOUPAGE DU SYSTEME D’INFORMATION DE L’ENTREPRISE :

On suppose une entreprise avec pleins de domaines répartis en projets :

Production : P1 P2

RH : PAIE + RECRUTEMENT

FINANCE + COMTA

Chaque projet est découpé en applications expl

Commercial : commande et confirmation

Domaine -> projets -> applications -> présentation (IHM) + traitement c’est tout ce qui est calcul+
données

Le domaine est une activité, somme de processus, projet est un processus, application est partie du
processus

Exemple :

i. RH
ii. RECRUTEMENT, LA PAIE, LA FORMATION
iii. PAIE : préparation de la paie + traitement de la paie ou calcul + bulletin de la paie

Si je veux constituer la base de données RH c’est l’ensemble des données résultantes des applications
pour toute sous activité

La somme de préparation et traitement donne le logiciel RH

Un système d’info se compose de domaine tout domaine se compose de projets chaque projet en
applications

DOMAINE

PROJETS PROJETS

APP APP APP

UN SYSTEME D’INFORMATION CONTIENT LA BASE DE DONNEES

Une base de données est un ensemble structure de données elle permet d’organiser les données de
stocker les données de partager les données en toute confidentialité et avec performance

Tout ce qui est calculé ne doit pas exister dans une base de données, ils sont à calculer et non à stocker

Client article commande


num client code article n° commande
nom client la designation de date comm
adresse client l'article la quantité
code postal client la quantité
ville client code PUHT
reglement TAUX TVA
La code dicte qu’il s’agit d’une entité.

L’identifiant est de

2. S.G.B.D :

Une base de données est un ensemble structuré de données (organisation et description des données)
enregistrées sur des supports accessibles par l’ordinateur (stockage sur disque) pour satisfaire
simultanément plusieurs utilisateurs (partage des données) de manière sélective (confidentialité) en
temps opportun (performance)

ORGANISATION SEQUENTIELLE VS DESCRIPTIVE

Système de gestion des fichiers : est la partie la plus visible d’un système d’exploitation qui se charge de
gérer le stockage et la manipulation de fichiers (sur une unité de stockage : partition, disque, CD,
disquette. Un SGF a pour principal rôle de gérer les fichiers et d’offrir les primitives pour manipuler ces
fichiers.

 Organisation séquentielle
 Enregistrement par enregistrement
 Accès séquentiel
 Accès direct
 Recherche dichotomique

Quand les gens voulaient intégrer à la base de données ils accèdent par la voie du SGF

vUn SGBD est un logiciel et non pas une base de données

Un logiciel est un ensemble de programmes informatiques qui vont permettre de stocker sur disque,
assurer performance et confidentialité…

Un SGBD peut gérer une ou plusieurs bases de données

Les utilisateurs accèdent à l’opératif de système (iOS ou Windows) sous cet os ils utiliseront la base de
données Access qui va me permettre de créer ma base de données

Structure d’un SGBD :

NIVEAU EXTERNE : tout ce qui a un lien avec le monde réel, c’est la partie visible de la base : sur le
terrain, sur papier, utilisateurs, visible
NIVEAU CONCEPTUEL : monde intermédiaire qui fait l’organisation de la base de données : organisation
et fonctionnement. C’est là où il y’a l’entité.

NIVEAU INTERNE : c’est dans le monde de la machine : sur ordinateur, physique, SGBD

Organisation du SGBD :

a. Langage Description des données : on décrit les tables, les rubriques et types … oui je peux
modifier ou ajouter ou supprimer des tables…
b. Langage Manipulation des données : la partie contenue, on manipule le contenu des tables, on
modifie ajoute ou supprime le volet donnée data. Avec SQL qui est un langage de manipulation
on fait interrogation des tables expl donnez-moi le client numéro 1.
c. Langage Administration des données : gestion du contenant, en terme d’accès, taille, liens. Il
faut aussi veiller sur la disponibilité, la sauvegarde.

Fonctionnement du SGBD :

Un SGBD travaille sur la base d’une transaction, la transaction permet le passage d’un état à un autre

Exemple j’ai un tableau, dans une colonne je veux 0,1, je ferai un autre tableau, la seule information à
changer c’est le 0,1. On dit que le SGBD passe d’un état à un autre grâce à la transaction.

Principe de base : Transaction

Atomicité : Transaction Atomique, Tout ou Rien, Transaction exécutée Entièrement ou abandonnée

Cohérence : quand je supprime telle ville, il prend en main la ville et la supprime de tous les tableaux. Si
une entreprise ne veut plus vendre un produit, elle doit l’éliminer de son catalogue de produits.

Isolement : à chaque moment on donne qu’à une seule personne la main d’effectuer une opération. Si
en ce moment t’avais la main et tu commandes le produit c’est toi qui reçoit le produit.

Durabilité : lorsque je passe d’un état à un autre je peux plus revenir en arrière. Parce que lorsque je
passe d’un état à un autre c’est durable

Utilisation d’un SGBD :

Il est utilisé uniquement à travers le principe de création et utilisation de bd, vues d’accès aux bd,
utilisation du SGBD,

Le SGBD va prendre la requête, si elle est bonne il va faire la transaction sinon elle sera annulée
3. Types de bases de données :

BD décisionnelle DATAWREHOUSE doit intégrer tout ce qui se passe en interne sous forme
l’information pour prendre des décisions. A travers ETL (est l’extraction, traitement et chargement),
Analyse puis Consultation. Cette bd intègre et l’interne et l’externe.

Bases de données réparties : Exemple un siège réparti en plusieurs sites : usine, magasin et dépôt. Si
qlq chose se passe au niveau du magasin, doit remonter au siège. Et faut qu’il y’est une
communication entre les sites. L’administrateur surveille que tout se passe bien. Répartition de la base
de données en sites.

Bases de données d’échange : Exemple une entreprise qui communique avec la cnss. La base de
données RH va communiquer sous format XML la bd à la cnss. Ou bien un échange de données entre
entreprise et client.

Bases de données multimédia : La base de données contient des vidéos, des images …

Métiers bases de données :

« Métiers » des bases de données Comme on peut le constater lorsque l’on considère les différentes
étapes de la conception d’une base de données, des acteurs aux compétences très diverses
interviennent dans ce processus.

5.1 CONSULTANTS/ANALYSTES Ils prennent en charge la première étape qui consiste en l’analyse des
activités et des flux d’information mis en jeu dans le monde réel à modéliser. Le profil de ces acteurs
n’est pas toujours purement technique, puisque cette phase nécessite parfois beaucoup de dialogues et
de psychologie pour parvenir à faire exprimer leurs besoins réels par les futurs utilisateurs. La gageure
est de parvenir à faire exprimer correctement les besoins d’informatisation par les utilisateurs du
système d’information, afin de proposer un modèle conceptuel de données le plus juste possible.

5.2 CONCEPTEURS DE LA BASE se sont les personnes qui s’occupent de traduire le modèle précédent en
un modèle logique exploitable par le SGBD. Le concepteur est un spécialiste des bases de données qui
prépare les tables, les vues, les schémas d’accès. C’est lui qui renseigne les utilisateurs et programmeurs
pour la définition des requêtes. Il n’a pas, en principe, à être spécialisé sur un SGBD particulier, mais en
pratique les éléments qu’il manipule sont liés au SGBD qui sera employé. C’est ordinairement lui qui
crée les éléments nécessaires à la base de données (tables, vues…) en collaboration avec
l’administrateur de la base. C’est parfois la même personne qui est en charge de la partie analyse et de
la conception, ce qui peut induire une vision un peu trop orientée techniquement – comme celle d’un
programmeur qui écrirait le cahier des charges d’une application. Par contre, le concepteur peut aussi
être administrateur du SGBD, ce qui ne pose pas de problèmes particuliers d’approche.

5.3 ADMINISTRATEURS DE BASE DE DONNÉES (DBA, DATABASE ADMINISTRATOR) L’administrateur a la


responsabilité du fonctionnement général du SGBD. Il crée les ressources (bases, comptes) à la
demande. Il donne les droits d’accès et gère les personnes qui accèdent au système. Il vérifie que les
ressources sont suffisantes (taille du disque, puissance de la machine), effectue les sauvegardes, vérifie
les failles de sécurité. Pour ces opérations, il est en relation avec l’administrateur système et réseau de
la structure. Ce métier est extrêmement lié au SGBD employé. Il n’y a pas vraiment de normalisation
pour les opérations d’administration des SGBD qui sont spécifiques au SGBD et à la version utilisée.

5.4 UTILISATEURS STANDARD ET PROGRAMMEURS D’APPLICATIONS se sont eux qui utilisent le


système d’information. Ils y ont accès grâce aux vues définies par le concepteur de la base. Ils utilisent
les schémas déterminés aux deux premières étapes de la conception. Ils n’ont pas besoin théoriquement
d’être spécialisés sur le SGBD employé. En pratique il est préférable, surtout pour les développeurs
d’applications, d’avoir de bonnes connaissances du fonctionnement du SGBD. Par exemple, pour
optimiser les performances, la manière d’écrire les requêtes peut être assez différente suivant le SGBD
employé.

Etude de cas :

1) 17 montant des encours par client (numérique, réel, I/O, encours cli)
18 le plafond d’encours par client (numérique, réel, I/O, plafond cli)
19 code catégorie (chaine de caractères (3), In, code cat)
20 libellé catégorie (chaine de caractères (20), out, libelle cat)
21 quantité en stock d’un article (numérique, E, I/O, Qte stock)
22 état de la commande (chaine de caractère, I/O, O si valide, n si non valide)

CLIENT ARTICLE COMMANDE


Numcli Codeart Numcom
Nomcli Designart Datecom
Adressecli Puht Etatcom
Cpcli Tvaart
Villecli Codecat
Codereg Libellecat
Modereg qtestock
Encourscli
plafondcli

Numcli est l’identifiant du client.

Y’a un lien entre client, article et commande

Le client passe une commande

La commande se compose d’articles (c’est une association)

L’association peut contenir des identifiants

Pour chaque commande combien de clients ? 1 client au max et au min 1

Pour chaque commande combien d’articles ? 1 article au min et n au max

Pour chaque article combien de commandes ? 0 au min et n au max

Les 1, n, 0 sont des CARDINALITES.

Le schéma est le modèle conceptuel de données

NOTES DE L’OUVRAGE :
 Les données d’une base de données doivent avoir un lien entre eux, il faut y avoir une
cohérence et l’absence de la redondance.
 Un système d’informations est composé d’un ensemble de bases de données.
 Datawarehouse c’est des bases de données constituées à partir de différents services de
l’entreprise (prod, market, comm…), les données sont réparties et stockées dans des
entrepôts de données ou datawarehouse.
 Niveau interne d’un SGBD : on décrit la manière dont les données sont stockées, structure
de stockage.
 Niveau conceptuel afin de décrire les éléments constitutifs de la base de données.
 Les opérations de modification réalisées sur les bases de données sont des transactions.
CHAPITRE II : ANALYSE DU MONDE REEL

1) DEMARCHES D’ANALYSES :
Toute analyse suit 3 étapes :
1) Analyse : du monde réel, sur le terrain
2) Conception : conception sur papier
3) Réalisation : machine, SGBD
Après l’analyse du monde réel à savoir l’activité, les hommes… on passe à l’élaboration de la
situation actuelle (fiche, entretien, procédure). Puis j’essaye de dégager les bu càd les besoins
utilisateurs (je veux effectuer une commande mais je veux savoir si ça existe au stock). Puis les
objectifs du management (la manager ne veux plus de papier). C’est un objectif.
Une fois on a le sa, om, et bu on élabore la solution cible. Elle tient compte des objectifs et
besoins d’où une base de données.
Cahier de charge

Démarche Etape 1 Analyse  Analyse SI : Cahier des Charges Utilisateurs


 Description Situation Actuelle  Processus, Organisation, Fonctionnement

 Identification Besoins Utilisateurs  Traitements, Échanges, Interfaces

 Rappel Objectifs Management  Capacité, Évolution, Perspective

Dans l’étape de conception on aura le mcd (entités, assistance) puis mrd (relations) -> On
obtiendra le SGBD, mpd (tables) et mid (tables – valeurs).

2)
Modèle entité / association :
Les entités sont composées de champs de données que l’on nomme attributs. Un attribut, ou
un ensemble d’attributs, doit être choisi comme identifiant de l’entité, avec pour objectif
d’identifier une occurrence (ou représentant) de cette entité. La notion d’identifiant a les
mêmes propriétés que la clé dans une relation qui sera introduite au chapitre 3. On représente
une entité par un rectangle qui contient le nom de l’entité et ses attributs
On reconnaît une entité par un identifiant, code, numéro, référence
Une entité est définie par un carré, en haut on a le nom, à l’intérieur c’est l’identifiant (nom,
code postal, ville …). Un identifiant est unique et ne se répète pas
Une occurrence c’est lorsque je prends une entité et je mets des valeurs dedans càd dans les
propriétés.
Association c’est le lien entre les entités. On trouve l’association en posant une question, en
analysant l’activité, le client, la commande…

Association réflexive, association de la même entité


Ou binaire association entre deux entités.
Association ternaire entre 3 entités
Une commande est constituée de combien d’articles ?
Quel est le moyen de passation de la commande ?
Remarque : le degrés d’une association est le nombre d’entités qui sont reliés à l’association
dans ce cas 4 pour « passer ».
Il peut y avoir une seule entité : « Garantir » un client pour garantir un autre. Exemple si ce
client ne paye pas je lui garantis.
Un client peut garantir plusieurs personnes mais ne peut être garantis que par une personne.
On peut ajouter la propriété de montant, le client peut garantir jusqu’au mt de 10000dh
Les cardinalités permettent de traduire les contraintes ou règles de fonctionnement.

Cardinalités :
Ils représentent les propriétés des associations
IL YA UNE CONTRAINTE D’INTEGRITE FONCTIONNELLE QUAND ON A (1,1)
Min (0,1, *) et Max (1, *)
POUR CHAQUE … COMBIEN DE… ? (MIN, MAX)
Pour chaque moyen combien de commandes et de clients au minimum
Pour chaque client combien de moyens et de commandes au min
3) Comment faire un modèle conceptuel des données ?

 Etape 1 : La première chose c’est on essaye d’élaborer le dictionnaire des


données, soit on lit le texte et on extrait les informations ou on a un modèle externe bon de
commande bulletin qui décrit la structure de données d’où on extrait les données … on associe
à chaque information son type de données (num, alphanumérique, chaine de caractère (taille)
…). On détermine si c’est une information entrée ou sortie in ou out. On peut ajouter si
l’information est obligatoire ou facultative.

 Etape 2 : identification des identifiants. A l’aide des code, référence, mode … à


chaque identifiant correspond une entité. Une fois on identifie l’entité on place les informations
du dd dans l’entité

 Etape 3 : Identification des associations càd le lien entre les entités, souvent on
fait référence au texte, on le relit et on trouve que cette entité à une liaison avec une autre. On
fois on identifie les associations. Puis je reviens eu dd et je vois les infos que j’ai placé aux
entités si je peux les placer dans les associations si possibles.

 Etape 4 : pour chaque… combien ? (Min, max). Cardinalité 11 à écrire en rouge.


4) UML :
C’est une modélisation objet

MCD UML
ENTITE CLASSE
PROPRIETE PROPRIETE
OCCURRENCES OBJETS
ASSOCIATION LIEN
CARDINALIT2 CRITERE DE PULTIPLICITE
INVESRE
POUR CHACUN COMBIEN ? COMBIEN POUR CHACUN ?
IDENTIFIANT CLE PRIMAIRE

La dernière partie c’est les méthodes : c’est les informations qui sont interdites à mettre dedans
exemple les calculs, Age de naissance calculé à travers la date
Le schéma mcd est diagramme des classes en uml
PROPRIETE VS OCCURRENCE

client Client
Identifiant num cli 1
Nom Ali
Age 46…
CHAPITRE 3 : APPROCHE RELATIONNEL
I. MODELE RELATIONNEL :
Relation c’est passage de modèle conceptuel au modèle logique ou relationnel de donnée
(MLD/MRD)
 Chaque entité devient relation
 Chaque association devient relation si y’a pas 1 ;1
 Migration des identifiants / (1 ;1), les occurrences deviennent éléments de relation et
chaque propriété devient attribut
Passer ne devient pas relation parce qu’elle contient 1 ;1
Constituer devient relation, la clé c’est les deux identifiants
Une relation est un ensemble d’éléments.

Chaque propriété en sens entité devient attribut en terme de relation.


Client contient 9 attributs
Constituer contient 3attributs, la clé est constituée de deux attributs.

Dépendance fonctionnelle entre a et b veut dire si je connais a donc je connais b et


inversement
Les df que j’ai pour client : Num -> non cli …
Num commande + code art -> qté comm (DF : faut connaître les 2 attributs pour connaître qté)
Df est un lien avec
LECTURE DU MCD :
Pour chaque client nous disposant du num du client, du nom du client ??? pour chaque
commande nous disposons du num commande, date de commande… pour chaque article on
dispose du prix HT, tva… pour chaque catégorie nous disposons de lib cat et code cat
Un client passe une commande
La commande est constitué d’articles
L’article appartient à une catégorie
Pour chaque client il peut passer une commande ou plus
Chaque commande st constitué au min par un article ou plus
Chaque article peut être commande ou ne pas être commande
Chaque article appartient à une et une seule catégorie
Chaque catégorie appartient un ou plusieurs articles.

Un client passe une commande via un distributeur et chaque distributeur possède un numéro
et un nom.
II. OPERATIONS RELATIONNELLES :
Opérations classiques : union, intersection, produit, … de relations
Opérations relationnelles : projection, sélection, jointure…
Opérations de calcul : max, min, moyenne

1. PROJECTION :
Rd (id, P1, P2, P3…)
Quels sont les villes où se trouvent mes clients ?
La réponse est de dire je vais prendre client et projeter sur ville CLIENT / VILLECLI
Si je veux ville et code postal CLIENT / VILLECLI, CPCLI
La projection est elle-même une relation où j’ai une seule colonne, villecli
Je peux avoir plusieurs fois rabat, les doublons à ne pas éliminer
2. SELECTION :
Elle choisit la ligne
Exemple : quels sont les clients de rabat ? CLIENT / VILLECLI= ‘RABAT’
Je fais une sélection lorsque villecli = rabat, je vais prendre toute le ligne CLIENT.

Question : qui est le client qui a passé la commande numéro 1 ?


Je vais faire une sélection sur COMMANDE /NUMCOMM=1. Ça va me donner toutes les
informations concernant la ligne commande (num, date, numcli…) mais ne prendra que la date
où numcli = 1. Puis je vais projeter sur numclient.

Question :
La réponse est constituée avec sélection CONSTITUER / NUMCOM = 1) puis projection sur
CODEART

Question : donnez-moi numéro des clients qui habitent à casa ou rabat.


Je sélectionne CLIENT / (VILLECLI=RABAT) ou (VILLECLI = CASA) et je projette sur NUMCLI
UNION :
((CLIENT/VILLE=RABAT)) UNION (CLIENT/VILLE=CASA)) /NUMCLI

Question 3 : Les colonnes c’est les champs, nom client adresse…


Dans chaque partie il doit avoir une minimum d’analyste de conception une bonne maitrise
d’un SGBD.
Exercice 6 :
 Un commercial à l’aide d’un LMD
 Un programmeur LDD
 Programmeur LDD
 Programmeur LMD
 Commercial ou comptable LMD
Chaque opération d’achat correspond à un numéro, un prix d’achat et une date d’achat.
Comment modifier ce MCD ?
Exercice 1 :
Garage * film  degrés 7*2=9  cardinalité 15*3=45
Film * garage  degrés 9  cardinalité 45
R1*R2=R2*R1
EXERCICE 2
Proposition d’une clé : nombre * prix

: EXERCICE 3
.Contrainte d’intégrité, contrainte liée à chaque champ
Prix numérique réel
Format chaine de caractère paris 4 :3 19 :6
Nombre numérique entier supérieur à 0
°Film (numfilm, prix, format, type, nombre
Catalogue (num film, réalisateur, titre, année...)
Num film : numérique, entier, non null, exister dans catalogue  contrainte d’intégrité

: EXERCICE 4
ref Rouge = Ma cuisine – sa cuisine
robot jaune

cuisin Jaune = Ma cuisine (ma cuisine - sa cuisine)

: Exercice 5

Vous aimerez peut-être aussi