2. SGBD …Suite
Definition: Un Système de Gestion de Bases de
Données (SGBD) est un logiciel de haut niveau qui
permet de manipuler les informations stockées da ns
une base de données.
La complexité d’un SGBD est essentiellement issue de la
diversité des techniques mises en oeuvre, de la multiplicité
des composants intervenant dans son architecture, et des
différents types d’utilisateurs (administrateurs,
programmeurs, non informaticiens, ...) qui sont
confrontés, à différents niveaux, au système.
:
3. Les modèles de données : entité-relation, réseau,
hiérarchique, relationnel, orienté-objet, modèles
sémantiques.
Les langages de requêtes : fondements théoriques
(logiques du premier ordre, du point fixe, algèbres
diverses) et les langages comme SQL, SQL3, Datalog,
OQL, etc.
Les techniques de stockage : sur disque (optique), sur
bande.
L’organisation des fichiers : index, arbre-B, hachage, ...
L’architecture : centralisé, distribué, sur d’autres bases
accessibles par réseau.
Les techniques d’évaluation et d’optimisation de requêtes.
La concurrence d’accès et les techniques de reprise sur
pane.
4. Niveaux du SGBD
1- Niveau physiques : gestion sur mémoire secondaire (fichiers) des
données, du schéma, des index ; Partage de données et gestion
de la concurrence d’accès ; Reprise sur pannes (fiabilité) ;
Distribution des données et interopérabilité (accès aux
réseaux).
2- Niveau logique : Définition de la structure de données : Langage
de Description de Données (LDD) ;Consultation et Mise à Jour
des données : Langages de Requêtes (LR) et Langage de
Manipulation de Données (LMD) ; Gestion de la confidentialité
(sécurité) ; Maintien de l’intégrité ;
3- Niveau externe : Vues ; Environnement de programmation
(intégration avec un langage de programmation) ; Interfaces
conviviales et Langages de 4e Génération (L4G) ; Outils d’aides
(e.g. conception de schémas) ; Outils de saisie, d’impression
5. Que doit-on savoir pour utiliser un
SGBD?
L’utilisation d’un SGBD suppose de comprendre (et donc
de savoir utiliser) les fonctionnalités suivantes :
1. Définition du schéma de données en utilisant les modèles
de données du SGBD.
2. Opérations sur les données : recherche, mises-à-jour, etc.
3. Partager les données entre plusieurs utilisateurs.
(Mécanisme de transaction).
4. Optimiser les performances, par le réglage de
l’organisation physique des données. Cet aspect relève de
l’administration des SGBD
6. Définition du schéma de données
Un schéma est simplement la description des données
contenues dans la base. Cette description est
conforme à un modèle de données qui propose des
outils de description (structures, contraintes et
opérations).
– Le modèle conceptuel : MCD
– Le modèle logique : MLD
– Le modèle physique : MPD
7. Etapes :
1 Analyse de la situation existante et des besoins;
2. Création d'une série de modèles, qui permettent de
représenter tous les aspects importants;
3. A partir des modèles, implémentation d'une base de
données.
8. 1 Le modèle conceptuel des
données (MCD)
Définition ; En se basant sur un document d'analyse,
le modèle conceptuel des données (MCD) fait
référence à tous les objets du système d'information
et à des relations entre ces objets.
Le formalisme utilisé dans ce modèle est celui du
langage de modélisation UML (Unified Modeling
Language).
A l'aide de ce langage nous pouvons créer un
diagramme de classes qui se base autour de 3
concepts principaux, les classes, les associations et
les attributs.
10. La notion de classe
Une classe1 permet de modéliser un ensemble
d‘objets concrets ou abstraits de même nature.
Une classe est caractérisée par son nom et ses
attributs.
11. La notion d'attribut
Un attribut représente une donnée élémentaire d'une
classe.
Un attribut est unique dans un MCD et ne peut ainsi
pas être rattaché à plusieurs classes différentes.
Pour une classe Client:
• Nom du client
• NoTél du client
A l'intérieur des objets (des instanciations) d'une
classe, les attributs prennent des valeurs (numérique,
texte, date…)
12. La notion d'identifiant
Afin de pouvoir distinguer les différents objets
d'une même classe, la classe doit être dotée d'un
identifiant. L'identifiant est composé d'un ou de
plusieurs attributs de la classe. Chaque objet d’une
classe doit avoir une valeur différente pour
l’identifiant
Le ou les attributs qui constituent l'identifiant d'une
classe sont écrits en couleur et suivis de l'indication
{id}
13. Comme choix pour l'identifiant d'une classe nous
distinguons généralement 3 possibilités:
1. Un attribut naturel
Exemple: Le nom d'un pays pour une classe Pays
2. Un attribut artificiel qui est inventé par le
créateur du MCD
Exemple: Le numéro d'un client pour une classe Client
3. Un identifiant composé de plusieurs attributs
naturels
Exemple: Le nom et la localité pour une classe
Entreprise
14. La notion d'association
Définition Une association décrit un lien entre
deux ou plusieurs classes.
Chaque association possède un nom, généralement
un verbe à l'infinitif.
Nous distinguons deux types d'associations:
• les associations binaires, qui sont liées à 2 classes;
• les associations ternaires, qui sont liées à 3
classes.
15.
16.
17. Les multiplicités d'une association
Sur les extrémités d'une association on indique
les multiplicités.
Les multiplicités expriment le nombre minimum
et maximum d'objets d'une classe qui peuvent
être associés à des objets de l'autre classe.
19. Les multiplicités concernant une classe sont
inscrites à l'extrémité opposée de l'association.
Y a-t-il des employés qui n'utilisent pas d'ordinateurs ?
Y a-t-il des ordinateurs qui ne sont pas du tout utilisés ?
20. La multiplicité minimale indique si un objet d'une
classe peut exister sans participer à l'association.
Cette multiplicité est 0 ou 1.
• Multiplicité minimale = 0 : Un objet de la classe concernée
peut exister sans participer à l'association.
• Multiplicité minimale = 1 : Un objet de la classe participe au
moins une fois à l'association.
- La multiplicité maximale indique si un objet d'une
classe peut participer plusieurs fois à l'association.
Cette multiplicité est 1 ou *, avec * représentant une
valeur >1 mais non connue à priori.
• Multiplicité maximale = 1 : Un objet de la classe participe au
maximum une seule fois à l'association.
• Multiplicité maximale = * : Un objet de la classe peut
participer plusieurs fois à l'association.
21. Classe-association
Il s'agit maintenant d'étendre le modèle ci-dessus de
façon à représenter également l'année depuis laquelle
un étudiant possède un type de diplôme.
23. Une association avec un ou plusieurs attributs
est représentée à l'aide d'une classe
qu'on appelle classe-association. Cette classe-
association contient le ou les attributs
correspondants et elle est connectée au lien de
l'association par une ligne en pointillé.
Par convention, la classe-association porte le
même nom que l'association concernée.
24.
25. Le modèle logique des données
(MLD)
Jusqu'à présent nous avons établi des MCD
Nous savons également qu'une base de données est
constituée par un ensemble de tables, dont chacune e
Or, le MCD ne connaît pas la notion de table, tandis
qu'une base de données ne connaît pas le concept des
classes reliées entre-elles via des associations avec des
multiplicités. st composée de champs de données.
le modèle logique des données (MLD), qui utilise
essentiellement le formalisme des tables logique
26. MLD
Un MLD, qui est toujours basé sur un MCD donné,
contient donc toutes les informations de ce MCD,
mais les représente à l'aide d'un formalisme différent
qui est très adapté aux structures d'une base de
données.
Tandis que le MCD représente un système
d'information d'une façon générale et indépendante
d'un système informatique, le MLD tient compte de la
réalisation par le biais d'un SGBD.
Un MLD est essentiellement composé de tables
logiques reliées entre elles par des flèches.
27.
28. Règles de transformation du MCD
au MLD
Transformation des classes
Toute classe est transformée en table. Les
attributs de la classe deviennent les attributs de
la table. L'identifiant de la classe devient la clé
primaire de la table. La clé primaire est
soulignée.