Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A -...

24
Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access 2. Niveaux de représentation d’une base de données 3. Conception d’une base de données 4. Les utilisateurs d’une base de données 1. Définitions 2. Dépendances fonctionnelles et clé 3. Normalisations des schémas de relation

Transcript of Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A -...

Page 1: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Bases de Données Année : 2009/10

Plan du cours :

1. Introduction et définitions

A - Généralités :

B - Le modèle de données relationnel

C - Le SGBDR Access

2. Niveaux de représentation d’une base de données

3. Conception d’une base de données

4. Les utilisateurs d’une base de données

1. Définitions

2. Dépendances fonctionnelles et clé

3. Normalisations des schémas de relation

Page 2: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

A – Généralités :

1. Introduction et définitions

• La mise en place de réseaux, le recours aux accès distants introduisent le problème des accès concurrentiels

• Le développement puis l’utilisation généralisée de l’informatique

Augmenter la quantité de données stockées

Augmenter et rendre plus complexes les traitements les prenant en compte

• Très rapidement : l’accès à ces données et leur organisation en mémoire secondaire deviennent des problèmes critiques

Les Systèmes de Gestion de Base de Données (SGBD) ont traité et continuent de traiter de tous ces problèmes.

Page 3: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Définition 1 :

Une base de données est un ensemble structuré de données :

Principales définitions :

- interdépendantes

- stockées sur des supports accessibles par l’ordinateur,

- sans redondance (répétition inutile )

- pour satisfaire simultanément plusieurs utilisateurs.

Définition 2 :

Un Système de Gestion de Base de Données (SGBD) ou Data Base Management System) est un logiciel qui permet aux utilisateurs d’interagir avec une base de données.

Page 4: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Les buts et propriétés de ces systèmes sont multiples :

- fournir une description des données stockées dans la base en toute indépendance des programmes accédant à ces données

- permettre l’interaction avec la base grâce à des interfaces d’accès multiples (rechercher, modifier, ajouter, détruire).

- fournir un langage de manipulation des données (LMD) pour les interactions entre l’utilisateur et la base

- éviter les redondances, soit par la présence de la même donnée plusieurs fois dans des fichiers différents, soit par la présence physique d'une donnée qui peut se déduire d’autres données.

Page 5: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

- offrir un accès multiple aux données et régler le problème de la concurrence d’accès

- assurer la sécurité d’accès aux données (confidentialité, identification des utilisateurs).

- gérer les possibilités de pannes et les rendre transparentes à l’utilisateur (point de reprise).

Page 6: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

2. Niveaux de représentation d’une base de données

La description d’une BD s’effectue à trois niveaux :

- externe : il est nécessaire de définir des types d’utilisateurs qui pourront chacun avoir une vue différente d’une même base. Chacune de ces vues est déduite du schéma conceptuel décrit ci-après

- interne ou physique : c’est le niveau correspondant aux programmeurs. L’organisation physique des données et les fonctions d’accès sont alors définies (organisation des fichiers, index, structure...).

- le niveau conceptuel intègre toutes les vues externes sans souci de l’implantation des données (description abstraite).

Page 7: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.
Page 8: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Le niveau « central » qui nous intéressera est donc le niveau conceptuel.

Ce niveau doit permettre de :

- définir l’ensemble des objets manipulés ;

- définir l’ensemble des liens existant entre les objets ;

-qualifier ces objets et liens (attributs, domaines, types de liens).

Il faut définir un modèle de description permettant d’exprimer les propriétés des composants de la base et les liens existant entre eux. Plusieurs modèles ont été proposés, parmi lesquels on peut citer :

Page 9: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

- le modèle hiérarchique (historiquement le premier) : le schéma conceptuel est visualisé sous forme d’arbres dont les nœuds correspondent aux classes d’objets et les arcs entre les nœuds aux associations.

- le modèle réseau : le schéma conceptuel est représenté par un graphe ce qui augmente les possibilités de liens entre les objets.

