Bases de Données Plan du cours : Année : 2009/10 A - Généralités :

Slides:



Advertisements
Présentations similaires
Chap. 4 Recherche en Table
Advertisements

Matière/Sources: Daniel Bardou, Julie Dugdale &
Material/Sources: Daniel Bardou, Julie Dugdale &
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Modèle Entités-Associations
UML - Présentation.
Le modèle logique des données relationnel MLD
Le Modèle Logique de Données
La base de données : le modèle relationnel.
Le modèle logique (Relationnel) de données
Introduction à la POO: Les classes vs les objets
Initiation au système d’information et aux bases de données
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Initiation au système d’information et aux bases de données
Rappel sur les bases de données et le vocabulaire
ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives.
Les Cas d’utilisation.
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Initiation à la conception de systèmes d'information
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Les formes normales.
Conception des données
Gestion des bases de données
Etude globale de système.
MODELE RELATIONNEL concept mathématique de relation
Staf 2x Cours de bases de données
Cours de Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
Normalisation. RELATION NORMALE Une relation est dite normale si aucun des domaines qui la composent n'est lui-même une relation. En d'autres termes,
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Patrons de conceptions de créations
Chapitre 3 La normalisation du modèle relationnel
ANALYSE METHODE & OUTILS
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le système informatique et le système d’information
DOSSIER G10 – La base de données Relationnelle
STRUCTURES DES DONNEES. L’ORGANISATION DES DONNEES. BASES DES DONNEES
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Notion de Dépendance Fonctionnelle (DF)
Normalisation des BD. Normalisation d’un schéma relationnel  Une mauvaise répartition des données dans les relations peut engendrer :  Des problèmes.
LDAP (Lightweight Directory Access Protocol)
Nouvelles Technologies Internet & Mobile
Introduction à la Programmation Orientée Objet
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
INTRODUCTION AUX BASES DE DONNEES
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Initiation aux bases de données et à la programmation événementielle
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Bases de données – Cours 2
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Cours 11 Entrepôts de données
ACCESS SGBDR Relations Objets. Gestion de Fichiers        données MS applications Independance enregistrement Programme: manipule une.
LP1 ACCESS SGBDR Relation Objets. Caractéristiques des SGBDR Organisation SI système de pilotage Institutions Clients Concurrence Fournisseurs système.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

Bases de Données Plan du cours : Année : 2009/10 A - Généralités : 1. Introduction et définitions 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 B - Le modèle de données relationnel 1. Définitions 2. Dépendances fonctionnelles et clé 3. Normalisations des schémas de relation C - Le SGBDR Access

A – Généralités : 1. Introduction et définitions 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 La mise en place de réseaux, le recours aux accès distants introduisent le problème des accès concurrentiels Les Systèmes de Gestion de Base de Données (SGBD) ont traité et continuent de traiter de tous ces problèmes.

- stockées sur des supports accessibles par l’ordinateur, Principales définitions : Définition 1 : Une base de données est un ensemble structuré de données : - 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.

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.

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

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

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 :

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

3. Conception d’une base de données Schéma simplifié de la conception d'une base de données

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.

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.

Couleur = D1 ={ rouge,vert, bleu} D2 = { 0,1} 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

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.

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.

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

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. Les dépendances fonctionnelles traduisent ainsi les contraintes du problème à modéliser exprimées jusqu’alors en langage naturel.

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

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 correspondant apparaî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 attributs d’une relation supplémentaire formée des clés et de ces attributs

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

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)

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.

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

N° acteur N°film Nom acteur titre durée