Initiation aux bases de données et à la programmation événementielle

Slides:



Advertisements
Présentations similaires
Access Frédéric Gava (MCF)
Advertisements

Base de Données / MCD Introduction en utilisant un SGBD simple (Access) Quinio Université Paris Ouest2010 Quinio.
Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Modèle Entités-Associations
Le Modèle Logique de Données
ACCESS Découverte.
La base de données : le modèle relationnel.
Initiation aux bases de données et à la programmation événementielle
Bases de Données Plan du cours : Année : 2009/10 A - Généralités :
Ticket de caisse d’un café moderne
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.
Analyse et Conception des Systèmes d’Informations
Initiation au système d’information et aux bases de données
Règle 0 & 1: attribut et classe
Initiation à la conception des systèmes d'informations
Développement d’applications web
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.
Initiation à la conception de systèmes d'information
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Modélisation E/R des Données
Geti2101 : Systèmes d’Information et Informatique
Introduction à la conception de Bases de Données Relationnelles
Transformation du diagramme de classe en modèle relationnel
Chap 4 Les bases de données et le modèle relationnel
1 Initiation aux bases de données et à la programmation événementielle Cours N°9 : Gestion de la cohérence avec des sous-formulaires. Support de cours.
L’utilisation des bases de données
Modèle Logique de Données
Cas pratique : Interim.
MODELE RELATIONNEL concept mathématique de relation
Les concepts et les méthodes des bases de données
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Modèle Logique de Données (MLD)
Initiation à la conception des systèmes d'informations
Chapitre 3 La normalisation du modèle relationnel
Base de Données.
Initiation aux bases de données et à la programmation événementielle Cours N°3 : langage de manipulation de données. Support de cours de Souheib BAARIR.
DOSSIER G10 – La base de données Relationnelle
Bases de données : modèlisation et SGBD
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
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.
eXtensible Markup Language. Généralités sur le XML.
Introduction avec Access Quinio Nanterre 2008
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.
Comprendre le SGBDR Microsoft Access – partie 2
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
Introduction Module 1.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 12 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 11 Support de cours rédigé par Bernard COFFIN Université.
Initiation aux bases de données et à la programmation événementielle Outil de création des tables Support de TD rédigé par Bernard COFFIN Université Paris.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 8 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 7 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Initiation aux bases de données et à la programmation événementielle Cours N°5 : Schéma d’une Base de Données Support de cours de Souheib BAARIR. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr Université Paris Ouest Nanterre la Défense. 2009-2010.

Introduction Il ne suffit pas de de savoir écrire une requête en SQL pour faire une BD. Il faut d’abord savoir : répartir les informations à mémoriser entre le différentes tables et, définir les liens logiques qui relient ces tables. Autrement dit, savoir concevoir une Base de Données : définir un schéma de BD.

De l’information à la BD Une information est complexe : on peut la décomposer en éléments (informations élémentaires), un élément est une donnée. Une donnée est décrite par un champ d’une table. Les données sont réparties en ensembles, chaque ensemble décrit un sens commun, il décrit donc un même concept. Finalement, une table est la réalisation d’un concept. Les concepts ne sont pas indépendants, ensemble, ils permettent de restituer l’information complexe, ils sont donc reliés par des liens sémantiques.  Réalisé au travers des liens logiques, qui dépendent du choix de gestion à mettre en place : (1-N) ou (N-N).

Un premier exemple œuvres. On veut enregistrer des informations sur des écrivains et leurs œuvres. Que faut-il définir ? un seul concept (l’œuvre et son auteur), ou bien, deux concepts séparés.

Un premier exemple : un seul concept Décrire l’auteur (nom, prénom, sexe, années de naissance et de décès) et l’œuvre dans une table unique. AuteurŒuvre (N° AutŒv, nom, prénom, sexe, année N, année D, titre œuvre) Les descriptions risquent d’être redondantes et/ou incohérentes : N° AutŒv Nom Prénom Sexe Année N Année D Titre œuvre 1 Hugo Victor Mr 1803 1885 Les travailleurs de la mer 2 1804 1900 Les misérables Redondance Incohérence Règle fondamentale : une information (complexe ou non) ne doit pas être mémorisée plusieurs fois.

