Vous êtes sur la page 1sur 48

Chapitre I

Rappels des notions de base

F. BARIKA KTATA 1
1. définitions
• A) une base de données est un ensemble de données non
indépendantes modélisant les objets d’une partie du monde réel
et servant de support à une application informatique.

• Une base de données est une collection de données


opérationnelles, enregistrées (sur un support adressable) et
utilisées par des programmes. La collection de données est
structurée indépendamment d’une application particulière, elle
est cohérente et accessible simultanément par plusieurs
utilisateurs.
F. BARIKA KTATA 2
1. définitions
• B) un SGBD est un ensemble de logiciels permettant aux
utilisateurs d’insérer, de modifier et de rechercher efficacement
des données spécifiques dans une grande masse d’informations
partagées par de multiples utilisateurs.

• Un SGBD est outil informatique permettant la sauvegarde,


l’interrogation, la recherche et la mise en forme de données
stockées sur une mémoire secondaire.

• Le cycle de vie d’une BD = conception, implantation (décrire la BD


dans le langage SGBD) et utilisation.
F. BARIKA KTATA 3
1. définitions
• Les objectifs d’un SGBD sont :
– Définition des données
– Manipulation des données
– Sécurité et intégrité des données
– Gestion des transactions et des accès concurrents

F. BARIKA KTATA 4
1. définitions
• Un SGBD doit offrir à l’utilisateur des moyens pour décrire des
objets (personnes, voitures…), leurs attributs (le nom des
personnes, le type des voitures…), leurs liens (une personne
possède une voiture) ainsi que des contraintes éventuelles
pouvant concerner ces objet, leurs attributs ou leurs liens.

• Ces moyens constituent ce qu’on appelle le Langage de

Description de Données (LDD).

F. BARIKA KTATA 5
1. définitions
• La manipulation de données concerne les outils et les
mécanismes qui permettent de faire communiquer une BD et des
clients (utilisateurs ou programmes).

• Les SGBD offre un Langage de Manipulation de Données (LMD)


qui permet de rechercher, créer, modifier ou supprimer d’une
manière interactive les données.

F. BARIKA KTATA 6
1. définitions
• Sécurité : Cette fonctionnalité consiste à garantir que seuls les
utilisateurs autorisés peuvent effectuer des opérations correctes
sur la base de telle sorte qu’elles sont maintenu dans un état
cohérent :
– Un contrôle sur les utilisateurs ainsi que sur les types d’opérations qu’ils
sont autorisés à effectuer (gestion des autorisations).

– Protection des données contre les accès malveillants et les pannes.

• Cette partie est de la compétence (ressort) de l’administrateur de


la base.

F. BARIKA KTATA 7
1. définitions
• L’intégrité des données est relative à la qualité de
l’information enregistrées. Pour être fiable, celle-ci doit parfois
vérifier certaines propriétés, comme l’appartenance à une liste
de valeurs permises pour un attribut. Ces propriétés sont
appelées Contraintes d’intégrité. Certaines sont spécifiées lors
de la définition de la BD, le SGBD se chargeant de les préserver
pendant toute la vie de la BD, alors que d’autres plus complexes
peuvent nécessiter un effort de programmation.
• Cette partie est de la compétence (ressort) de l’administrateur
de la base.

F. BARIKA KTATA 8
1. définitions
• Les accès concurrents : les données d’une BD pouvant être
accédées simultanément par plusieurs utilisateurs, le SGBD doit
offrir des mécanismes de gestion des conflits d’accès.

• La confidentialité : la mise en commun des données sous


forme d’une BD accroît le besoin en confidentialité. L’utilisation
de sous schémas fait partie des moyens qui permettent de
l’assurer vu qu’ils ne rendent visible qu’un sous ensemble de la
base. La confidentialité est assurée par le biais de mots de passe
et privilèges d’accès.
F. BARIKA KTATA 9
1. définitions
• Un SGBD peut offrir des interfaces avec des langages de
programmation. Ces interfaces permettent l’accès et la
manipulation des données d’une base à partir d’un programme.

