La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Initiation aux bases de données et à la programmation événementielle"— Transcription de la présentation:

1 Initiation aux bases de données et à la programmation événementielle
Cours N°5 : Schéma d’une Base de Données (Conception d’une BD) Souheib BAARIR. Page web : Université Paris Ouest Nanterre la Défense.

2 Introduction (1/2) Nous avons étudié:
les requêtes d’Interrogation de Données (LID). Requêtes de Bases. Requêtes Statistiques. Les requêtes de Manipulation de Données (LMD). Les requêtes de Définition de Données (LDD). Ceci est « suffisant », pour interroger une BD existante ou, pour en créer une, dont les schémas des tables sont établies. Comment faire quand les schémas n’existent pas !? On a juste un Cahier de Charge (CC) informel citant des informations complexes liées entre elles !

3 Introduction (2/2) Il faut savoir concevoir une Base de Données :
à partir d’un CC, définir le schéma de la BD. Schéma d’une BD : l’ensembles des schémas des tables de la Base de Données (avec les liens logiques). Autrement dit, à partir du CC, savoir : répartir les informations à mémoriser entre le différentes tables et, définir les liens logiques qui relient ces tables.

4 De l’information à la BD
Une information est complexe : on peut la décomposer en éléments (informations atomiques), un élément est une donnée. Les données sont réparties en ensembles, chaque ensemble décrit un sens commun, il décrit donc un même 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. Une donnée est décrite par un champ d’une table. Une table est la réalisation d’un concept. Réalisé au travers des liens logiques, qui dépendent du choix de gestion à mettre en place : (1-N) ou (N-N).

5 Un premier exemple des écrivains et leurs œ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.

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

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

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

9 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

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

11 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 de jonction…

12 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

13 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

14 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

15 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 (jonction), il faut qu’il dépende entièrement de sa clef primaire.

16 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


Télécharger ppt "Initiation aux bases de données et à la programmation événementielle"

Présentations similaires


Annonces Google