Cours1 2 gdmm

29

Transcript of Cours1 2 gdmm

Page 1: Cours1 2 gdmm
Page 2: Cours1 2 gdmm

SGBD …SuiteDefinition: 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.

:

Page 3: Cours1 2 gdmm

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.

Page 4: Cours1 2 gdmm

Niveaux du SGBD1- 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 d’états.

Page 5: Cours1 2 gdmm

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

Page 6: Cours1 2 gdmm

Définition du schéma de donnéesUn 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

Page 7: Cours1 2 gdmm

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.

Page 8: Cours1 2 gdmm

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.

Page 9: Cours1 2 gdmm

Exemple

Page 10: Cours1 2 gdmm

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.

Page 11: Cours1 2 gdmm

La notion d'attributUn 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 clientA l'intérieur des objets (des instanciations)

d'une classe, les attributs prennent des valeurs (numérique, texte, date…)

Page 12: Cours1 2 gdmm

La notion d'identifiantAfin 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}

Page 13: Cours1 2 gdmm

Comme choix pour l'identifiant d'une classe nous distinguons généralement 3 possibilités:

1. Un attribut naturelExemple: Le nom d'un pays pour une classe Pays2. Un attribut artificiel qui est inventé par le

créateur du MCDExemple: Le numéro d'un client pour une classe

Client3. Un identifiant composé de plusieurs attributs

naturelsExemple: Le nom et la localité pour une classe

Entreprise

Page 14: Cours1 2 gdmm

La notion d'associationDé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.

Page 15: Cours1 2 gdmm
Page 16: Cours1 2 gdmm
Page 17: Cours1 2 gdmm

Les multiplicités d'une associationSur 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.

Page 18: Cours1 2 gdmm

Exemple

Page 19: Cours1 2 gdmm

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 ?

Page 20: Cours1 2 gdmm

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.

Page 21: Cours1 2 gdmm

Classe-associationIl 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.

Page 22: Cours1 2 gdmm

Voici la solution proposée

Page 23: Cours1 2 gdmm

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.

Page 24: Cours1 2 gdmm
Page 25: Cours1 2 gdmm

Le modèle logique des données (MLD)Jusqu'à présent nous avons établi des MCDNous 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

Page 26: Cours1 2 gdmm

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

Page 27: Cours1 2 gdmm
Page 28: Cours1 2 gdmm

Règles de transformation du MCD au MLDTransformation des classesToute 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.

Page 29: Cours1 2 gdmm

Exemple