• La gestion physique de l’espace occupé par les données est


totalement assuré par le SGBD assurant ainsi l’indépendance des
données et des programmes. Les SGBD offrent divers utilitaires
pour l’aide à l’écriture de requêtes ou de programmes , à
l’élaboration d’écrans de saisie … Toutes ces facilités =
environnement ou langage de 4ième génération (L4G).
F. BARIKA KTATA 10
1. définitions
• La sécurité de fonctionnement : le SGBD doit offrir des
mécanismes permettant de remettre rapidement la BD dans un
état opérationnel en cas d’incident matériel ou logiciel. Ces
mécanismes sont basés sur la journalisation des opérations
réalisées sur la base et leur ré-exécution automatique en cas de
besoin.

• Les SGBD les plus connus sont : Oracle, SQLServer, MySQL, DB2…

• Les SGBD peuvent être classés selon les modèles des BD


(hiérarchique, réseau, relationnelle, objet…)
F. BARIKA KTATA 11
1. définitions
La typologie des SGBD

• SGBD hiérarchique : ce type de modèle permet de


représenter des classes ou ensembles d’objets et des relations de
types père-fils entre ces classes. L’ensemble de ces classes
constitue une arborescence.

• SGBD réseau : ce type de modèle permet également de


représenter des classes et des relations de types père-fils. A la
différence du modèle hiérarchique, il autorise une classe fille à
avoir plusieurs classes mères.
F. BARIKA KTATA 12
1. définitions
• SGBD relationnel: ce type de modèle permet de représenter
les données sous forme de tables. La manipulation des données
se base sur la logique mathématique et la théorie des ensemble
(Algèbre relationnelle : intersection, union…).

• SGBD objet: nombreux travaux ont visé à intégrer des concepts


issus des langages à objets (notions de classes, héritages…) et des
concepts et techniques issus des BD.

• Les SGBD relationnel dominent sur le marché et le langage SQL


est un standard.
F. BARIKA KTATA 13
1. définitions
Interface utilisateur
Gestion des vues
Résultat
Intégrité sémantique Contrôle
Autorisations d’accès

Optimisation de requêtes
Gestion de plans d’exécution
Traitement
Contrôle de l’exécution des requêtes
Exécution d’opérateurs logiques

Gestion des buffers


Gestion des accès
Mécanismes d’accès

Gestion des accès concurrents


Sécurité
journalisation
Architecture fonctionnelle d’un SGBD relationnel

F. BARIKA KTATA 14
2. Cycle de développement des BD
• Quatre niveaux de représentation des données :
a) Conceptuel : passage du monde réel au monde conceptuel via un
modèle (exemple : le modèle entité/association). Doit être indépendant
de toute implantation (de toute machine) => définition logique de la BD
géré par le concepteur de la BD
• les données logiques, leurs structures et types, leur manipulations
• liens sémantiques
• les contraintes d’intégrité
• les contraintes d’intégrité référentielles
• les contraintes de sécurité (qui peut manipuler quoi)
b) Logique : passage du modèle conceptuel à un modèle de bases de
données (relationnel, objet, …), en vue de l’implantation sur machine.
géré par le concepteur de la BD
! Ne pas confondre schéma logique et schéma conceptuel.
F. BARIKA KTATA 15
2. Cycle de développement des BD
• Quatre niveaux de représentation des données :
c) Externe : création de vues (parties de la base de données) sur
lesquelles des groupes d ’utilisateurs ont le droit de travailler
(interroger, insérer, modifier et/ou supprimer > selon les
autorisations). On définit donc 1 ou plusieurs schémas externes.
Chaque schéma définit la manière dont un utilisateur perçoit la base
dans ses applications. Il spécifie les droits d'accès.
géré par le concepteur de la BD
d) Interne : comment sont stockées les données sur les supports
physiques. niveau d’implémentation : relatif à la mémoire physique
géré par le SGBD