- le modèle relationnel, fondé sur la notion de « relation », représente les objets et les liens entre eux par des tableaux à deux dimensions.

- le modèle objet : une donnée est une instance d’une classe. Chaque champ est un objet et la notion d’héritage peut être utilisée lors de la définition des tables.

Page 10: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

3. Conception d’une base de données

Schéma simplifié de la conception d'une base de données

Page 11: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

4. Les utilisateurs d’une base de données :

- les concepteurs de la base définissent, décrivent, créent la base ;le Data Base Administrator (DBA) gère la base (les accès, les droits des utilisateurs, les sauvegardes, les restaurations...) ;

- les utilisateurs manipulent la base. Il est possible de distinguer des familles d’utilisateurs avec des droits différents vis-à-vis de l’accès à la base.

Page 12: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Le modèle de données relationnel

1. Définitions :

représenter les liens et les objets de la même façon et le mode de représentation adopté est extrêmement simple : des tableaux à deux dimensions.

Une base de données est modélisée par un ensemble de schémas de relation.

Un schéma de relation caractérise une relation par son nom, une liste d’attributs et les domaines associés à chaque attribut.

Page 13: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

une relation définie par un ensemble d’attributs A1,A2,…..An de domaine D1,D2,…Dn correspond à tout sous-ensemble du produit cartésien

Le tableau associé à la relation fait correspondre à chaque colonne un attribut et chaque ligne du tableau, appelée tuple ou n-uplet, est un élément du produit cartésien.

Un tableau (donc une relation) ne peut contenir deux fois la même ligne

Exemple : Couleur = D1 ={ rouge,vert, bleu} D2 = { 0,1}

Sur la base du produit cartésien D1XD2

D1XD2 = { (rouge,0), (rouge,1),(vert,0), (vert,1), (bleu,0), (bleu,1)}On peut composer la relation Drapeau :

Drapeau = { (rouge,1), (vert,1)} Qu'on schématise sous la forme :

Drapeau rouge 1

vert 1

Page 14: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

2. Dépendances fonctionnelles et clé :

Quand nous construisons une base de données nous sommes exposés à deux types de problèmes :

– nous ne savons pas toujours où placer certaines colonnes (par exemple, l’adresse de livraison se met dans la relation des clients ou dans la relation des commandes?) ;

– nous avons du mal à prévoir les relations de jonction intermédiaires (par exemple, la relation des interprétations qui est indispensable entre la relation des films et la relation des acteurs).

Il est donc nécessaire de recourir à une étape préliminaire de conception.

Les notions de dépendances fonctionnelles et de normalisation ont ainsi été introduites afin de formaliser la conception des bases de données.

Page 15: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Un attribut Y dépend fonctionnellement d’un attribut X si et seulement si une valeur de X induit une unique valeur de Y . On note une dépendance fonctionnelle par une flèche simple : X Y .

Par exemple, si X est le numéro de client et Y le nom de client, alors on a bien X Y .

Par contre, on n’a pas Y X, car plusieurs clients de numéros différents peuvent porter le même nom.

Transitivité : si X Y et Y Z alors X Z.

Par exemple, on a : numéro de commande numéro de client nom de client,

donc on a aussi :numéro de commande nom de client.

Mais la dépendance fonctionnelle numéro de commande nom de client

est dite transitive, car il faut passer par le numéro de client pour l’obtenir.

Page 16: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Au contraire, la dépendance fonctionnelle

numéro de client !nom de client est directe .

Seules les dépendances fonctionnelles directes nous intéressent.

Exemples : les DF suivantes sont elles directes ?

numéro de livraison date de livraison

numéro de livraison numéro du fournisseur

numéro du fournisseur nom du fournisseur

numéro de livraison nom du fournisseur

Page 17: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Les dépendances fonctionnelles traduisent ainsi les contraintes du problème à modéliser exprimées jusqu’alors en langage naturel.

