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 Support de cours de Souheib BAARIR. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm Université Paris Ouest Nanterre la Défense.

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

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

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

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

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

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

8 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

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

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

11 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

12 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

13 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

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

15 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