F. BARIKA KTATA 16
3. Personnes Impliquées dans les BD
• Utilisateur final: accède seulement à une interface du
SGBD

• Vendeurs de SGBDs: IBM, Oracle, Microsoft, etc

• Chercheurs et programmeurs: inventent de nouvelles


théories et algorithmes pour les SGBD et en écrivent le
code

• Programmeurs d’applications: écrivent des programmes


C/C++/Java/… qui interagissent avec les SGBD
– Webmasters avancés, programmeurs d’applications
F. BARIKA KTATA 17
3. Personnes Impliquées dans les BD
• Administrateur de base de données (DBA)

– Conçoit les schémas logiques /physiques

– Assure la disponibilité des données

– Adapte la base de données à l’évolution des besoins

– assure la relation avec les utilisateurs

– définit les règles de sécurité, d’autorisation et d’intégrité

– définit les modèles de sauvegarde et de restauration

– supervise des performances et prend en compte des évolutions


F. BARIKA KTATA 18
4. Cycle de vie des BD
Monde réel

Concevoir (Analyse => modèle (E/A par exemple)) : Concepteur

Créer la structure (modèle logique  SGBD particulier) : Concepteur/ Administrateur

Implanter la base de données (LDD+insertions initiales) : administrateur

Optimiser la base de données (indexation, …) : administrateur

Manipuler (LMD: insérer, maj, supprimer) : utilisateur

Maintenir (requêtes spécifiques) : administrateur

F. BARIKA KTATA 19
Exercice
Considérons la table FilmSimple suivante :

titre année nomMES prénomMES annéeNaiss


Alien 1979 Scott Ridley 1943
Vertigo 1958 Hitchcock Alfred 1899
Psychose 1960 Hitchcock Alfred 1899
Kagemusha 1980 Kurosawa Akira 1910
Volte-face 1997 Woo John 1946
Pulp Fiction 1995 Tarantino Quentin 1963
Titanic 1997 Cameron James 1954
Sacrifice 1986 Tarkovski Andrei 1932

Quels sont les anomalies de cette présentation ?

F. BARIKA KTATA 20
Exercice : Solution
Anomalies lors d’une insertion
Rien n’empêche de représenter plusieurs fois le même film. Pire : il est possible
d’insérer plusieurs fois le film Vertigo en le décrivant à chaque fois de manière
différente, par exemple en lui attribuant une fois comme réalisateur Alfred
Hitchcock, puis une autre fois John Woo, etc.

Anomalies lors d’une modification


La redondance d’information entraîne également des anomalies de mise à jour.
Supposons que l’on modifie l’année de naissance de Hitchcock pour la ligne
Vertigo et pas pour la ligne Psychose. On se retrouve alors avec des informations
incohérentes.

Anomalies lors d’une destruction


On ne peut pas supprimer un film sans supprimer du même coup son metteur en
scène. Si on souhaite, par exemple, ne plus voir le film Titanic figurer dans la base
de données, on va effacer du même coup les informations sur James Cameron.

F. BARIKA KTATA 21
Exercice : Solution
Une bonne méthode évitant les anomalies ci-dessus consiste à :
1. être capable de représenter individuellement les films et les réalisateurs, de
manière à ce qu’une action sur l’un n’entraîne pas systématiquement une action
sur l’autre ;
2. définir une méthode d’identification d’un film ou d’un réalisateur, qui permette
d’assurer que la même information est représentée une seule fois ;
3. préserver le lien entre les films et les réalisateurs, mais sans introduire de
redondance.

F. BARIKA KTATA 22
5. Le modèle Entité-Association

• Modélisation sémantique caractérisée par les 4


étapes suivantes :
– on identifie des concepts sémantiques utiles pour
décrire le système d'informations
– on imagine l'ensemble d'objets symboliques qui sont
utilisés pour représenter ces concepts sémantiques
– on imagine un ensemble de règles d'intégrité
formelles pour donner une signification à ces objets
formels.
– on développe un ensemble d'opérateurs formels pour
manipuler ces objets formels.