Un attribut Y peut avoir une dépendance fonctionnelle qui repose sur la conjonction de plusieurs attributs, auquel cas la dépendance est dite non élémentaire . Les dépendances fonctionnelles non élémentaires sont notées par une flèche unique mais comportant plusieurs points d’entrée

Par exemple, la quantité commandée (d’un article dans une commande) dépend de deux attributs : le numéro de commande et le numéro d’article.

Notons que cette dépendance numéro de commande , numéro d’article quantité

est à la fois non élémentaire et directe.

Page 18: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Graphe de couverture minimale

En représentant tous les attributs et toutes les dépendances fonctionnelles directes entre eux, nous obtenons un réseau appelé graphe de couverture minimale.

nom du client

numéro de commande

numéro de client date de commande

numéro d’article

quantité commandée

adresse du client

désignation

Page 19: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Clés primaires :

Les lignes d’une table doivent être uniques, cela signifie qu’une colonne (au moins) doit servir à les identifier. Il s’agit de la clé primaire de la table.

Traduction vers un schéma relationnel :

A partir du graphe de couverture minimale , le schéma relationnel correspondantapparaît naturellement , en suivant quelques étapes simples.

Etape 1 : il faut repérer et souligner les clés primaires

Etape 2 : tous les attributs qui dépendent directement d’une clé et d’une seule , forment une relation (avec la clé, bien sûr).

Etape 3 : les attributs (non clés) qui dépendent de plusieurs clés sont les attributsd’une relation supplémentaire formée des clés et de ces attributs

Page 20: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Définition de la 1ère forme normale :

les attributs de relation sont simples ou atomiques.

Exemple : La table LIVRE(Numéro, titre, Nom-auteur) n’est en1NF que si un livre n’a qu’un seul auteur

On peut envisager deux solutions le cas échéant

- LIVRE(Numéro, titre, auteur1,auteur2,...,auteurn) avec n connu

- Ecrit par(Numéro, Nom auteur) en introduisant autant de lignes pour un livre qu’il a d’auteurs

Page 21: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Définition de la 2ème forme normale :

La clé peut être composée de plusieurs attributs mais les autres attributs de la relation doivent dépendre de la clé en entier (et non pas une partie de cette clé).

Exemple :la table FOURNISSEUR ( Nom , Adresse, Article, prix) pour laquelle la clé définie est le couple (Nom, Article) et on a les DF :

(Nom,Article) Prix et Nom adresse

Où une partie de la clé Nom détermine l'attribut adresse n'appartenant pas à la clé donc la relation n'est pas en 2FN. Elle devra être décomposée en deux relations en 2NF: FOURNISSEUR (Nom, adresse)

Et Produit (Nom,Article, prix)

Page 22: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

Définition de la 3ème forme normale :

Tous les attributs d’une relation doivent dépendre directement de sa clé et d’aucun autre attribut.

Exemple :La relation Voiture (Numéro ,marque,type,puissance,couleur)

n'est pas en 3FN, car l'attribut non clé type détermine marque et aussi Puissance.

En effet, cette relation peut être décomposée en deux relations :Voiture (Numéro,type,couleur)

Modèle ( Type , marque, puissance)

Remarque : La troisième forme normale permet d'assurer l'élimination des redondances dues aux dépendances transitives.

Page 23: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

3. Normalisations des schémas de relation

Le processus de normalisation va contrôler la définition du schéma relationnel

Éviter la redondance de l’information

Le principe général est d’obtenir une décomposition de la relation d’origine R, définie par tous ses attributs, en un ensemble de relations Ri respectant certaines propriétés dans le but de minimiser les problèmes.

Les propriétés choisies définiront une classification des schémas obtenus : première, seconde et troisième forme normale (1NF, 2NFet 3NF).

Page 24: Bases de Données Année : 2009/10 Plan du cours : 1. Introduction et définitions A - Généralités : B - Le modèle de données relationnel C - Le SGBDR Access.

N°filmN° acteur

titre

durée

Nom acteur