Un premier exemple : deux concepts La description d’un auteur est une information complexe et cohérente. La description d’une œuvre est une information complexe et cohérente. Donc deux concepts séparés (deux tables), mais associés… Si le choix de gestion est, à 1 occurrence d’auteur correspondent N occurrences d’œuvre, à 1 occurrence d’œuvre ne correspond qu’1 seule occurrence d’auteur. Alors,  c’est une Association (1-N), appelée aussi, père/fils.  Un lien père/fils (père du côté 1 et fils du côté N).  Réalisé par le couple clef primaire (du père) / clef externe (du fils).

Un premier exemple : représentation graphique du schéma d’une table Plusieurs conventions possibles pour représenter le schéma d’une table. On représente une table par un rectangle. Auteur CP : N° auteur Sexe Nom auteur Prénom auteur Année naissance Année décès Nom de la table Clef primaire Liste des champs (attributs)

Un premier exemple : représentation graphique du lien logique Le lien logique est représenté par une flèche allant de la clef externe de la table fils à la clef primaire de la table père. Lien logique CP : N° auteur Sexe Nom auteur Prénom auteur Année naissance Année décès Auteur Œuvre CP : N° œuvre CE : Référence auteur Titre Clef externe

Un deuxième exemple (1/2) BD pour la gestion des commandes dans une entreprise : un client passe une commande ; une commande n’est passée que par un seul client ; la commande est constituée de plusieurs produits ; un produit peut être présent sur plusieurs commandes. Les concepts identifiés sans problème, Client : nom, adresse, etc. Produit : nom du produit, description, prix unitaire, etc. Commande : numéro, date, liste des produits commandés avec la quantité commandée pour chacun d’eux.

Un deuxième exemple (2/2) Les concepts Client, Produit et Commande sont des tables. Une association (1-N) entre Client et Commande.  un lien logique simple : clef primaire/clef externe.  la table père : Client.  la table fils : Commande. Une association (N-N) entre Commande et Produit.  Un lien logique simple (Clé primaire/Clé externe) ne peut pas décrire cette association.  Il faut donc « casser » cette association (N-N),  par deux associations (1-N),  par conséquent, ajouter une table intermédiaire…

représentation graphique Un deuxième exemple : représentation graphique Produit CP : Code produit Nom produit Description Prix Unitaire Client CP : N° client Nom client Adresse Quelle clef primaire pour cette table ? Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP : ? CE : Réf Commande CE : Réf Produit

clef composée pour Lien_Cde_Pdt Un deuxième exemple : clef composée pour Lien_Cde_Pdt Si une occurrence de Produit ne peut être associée qu’une seule fois à une occurrence de Commande,  Alors, clef composée des deux clefs externes. Produit CP : Code produit Nom produit Description Prix Unitaire Client CP : N° client Nom client Adresse Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP CE : Réf Commande CE : Réf Produit

clef autonome pour Lien_Cde_Pdt Un deuxième exemple : clef autonome pour Lien_Cde_Pdt Si une occurrence de Produit peut être associée plusieurs fois à une occurrence de Commande, Alors, on utilise une clef autonome. Produit CP : Code produit Nom produit Description Prix Unitaire Client CP : N° client Nom client Adresse Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP : N° ligne cde CE : Réf Commande CE : Réf Produit

allons un peu plus loin…(1/2) Un deuxième exemple : allons un peu plus loin…(1/2) On veut ajouter la quantité commandée de chaque produit à notre BD. Où placer le champ correspondant à la donnée Quantité commandée ?  La valeur de la quantité commandée dépend à la fois de la commande et du produit concerné.  Il faut placer le champ dans la table qui décrit l’association entre Commande et Produits. Règle : pour placer un champ dans une table, il faut qu’il dépende entièrement de sa clef primaire.

allons un peu plus loin…(2/2) Un deuxième exemple : allons un peu plus loin…(2/2) Produit CP : Code produit Nom produit Description Prix Unitaire Client CP : N° client Nom client Adresse Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP CE : Réf Commande CE : Réf Produit Quantité commandée