F. BARIKA KTATA 23
5. Le modèle Entité-Association

Concept Définition formelle Exemples


ENTITE un objet que l’on peut Fournisseur, pièce, cargaison,
distinguer Personne
Employé, département
P ROPRIETE une information qui N° fournisseur, qté cargaison,
décrit une entité département d’employé, poids
de personne
ASSOCIATION une entité qui permet Cargaison(fournisseur-pièce)
de connecter 2 entités Affectation(employé- département)
ou plus

F. BARIKA KTATA 24
5. Le modèle Entité-Association
les objets sémantiques
• Entité :
– chose qui peut être identifiée distinctement
• Propriété (ou Attribut) :
– les entités et les associations sont décrites par des propriétés caractérisées par un nom et un type
• Association :
– Lien entre entités, peut être binaire, ternaire, n-aire
• OCCURRENCE (instance) :
– Réalisation particulière d'une entité, propriété ou association.
• REGLES DE BASE :
– Une propriété ne peut pas figurer sur deux objets différents.
– Une entité possède au moins une propriété (son identifiant : par exemple le N° de commande).
– Une association peut ne pas avoir de propriété

F. BARIKA KTATA 25
5. Le modèle Entité-Association
Les cardinalités

CARDINALITES MINIMUM :
Valeur Définition Exemple
O Une occurrence de l'entité peut exister un produit peut
sans participer à l'association ne pas être
commandé
1 Une occurrence de l'entité participe toute commande
nécessairement au moins une fois à une concerne au
occurrence d'association moins un produit

CARDINALITES MAXIMUM :
Valeur Définition Exemple
1 Une occurrence de l'entité un employé travaille au
participe au plus une fois plus dans un service
N Une occurrence de l'entité peut une commande peut
participer plusieurs fois concerner plusieurs
produits

F. BARIKA KTATA 26
5. Le modèle Entité-Association
Les règles de construction
– Elles prescrivent des normes qui assurent que les définitions des concepts du
modèle sont bien respectées (SYNTAXE).
 Mais un modèle bien formé n'est pas nécessairement convenable (SEMANTIQUE).
 Une entité possède au moins une propriété : son identifiant.
 S'il existe une occurrence d'association, alors il existe nécessairement une
occurrence de chacune des entités associées.
 Deux occurrences d'une entité ne peuvent participer à la même occurrence de
l'association (sauf si l'association est réflexive).
 Une même propriété ne peut figurer que sur UN SEUL objet.
 Une propriété doit être ELEMENTAIRE, atomique (On ne peut pas la
décomposer), sauf : lorsqu'elle est constituée d'une agrégation de propriétés :
Domiciliation bancaire est composé de : Code banque, Code Guichet, N° Compte
Ou lorsqu'elle admet plusieurs valeurs : La propriété Enfants pour une Personne
est multivaluée et n'est donc pas élémentaire.
 Une propriété doit dépendre PLEINEMENT et DIRECTEMENT de l'identifiant.
F. BARIKA KTATA 27
6. Le modèle relationnel
Une Base de Données Relationnelle (BDR) peut être vue par
l’utilisateur comme un ensemble de tableaux ou de tables.
 Une table est un ensemble de lignes et de colonnes
Exemple de BDR :
 fournisseur est une table contenant le numéro (nof),
le nom (nomf) et la ville (ville) de chaque fournisseur
 pièce est une table contenant le numéro (nop), le nom
(nomp) et le prix (prix) de chaque pièce
 vente est une table indiquant qu’une pièce (nop) est
vendue par un fournisseur (nof)

F. BARIKA KTATA 28
6. Le modèle relationnel
fournisseur vente
nof nomf ville nop nof
1 Girard Lyon 1 1
2 Blanc Paris 1 2
3 Merlin Nancy 2 2
2 3
pièce 3 1
nop nomp prix 3 2
1 vis 1.5 3 3
2 écrou 2
3 boulon 2.5
Une base de données relationnelle
F. BARIKA KTATA 29
6. Le modèle relationnel
Formalisation (théorie des ensembles)
• Un domaine est un ensemble de valeurs
– ex : L’ensemble des nombres entiers (Z) ; l’ensemble des chaînes de
caractères de longueur 50 ; {jaune, vert, bleu} ; {x,y,z}

• Le produit cartésien des domaines D1, D2, …, Dn noté


D1xD2x…x Dn est l’ensemble des tuples (v1,v2,…, vn) tel que
vi  Di , 1  i  n
– ex : n=2, D1 = {1,2}, D2 = {x,y}, D1xD2 = {(1,x), (1,y), (2,x), (2,y)}

• Une relation ou table est un sous-ensemble du produit


cartésien d’un ou plusieurs domaines : R  D1xD2x…x Dn
– ex : R = {(1,x), (1,y), (2,y)}

F. BARIKA KTATA 30
6. Le modèle relationnel
Formalisation (théorie des ensembles)
Une relation R  D1xD2x…x Dn est
caractérisée par :
 son nom R
 Son arité n
 Un ensemble d'attributs A1, A2, … An
correspondant aux composantes d'un tuple
 Di est le domaine de l'attribut Ai c'est à dire
l'ensemble des valeurs possibles de Ai (1  i 
n)
 Le schéma de la relation : R (A1, A2, … An)
F. BARIKA KTATA 31
6. Le modèle relationnel
Formalisation (théorie des ensembles)
 n=2, D1 = {1,2}, D2 = {x,y}, R = {(1,x), (1,y), (2,y)}
 attribut chiffre pour la première composante
 attribut lettre pour la seconde composante
 schéma : R(chiffre,lettre)
domaine(chiffre)= D1 et domaine(lettre)= D2

 Autre exemple de schéma de relation :


Pièce (nop, nomp, prix) nop nomp prix
domaine (nop) : entiers positifs 1 vis 1.5
domaine (nomp) : chaînes de caractères 2 écrou 2
domaine (prix) : réels positifs 3 boulon 2.5

F. BARIKA KTATA 32
6. Le modèle relationnel
Formalisation (théorie des ensembles)
L'extension d'une relation :
 est l'ensemble de ses tuples
 est représentée par un tableau à deux dimensions
 chaque colonne correspond à un attribut
 chaque ligne correspond à un tuple

nop nomp prix


Extension possible
de la table pièce 1 vis 1.5
2 écrou 2
3 boulon 2.5

F. BARIKA KTATA 33
6. Le modèle relationnel
Notion de valeur NULL
La valeur d'un attribut dans un tuple peut être absente
– Cette absence de valeur est notée NULL
• Cas de l'attribut no-téléphone pour personne n'ayant pas de
téléphone
• Cas de l'attribut prix pour une pièce dont le prix n'est pas encore fixé

Pièce nop nomp prix


1 Vis10 1.5
2 écrou 2
3 boulon 2.5
4 vis15 NULL

F. BARIKA KTATA 34
6. Le modèle relationnel
Autres notions dans un schéma de relation : Clé primaire

• Clé primaire d'une relation : Groupe d’attributs


minimum qui identifie de manière unique tout tuple
dans une relation
ex : {nop} dans la relation pièce
{nof} dans la relation fournisseur.

• Convention : clé primaire soulignée dans le schéma


ex : Pièce (nop, nomp, prix)

F. BARIKA KTATA 35
6. Le modèle relationnel
Autres notions dans un schéma de relation : Clé étrangère

• Clé étrangère d’une relation : l’attribut ou les attributs


qui constituent la clé primaire d’une autre relation.
• Convention : clé étrangère en italique dans le schéma
Soit la base de données :
pièce (nop, nomp, prix)
fournisseur (nof,nomf,ville)
vente (nop,nof)

vente.nop est une clé étrangère et référence pièce.nop

vente.nof est une clé étrangère et référence fournisseur.nof

F. BARIKA KTATA 36
7. Passage EA – modèle relationnel

• QU'EST-CE QUE LE NIVEAU LOGIQUE ?


– Le niveau logique est une REPRESENTATION du système tel qu'il sera
implémenté dans des ordinateurs.
• Vu qu'il s'agit d'une représentation, on utilisera également un
modèle et :
– il ne faut pas confondre le modèle conceptuel (entité- association par
ex.) avec le modèle logique (relationnel par exemple)
– il ne faut pas confondre le modèle logique (relationnel par ex. ) avec
son implémentation physique en machine (avec Access ou Oracle par
ex.)

F. BARIKA KTATA 37
7. Passage EA – modèle relationnel
On passe du modèle conceptuel au modèle logique par une opération de
TRADUCTION

38
F. BARIKA KTATA 38
7. Passage EA – modèle relationnel
UNE RELATION
• Une RELATION est une partie finie du produit cartésien de n
ensembles (ou domaines).
• Un attribut prend ses valeurs dans un DOMAINE (soit
l'ensemble de ses valeurs possibles)

39
F. BARIKA KTATA 39
7. Passage EA – modèle relationnel
UNE RELATION
• CLE de relation : un attribut particulier tel qu'il ne peut exister
qu'une seule valeur de cet attribut pour tous les n-uplets de la
table.

• CARDINALITE de relation : le nombre de ses n-uplets (ou


lignes).
– Rien à voir donc avec la cardinalité du modèle entité-association.
• DEGRE (ou encore ORDRE, ARITE) de relation : le nombre
d'attributs (ou colonnes).
– Rien à voir donc avec la dimension d'une association (On appelle
DIMENSION d'une association le nombre d'entités qu'elle relie).

F. BARIKA KTATA 40
7. Passage EA – modèle relationnel
Règles de passage
• REGLE N°1 : TOUTE ENTITE DEVIENT UNE
RELATION dans laquelle :
– les attributs traduisent les propriétés de l'entité
– la clé primaire traduit l'identifiant de l'entité

F. BARIKA KTATA 41
7. Passage EA – modèle relationnel
Règles de passage
• REGLE N°2 : UNE ASSOCIATION DE DIMENSION 2 AVEC
CARDINALITE 1,1 SE REECRIT EN :
portant dans la relation fille la clé primaire de la relation mère.
L'attribut ainsi ajouté s'appelle clé étrangère. Symbole : #.

F. BARIKA KTATA 42
7. Passage EA – modèle relationnel
Règles de passage
• Relation fille

F. BARIKA KTATA 43
7. Passage EA – modèle relationnel
Règles de passage
• REGLE N°3 : UNE ASSOCIATION DE DIMENSION 2
AVEC CARDINALITE PLUSIEURS A PLUSIEURS SE
REECRIT EN :
– créant une relation particulière qui contient comme
attributs les identifiants des 2 entités associées
– ces attributs constituent à eux 2 la clé primaire de la
relation
• ils sont individuellement clés étrangères
• ajoutant la ou les éventuelles propriétés de l'association à
cette relation.

F. BARIKA KTATA 44
7. Passage EA – modèle relationnel
Règles de passage

F. BARIKA KTATA 45
7. Passage EA – modèle relationnel
Règles de passage
• REGLE N°4 : UNE ASSOCIATION DE DIMENSION SUPERIEURE A
2 SE REECRIT SELON LA REGLE 3

F. BARIKA KTATA 46
Exercice

Modèle Conceptuel de Données

EQUIPES 5,n Fait-Jouer 1,1 JOUEURS Schéma Relationnel


N°Joueur
N°Equipe NomJoueur
NomEquipe PrénomJoueur
Ville
Entraineur 0,n
0,n
0,n Matchs-Visiteurs

Matchs-Locaux A_JOUE
NbPointsMarqués
NbFautes
1,1

1,1 MATCHS
0,n
N°Match
NbSpectateurs
NbPtsLocaux
NbPtsVisiteurs

F. BARIKA KTATA 47
Exercice
1.

Schéma Relationnel
2.

F. BARIKA KTATA 48

Vous aimerez peut-être aussi